mirror of
https://github.com/Suwayomi/Tachidesk.git
synced 2025-12-10 06:42:07 +01:00
* Implement Android's Looper Looper handles thread messaging. This is used by extensions when they want to enqueue actions e.g. for sleeping while WebView does someting * Stub WebView * Continue stubbing ViewGroup for WebView * Implement WebView via Playwright * Lint * Implement request interception Supports Yidan * Support WebChromeClient For Bokugen * Fix onPageStarted * Make Playwright configurable * Subscribe to config changes * Fix exposing of functions * Support data urls * Looper: Fix infinite sleep * Looper: Avoid killing the loop on exception Just log it and continue * Pump playwright's message queue periodically https://playwright.dev/java/docs/multithreading#pagewaitfortimeout-vs-threadsleep * Update server/src/main/kotlin/suwayomi/tachidesk/graphql/types/SettingsType.kt Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com> * Stub a KCef WebViewProvider * Initial Kcef Webview implementation Still buggy, on the second call it just seems to fall over * Format, restructure to create browser on load This is much more consistent, before we would sometimes see errors from about:blank, which block the actual page * Implement some small useful properties * Move inline objects to class * Handle requests in Kcef * Move Playwright implementation * Document Playwright settings, fix deprecated warnings * Inject default user agent from NetworkHelper * Move playwright to libs.versions.toml * Lint * Fix missing imports after lint * Update server/src/main/kotlin/suwayomi/tachidesk/server/ServerSetup.kt Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com> * Fix default user agent set/get Use System.getProperty instead of SystemProperties.get * Configurable WebView provider implementation * Simplify Playwright settings init * Minor cleanup and improvements * Remove playwright WebView impl * Document WebView for Linux --------- Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
59 lines
1.6 KiB
Kotlin
59 lines
1.6 KiB
Kotlin
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
|
import org.jlleitschuh.gradle.ktlint.KtlintExtension
|
|
import org.jlleitschuh.gradle.ktlint.KtlintPlugin
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlin.jvm) apply false
|
|
alias(libs.plugins.kotlin.serialization) apply false
|
|
alias(libs.plugins.ktlint) apply false
|
|
alias(libs.plugins.buildconfig) apply false
|
|
alias(libs.plugins.download)
|
|
alias(libs.plugins.kotlin.multiplatform) apply false
|
|
alias(libs.plugins.moko) apply false
|
|
}
|
|
|
|
allprojects {
|
|
group = "suwayomi"
|
|
|
|
version = "1.0"
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
google()
|
|
maven("https://github.com/Suwayomi/Suwayomi-Server/raw/android-jar/")
|
|
maven("https://jitpack.io")
|
|
maven("https://jogamp.org/deployment/maven")
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
plugins.withType<JavaPlugin> {
|
|
extensions.configure<JavaPluginExtension> {
|
|
sourceCompatibility = JavaVersion.VERSION_21
|
|
targetCompatibility = JavaVersion.VERSION_21
|
|
}
|
|
}
|
|
|
|
plugins.withType<KtlintPlugin> {
|
|
extensions.configure<KtlintExtension>("ktlint") {
|
|
version.set(libs.versions.ktlint.get())
|
|
filter {
|
|
exclude("**/generated/**")
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
withType<KotlinJvmCompile> {
|
|
if (plugins.hasPlugin(KtlintPlugin::class)) {
|
|
dependsOn("ktlintFormat")
|
|
}
|
|
compilerOptions {
|
|
jvmTarget = JvmTarget.JVM_21
|
|
freeCompilerArgs.add("-Xcontext-receivers")
|
|
}
|
|
}
|
|
}
|
|
}
|