[PR #20] [MERGED] gRPC Support #3

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

📋 Pull Request Information

Original PR: https://github.com/mountain-loop/yaak/pull/20
Author: @gschier
Created: 1/30/2024
Status: Merged
Merged: 2/9/2024
Merged by: @gschier

Base: mainHead: grpc


📝 Commits (10+)

  • dbdce4c Hooked up test call from frontend!
  • 5c44df7 Initial frontend for gRPC UI
  • de183ab Hacky client streaming done
  • a05fc5f Hacky server streaming done
  • b964c94 Merge remote-tracking branch 'origin/grpc' into grpc
  • d0be5ca Styled it up a bit
  • 63a0ed2 Even better styles
  • 1eed0e8 Revert response JSON tree
  • 2c041fb Some minor tweaks
  • 6a83956 Refactor commands and DB

📊 Changes

162 files changed (+6615 additions, -1715 deletions)

View changed files

📝 package-lock.json (+286 -26)
📝 package.json (+3 -0)
src-tauri/.sqlx/query-02506ad41cc94cd937422ef1977a97174431f008a9fb4ce39667d587a858b876.json (+0 -12)
src-tauri/.sqlx/query-11394af12419cca3be3a26dff9275514ea2a44504e3c7a568a9578c64b5713d1.json (+12 -0)
src-tauri/.sqlx/query-12b265491d1ebba19e1ce8a660e458ffbcd8c0850aef16ba1f70e358623ac66a.json (+12 -0)
src-tauri/.sqlx/query-13cb883199e81966174e6fda9c252bf7213fe01b5346266c0a89dc0ac89eda64.json (+12 -0)
src-tauri/.sqlx/query-196ed792c8d96425d428cb9609b0c1b18e8f1ba3c1fdfb38c91ffd7bada97f59.json (+68 -0)
src-tauri/.sqlx/query-2c9658a639c5e4994ae9c8ec30bd4e40a1945d640962991f879928619950ef62.json (+12 -0)
src-tauri/.sqlx/query-3330be44d8851f8e3456c403b5d1067f4e70e85ef8829b7aaad5b1993c3d01e8.json (+68 -0)
src-tauri/.sqlx/query-3c52c0fa3372cdd2657a775c3b93fb65f42d3226cec27220469558e14973328c.json (+68 -0)
src-tauri/.sqlx/query-42bc0ded60b44dab19daf6d8fc7df83d83af5d88ea0b84514fdc877a668c27cd.json (+12 -0)
src-tauri/.sqlx/query-48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0.json (+12 -0)
src-tauri/.sqlx/query-4a5fd6c81401ccafac64b05cb476da92cc30919d5bdb0a0226ea5e30d5b30c0f.json (+0 -12)
src-tauri/.sqlx/query-4b45b681698cbfe8531a7c3ba368a1d8003fa17d5585bc126debb18cae670460.json (+12 -0)
📝 src-tauri/.sqlx/query-558e72df3c6f2635c6b3d52a199f9a5f7a3d82b379ff9af36645dcfb92548fdd.json (+2 -2)
📝 src-tauri/.sqlx/query-573db23160de025e5c72efb90be7fff5e3ec4619b962d149fdd4d618fe02c680.json (+13 -13)
📝 src-tauri/.sqlx/query-5765e9565a8b89c5bc2d72197e0e4a1093739e9abba69f6fe5527d453fab4db8.json (+2 -2)
src-tauri/.sqlx/query-587aedf827b00bb706c35457a75b811317e66fc84ac0906bf5513d938121a078.json (+0 -12)
📝 src-tauri/.sqlx/query-612efa9ac45723dc604a88f5e7e288b4055fec4ba7d9102131bd255c037fa021.json (+2 -2)
src-tauri/.sqlx/query-7398403d3de2dc5c5b4b6392f083041d9a55194bb97819225a2612fdeb60ad42.json (+92 -0)

...and 80 more files

📄 Description

Implement library for reflecting and calling gRPC endpoints

  • Reflect gRPC endpoint
  • Accept *.proto files
  • Handle TLS connection

Add calling logic to convert JSON->protobuf

  • Call arbitrary service->method with stringified JSON
  • Return response as pretty JSON
  • Unary
  • Client streaming
  • Server streaming
  • Bidirectional streaming

Data models for application state

  • Create GRPCConnection model to handle a session
  • Create GRPCOut model to handle outgoing requests
  • Create GRPCIn model for incoming responses

UI/UX

  • Design new interface for gRPC
  • Handle multiple model types in sidebar
  • Auto-reflect endpoints like we do with GraphQL
  • Allow selecting proto(s) files instead of reflection
  • Have some way to easily edit messages and send quickly

🔄 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/20 **Author:** [@gschier](https://github.com/gschier) **Created:** 1/30/2024 **Status:** ✅ Merged **Merged:** 2/9/2024 **Merged by:** [@gschier](https://github.com/gschier) **Base:** `main` ← **Head:** `grpc` --- ### 📝 Commits (10+) - [`dbdce4c`](https://github.com/mountain-loop/yaak/commit/dbdce4cf9a95a478ac339385b9b6a3424de8eae5) Hooked up test call from frontend! - [`5c44df7`](https://github.com/mountain-loop/yaak/commit/5c44df7b001bca4368289ed704e6c2207284c882) Initial frontend for gRPC UI - [`de183ab`](https://github.com/mountain-loop/yaak/commit/de183abd24764c2f194c3f9094ad80e13df48a61) Hacky client streaming done - [`a05fc5f`](https://github.com/mountain-loop/yaak/commit/a05fc5fd20d5108f0cf9b5ec002fdaee26956432) Hacky server streaming done - [`b964c94`](https://github.com/mountain-loop/yaak/commit/b964c942d6fdc57a4e54c9efc9452355616eda27) Merge remote-tracking branch 'origin/grpc' into grpc - [`d0be5ca`](https://github.com/mountain-loop/yaak/commit/d0be5ca515ed71a9ddb84aa876329977ee0459ef) Styled it up a bit - [`63a0ed2`](https://github.com/mountain-loop/yaak/commit/63a0ed273debb445ad34252712ea4a043d2064a1) Even better styles - [`1eed0e8`](https://github.com/mountain-loop/yaak/commit/1eed0e8f222920cb32c9bacfaaf509453e92f2cf) Revert response JSON tree - [`2c041fb`](https://github.com/mountain-loop/yaak/commit/2c041fbac656bba3f48c23c59f7a8baae834a58f) Some minor tweaks - [`6a83956`](https://github.com/mountain-loop/yaak/commit/6a8395660df8f8cab9a1f431aad18928329c1c96) Refactor commands and DB ### 📊 Changes **162 files changed** (+6615 additions, -1715 deletions) <details> <summary>View changed files</summary> 📝 `package-lock.json` (+286 -26) 📝 `package.json` (+3 -0) ➖ `src-tauri/.sqlx/query-02506ad41cc94cd937422ef1977a97174431f008a9fb4ce39667d587a858b876.json` (+0 -12) ➕ `src-tauri/.sqlx/query-11394af12419cca3be3a26dff9275514ea2a44504e3c7a568a9578c64b5713d1.json` (+12 -0) ➕ `src-tauri/.sqlx/query-12b265491d1ebba19e1ce8a660e458ffbcd8c0850aef16ba1f70e358623ac66a.json` (+12 -0) ➕ `src-tauri/.sqlx/query-13cb883199e81966174e6fda9c252bf7213fe01b5346266c0a89dc0ac89eda64.json` (+12 -0) ➕ `src-tauri/.sqlx/query-196ed792c8d96425d428cb9609b0c1b18e8f1ba3c1fdfb38c91ffd7bada97f59.json` (+68 -0) ➕ `src-tauri/.sqlx/query-2c9658a639c5e4994ae9c8ec30bd4e40a1945d640962991f879928619950ef62.json` (+12 -0) ➕ `src-tauri/.sqlx/query-3330be44d8851f8e3456c403b5d1067f4e70e85ef8829b7aaad5b1993c3d01e8.json` (+68 -0) ➕ `src-tauri/.sqlx/query-3c52c0fa3372cdd2657a775c3b93fb65f42d3226cec27220469558e14973328c.json` (+68 -0) ➕ `src-tauri/.sqlx/query-42bc0ded60b44dab19daf6d8fc7df83d83af5d88ea0b84514fdc877a668c27cd.json` (+12 -0) ➕ `src-tauri/.sqlx/query-48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0.json` (+12 -0) ➖ `src-tauri/.sqlx/query-4a5fd6c81401ccafac64b05cb476da92cc30919d5bdb0a0226ea5e30d5b30c0f.json` (+0 -12) ➕ `src-tauri/.sqlx/query-4b45b681698cbfe8531a7c3ba368a1d8003fa17d5585bc126debb18cae670460.json` (+12 -0) 📝 `src-tauri/.sqlx/query-558e72df3c6f2635c6b3d52a199f9a5f7a3d82b379ff9af36645dcfb92548fdd.json` (+2 -2) 📝 `src-tauri/.sqlx/query-573db23160de025e5c72efb90be7fff5e3ec4619b962d149fdd4d618fe02c680.json` (+13 -13) 📝 `src-tauri/.sqlx/query-5765e9565a8b89c5bc2d72197e0e4a1093739e9abba69f6fe5527d453fab4db8.json` (+2 -2) ➖ `src-tauri/.sqlx/query-587aedf827b00bb706c35457a75b811317e66fc84ac0906bf5513d938121a078.json` (+0 -12) 📝 `src-tauri/.sqlx/query-612efa9ac45723dc604a88f5e7e288b4055fec4ba7d9102131bd255c037fa021.json` (+2 -2) ➕ `src-tauri/.sqlx/query-7398403d3de2dc5c5b4b6392f083041d9a55194bb97819225a2612fdeb60ad42.json` (+92 -0) _...and 80 more files_ </details> ### 📄 Description ## Implement library for reflecting and calling gRPC endpoints - [x] Reflect gRPC endpoint - [x] Accept `*.proto` files - [ ] Handle TLS connection ## Add calling logic to convert JSON->protobuf - [x] Call arbitrary service->method with stringified JSON - [x] Return response as pretty JSON - [x] Unary - [ ] Client streaming - [x] Server streaming - [x] Bidirectional streaming ## Data models for application state - [x] Create `GRPCConnection` model to handle a session - [x] Create `GRPCOut` model to handle outgoing requests - [x] Create `GRPCIn` model for incoming responses ## UI/UX - [x] Design new interface for gRPC - [ ] Handle multiple model types in sidebar - [x] Auto-reflect endpoints like we do with GraphQL - [ ] Allow selecting proto(s) files instead of reflection - [ ] Have some way to easily edit messages and send quickly --- <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:18:51 +01:00
adam closed this issue 2025-12-29 07:18:51 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/yaak#3