فهرست منبع

removed forbidden getPluginId()

paviko 3 هفته پیش
والد
کامیت
74d40489de
1فایلهای تغییر یافته به همراه3 افزوده شده و 11 حذف شده
  1. 3 11
      hosts/jetbrains-plugin/src/main/kotlin/paviko/opencode/ui/ChatToolWindowFactory.kt

+ 3 - 11
hosts/jetbrains-plugin/src/main/kotlin/paviko/opencode/ui/ChatToolWindowFactory.kt

@@ -1,8 +1,6 @@
 package paviko.opencode.ui
 
 
-import com.intellij.ide.plugins.PluginManagerCore
-import com.intellij.ide.plugins.PluginUtil
 import com.intellij.openapi.diagnostic.Logger
 
 import com.intellij.openapi.project.DumbAware
@@ -14,6 +12,7 @@ import com.intellij.ui.jcef.JBCefApp
 import com.intellij.ui.jcef.JBCefBrowser
 import com.intellij.ui.jcef.JBCefClient
 import com.intellij.util.ui.JBUI
+import java.util.UUID
 import paviko.opencode.backendprocess.BackendLauncher
 import paviko.opencode.settings.OpenCodeSettings
 import java.awt.BorderLayout
@@ -29,14 +28,6 @@ class ChatToolWindowFactory : ToolWindowFactory, DumbAware {
     private var connectionInfo: ConnInfo? = null
     private val logger = Logger.getInstance(ChatToolWindowFactory::class.java)
 
-    private fun pluginVersion(): String {
-        // Use pluginDescriptor.version without hardcoding plugin id.
-        // PluginUtil ties a classloader back to the hosting plugin.
-        val pluginId = PluginUtil.getPluginId(javaClass.classLoader) ?: return "dev"
-        val descriptor = PluginManagerCore.getPlugin(pluginId) ?: return "dev"
-        return descriptor.version
-    }
-
     private fun withCacheBuster(url: String, version: String): String {
         val encodedVersion = URLEncoder.encode(version, StandardCharsets.UTF_8)
         val sep = if (url.contains("?")) "&" else "?"
@@ -79,6 +70,7 @@ class ChatToolWindowFactory : ToolWindowFactory, DumbAware {
         }, BorderLayout.CENTER)
         // Add collapsible logs at the bottom
         mainPanel.add(hideableLogs, BorderLayout.SOUTH)
+        val nonce = UUID.randomUUID().toString()
 
         val proc = try {
             BackendLauncher.launchBackend(project)
@@ -135,7 +127,7 @@ class ChatToolWindowFactory : ToolWindowFactory, DumbAware {
                                         } catch (_: Throwable) {}
                                         val browser = JBCefBrowser.createBuilder()
                                             .setClient(client)
-                                            .setUrl(withCacheBuster(appUrl, pluginVersion()))
+                                            .setUrl(withCacheBuster(appUrl, nonce))
                                             .build()
 
                                         // Store browser reference for path insertion (context actions)