Skip to content

Conversation

@MiletaA
Copy link

@MiletaA MiletaA commented Nov 4, 2025

Subsystem
Compiler Plugin, Descriptor Core

Problem Description
Descriptors for RPC methods that return Flow<T> were exposing returnType.kType == T instead of the declared Flow<T>.
It is issue #523

Solution
Stop unwrapping Flow<T> to T in RpcStubGenerator, so the generated descriptor now keeps returnType.kType == Flow<T>.
Add val returnsFlow: Boolean to RpcCallable and implement it in RpcCallableDefault; the compiler plugin sets this flag whenever the callable’s return type is a Flow<*>.

@Mr3zee
Copy link
Member

Mr3zee commented Nov 12, 2025

@MiletaA thank you for the contribution!
This is good contribution in terms how you handled compiler code and tests. However I want to point out some problems with it:

@Mr3zee
Copy link
Member

Mr3zee commented Nov 12, 2025

If you want, you can backport the feature from the grpc branch into main in this PR, and I'll guide you through

@MiletaA
Copy link
Author

MiletaA commented Nov 13, 2025

@Mr3zee No problem, thank you for the feedback, I will check the problems you have pointed out. Hopefully, I have backported the correct feature, If so, what is the next step?

@Mr3zee
Copy link
Member

Mr3zee commented Nov 13, 2025

@MiletaA no, this is unrelated part of another feature. I was pointing out to the particular code part, not a commit. To backport it you'll need to extract the change in the descriptor from others in the branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants