Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openidea for openSUSE:Factory 
checked in at 2026-11-07 23:34:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openidea (Old)
 and      /work/SRC/openSUSE:Factory/.openidea.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openidea"

Sat Nov  7 23:34:07 2026 rev:4 rq:1396053 version:0.1.38

Changes:
--------
--- /work/SRC/openSUSE:Factory/openidea/openidea.changes        2026-11-06 
20:04:01.702461853 +0100
+++ /work/SRC/openSUSE:Factory/.openidea.new.3759290/openidea.changes   
2026-11-07 23:35:15.165091301 +0100
@@ -1,0 +2,26 @@
+Sat Nov  7 13:48:57 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.1.38:
+  * Plugins: Plugin API 1.2 (user prompts, selected files,
+    context keys, file clauses, item menus, custom icons);
+    background document indexer; API 1.0 and 1.1 keep loading
+  * Run/debug: Docker and Compose run targets; PHP Remote Debug
+    (Xdebug) with php-debug and Bash Debug install offers;
+    debug console search; Ruby test tree with gutter actions
+    and SimpleCov coverage; rerun uses the edited configuration
+  * Languages: Astro support; PHPStan on save, PHP-CS-Fixer
+    reformat, composer.json namespaces and install offer;
+    Python semantic highlighting and Ruff with config dirs;
+    log highlighting
+  * Database: Oracle data sources; one-row extractor; keyboard
+    table edits
+  * Version control: added/removed lines in the Git log; diff
+    marks; preview diff; delete from Changes view
+  * Desktop: update-source choice (CNB mirror); restored
+    terminal tabs; trusted folders; middle-click close;
+    Wayland on NVIDIA
+  * Rebase distro patches (Lombok agent 1.18.48-openidea.3,
+    java-usages 1.7.0); node modules unchanged; skip the new
+    ruby-lsp installer test
+
+-------------------------------------------------------------------

Old:
----
  openidea-0.1.37.tar.zst

New:
----
  openidea-0.1.38.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openidea.spec ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:19.874285879 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:19.876285961 +0100
@@ -20,13 +20,15 @@
 # Full DWARF pushed upstream's fat-LTO link past 37 GB: line tables only, as 
zed
 %global build_rustflags -Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=1 -C 
strip=none
 Name:           openidea
-Version:        0.1.37
+Version:        0.1.38
 Release:        0
 Summary:        IntelliJ IDEA-style IDE with a Rust core
 # Legal-Review-Notice: upstream is Apache-2.0; the rest is derived from what 
the
 # binary carries, not from upstream's THIRD_PARTY_LICENSES.md.
-#  * Rust: 657 crates linked on Linux (no proc-macros), MIT or Apache-2.0 arm 
taken
+#  * Rust: 697 crates linked on Linux (no proc-macros), MIT or Apache-2.0 arm 
taken
 #  * Wasmtime, Cranelift: Apache-2.0 WITH LLVM-exception
+#  * odpic-sys, oracle (Oracle data sources): UPL-1.0 OR Apache-2.0,
+#    distributed under the Apache-2.0 arm
 #  * spellbook, nucleo-matcher, option-ext, cssparser 0.37.0 and
 #    macros, dtoa-short, selectors 0.38.0: MPL-2.0
 #  * webpki-roots: CDLA-Permissive-2.0; notify: CC0-1.0; ICU crates: 
Unicode-3.0
@@ -147,7 +149,7 @@
 
 %package server
 Summary:        Remote development server for OpenIDEA
-# Legal-Review-Notice: derived as above, over the 481 crates linked into 
openidea-server.
+# Legal-Review-Notice: derived as above, over the 548 crates linked into 
openidea-server.
 #  * No GUI, Wasmtime or frontend: no Apache-2.0 WITH LLVM-exception, EPL-2.0, 
OFL-1.1
 #  * MPL-2.0, CDLA-Permissive-2.0, CC0-1.0, Unicode-3.0, Zlib, ISC, 
BSD-3-Clause:
 #    from the same crates as above
@@ -223,7 +225,8 @@
          everything_missing_on_an_empty_system 
gem_install_wraps_stubs_with_gem_home \
          npm_install_uses_tools_prefix npm_typescript_is_pinned_and_shared \
          python_servers_name_uv_when_it_makes_the_virtualenv \
-         release_install_end_to_end_without_network 
rust_analyzer_prefers_rustup_and_installs_component \
+         release_install_end_to_end_without_network 
ruby_lsp_installs_into_the_project_ruby_not_a_private_gem_home \
+         rust_analyzer_prefers_rustup_and_installs_component \
          rust_analyzer_selects_openvsx_without_rustup 
rustup_proxy_without_component_is_missing; do
   skip="$skip --skip tests::$t"
 done

++++++ openidea-0.1.37.tar.zst -> openidea-0.1.38.tar.zst ++++++
/work/SRC/openSUSE:Factory/openidea/openidea-0.1.37.tar.zst 
/work/SRC/openSUSE:Factory/.openidea.new.3759290/openidea-0.1.38.tar.zst 
differ: char 5, line 1

++++++ openidea-no-agent-installs.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.086294639 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.091294845 +0100
@@ -34,7 +34,7 @@
          "Run `codex login` in a terminal.",
      ),
      ("gemini", "Gemini CLI", Driver::Acp, &["gemini", "--experimental-acp"], 
"Run `gemini` in a terminal and sign in."),
-@@ -318,10 +319,14 @@
+@@ -329,10 +330,14 @@
          for p in &defaults {
              assert_eq!(p.source, AgentSource::Builtin);
              assert!(p.default_program.is_some());
@@ -62,7 +62,7 @@
  /// [`maintain`] refreshes a saved index older than this, so updates show 
without opening
  /// the registry.
  const REFRESH_AFTER: Duration = Duration::from_secs(24 * 60 * 60);
-@@ -248,7 +250,10 @@
+@@ -250,7 +252,10 @@
  }
  
  fn is_builtin(id: &str) -> bool {
@@ -74,7 +74,7 @@
  }
  
  fn on_path(command: &str) -> bool {
-@@ -376,6 +381,11 @@
+@@ -379,6 +384,11 @@
  }
  
  fn fetch(paths: &RegistryPaths, cancel: &CancellationToken) -> 
IdeResult<String> {
@@ -86,7 +86,7 @@
      let http = http()?;
      let text = http.get_text_limited(REGISTRY_URL, Some(MAX_REGISTRY_BYTES), 
cancel)?;
      parse(&text)?;
-@@ -410,6 +420,13 @@
+@@ -413,6 +423,13 @@
          .iter()
          .find(|e| e.id == id)
          .ok_or_else(|| IdeError::not_found(format!("{id} is not in the ACP 
Registry")))?;

++++++ openidea-no-coverage-installs.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.107295507 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.111295672 +0100
@@ -37,7 +37,7 @@
  }
  
  fn ready(
-@@ -252,7 +247,8 @@
+@@ -312,7 +307,8 @@
          };
          return missing(
              "coverage",
@@ -47,7 +47,7 @@
              Some((install, dir)),
          );
      }
-@@ -341,11 +337,9 @@
+@@ -401,11 +397,9 @@
          let root = dir.path();
          std::fs::write(root.join("package.json"), 
r#"{"scripts":{"test":"vitest run","t2":"tsc && jest"}}"#).unwrap();
          let config = cfg("npm", "pnpm", &["run", "test", "--", "a.test.ts"]);
@@ -61,7 +61,7 @@
              other => panic!("{other:?}"),
          }
          // ... pinned to the installed vitest.
-@@ -353,9 +347,7 @@
+@@ -413,9 +407,7 @@
          std::fs::create_dir_all(&vitest).unwrap();
          std::fs::write(vitest.join("package.json"), 
r#"{"version":"2.1.9"}"#).unwrap();
          match prepare(root, &config, root) {
@@ -72,7 +72,7 @@
              other => panic!("{other:?}"),
          }
          let pkg = root.join("node_modules/@vitest/coverage-v8");
-@@ -386,10 +378,7 @@
+@@ -446,10 +438,7 @@
          config.env.insert("PATH".into(), 
dir.path().to_string_lossy().into_owned());
          config.command = 
dir.path().join("cargo").to_string_lossy().into_owned();
          match prepare(dir.path(), &config, dir.path()) {
@@ -84,6 +84,21 @@
              other => panic!("{other:?}"),
          }
          assert!(matches!(
+@@ -488,11 +477,11 @@
+         std::fs::create_dir_all(&out).unwrap();
+         std::fs::write(root.join("Gemfile"), "source 
'https://rubygems.org'\n").unwrap();
+         let config = cfg("rspec", "bundle", &["exec", "rspec"]);
+-        // Bundler project without the gem: install hint.
++        // Bundler project without the gem: missing, with no install command
++        // in a distribution build.
+         match prepare(root, &config, &out) {
+-            CoveragePrepared::MissingTool { tool, install: Some(i), .. } => {
++            CoveragePrepared::MissingTool { tool, install: None, .. } => {
+                 assert_eq!(tool, "simplecov");
+-                assert_eq!(i.args, ["add", "simplecov", "--group", "test"]);
+             }
+             other => panic!("{other:?}"),
+         }
 --- a/crates/ide-profiler/src/plan.rs
 +++ b/crates/ide-profiler/src/plan.rs
 @@ -1,6 +1,6 @@

++++++ openidea-no-jdk-downloads.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.127296333 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.132296539 +0100
@@ -34,7 +34,7 @@
  pub fn adoptium_releases_url() -> String {
      format!("{ADOPTIUM_API}/info/available_releases")
  }
-@@ -266,7 +284,12 @@
+@@ -247,7 +265,12 @@
      /// Java versions `vendor` publishes.
      pub fn jdk_releases(&self, vendor: &str, cancel: &CancellationToken) -> 
IdeResult<JdkReleases> {
          vendor_or_err(vendor)?;
@@ -48,7 +48,7 @@
      }
  
      /// Downloads the latest `vendor` JDK of Java `feature` into
-@@ -306,6 +329,7 @@
+@@ -287,6 +310,7 @@
          emit: Emit,
      ) -> IdeResult<DownloadedJdk> {
          vendor_or_err(vendor)?;
@@ -58,7 +58,7 @@
          let location = location.map(Path::to_path_buf).unwrap_or_else(|| 
self.root.join("jdks"));
 --- a/crates/ide-sdk/src/java.rs
 +++ b/crates/ide-sdk/src/java.rs
-@@ -91,6 +91,8 @@
+@@ -95,6 +95,8 @@
      let mut roots: Vec<PathBuf> = vec![
          PathBuf::from("/Library/Java/JavaVirtualMachines"),
          PathBuf::from("/usr/lib/jvm"),

++++++ openidea-no-prebuilt-jars.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.147297159 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.151297325 +0100
@@ -13,7 +13,7 @@
 
 --- a/crates/ide-sdk/src/java.rs
 +++ b/crates/ide-sdk/src/java.rs
-@@ -1130,137 +1130,16 @@
+@@ -1153,137 +1155,16 @@
  
  /// The same jar supplies the JDT command and the private Maven output 
redirector.
  pub fn kotlin_bridge_bundle(data_dir: &Path) -> Option<PathBuf> {
@@ -64,7 +64,7 @@
  
  /// Installs the app-owned JDT LS command bundle, falling back to ordinary 
LSP on IO failure.
  pub fn usages_bundle(data_dir: &Path) -> Option<PathBuf> {
--    let extension = data_dir.join("java-usages-1.3.0.jar");
+-    let extension = data_dir.join("java-usages-1.7.0.jar");
 -    let bytes = 
include_bytes!("../../../java/java-usages/openidea-java-usages.jar");
 -    if std::fs::read(&extension).is_ok_and(|old| old == bytes) {
 -        clean_usages_bundles(data_dir, &extension);
@@ -161,19 +161,20 @@
  }
 --- a/crates/ide-tools/src/registry.rs
 +++ b/crates/ide-tools/src/registry.rs
-@@ -637,15 +637,16 @@
+@@ -643,16 +643,16 @@
          display: "Lombok (jdtls agent)",
          kind: Plugin,
          commands: &["lombok.jar"],
 -        // Equinox removed getModuleClassLoader(boolean), breaking 
lombok.config lookup (lombok#4059);
 -        // ECJ 3.46.200 keeps the constructor call in a constructor's 
statements, which
 -        // @SneakyThrows / @NonNull must not wrap or precede (lombok#4089).
--        // Return to Maven Central once an official release includes both.
+-        // Builders on compact record constructors need the patch in 
java/lombok/patches.
+-        // Return to Maven Central once an official release includes all of 
these fixes.
 -        // Source commit, build instructions and checksum: 
java/lombok/README.md.
 -        method: Method::Bundled {
--            filename: "lombok-1.18.48-openidea.2.jar",
--            version: "1.18.48-openidea.2",
--            bytes: 
include_bytes!("../../../java/lombok/lombok-1.18.48-openidea.2.jar"),
+-            filename: "lombok-1.18.48-openidea.3.jar",
+-            version: "1.18.48-openidea.3",
+-            bytes: 
include_bytes!("../../../java/lombok/lombok-1.18.48-openidea.3.jar"),
 +        // Distribution build: the prebuilt patched agent is not shipped; 
jdtls
 +        // takes Lombok from the Maven or Gradle cache or a -javaagent option.
 +        method: Method::Release {
@@ -189,7 +190,7 @@
          version: V,
 --- a/crates/ide-tools/src/tests.rs
 +++ b/crates/ide-tools/src/tests.rs
-@@ -44,61 +44,6 @@
+@@ -50,65 +50,6 @@
  }
  
  #[test]
@@ -201,16 +202,20 @@
 -            fs::create_dir_all(legacy.parent().unwrap()).unwrap();
 -            fs::write(&legacy, b"old official agent").unwrap();
 -            fs::write(env.root.join("lombok").join(MANIFEST), 
r#"{"version":"1.18.48"}"#).unwrap();
+-            let previous = 
env.root.join("lombok/bin/lombok-1.18.48-openidea.2.jar");
+-            fs::write(&previous, b"previous bundled agent").unwrap();
 -            let tools = Tools::with_paths(env.root.clone(), OsString::new(), 
Platform { os, arch });
 -            let info = tools.info("lombok", &[]).unwrap();
 -            let path = managed_bundle(env.root.parent().unwrap(), 
"lombok").unwrap();
 -            assert_eq!(info.status, ToolStatus::Installed);
--            assert_eq!(info.version.as_deref(), Some("1.18.48-openidea.2"));
+-            assert_eq!(info.version.as_deref(), Some("1.18.48-openidea.3"));
 -            assert_eq!(info.path, Some(path.clone().into()));
--            assert_eq!(path.file_name().unwrap(), 
"lombok-1.18.48-openidea.2.jar");
+-            assert_eq!(path.file_name().unwrap(), 
"lombok-1.18.48-openidea.3.jar");
 -            assert!(!info.can_install && !info.can_uninstall);
 -            
assert_eq!(tools.unavailable_reason(registry::find("lombok").unwrap()), None);
 -            assert_eq!(fs::read(&legacy).unwrap(), b"old official agent", 
"other windows may still use it");
+-            assert_ne!(path, previous, "new agent path must invalidate the 
JDT LS workspace");
+-            assert_eq!(fs::read(&previous).unwrap(), b"previous bundled 
agent", "other windows may still use it");
 -        }
 -    }
 -}

++++++ openidea-no-self-update.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.167297986 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.172298192 +0100
@@ -1,33 +1,26 @@
 From: Martin Pluskal <[email protected]>
 Subject: [PATCH] Disable the in-app self-updater
 
-Upstream configures the Tauri updater with its GitHub release feed, checks
-it once per start and offers to download a release over the installed
-files. Updates come from the package manager in a distribution build, so
+Upstream configures the Tauri updater with its release feed (GitHub, or the
+CNB mirror), checks it once per start and offers to download a release over
+the installed files. Updates come from the package manager in a distribution
+build, so
 report the updater as unconfigured: no startup check, no request, and the
 Check for Updates actions are hidden.
 
 --- a/src-tauri/src/commands/window.rs
 +++ b/src-tauri/src/commands/window.rs
-@@ -304,16 +304,10 @@
+@@ -332,8 +332,10 @@
  /// Whether an update endpoint is configured: `plugins.updater.endpoints` in
  /// tauri.conf.json, or the `OPENIDEA_UPDATE_ENDPOINT` environment variable. 
Empty by
  /// default, and "Check for Updates…" is hidden then.
 -pub fn updates_configured<R: tauri::Runtime>(app: &AppHandle<R>) -> bool {
--    let in_config = app
--        .config()
--        .plugins
--        .0
--        .get("updater")
--        .and_then(|u| u.get("endpoints"))
--        .and_then(|e| e.as_array())
--        .is_some_and(|e| !e.is_empty());
--    in_config || update_endpoint_env().is_some()
+-    !config_endpoints(app).is_empty() || update_endpoint_env().is_some()
 +pub fn updates_configured<R: tauri::Runtime>(_app: &AppHandle<R>) -> bool {
 +    // Distribution build: the package manager owns updates, so never query
 +    // the release feed or write a downloaded release over the installed 
files.
 +    false
  }
  
- fn updater(app: &AppHandle) -> 
IdeResult<Option<tauri_plugin_updater::Updater>> {
+ /// Where updates are downloaded from (System Settings › Updates).
 

++++++ openidea-no-server-download.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.191298977 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.197299225 +0100
@@ -11,7 +11,7 @@
 
 --- a/src-tauri/src/remote_dev.rs
 +++ b/src-tauri/src/remote_dev.rs
-@@ -205,15 +205,14 @@
+@@ -254,15 +254,14 @@
      arch: &str,
      progress: Arc<Progress>,
  ) -> IdeResult<std::path::PathBuf> {

++++++ openidea-no-tool-installs.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.213299887 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.220300176 +0100
@@ -13,7 +13,7 @@
 
 --- a/crates/ide-tools/src/lib.rs
 +++ b/crates/ide-tools/src/lib.rs
-@@ -542,8 +542,32 @@
+@@ -622,8 +622,32 @@
  
      /// Requirement check for installing `spec` right now.
      fn unavailable_reason(&self, spec: &ToolSpec) -> Option<String> {
@@ -50,7 +50,7 @@
      /// What the install method itself lacks (npm, a build for this platform, 
…).
 --- a/crates/ide-tools/src/tests.rs
 +++ b/crates/ide-tools/src/tests.rs
-@@ -119,9 +119,11 @@
+@@ -146,9 +146,11 @@
      assert_eq!(gopls.path.as_deref(), Some(env.sys.join("gopls").as_path()));
      assert!(!gopls.can_uninstall);
      assert_eq!(find(&list, "solargraph").status, ToolStatus::OnPath);
@@ -66,7 +66,7 @@
  #[cfg(unix)]
 --- a/src/features/tools/missing.ts
 +++ b/src/features/tools/missing.ts
-@@ -24,7 +24,8 @@ export async function promptInstall(
+@@ -25,7 +25,8 @@
  ): Promise<boolean> {
    if (!useTools.getState().loaded) await refreshTools();
    const tool = toolByName(name);
@@ -75,18 +75,19 @@
 +  if (!tool || tool.status !== "missing" || (!tool.canInstall && 
!tool.unavailableReason)) return false;
    const position = tool.alternatives.indexOf(name);
    if (position > 0 && tool.alternatives.slice(0, position).some((n) => 
offered.has(n))) return false;
-   // An installed alternative (typescript-language-server for vtsls) already 
serves these files.
-@@ -33,14 +34,15 @@
+   formatter ||= tool.kind === "formatter";
+@@ -46,13 +47,15 @@
      group: "tools",
      level: "warning",
      title: tx`${tool.displayName} is not installed`,
--    body:
--      tool.kind === "formatter"
+-    body: formatter
+-      ? tx`Reformat Code needs ${tool.displayName}. Install it via 
${tool.installMethod}?`
+-      : tx`Code insight for ${langs} needs ${tool.command}. Install it via 
${tool.installMethod}?`,
 +    body: !tool.canInstall
 +      ? tool.unavailableReason
-+      : tool.kind === "formatter"
-         ? tx`Reformat Code needs ${tool.displayName}. Install it via 
${tool.installMethod}?`
-         : tx`Code insight for ${langs} needs ${tool.command}. Install it via 
${tool.installMethod}?`,
++      : formatter
++        ? tx`Reformat Code needs ${tool.displayName}. Install it via 
${tool.installMethod}?`
++        : tx`Code insight for ${langs} needs ${tool.command}. Install it via 
${tool.installMethod}?`,
      key,
      sticky,
      actions: [

++++++ openidea-npm-build-deps.patch ++++++
--- /var/tmp/diff_new_pack.Om2ISm/_old  2026-11-07 23:35:20.247301291 +0100
+++ /var/tmp/diff_new_pack.Om2ISm/_new  2026-11-07 23:35:20.251301457 +0100
@@ -8,7 +8,7 @@
 
 --- a/package.json
 +++ b/package.json
-@@ -76,22 +76,11 @@
+@@ -82,22 +82,11 @@
    },
    "devDependencies": {
      "@lezer/generator": "^1.8.1",

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/openidea/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.openidea.new.3759290/vendor.tar.zst differ: char 5, 
line 1

Reply via email to