[PR #295] [MERGED] Connection re-use for plugin networking and beta NTLM plugin #216

Closed
opened 2025-12-29 07:19:55 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mountain-loop/yaak/pull/295
Author: @gschier
Created: 11/10/2025
Status: Merged
Merged: 11/10/2025
Merged by: @gschier

Base: mainHead: persistent-http


📝 Commits (9)

  • 43c4e1d Start separating HTTP connection building
  • 98aa449 Merge branch 'main' into persistent-http
  • 282729a Merge branch 'main' into persistent-http
  • 271a781 Got NTLM demo working
  • 70ae32e Refactor plugin context to pass an ID for transaction re-use
  • 74c9967 Fix ntml name
  • 729503d Better lock management
  • 458df48 Clean up old HTTP connections
  • 5a61cc0 Fix mutation

📊 Changes

48 files changed (+942 additions, -555 deletions)

View changed files

📝 package-lock.json (+73 -1)
📝 package.json (+1 -0)
📝 packages/plugin-runtime-types/src/bindings/gen_events.ts (+2 -2)
📝 packages/plugin-runtime/src/PluginHandle.ts (+6 -7)
📝 packages/plugin-runtime/src/PluginInstance.ts (+56 -70)
📝 packages/plugin-runtime/src/index.ts (+1 -1)
plugins/auth-ntlm/package.json (+20 -0)
plugins/auth-ntlm/src/index.ts (+76 -0)
plugins/auth-ntlm/src/modules.d.ts (+1 -0)
plugins/auth-ntlm/tsconfig.json (+3 -0)
📝 src-tauri/Cargo.lock (+39 -33)
📝 src-tauri/Cargo.toml (+8 -9)
📝 src-tauri/src/commands.rs (+5 -5)
📝 src-tauri/src/error.rs (+3 -0)
📝 src-tauri/src/grpc.rs (+7 -2)
📝 src-tauri/src/http_request.rs (+75 -75)
📝 src-tauri/src/lib.rs (+17 -17)
📝 src-tauri/src/plugin_events.rs (+27 -28)
📝 src-tauri/src/render.rs (+2 -2)
📝 src-tauri/yaak-crypto/Cargo.toml (+1 -1)

...and 28 more files

📄 Description

This PR creates a separate reqwest.Client manager so it can re-use HTTP connections if desired. With this PR, the current request, along with any subsequent requests sent in the plugin execution chain will re-use the same connection pool.

This is useful for stateful authentication plugins like NTLM which authenticate once per connection.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mountain-loop/yaak/pull/295 **Author:** [@gschier](https://github.com/gschier) **Created:** 11/10/2025 **Status:** ✅ Merged **Merged:** 11/10/2025 **Merged by:** [@gschier](https://github.com/gschier) **Base:** `main` ← **Head:** `persistent-http` --- ### 📝 Commits (9) - [`43c4e1d`](https://github.com/mountain-loop/yaak/commit/43c4e1d16d572128b73d86b091eae465b872f9a0) Start separating HTTP connection building - [`98aa449`](https://github.com/mountain-loop/yaak/commit/98aa44930fb7b99e196d1eebdf155e8f191bb1fc) Merge branch 'main' into persistent-http - [`282729a`](https://github.com/mountain-loop/yaak/commit/282729a3a038915e0624a5f0419d4ea2d9f14f3b) Merge branch 'main' into persistent-http - [`271a781`](https://github.com/mountain-loop/yaak/commit/271a7816b5623cef91142983a7fbf3df01e4e16c) Got NTLM demo working - [`70ae32e`](https://github.com/mountain-loop/yaak/commit/70ae32effb2c01666e92512a22ee23e9ff9ab812) Refactor plugin context to pass an ID for transaction re-use - [`74c9967`](https://github.com/mountain-loop/yaak/commit/74c9967eaba408ac05b08cbc751713cd45867b98) Fix ntml name - [`729503d`](https://github.com/mountain-loop/yaak/commit/729503d82684614be155ae328e80581cd01be685) Better lock management - [`458df48`](https://github.com/mountain-loop/yaak/commit/458df4854b77601897afeceee6cdf84627b70980) Clean up old HTTP connections - [`5a61cc0`](https://github.com/mountain-loop/yaak/commit/5a61cc0bf620f1fa11aed05876e2838849172203) Fix mutation ### 📊 Changes **48 files changed** (+942 additions, -555 deletions) <details> <summary>View changed files</summary> 📝 `package-lock.json` (+73 -1) 📝 `package.json` (+1 -0) 📝 `packages/plugin-runtime-types/src/bindings/gen_events.ts` (+2 -2) 📝 `packages/plugin-runtime/src/PluginHandle.ts` (+6 -7) 📝 `packages/plugin-runtime/src/PluginInstance.ts` (+56 -70) 📝 `packages/plugin-runtime/src/index.ts` (+1 -1) ➕ `plugins/auth-ntlm/package.json` (+20 -0) ➕ `plugins/auth-ntlm/src/index.ts` (+76 -0) ➕ `plugins/auth-ntlm/src/modules.d.ts` (+1 -0) ➕ `plugins/auth-ntlm/tsconfig.json` (+3 -0) 📝 `src-tauri/Cargo.lock` (+39 -33) 📝 `src-tauri/Cargo.toml` (+8 -9) 📝 `src-tauri/src/commands.rs` (+5 -5) 📝 `src-tauri/src/error.rs` (+3 -0) 📝 `src-tauri/src/grpc.rs` (+7 -2) 📝 `src-tauri/src/http_request.rs` (+75 -75) 📝 `src-tauri/src/lib.rs` (+17 -17) 📝 `src-tauri/src/plugin_events.rs` (+27 -28) 📝 `src-tauri/src/render.rs` (+2 -2) 📝 `src-tauri/yaak-crypto/Cargo.toml` (+1 -1) _...and 28 more files_ </details> ### 📄 Description This PR creates a separate `reqwest.Client` manager so it can re-use HTTP connections if desired. With this PR, the current request, along with any subsequent requests sent in the plugin execution chain will re-use the same connection pool. This is useful for stateful authentication plugins like [NTLM](https://en.wikipedia.org/wiki/NTLM) which authenticate once per connection. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 07:19:55 +01:00
adam closed this issue 2025-12-29 07:19:55 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/yaak#216