From e84c38142379397606718ed202d819c9d24484de Mon Sep 17 00:00:00 2001 From: tom5079 Date: Mon, 2 May 2022 16:47:36 +0900 Subject: [PATCH 1/5] Added latestRelease to PupilHttpClient --- .../xyz/quaver/pupil/util/PupilHttpClient.kt | 58 +- .../xyz/quaver/pupil/PupilHttpClientTest.kt | 42 +- app/src/test/resources/releases.json | 2189 +++++++++++++++++ 3 files changed, 2284 insertions(+), 5 deletions(-) create mode 100644 app/src/test/resources/releases.json diff --git a/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt b/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt index e063e14a..22d51b61 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt @@ -32,7 +32,9 @@ import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.withContext import kotlinx.serialization.Serializable +import kotlinx.serialization.json.* import java.io.File +import java.util.* @Serializable data class RemoteSourceInfo( @@ -41,6 +43,18 @@ data class RemoteSourceInfo( val version: String ) +class Release( + val version: String, + val apkUrl: String, + val updateNotes: Map +) + +private val localeMap = mapOf( + "한국어" to Locale.KOREAN, + "日本語" to Locale.JAPANESE, + "English" to Locale.ENGLISH +) + class PupilHttpClient(engine: HttpClientEngine) { private val httpClient = HttpClient(engine) { install(ContentNegotiation) { @@ -52,10 +66,7 @@ class PupilHttpClient(engine: HttpClientEngine) { httpClient.get("https://tom5079.github.io/PupilSources/versions.json").body() } - fun downloadApk(sourceInfo: RemoteSourceInfo, dest: File) = flow { - val url = - "https://github.com/tom5079/PupilSources/releases/download/${sourceInfo.name}-${sourceInfo.version}/${sourceInfo.projectName}-release.apk" - + fun downloadApk(url: String, dest: File) = flow { httpClient.prepareGet(url).execute { response -> val channel = response.bodyAsChannel() val contentLength = response.contentLength() ?: -1 @@ -77,4 +88,43 @@ class PupilHttpClient(engine: HttpClientEngine) { emit(Float.POSITIVE_INFINITY) }.flowOn(Dispatchers.IO) + + suspend fun latestRelease(beta: Boolean = true): Release = withContext(Dispatchers.IO) { + val releases = Json.parseToJsonElement( + httpClient.get("https://api.github.com/repos/tom5079/Pupil/releases").bodyAsText() + ).jsonArray + + val latestRelease = releases.first { release -> + beta || !release.jsonObject["prerelease"]!!.jsonPrimitive.boolean + }.jsonObject + + val version = latestRelease["tag_name"]!!.jsonPrimitive.content + + val apkUrl = latestRelease["assets"]!!.jsonArray.first { asset -> + val name = asset.jsonObject["name"]!!.jsonPrimitive.content + name.startsWith("Pupil-v") && name.endsWith(".apk") + }.jsonObject["browser_download_url"]!!.jsonPrimitive.content + + val updateNotes: Map = buildMap { + val body = latestRelease["body"]!!.jsonPrimitive.content + + var locale: Locale? = null + val stringBuilder = StringBuilder() + body.lineSequence().forEach { line -> + localeMap[line.drop(3)]?.let { newLocale -> + if (locale != null) { + put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) + stringBuilder.clear() + } + locale = newLocale + return@forEach + } + + if (locale != null) stringBuilder.appendLine(line) + } + put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) + } + + Release(version, apkUrl, updateNotes) + } } \ No newline at end of file diff --git a/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt b/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt index eb7b1c4d..e994d432 100644 --- a/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt +++ b/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt @@ -31,6 +31,7 @@ import org.junit.Test import xyz.quaver.pupil.util.PupilHttpClient import xyz.quaver.pupil.util.RemoteSourceInfo import java.io.File +import java.util.* import kotlin.random.Random @OptIn(ExperimentalCoroutinesApi::class) @@ -65,9 +66,48 @@ class PupilHttpClientTest { val client = PupilHttpClient(mockEngine) - client.downloadApk(RemoteSourceInfo("", "", ""), tempFile).collect() + client.downloadApk("http://a/", tempFile).collect() assertArrayEquals(expected, tempFile.readBytes()) } + @Test + fun latestRelease() = runTest { + val expectedVersion = "5.3.7" + val expectedApkUrl = "https://github.com/tom5079/Pupil/releases/download/5.3.7/Pupil-v5.3.7.apk" + val expectedUpdateNotes = mapOf( + Locale.KOREAN to """ + * 가끔씩 무한로딩 걸리는 현상 수정 + * 백업시 즐겨찾기 태그도 백업되게 수정 + * 이전 안드로이드에서 앱이 튕기는 오류 수정 + """.trimIndent(), + Locale.JAPANESE to """ + * 稀に接続不可になるバグを修正 + * お気に入りタグを含むようバックアップ機能を修正 + * 旧バージョンのアンドロイドでアプリがクラッシュするバグを解決 + """.trimIndent(), + Locale.ENGLISH to """ + * Fixed occasional outage + * Updated backup/restore feature to include favorite tags + * Fixed app crashing on older Androids + """.trimIndent() + ) + + val mockEngine = MockEngine { _ -> + val response = javaClass.getResource("/releases.json")!!.readText() + respond(response) + } + + val client = PupilHttpClient(mockEngine) + + val release = client.latestRelease() + + assertEquals(expectedVersion, release.version) + assertEquals(expectedApkUrl, release.apkUrl) + + println(expectedUpdateNotes) + println(release.updateNotes) + assertEquals(expectedUpdateNotes, release.updateNotes) + } + } \ No newline at end of file diff --git a/app/src/test/resources/releases.json b/app/src/test/resources/releases.json new file mode 100644 index 00000000..a41b3ead --- /dev/null +++ b/app/src/test/resources/releases.json @@ -0,0 +1,2189 @@ +[ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/65167245", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/65167245/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/65167245/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.7", + "id": 65167245, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84D4l-N", + "tag_name": "5.3.7", + "target_commitish": "master", + "name": "Pupil v5.3.7 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-04-24T11:36:56Z", + "published_at": "2022-04-24T11:37:45Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/63493181", + "id": 63493181, + "node_id": "RA_kwDOCxhDm84DyNQ9", + "name": "Pupil-v5.3.7.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6766613, + "download_count": 22098, + "created_at": "2022-04-24T11:37:36Z", + "updated_at": "2022-04-24T11:37:45Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.7/Pupil-v5.3.7.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.7", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.7", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.7)\r\n## English\r\n* Fixed occasional outage\r\n* Updated backup/restore feature to include favorite tags\r\n* Fixed app crashing on older Androids\r\n## 한국어\r\n* 가끔씩 무한로딩 걸리는 현상 수정\r\n* 백업시 즐겨찾기 태그도 백업되게 수정\r\n* 이전 안드로이드에서 앱이 튕기는 오류 수정\r\n## 日本語\r\n* 稀に接続不可になるバグを修正\r\n* お気に入りタグを含むようバックアップ機能を修正\r\n* 旧バージョンのアンドロイドでアプリがクラッシュするバグを解決" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/65166920", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/65166920/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/65166920/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.6", + "id": 65166920, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84D4l5I", + "tag_name": "5.3.6", + "target_commitish": "master", + "name": "Pupil v5.3.6 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-04-24T11:20:55Z", + "published_at": "2022-04-24T11:21:27Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/63492472", + "id": 63492472, + "node_id": "RA_kwDOCxhDm84DyNF4", + "name": "Pupil-v5.3.6.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6766608, + "download_count": 124, + "created_at": "2022-04-24T11:20:55Z", + "updated_at": "2022-04-24T11:21:27Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.6/Pupil-v5.3.6.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.6", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.6", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.6)\r\n## English\r\n* Fixed occasional outage\r\n* Updated backup/restore feature to include favorite tags\r\n* Fixed app crashing on older Androids\r\n## 한국어\r\n* 가끔씩 무한로딩 걸리는 현상 수정\r\n* 백업시 즐겨찾기 태그도 백업되게 수정\r\n* 이전 안드로이드에서 앱이 튕기는 오류 수정\r\n## 日本語\r\n* 稀に接続不可になるバグを修正\r\n* お気に入りタグを含むようバックアップ機能を修正\r\n* 旧バージョンのアンドロイドでアプリがクラッシュするバグを解決" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/65164809", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/65164809/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/65164809/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.5", + "id": 65164809, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84D4lYJ", + "tag_name": "5.3.5", + "target_commitish": "master", + "name": "Pupil v5.3.5 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-04-24T09:27:56Z", + "published_at": "2022-04-24T09:31:41Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/63486762", + "id": 63486762, + "node_id": "RA_kwDOCxhDm84DyLsq", + "name": "Pupil-v5.3.5.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6768894, + "download_count": 509, + "created_at": "2022-04-24T09:30:52Z", + "updated_at": "2022-04-24T09:31:41Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.5/Pupil-v5.3.5.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.5", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.5", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.5)\r\n## English\r\n* Fixed occasional outage\r\n* Updated backup/restore feature to include favorite tags\r\n## 한국어\r\n* 가끔씩 무한로딩 걸리는 현상 수정\r\n* 백업시 즐겨찾기 태그도 백업되게 수정\r\n## 日本語\r\n* 稀に接続不可になるバグを修正\r\n* お気に入りタグを含むようバックアップ機能を修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58412488", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58412488/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58412488/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.4", + "id": 58412488, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84De03I", + "tag_name": "5.3.4", + "target_commitish": "master", + "name": "Pupil v5.3.4 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-02-01T10:11:25Z", + "published_at": "2022-02-01T10:11:33Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55507239", + "id": 55507239, + "node_id": "RA_kwDOCxhDm84DTvkn", + "name": "Pupil-v5.3.4.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 9421512, + "download_count": 80700, + "created_at": "2022-02-01T10:11:07Z", + "updated_at": "2022-02-01T10:11:33Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.4/Pupil-v5.3.4.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.4", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.4", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.4)\r\n## English\r\n* Fixed downloads\r\n* Faster download\r\n* Bypassed filter imposed by Hitomi.la\r\n* Added -group- as a folder name pattern\r\n## 한국어\r\n* 다운로드 속도 향상\r\n* 다운로드 버그 수정\r\n* 막힌거 뚫음\r\n* 폴더명 패턴 -group- 추가\r\n## 日本語\r\n* ダウンロード速度の向上\r\n* ダウンロード関係のバグを修正\r\n* ロードできないバグを修正\r\n* フォルダ名パターン\"-group-\"の追加" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58406475", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58406475/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58406475/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.3", + "id": 58406475, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DezZL", + "tag_name": "5.3.3", + "target_commitish": "master", + "name": "Pupil v5.3.3 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-02-01T08:46:44Z", + "published_at": "2022-02-01T08:37:31Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55501689", + "id": 55501689, + "node_id": "RA_kwDOCxhDm84DTuN5", + "name": "Pupil-v5.3.3.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 9421873, + "download_count": 608, + "created_at": "2022-02-01T08:46:29Z", + "updated_at": "2022-02-01T08:46:50Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.3/Pupil-v5.3.3.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.3", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.3", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.3)\r\n## English\r\n* Fixed downloads\r\n* Bypassed filter imposed by Hitomi.la\r\n* Added -group- as a folder name pattern\r\n## 한국어\r\n* 다운로드 버그 수정\r\n* 막힌거 뚫음\r\n* 폴더명 패턴 -group- 추가\r\n## 日本語\r\n* ダウンロード関係のバグを修正\r\n* ロードできないバグを修正\r\n* フォルダ名パターン\"-group-\"の追加" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58390737", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58390737/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58390737/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.3.1", + "id": 58390737, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DevjR", + "tag_name": "5.3.1", + "target_commitish": "master", + "name": "Pupil v5.3.1 Launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-02-01T02:40:23Z", + "published_at": "2022-02-01T02:39:59Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55481552", + "id": 55481552, + "node_id": "RA_kwDOCxhDm84DTpTQ", + "name": "Pupil-v5.3.1.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 9419785, + "download_count": 1713, + "created_at": "2022-02-01T02:44:51Z", + "updated_at": "2022-02-01T02:45:07Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.3.1/Pupil-v5.3.1.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.3.1", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.3.1", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.3.1)\r\n## English\r\n* Bypassed filter imposed by Hitomi.la\r\n* Added -group- as a folder name pattern\r\n## 한국어\r\n* 막힌거 뚫음\r\n* 폴더명 패턴 -group- 추가\r\n## 日本語\r\n* ロードできないバグを修正\r\n* フォルダ名パターン\"-group-\"の追加" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58371418", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58371418/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58371418/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.25-NOTICE", + "id": 58371418, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84Deq1a", + "tag_name": "5.2.25-NOTICE", + "target_commitish": "master", + "name": "5.2.25-NOTICE", + "draft": false, + "prerelease": false, + "created_at": "2022-01-31T04:28:31Z", + "published_at": "2022-01-31T20:15:19Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55455648", + "id": 55455648, + "node_id": "RA_kwDOCxhDm84DTi-g", + "name": "Pupil-v5.2.25.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6771336, + "download_count": 1450, + "created_at": "2022-01-31T20:03:04Z", + "updated_at": "2022-01-31T20:03:13Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.25-NOTICE/Pupil-v5.2.25.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.25-NOTICE", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.25-NOTICE", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.25-NOTICE)\r\n## English\r\n**NOTICE**\r\nHitomi.la blocked this app a few hours ago, and I'm trying to find a way to bypass this. \r\nThere is a lot of work to do, expected downtime is to be more than just a few days. \r\nI will publish an update as soon as possible, and if you want to ask me anything, please join the discord server. \r\nSorry for the inconvenience, and have a happy lunar new year.\r\n## 한국어\r\n**공지**\r\n히토미가 퓨필을 작정하고 막아서 우회방법을 찾는 중입니다. \r\n최소 며칠은 걸릴 것으로 예상되며 우회가 되는대로 업데이트를 올리겠습니다. \r\n핫산은 그럼 고치러 가겠습니다. 새해 복 많이 받으세요.\r\n## 日本語\r\n**告知**\r\n数時間前からHitomi側でPupilからの接続を防いでいます。 \r\n解決には最小限数日はかかる見込みです。 \r\n解決次第アップデートを配布する予定です。" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58301753", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58301753/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58301753/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.25", + "id": 58301753, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DeZ05", + "tag_name": "5.2.25", + "target_commitish": "master", + "name": "Pupil v5.2.25 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-31T04:18:28Z", + "published_at": "2022-01-31T04:18:33Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55399079", + "id": 55399079, + "node_id": "RA_kwDOCxhDm84DTVKn", + "name": "Pupil-v5.2.25.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6771336, + "download_count": 3838, + "created_at": "2022-01-31T04:24:37Z", + "updated_at": "2022-01-31T04:24:54Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.25/Pupil-v5.2.25.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.25", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.25", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.25)\r\n## English\r\n* Added functionality to rebuild download database\r\n* Fixed in-app update not working on Android 5/6\r\n* Bug fix\r\n## 한국어\r\n* 다운로드 복구 기능 추가\r\n* 안드로이드 5/6에서 자동 업데이트 안되는 버그 수정\r\n* 버그 수정\r\n## 日本語\r\n* ダウンロードリカバリー機能を追加\r\n* 一部のデバイスで簡単アップデートがでいないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58297204", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58297204/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58297204/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.23", + "id": 58297204, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DeYt0", + "tag_name": "5.2.23", + "target_commitish": "master", + "name": "Pupil v5.2.23 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-31T02:05:05Z", + "published_at": "2022-01-31T02:09:47Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55392401", + "id": 55392401, + "node_id": "RA_kwDOCxhDm84DTTiR", + "name": "Pupil-v5.2.23.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6771406, + "download_count": 890, + "created_at": "2022-01-31T02:09:33Z", + "updated_at": "2022-01-31T02:09:47Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.23/Pupil-v5.2.23.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.23", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.23", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.23)\r\n## English\r\n* Added functionality to rebuild download database\r\n* Fixed in-app update not working on Android 5/6\r\n## 한국어\r\n* 다운로드 복구 기능 추가\r\n* 안드로이드 5/6에서 자동 업데이트 안되는 버그 수정\r\n## 日本語\r\n* ダウンロードリカバリー機能を追加\r\n* 一部のデバイスで簡単アップデートがでいないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/58284238", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/58284238/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/58284238/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.22", + "id": 58284238, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DeVjO", + "tag_name": "5.2.22", + "target_commitish": "master", + "name": "Pupil v5.2.22 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-30T16:03:26Z", + "published_at": "2022-01-30T16:03:45Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/55360158", + "id": 55360158, + "node_id": "RA_kwDOCxhDm84DTLqe", + "name": "Pupil-v5.2.22.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6767525, + "download_count": 2187, + "created_at": "2022-01-30T16:08:36Z", + "updated_at": "2022-01-30T16:08:43Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.22/Pupil-v5.2.22.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.22", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.22", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.22)\r\n## English\r\n* Fixed images not loading\r\n## 한국어\r\n* 무한로딩 수정\r\n## 日本語\r\n* イメージが表示されないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57864528", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57864528/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57864528/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.21", + "id": 57864528, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DcvFQ", + "tag_name": "5.2.21", + "target_commitish": "master", + "name": "Pupil v5.2.21 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-24T19:59:37Z", + "published_at": "2022-01-24T19:59:47Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54842956", + "id": 54842956, + "node_id": "RA_kwDOCxhDm84DRNZM", + "name": "Pupil-v5.2.21.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 7616049, + "download_count": 18197, + "created_at": "2022-01-24T19:59:33Z", + "updated_at": "2022-01-24T19:59:47Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.21/Pupil-v5.2.21.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.21", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.21", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.21)\r\n## English\r\n* \"Fixed\" search results not loading (Force user to update WebView)\r\n## 한국어\r\n* 무한로딩 수정 (WebView 업데이트 강제)\r\n## 日本語\r\n* 検索結果が表示されないバグを修正 (WebViewのアップデートを強制)" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57860017", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57860017/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57860017/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.20", + "id": 57860017, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84Dct-x", + "tag_name": "5.2.20", + "target_commitish": "master", + "name": "Pupil v5.2.20 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-24T19:28:16Z", + "published_at": "2022-01-24T19:30:08Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54841126", + "id": 54841126, + "node_id": "RA_kwDOCxhDm84DRM8m", + "name": "Pupil-v5.2.20.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6586213, + "download_count": 187, + "created_at": "2022-01-24T19:29:52Z", + "updated_at": "2022-01-24T19:30:08Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.20/Pupil-v5.2.20.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.20", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.20", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.20)\r\n## English\r\n* \"Fixed\" search results not loading (Force user to update WebView)\r\n## 한국어\r\n* 무한로딩 수정 (WebView 업데이트 강제)\r\n## 日本語\r\n* 検索結果が表示されないバグを修正 (WebViewのアップデートを強制)" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57645375", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57645375/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57645375/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.19", + "id": 57645375, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84Db5k_", + "tag_name": "5.2.19", + "target_commitish": "master", + "name": "Pupil v5.2.19 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-21T08:08:57Z", + "published_at": "2022-01-21T08:10:48Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54548329", + "id": 54548329, + "node_id": "RA_kwDOCxhDm84DQFdp", + "name": "Pupil-v5.2.19.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6587952, + "download_count": 12737, + "created_at": "2022-01-21T08:10:30Z", + "updated_at": "2022-01-21T08:10:48Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.19/Pupil-v5.2.19.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.19", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.19", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.19)\r\n## English\r\n* Improved error report\r\n* Fixed some hitomi related bugs\r\n## 한국어\r\n* 오류 보고 개선\r\n* 일부 갤러리 안 보이는 버그 수정\r\n## 日本語\r\n* エラー報告の改善\r\n* 一部の漫画が表示されないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57561489", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57561489/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57561489/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.18", + "id": 57561489, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DblGR", + "tag_name": "5.2.18", + "target_commitish": "master", + "name": "Pupil v5.2.18 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-20T10:41:22Z", + "published_at": "2022-01-20T10:42:12Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54458884", + "id": 54458884, + "node_id": "RA_kwDOCxhDm84DPvoE", + "name": "Pupil-v5.2.18.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6584820, + "download_count": 4366, + "created_at": "2022-01-20T10:41:42Z", + "updated_at": "2022-01-20T10:42:12Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.18/Pupil-v5.2.18.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.18", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.18", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.18)\r\n## English\r\n* Fixed {}\r\n* Fixed thumbnails not loading \r\n* Optimized ram usage\r\n## 한국어\r\n* {} 수정\r\n* 썸네일 안보이는 버그 수정\r\n* 램 사용량 최적화\r\n## 日本語\r\n* サムネイルが表示されないバグを修正 \r\n* メモリの最適化" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57554373", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57554373/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57554373/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.17", + "id": 57554373, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DbjXF", + "tag_name": "5.2.17", + "target_commitish": "master", + "name": "Pupil v5.2.17 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-20T09:05:27Z", + "published_at": "2022-01-20T09:05:53Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54453085", + "id": 54453085, + "node_id": "RA_kwDOCxhDm84DPuNd", + "name": "Pupil-v5.2.17.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6584844, + "download_count": 431, + "created_at": "2022-01-20T09:05:39Z", + "updated_at": "2022-01-20T09:05:53Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.17/Pupil-v5.2.17.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.17", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.17", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.17)\r\n## English\r\n* Fixed thumbnails not loading \r\n* Optimized ram usage\r\n## 한국어\r\n* 썸네일 안보이는 버그 수정\r\n* 램 사용량 최적화\r\n## 日本語\r\n* サムネイルが表示されないバグを修正 \r\n* メモリの最適化" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57534578", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57534578/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57534578/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.16", + "id": 57534578, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84Dbehy", + "tag_name": "5.2.16", + "target_commitish": "master", + "name": "Pupil v5.2.16 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-20T07:05:31Z", + "published_at": "2022-01-20T06:58:01Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54444434", + "id": 54444434, + "node_id": "RA_kwDOCxhDm84DPsGS", + "name": "Pupil-v5.2.16.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6584683, + "download_count": 538, + "created_at": "2022-01-20T07:05:38Z", + "updated_at": "2022-01-20T07:05:51Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.16/Pupil-v5.2.16.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.16", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.16", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.16)\r\n## English\r\n* Fixed thumbnails not loading \r\n* Optimized ram usage\r\n## 한국어\r\n* 썸네일 안보이는 버그 수정\r\n* 램 사용량 최적화\r\n## 日本語\r\n* サムネイルが表示されないバグを修正 \r\n* メモリの最適化" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57225697", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57225697/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57225697/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.14", + "id": 57225697, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DaTHh", + "tag_name": "5.2.14", + "target_commitish": "master", + "name": "Pupil v5.2.14 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-16T15:46:20Z", + "published_at": "2022-01-16T15:46:50Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54120798", + "id": 54120798, + "node_id": "RA_kwDOCxhDm84DOdFe", + "name": "Pupil-v5.2.14.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6545744, + "download_count": 12712, + "created_at": "2022-01-16T15:44:52Z", + "updated_at": "2022-01-16T15:46:50Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.14/Pupil-v5.2.14.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.14", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.14", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.14)\r\n## English\r\n* Improved image loading speed\r\n* Fixed images not loading\r\n* Fixed thumbnails not loading \r\n## 한국어\r\n* 이미지 로드 속도 향상\r\n* 무한로딩 수정\r\n* 썸네일 안보이는 버그 수정\r\n## 日本語\r\n* イメージのロード速度を改善\r\n* イメージをロードしないバグを修正\r\n* サムネイルが表示されないバグを修正 " + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/57210354", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/57210354/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/57210354/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.13", + "id": 57210354, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DaPXy", + "tag_name": "5.2.13", + "target_commitish": "master", + "name": "Pupil v5.2.13 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-11T08:16:20Z", + "published_at": "2022-01-16T02:29:01Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/54087548", + "id": 54087548, + "node_id": "RA_kwDOCxhDm84DOU98", + "name": "Pupil-v5.2.13.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6546668, + "download_count": 3442, + "created_at": "2022-01-16T02:28:46Z", + "updated_at": "2022-01-16T02:29:01Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.13/Pupil-v5.2.13.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.13", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.13", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.13)\r\n## English\r\n* Fixed thumbnails not loading \r\n**Clear cache (Settings > Manage Storage > Clear Cache) after update**\r\n## 한국어\r\n* 썸네일 고침 \r\n**업데이트 후 캐시 삭제 바랍니다**\r\n## 日本語\r\n* サムネイルが表示されないバグを修正 \r\n**アップデート後キャッシュのクリアをお願いします。**" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56803374", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56803374/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56803374/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.12", + "id": 56803374, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DYsAu", + "tag_name": "5.2.12", + "target_commitish": "master", + "name": "Pupil v5.2.12 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-11T08:12:10Z", + "published_at": "2022-01-11T08:15:38Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53680241", + "id": 53680241, + "node_id": "RA_kwDOCxhDm84DMxhx", + "name": "Pupil-v5.2.12.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6546775, + "download_count": 15367, + "created_at": "2022-01-11T08:15:09Z", + "updated_at": "2022-01-11T08:15:38Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.12/Pupil-v5.2.12.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.12", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.12", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.12)\r\n## English\r\n* Improved search suggestion loading speed\r\n* Fixed images not loading occasionally\r\n## 한국어\r\n* 추천검색어 속도 향상\r\n* 무한로딩 수정\r\n## 日本語\r\n* 検索候補のロード速度を改善\r\n* たまにイメージがロードされないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56791328", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56791328/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56791328/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.11", + "id": 56791328, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DYpEg", + "tag_name": "5.2.11", + "target_commitish": "master", + "name": "Pupil v5.2.11 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-11T03:25:43Z", + "published_at": "2022-01-11T03:25:45Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53666139", + "id": 53666139, + "node_id": "RA_kwDOCxhDm84DMuFb", + "name": "Pupil-v5.2.11.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6546511, + "download_count": 1104, + "created_at": "2022-01-11T03:23:26Z", + "updated_at": "2022-01-11T03:25:45Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.11/Pupil-v5.2.11.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.11", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.11", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.11)\r\n## English\r\n* Fixed app freezing\r\n## 한국어\r\n* 앱 멈추는 버그 수정\r\n## 日本語\r\n* アプリがフリーズするバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56664410", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56664410/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56664410/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.10", + "id": 56664410, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DYKFa", + "tag_name": "5.2.10", + "target_commitish": "master", + "name": "Pupil v5.2.10 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-08T15:34:38Z", + "published_at": "2022-01-08T15:37:52Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53494035", + "id": 53494035, + "node_id": "RA_kwDOCxhDm84DMEET", + "name": "Pupil-v5.2.10.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6546226, + "download_count": 9862, + "created_at": "2022-01-08T15:37:28Z", + "updated_at": "2022-01-08T15:37:52Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.10/Pupil-v5.2.10.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.10", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.10", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.10)\r\n## English\r\n* Fixed broken thumbnail in gallery details\r\n* Improved search speed (drastically)\r\n## 한국어\r\n* 상세정보 썸네일 안보이는 버그 수정\r\n* 검색 속도 향상 + 무한로딩 수정\r\n## 日本語\r\n* 漫画詳細情報画面のイメージがロードできないバグを修正\r\n* 検索速度を改善" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56648878", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56648878/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56648878/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.9", + "id": 56648878, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DYGSu", + "tag_name": "5.2.9", + "target_commitish": "master", + "name": "Pupil v5.2.9 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-08T01:13:20Z", + "published_at": "2022-01-08T01:18:52Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53460168", + "id": 53460168, + "node_id": "RA_kwDOCxhDm84DL7zI", + "name": "Pupil-v5.2.9.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6540948, + "download_count": 3883, + "created_at": "2022-01-08T01:18:19Z", + "updated_at": "2022-01-08T01:18:52Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.9/Pupil-v5.2.9.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.9", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.9", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.9)\r\n## English\r\n* Fixed thumbnail not loading\r\n* Fixed download folder dialog keep popping up\r\n## 한국어\r\n* 썸네일 안보이는 버그 수정\r\n* 다운로드 폴더 선택하는 창 계속 뜨는 버그 수정\r\n## 日本語\r\n* サムネがロードできないバグを修正\r\n* ダウンロードフォルダー選択ポップアップが枚起動時に表示されるバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56597150", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56597150/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56597150/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.8", + "id": 56597150, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DX5qe", + "tag_name": "5.2.8", + "target_commitish": "master", + "name": "Pupil v5.2.8 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-07T09:47:07Z", + "published_at": "2022-01-07T09:47:39Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53404173", + "id": 53404173, + "node_id": "RA_kwDOCxhDm84DLuIN", + "name": "Pupil-v5.2.8.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6540913, + "download_count": 3315, + "created_at": "2022-01-07T09:47:22Z", + "updated_at": "2022-01-07T09:47:39Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.8/Pupil-v5.2.8.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.8", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.8", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.8)\r\n## English\r\n* Fix for loading not finishing\r\n## 한국어\r\n* 무한로딩 수정\r\n## 日本語\r\n* ロードできないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56448402", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56448402/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56448402/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.8-BETA01", + "id": 56448402, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXVWS", + "tag_name": "5.2.8-BETA01", + "target_commitish": "master", + "name": "Pupil v5.2.8-BETA01 launched!", + "draft": false, + "prerelease": true, + "created_at": "2022-01-05T11:20:08Z", + "published_at": "2022-01-05T11:22:08Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53250128", + "id": 53250128, + "node_id": "RA_kwDOCxhDm84DLIhQ", + "name": "Pupil-v5.2.8-beta01.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6540045, + "download_count": 3492, + "created_at": "2022-01-05T11:20:18Z", + "updated_at": "2022-01-05T11:22:08Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.8-BETA01/Pupil-v5.2.8-beta01.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.8-BETA01", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.8-BETA01", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.8-BETA01)\r\n## English\r\n* Potential fix for loading not finishing\r\n## 한국어\r\n* 무한로딩 수정\r\n## 日本語\r\n* ロードできないバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56380302", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56380302/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56380302/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.7", + "id": 56380302, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXEuO", + "tag_name": "5.2.7", + "target_commitish": "master", + "name": "Pupil v5.2.7 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T14:15:34Z", + "published_at": "2022-01-04T14:15:43Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53178573", + "id": 53178573, + "node_id": "RA_kwDOCxhDm84DK3DN", + "name": "Pupil-v5.2.7.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6539736, + "download_count": 10561, + "created_at": "2022-01-04T14:22:13Z", + "updated_at": "2022-01-04T14:22:34Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.7/Pupil-v5.2.7.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.7", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.7", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.7)\r\n## English\r\n* Fixed app crashing when downloading on Android 12\r\n* **Auto update will NOT work on Android 12 if you are using version 5.2.6. Please visit github to download the latest apk.**\r\n## 한국어\r\n* 안드로이드 12에서 다운로드 시 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* アンドロイド12からダウンロードするとアプリがクラッシュするバグを修正\r\n* **v5.2.6からの自動アップデートは上記のバグのためアンドロイド12で作動しません。ホームページで直接APKファイルをダウンロードしてください。**" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56378548", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56378548/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56378548/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.6", + "id": 56378548, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXES0", + "tag_name": "5.2.6", + "target_commitish": "master", + "name": "Pupil v5.2.6 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T13:50:16Z", + "published_at": "2022-01-04T13:50:48Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53176108", + "id": 53176108, + "node_id": "RA_kwDOCxhDm84DK2cs", + "name": "Pupil-v5.2.6.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6539690, + "download_count": 152, + "created_at": "2022-01-04T13:50:32Z", + "updated_at": "2022-01-04T13:50:48Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.6/Pupil-v5.2.6.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.6", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.6", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.5)\r\n## English\r\n* Fix for app randomly crashing\r\n## 한국어\r\n* 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* クラッシュが発生するバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56368638", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56368638/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56368638/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.5", + "id": 56368638, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXB3-", + "tag_name": "5.2.5", + "target_commitish": "master", + "name": "Pupil v5.2.5 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T11:30:45Z", + "published_at": "2022-01-04T11:31:09Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53168162", + "id": 53168162, + "node_id": "RA_kwDOCxhDm84DK0gi", + "name": "Pupil-v5.2.5.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6506340, + "download_count": 532, + "created_at": "2022-01-04T11:30:54Z", + "updated_at": "2022-01-04T11:31:09Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.5/Pupil-v5.2.5.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.5", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.5", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.5)\r\n## English\r\n* Fix for app randomly crashing\r\n## 한국어\r\n* 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* クラッシュが発生するバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56367715", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56367715/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56367715/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.4", + "id": 56367715, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXBpj", + "tag_name": "5.2.4", + "target_commitish": "master", + "name": "Pupil v5.2.4 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T11:16:04Z", + "published_at": "2022-01-04T11:16:12Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53167381", + "id": 53167381, + "node_id": "RA_kwDOCxhDm84DK0UV", + "name": "Pupil-v5.2.4.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 6506416, + "download_count": 85, + "created_at": "2022-01-04T11:15:50Z", + "updated_at": "2022-01-04T11:16:12Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.4/Pupil-v5.2.4.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.4", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.4", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.4)\r\n## English\r\n* Fix for app randomly crashing\r\n## 한국어\r\n* 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* クラッシュが発生するバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56366549", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56366549/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56366549/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.3", + "id": 56366549, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXBXV", + "tag_name": "5.2.3", + "target_commitish": "master", + "name": "Pupil v5.2.3 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T10:57:00Z", + "published_at": "2022-01-04T10:57:09Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.3", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.3", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.3)\r\n## English\r\n* Fix for app randomly crashing\r\n## 한국어\r\n* 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* クラッシュが発生するバグを修正" + }, + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/56363816", + "assets_url": "https://api.github.com/repos/tom5079/Pupil/releases/56363816/assets", + "upload_url": "https://uploads.github.com/repos/tom5079/Pupil/releases/56363816/assets{?name,label}", + "html_url": "https://github.com/tom5079/Pupil/releases/tag/5.2.2", + "id": 56363816, + "author": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOCxhDm84DXAso", + "tag_name": "5.2.2", + "target_commitish": "master", + "name": "Pupil v5.2.2 launched!", + "draft": false, + "prerelease": false, + "created_at": "2022-01-04T10:10:58Z", + "published_at": "2022-01-04T10:13:06Z", + "assets": [ + { + "url": "https://api.github.com/repos/tom5079/Pupil/releases/assets/53164209", + "id": 53164209, + "node_id": "RA_kwDOCxhDm84DKzix", + "name": "Pupil-v5.2.2.apk", + "label": null, + "uploader": { + "login": "tom5079", + "id": 7948651, + "node_id": "MDQ6VXNlcjc5NDg2NTE=", + "avatar_url": "https://avatars.githubusercontent.com/u/7948651?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tom5079", + "html_url": "https://github.com/tom5079", + "followers_url": "https://api.github.com/users/tom5079/followers", + "following_url": "https://api.github.com/users/tom5079/following{/other_user}", + "gists_url": "https://api.github.com/users/tom5079/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tom5079/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tom5079/subscriptions", + "organizations_url": "https://api.github.com/users/tom5079/orgs", + "repos_url": "https://api.github.com/users/tom5079/repos", + "events_url": "https://api.github.com/users/tom5079/events{/privacy}", + "received_events_url": "https://api.github.com/users/tom5079/received_events", + "type": "User", + "site_admin": false + }, + "content_type": "application/vnd.android.package-archive", + "state": "uploaded", + "size": 7517551, + "download_count": 218, + "created_at": "2022-01-04T10:12:34Z", + "updated_at": "2022-01-04T10:13:06Z", + "browser_download_url": "https://github.com/tom5079/Pupil/releases/download/5.2.2/Pupil-v5.2.2.apk" + } + ], + "tarball_url": "https://api.github.com/repos/tom5079/Pupil/tarball/5.2.2", + "zipball_url": "https://api.github.com/repos/tom5079/Pupil/zipball/5.2.2", + "body": "# Pupil\r\nHitomi.la viewer for Android, Pupil\r\n\r\n# Release Note(v5.2.2)\r\n## English\r\n* Fix for app randomly crashing\r\n## 한국어\r\n* 강제종료되는 버그 수정\r\n* **_업데이트 다운로드 안 되는 경우 홈페이지에서 apk를 다운로드 받아서 설치해주세요_**\r\n## 日本語\r\n* クラッシュが発生するバグを修正" + } +] \ No newline at end of file From a183ff803d2bf472612ba10bdf8e120c4102a595 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Mon, 2 May 2022 16:48:10 +0900 Subject: [PATCH 2/5] Delete SourceLoaderInstrumentedTest --- .../pupil/SourceLoaderInstrumentedTest.kt | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 app/src/androidTest/java/xyz/quaver/pupil/SourceLoaderInstrumentedTest.kt diff --git a/app/src/androidTest/java/xyz/quaver/pupil/SourceLoaderInstrumentedTest.kt b/app/src/androidTest/java/xyz/quaver/pupil/SourceLoaderInstrumentedTest.kt deleted file mode 100644 index 094248a0..00000000 --- a/app/src/androidTest/java/xyz/quaver/pupil/SourceLoaderInstrumentedTest.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Pupil, Hitomi.la viewer for Android - * Copyright (C) 2021 tom5079 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package xyz.quaver.pupil - -import android.app.Application -import android.content.pm.PackageManager -import android.util.Log -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.platform.app.InstrumentationRegistry -import org.junit.Test -import org.junit.runner.RunWith -import org.junit.Assert.* -import xyz.quaver.pupil.sources.isSourceFeatureEnabled -import xyz.quaver.pupil.sources.loadSource - -@RunWith(AndroidJUnit4::class) -class SourceLoaderInstrumentedTest { - - @Test - fun getPackages() { - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - val application: Application = appContext.applicationContext as Application - - val packageManager = appContext.packageManager - - val packages = packageManager.getInstalledPackages( - PackageManager.GET_CONFIGURATIONS or - PackageManager.GET_META_DATA - ) - - val sources = packages.filter { it.isSourceFeatureEnabled } - - assertEquals(1, sources.size) - } - -} \ No newline at end of file From de068a760e5e645e3ee99ee176d2bb8230dcec82 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Mon, 2 May 2022 16:48:57 +0900 Subject: [PATCH 3/5] Changed PupilHttpClient.downloadApk to receive url instead of RemoteSourceInfo --- app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt b/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt index 0afc1b2e..3882686d 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt @@ -83,6 +83,10 @@ private val sourceSelectorScreens = listOf( SourceSelectorScreen.Explore ) +private val RemoteSourceInfo.apkUrl: String + get() = "https://github.com/tom5079/PupilSources/releases/download/$name-$version/$projectName-release.apk" + + class DownloadApkActionState(override val di: DI) : DIAware { private val app: Application by instance() private val client: PupilHttpClient by instance() @@ -97,7 +101,7 @@ class DownloadApkActionState(override val di: DI) : DIAware { it.parentFile?.mkdirs() } - client.downloadApk(sourceInfo, file).collect { progress = it } + client.downloadApk(sourceInfo.apkUrl, file).collect { progress = it } require(progress == Float.POSITIVE_INFINITY) From 4fe769cbbfde07199483cb9d89826b695c94d59f Mon Sep 17 00:00:00 2001 From: tom5079 Date: Mon, 2 May 2022 21:29:58 +0900 Subject: [PATCH 4/5] Pupil-129 [Source] Implement in-app update --- app/build.gradle.kts | 2 + .../java/xyz/quaver/pupil/ui/MainActivity.kt | 20 +++ .../xyz/quaver/pupil/ui/SourceSelector.kt | 26 ++-- .../java/xyz/quaver/pupil/ui/UpdateDialog.kt | 96 +++++++++++++++ .../xyz/quaver/pupil/util/PupilHttpClient.kt | 116 +++++++++++------- .../xyz/quaver/pupil/PupilHttpClientTest.kt | 12 +- buildSrc/src/main/kotlin/Config.kt | 2 + 7 files changed, 212 insertions(+), 62 deletions(-) create mode 100644 app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4e3b5f8f..8b4d9379 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -101,6 +101,8 @@ dependencies { implementation(JetpackCompose.MATERIAL_ICONS) implementation(JetpackCompose.RUNTIME_LIVEDATA) + implementation(JetpackCompose.MARKDOWN) + implementation(Accompanist.INSETS) implementation(Accompanist.INSETS_UI) implementation(Accompanist.FLOW_LAYOUT) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt index d3265711..7f4a437d 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt @@ -35,9 +35,13 @@ import com.google.accompanist.systemuicontroller.rememberSystemUiController import kotlinx.coroutines.launch import org.kodein.di.DIAware import org.kodein.di.android.closestDI +import org.kodein.di.compose.rememberInstance +import xyz.quaver.pupil.BuildConfig import xyz.quaver.pupil.sources.core.Source import xyz.quaver.pupil.sources.loadSource import xyz.quaver.pupil.ui.theme.PupilTheme +import xyz.quaver.pupil.util.PupilHttpClient +import xyz.quaver.pupil.util.Release class MainActivity : ComponentActivity(), DIAware { override val di by closestDI() @@ -57,6 +61,14 @@ class MainActivity : ComponentActivity(), DIAware { val coroutineScope = rememberCoroutineScope() + val client: PupilHttpClient by rememberInstance() + + val latestRelease by produceState(null) { + value = client.latestRelease() + } + + var dismissUpdate by remember { mutableStateOf(false) } + SideEffect { systemUiController.setSystemBarsColor( color = Color.Transparent, @@ -64,6 +76,14 @@ class MainActivity : ComponentActivity(), DIAware { ) } + latestRelease?.let { release -> + UpdateAlertDialog( + show = !dismissUpdate && release.version != BuildConfig.VERSION_NAME, + release = release, + onDismiss = { dismissUpdate = true } + ) + } + NavHost(navController, "main") { composable("main") { var source by remember { mutableStateOf(null) } diff --git a/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt b/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt index 3882686d..2016857a 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/SourceSelector.kt @@ -55,11 +55,11 @@ import com.google.accompanist.insets.systemBarsPadding import com.google.accompanist.insets.ui.BottomNavigation import com.google.accompanist.insets.ui.Scaffold import com.google.accompanist.insets.ui.TopAppBar -import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import org.kodein.di.* import org.kodein.di.compose.localDI -import org.kodein.di.compose.rememberInstance import xyz.quaver.pupil.sources.SourceEntry import xyz.quaver.pupil.sources.rememberLocalSourceList import xyz.quaver.pupil.sources.rememberRemoteSourceList @@ -94,19 +94,20 @@ class DownloadApkActionState(override val di: DI) : DIAware { var progress by mutableStateOf(null) private set - suspend fun download(sourceInfo: RemoteSourceInfo): File { + suspend fun download(url: String): File? = withContext(Dispatchers.IO) { progress = 0f - val file = File(app.cacheDir, "apks/${sourceInfo.name}-${sourceInfo.version}.apk").also { + val file = File.createTempFile("pupil", ".apk", File(app.cacheDir, "apks")).also { it.parentFile?.mkdirs() } - client.downloadApk(sourceInfo.apkUrl, file).collect { progress = it } + client.downloadFile(url, file).collect { progress = it } - require(progress == Float.POSITIVE_INFINITY) + if (progress == Float.POSITIVE_INFINITY) file else null + } + fun reset() { progress = null - return file } } @@ -115,7 +116,7 @@ fun rememberDownloadApkActionState(di: DI = localDI()) = remember { DownloadApkA @Composable fun DownloadApkAction( - state: DownloadApkActionState = rememberDownloadApkActionState(), + state: DownloadApkActionState, content: @Composable () -> Unit ) { state.progress?.let { progress -> @@ -207,8 +208,9 @@ fun Local(onSource: (SourceEntry) -> Unit) { if (remoteSource != null && remoteSource.version != source.version) { TextButton(onClick = { coroutineScope.launch { - val file = actionState.download(remoteSource) + val file = actionState.download(remoteSource.apkUrl)!! // TODO("Handle error") context.launchApkInstaller(file) + actionState.reset() } }) { Text("UPDATE") @@ -267,8 +269,9 @@ fun Explore() { if (localSources[sourceInfo.name]?.version != sourceInfo.version) { TextButton(onClick = { coroutineScope.launch { - val file = actionState.download(sourceInfo) + val file = actionState.download(sourceInfo.apkUrl)!! // TODO("Handle exception") context.launchApkInstaller(file) + actionState.reset() } }) { Text("UPDATE") @@ -283,8 +286,9 @@ fun Explore() { ) ) } else coroutineScope.launch { - val file = actionState.download(sourceInfo) + val file = actionState.download(sourceInfo.apkUrl)!! // TODO("Handle exception") context.launchApkInstaller(file) + actionState.reset() } }) { Icon( diff --git a/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt b/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt new file mode 100644 index 00000000..79c4965f --- /dev/null +++ b/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt @@ -0,0 +1,96 @@ +/* + * Pupil, Hitomi.la viewer for Android + * Copyright (C) 2022 tom5079 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package xyz.quaver.pupil.ui + +import androidx.compose.foundation.layout.* +import androidx.compose.material.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog +import dev.jeziellago.compose.markdowntext.MarkdownText +import kotlinx.coroutines.launch +import org.kodein.di.compose.onDIContext +import xyz.quaver.pupil.util.Release +import xyz.quaver.pupil.util.launchApkInstaller +import java.util.* + +@Composable +fun UpdateAlertDialog( + show: Boolean, + release: Release, + onDismiss: () -> Unit +) { + val state = rememberDownloadApkActionState() + + val coroutineScope = rememberCoroutineScope() + val context = LocalContext.current + + if (show) { + Dialog(onDismissRequest = { if (state.progress == null) onDismiss() }) { + Card { + val progress = state.progress + + if (progress != null) { + if (progress.isFinite() && progress > 0) + LinearProgressIndicator(progress) + else + LinearProgressIndicator() + } + + Column( + Modifier.padding(start = 8.dp, top = 8.dp, end = 8.dp, bottom = 0.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text( + "Update Available", + style = MaterialTheme.typography.h6 + ) + + MarkdownText(release.releaseNotes.getOrElse(Locale.getDefault()) { release.releaseNotes[Locale.ENGLISH]!! }) + + Row( + Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.End + ) { + TextButton(onClick = onDismiss, enabled = progress == null) { + Text("DISMISS") + } + + TextButton( + onClick = { + coroutineScope.launch { + val file = state.download(release.apkUrl)!! // TODO("Handle exception") + context.launchApkInstaller(file) + state.reset() + onDismiss() + } + }, + enabled = progress == null + ) { + Text("UPDATE") + } + } + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt b/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt index 22d51b61..a6a2a4be 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/PupilHttpClient.kt @@ -18,6 +18,7 @@ package xyz.quaver.pupil.util +import androidx.compose.ui.res.stringArrayResource import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.engine.* @@ -46,7 +47,7 @@ data class RemoteSourceInfo( class Release( val version: String, val apkUrl: String, - val updateNotes: Map + val releaseNotes: Map ) private val localeMap = mapOf( @@ -62,69 +63,94 @@ class PupilHttpClient(engine: HttpClientEngine) { } } + /** + * Fetch a list of available sources from PupilSources repository. + * Returns empty map when exception occurs + */ suspend fun getRemoteSourceList(): Map = withContext(Dispatchers.IO) { - httpClient.get("https://tom5079.github.io/PupilSources/versions.json").body() + runCatching { + httpClient.get("https://tom5079.github.io/PupilSources/versions.json").body>() + }.getOrDefault(emptyMap()) } - fun downloadApk(url: String, dest: File) = flow { - httpClient.prepareGet(url).execute { response -> - val channel = response.bodyAsChannel() - val contentLength = response.contentLength() ?: -1 - var readBytes = 0f + /** + * Downloads specific file from :url to :dest. + * Returns flow that emits progress. + * when value emitted by flow { + * in 0f .. 1f -> downloading + * POSITIVE_INFINITY -> download finised + * NEGATIVE_INFINITY -> exception occured + * } + */ + fun downloadFile(url: String, dest: File) = flow { + runCatching { + httpClient.prepareGet(url).execute { response -> + val channel = response.bodyAsChannel() + val contentLength = response.contentLength() ?: -1 + var readBytes = 0f - dest.outputStream().use { outputStream -> - while (!channel.isClosedForRead) { - val packet = channel.readRemaining(DEFAULT_BUFFER_SIZE.toLong()) - while (!packet.isEmpty) { - val bytes = packet.readBytes() - outputStream.write(bytes) + dest.outputStream().use { outputStream -> + while (!channel.isClosedForRead) { + val packet = channel.readRemaining(DEFAULT_BUFFER_SIZE.toLong()) + while (!packet.isEmpty) { + val bytes = packet.readBytes() + outputStream.write(bytes) - readBytes += bytes.size - emit(readBytes / contentLength) + readBytes += bytes.size + emit(readBytes / contentLength) + } } } } - } - emit(Float.POSITIVE_INFINITY) + emit(Float.POSITIVE_INFINITY) + }.onFailure { + emit(Float.NEGATIVE_INFINITY) + } }.flowOn(Dispatchers.IO) - suspend fun latestRelease(beta: Boolean = true): Release = withContext(Dispatchers.IO) { - val releases = Json.parseToJsonElement( - httpClient.get("https://api.github.com/repos/tom5079/Pupil/releases").bodyAsText() - ).jsonArray + /** + * Latest application release info from Github API. + * Returns null when exception occurs. + */ + suspend fun latestRelease(beta: Boolean = true): Release? = withContext(Dispatchers.IO) { + runCatching { + val releases = Json.parseToJsonElement( + httpClient.get("https://api.github.com/repos/tom5079/Pupil/releases").bodyAsText() + ).jsonArray - val latestRelease = releases.first { release -> - beta || !release.jsonObject["prerelease"]!!.jsonPrimitive.boolean - }.jsonObject + val latestRelease = releases.first { release -> + beta || !release.jsonObject["prerelease"]!!.jsonPrimitive.boolean + }.jsonObject - val version = latestRelease["tag_name"]!!.jsonPrimitive.content + val version = latestRelease["tag_name"]!!.jsonPrimitive.content - val apkUrl = latestRelease["assets"]!!.jsonArray.first { asset -> - val name = asset.jsonObject["name"]!!.jsonPrimitive.content - name.startsWith("Pupil-v") && name.endsWith(".apk") - }.jsonObject["browser_download_url"]!!.jsonPrimitive.content + val apkUrl = latestRelease["assets"]!!.jsonArray.first { asset -> + val name = asset.jsonObject["name"]!!.jsonPrimitive.content + name.startsWith("Pupil-v") && name.endsWith(".apk") + }.jsonObject["browser_download_url"]!!.jsonPrimitive.content - val updateNotes: Map = buildMap { - val body = latestRelease["body"]!!.jsonPrimitive.content + val releaseNotes: Map = buildMap { + val body = latestRelease["body"]!!.jsonPrimitive.content - var locale: Locale? = null - val stringBuilder = StringBuilder() - body.lineSequence().forEach { line -> - localeMap[line.drop(3)]?.let { newLocale -> - if (locale != null) { - put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) - stringBuilder.clear() + var locale: Locale? = null + val stringBuilder = StringBuilder() + body.lineSequence().forEach { line -> + localeMap[line.drop(3)]?.let { newLocale -> + if (locale != null) { + put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) + stringBuilder.clear() + } + locale = newLocale + return@forEach } - locale = newLocale - return@forEach + + if (locale != null) stringBuilder.appendLine(line) } - - if (locale != null) stringBuilder.appendLine(line) + put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) } - put(locale!!, stringBuilder.deleteCharAt(stringBuilder.length-1).toString()) - } - Release(version, apkUrl, updateNotes) + Release(version, apkUrl, releaseNotes) + }.getOrNull() } } \ No newline at end of file diff --git a/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt b/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt index e994d432..08d94861 100644 --- a/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt +++ b/app/src/test/java/xyz/quaver/pupil/PupilHttpClientTest.kt @@ -66,7 +66,7 @@ class PupilHttpClientTest { val client = PupilHttpClient(mockEngine) - client.downloadApk("http://a/", tempFile).collect() + client.downloadFile("http://a/", tempFile).collect() assertArrayEquals(expected, tempFile.readBytes()) } @@ -75,7 +75,7 @@ class PupilHttpClientTest { fun latestRelease() = runTest { val expectedVersion = "5.3.7" val expectedApkUrl = "https://github.com/tom5079/Pupil/releases/download/5.3.7/Pupil-v5.3.7.apk" - val expectedUpdateNotes = mapOf( + val expectedReleaseNotes = mapOf( Locale.KOREAN to """ * 가끔씩 무한로딩 걸리는 현상 수정 * 백업시 즐겨찾기 태그도 백업되게 수정 @@ -100,14 +100,14 @@ class PupilHttpClientTest { val client = PupilHttpClient(mockEngine) - val release = client.latestRelease() + val release = client.latestRelease()!! assertEquals(expectedVersion, release.version) assertEquals(expectedApkUrl, release.apkUrl) - println(expectedUpdateNotes) - println(release.updateNotes) - assertEquals(expectedUpdateNotes, release.updateNotes) + println(expectedReleaseNotes) + println(release.releaseNotes) + assertEquals(expectedReleaseNotes, release.releaseNotes) } } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt index ae3d92df..987b3a61 100644 --- a/buildSrc/src/main/kotlin/Config.kt +++ b/buildSrc/src/main/kotlin/Config.kt @@ -45,6 +45,8 @@ object JetpackCompose { const val RUNTIME_LIVEDATA = "androidx.compose.runtime:runtime-livedata:${Versions.JETPACK_COMPOSE}" const val UI_UTIL = "androidx.compose.ui:ui-util:${Versions.JETPACK_COMPOSE}" const val ANIMATION = "androidx.compose.animation:animation:${Versions.JETPACK_COMPOSE}" + + const val MARKDOWN = "com.github.jeziellago:compose-markdown:0.2.9" } object Accompanist { From 2ef70d0da0d331547097f231b1c46c7434a338af Mon Sep 17 00:00:00 2001 From: tom5079 Date: Fri, 6 May 2022 12:48:19 +0900 Subject: [PATCH 5/5] Update Jetpack Compose version to 1.2.0-alpha07 --- app/build.gradle.kts | 6 ++---- app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt | 3 +-- buildSrc/src/main/kotlin/Config.kt | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8b4d9379..a8b1ab97 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -101,7 +101,7 @@ dependencies { implementation(JetpackCompose.MATERIAL_ICONS) implementation(JetpackCompose.RUNTIME_LIVEDATA) - implementation(JetpackCompose.MARKDOWN) +// implementation(JetpackCompose.MARKDOWN) implementation(Accompanist.INSETS) implementation(Accompanist.INSETS_UI) @@ -110,7 +110,7 @@ dependencies { implementation(Accompanist.DRAWABLE_PAINTER) implementation(Accompanist.APPCOMPAT_THEME) - implementation("io.coil-kt:coil-compose:1.4.0") + implementation("io.coil-kt:coil-compose:2.0.0-rc03") implementation(KtorClient.CORE) implementation(KtorClient.OKHTTP) @@ -138,8 +138,6 @@ dependencies { implementation("org.jsoup:jsoup:1.14.3") - implementation("ru.noties.markwon:core:3.1.0") - implementation("xyz.quaver.pupil.sources:core:0.0.1-alpha01-DEV26") implementation("xyz.quaver:documentfilex:0.7.2") diff --git a/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt b/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt index 79c4965f..be55ecdd 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/UpdateDialog.kt @@ -26,7 +26,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog -import dev.jeziellago.compose.markdowntext.MarkdownText import kotlinx.coroutines.launch import org.kodein.di.compose.onDIContext import xyz.quaver.pupil.util.Release @@ -65,7 +64,7 @@ fun UpdateAlertDialog( style = MaterialTheme.typography.h6 ) - MarkdownText(release.releaseNotes.getOrElse(Locale.getDefault()) { release.releaseNotes[Locale.ENGLISH]!! }) + Text(release.releaseNotes.getOrElse(Locale.getDefault()) { release.releaseNotes[Locale.ENGLISH]!! }) Row( Modifier.fillMaxWidth(), diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt index 987b3a61..1139b206 100644 --- a/buildSrc/src/main/kotlin/Config.kt +++ b/buildSrc/src/main/kotlin/Config.kt @@ -24,7 +24,7 @@ object Versions { const val COROUTINE = "1.6.1" const val SERIALIZATION = "1.3.2" - const val JETPACK_COMPOSE = "1.1.1" + const val JETPACK_COMPOSE = "1.2.0-alpha07" const val ACCOMPANIST = "0.23.1" const val KTOR = "2.0.0"