File tree Expand file tree Collapse file tree
src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/common/di Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1515- [ Web Import] Add ` Remix ` icons provider
1616- [ Web Import] Add ` Box ` icons provider
1717- [ Web Import] Force ` Material Symbols ` and ` Lucide ` icon providers to use woff2 font
18+ - [ Web Import] Enable persistent cache to avoid re-fetching icons on every plugin restart
1819
1920### Fixed
2021
Original file line number Diff line number Diff line change 11package io.github.composegears.valkyrie.ui.screen.webimport.common.di
22
33import com.composegears.leviathan.Leviathan
4+ import com.intellij.openapi.application.PathManager
45import io.ktor.client.HttpClient
56import io.ktor.client.engine.okhttp.OkHttp
67import io.ktor.client.plugins.HttpTimeout
8+ import io.ktor.client.plugins.cache.HttpCache
9+ import io.ktor.client.plugins.cache.storage.FileStorage
710import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
811import io.ktor.serialization.kotlinx.json.json
12+ import java.nio.file.Files
13+ import java.nio.file.Paths
914import kotlin.time.Duration.Companion.seconds
1015import kotlinx.serialization.json.Json
1116
@@ -26,6 +31,11 @@ object NetworkModule : Leviathan() {
2631 install(ContentNegotiation ) {
2732 json(inject(json))
2833 }
34+ install(HttpCache ) {
35+ val cacheDir = Paths .get(PathManager .getSystemPath()).resolve(" valkyrie" )
36+ val cacheFile = Files .createDirectories(cacheDir).toFile()
37+ publicStorage(FileStorage (cacheFile))
38+ }
2939 }
3040 }
3141}
You can’t perform that action at this time.
0 commit comments