gorums: reduce generated-code hooks in the application-facing API
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 15/100
Research direction
Start with the generated streaming handlers and the registration template in the gorums code generator, and trace where ServerContext.SendMessage, Server.RegisterHandler, NewResponseMessage and AsProto are called from generated code. The issue asks for a design proposal before any API change, so the first deliverable is a written design covering which hooks can move into runtime/gorumsimpl, plus a compatibility note on existing generated code and version checks. Done means an agreed proposal, not a code change.
Written by the indexing model from the issue text.
Description
Problem
Generated server code depends on exported details in package gorums.
Generated streaming handlers call ServerContext.SendMessage.
The registration template also uses Server.RegisterHandler, Message, NewResponseMessage, and AsProto.
These hooks make implementation details visible alongside the application API.
Investigation
- Identify which exported hooks are used only by generated code and which are also needed by applications or interceptors.
- Explore removing
SendMessagefromServerContext, and review the related registration and message-envelope helpers. - Evaluate a narrower generated-code boundary, including
runtime/gorumsimpl, while accounting for Go package visibility. - Account for existing generated code, generator/runtime version checks, regeneration, and public API compatibility.
Propose a design before changing the API.
- Dominant language
- Go
- Stars
- 149
- Forks
- 15
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 43
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from relab/gorums
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 22/100
Maintainers usually reply within 1 day
-
doc
Difficulty 3/5 Half a day Newbie friendliness 45/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
Similar issues
-
date_time, url_encode, html_escape, to_unix_time, contains_all and contains_any panic when called without argumentsPossibly taken @antcybersec claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
projectdiscovery/dsl#372 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
JuliusBrussee/caveman#1449 ·
Maintainers usually reply within 1 day
-
bot-found bug priority: P3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
madenvel/KalinkaPlayer#498 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
clawsweeper:fix-shape-clear clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
openclaw/gogcli#1291 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day