updated libwaku API to integrate with logos chat poc for mix integration#3679
updated libwaku API to integrate with logos chat poc for mix integration#3679chaitanyaprem wants to merge 4 commits into
Conversation
|
You can find the image built from this PR at Built from 417549e |
8e6850e to
9b3af38
Compare
e11da2c to
d17039d
Compare
jm-clius
left a comment
There was a problem hiding this comment.
On a high level this makes sense to me so far. We can continue conversation with messaging team as to whether they'd be willing to merge this or prefer us maintaining a branch for the testnet
5669cd5 to
b44e51b
Compare
|
This PR may contain changes to database schema of one of the drivers. If you are introducing any changes to the schema, make sure the upgrade from the latest release to this change passes without any errors/issues. Please make sure the label |
ee9eda2 to
5c814aa
Compare
@Ivansete-status i dont think i have touched any files that affect database schema. Could it be addition of new config params that is causing this? If so, do i need to change anything else? |
NagyZoltanPeter
left a comment
There was a problem hiding this comment.
Approving it with some comments added for consideration.
Also asking if it's aiming to demo Max+new kademila disco or something more permanent? In the sense we have plans to separate discovery and mix from messaging this seems to be a tight coupling here.
The aim is to demo Mix+new Kad disco. But this would be testable in real network. |
a8fe3f3 to
ab123e4
Compare
NagyZoltanPeter
left a comment
There was a problem hiding this comment.
Great, thank you!
I think at offsite we need to discuss mix with the new API....
Ivansete-status
left a comment
There was a problem hiding this comment.
Thanks for the PR!
I'm adding some nitpicks that I hope you find useful.
To me, the most important part is that we should keep the kernel api untouched and leverage on the new LogosDelivery API as much as possible.
Cheers
fcecin
left a comment
There was a problem hiding this comment.
LGTM and approved but please be confident you made both Ivan and Zoltan happy with this before merge.
Some thoughts on Kernel API breakage, FWIW: as we discussed in Budapest, the Kernel API is de jure "unsupported" even if de facto we do care about it and want it to be working and in nice shape whenever that's convenient and possible (until it's actually deleted at some point in the future). So actually changing it and breaking it should be expected by all its users, and although breakage is always "bad," it's also "good" here in that gets recycled back as an incentive to migrate to the spec'd Logos Message Delivery API which will be ready and stable at some point. We discussed the utility of Kernel API for internal demos and development (use cases that this PR wants to support), which is why we didn't just delete the old API. These remaining use cases need to be ready to deal with any breakage caused by changes made to accomodate each of them, on their end.
NagyZoltanPeter
left a comment
There was a problem hiding this comment.
Little bit of change I/we would request.
As discussed through with @Ivansete-status the change on KernelAPI relay_subscribe/unsubscribe, it is not just about the interface change, but started ring in me a warn that as such it can mislead the user of the API as you wrote correctly in the comment that it is possible the by unsubscribing from one content topic can lead to unsubscribe other content_topics that falls under the same shard as relay subscription is all about shard subscribing to gossipsub network and mesh.
As such we should not allow unsubscribe from arbitrary shards as would compromise network participation of a relay node.
WDYT?
This is the PR that i want to merge to master. |
It doesn connect specifically to mix feature at all. This was more for demo app as the app only knows of conten-topic and deriving pubsubTopic from that and only subscribing to specific content-topic expecting to receive messages in the app not for all content-topics of the pubsubTopic rather only the one it is subscribed to. I remember we did something similar in go-waku where a user can subcribe to content-topic and would be delivered only msgs from that content-topic eventhough underlying subscription is compeltly there for pubsubTopic. |
|
Thanks I see now. I think the most problematic part here is the
unsubscribe...
But what you described will be certainly covered in the new API.
…On Fri, Feb 13, 2026, 07:27 Prem Chaitanya Prathi ***@***.***> wrote:
*chaitanyaprem* left a comment (logos-messaging/logos-delivery#3679)
<#3679 (comment)>
For me to understand, how exactly this subscribe/unsubscribe on relay
It doesn connect specifically to mix feature at all. This was more for
demo app as the app only knows of conten-topic and deriving pubsubTopic
from that and only subscribing to specific content-topic expecting to
receive messages in the app not for all content-topics of the pubsubTopic
rather only the one it is subscribed to.
I remember we did something similar in go-waku where a user can subcribe
to content-topic and would be delivered only msgs from that content-topic
eventhough underlying subscription is compeltly there for pubsubTopic.
—
Reply to this email directly, view it on GitHub
<#3679 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A3FU54K3WQ46TYZZTSKFIS34LVVG5AVCNFSM6AAAAACP5KSVKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJVGE2TKNBVGA>
.
You are receiving this because your review was requested.Message ID:
***@***.***>
|
Yep, you will have to build and abstraction that keeps track of all content-topics subscribed and even if all of them are unsubscribed, not sure if you should/shouldn't unsubscribe from pubsubTopic. that is the only tricky decision. |
|
Exactly! 💯
We had a discussion around with @***@***.*** ***@***.***> ,
as we may differentiate between fleet mode and application mode on relay
("core").
But unsure that a relay node inside and app (like status desktop) is better
to fully participate in the network - it's a decision between reliability,
traffic, bandwidth and fairness support of the network.
On Fri, Feb 13, 2026, 07:55 Prem Chaitanya Prathi ***@***.***>
wrote:
… *chaitanyaprem* left a comment (logos-messaging/logos-delivery#3679)
<#3679 (comment)>
Thanks I see now. I think the most problematic part here is the
unsubscribe... But what you described will be certainly covered in the new
API.
… <#m_5522422222821654997_>
On Fri, Feb 13, 2026, 07:27 Prem Chaitanya Prathi *@*.*> wrote:
chaitanyaprem left a comment (logos-messaging/logos-delivery#3679
<#3679>) <#3679
(comment)
<#3679 (comment)>>
For me to understand, how exactly this subscribe/unsubscribe on relay It
doesn connect specifically to mix feature at all. This was more for demo
app as the app only knows of conten-topic and deriving pubsubTopic from
that and only subscribing to specific content-topic expecting to receive
messages in the app not for all content-topics of the pubsubTopic rather
only the one it is subscribed to. I remember we did something similar in
go-waku where a user can subcribe to content-topic and would be delivered
only msgs from that content-topic eventhough underlying subscription is
compeltly there for pubsubTopic. — Reply to this email directly, view it on
GitHub <#3679 (comment)
<#3679 (comment)>>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3FU54K3WQ46TYZZTSKFIS34LVVG5AVCNFSM6AAAAACP5KSVKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJVGE2TKNBVGA
<https://github.com/notifications/unsubscribe-auth/A3FU54K3WQ46TYZZTSKFIS34LVVG5AVCNFSM6AAAAACP5KSVKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJVGE2TKNBVGA>
. You are receiving this because your review was requested.Message ID: @.*
>
Yep, you will have to build and abstraction that keeps track of all
content-topics subscribed and even if all of them are unsubscribed, not
sure if you should/shouldn't unsubscribe from pubsubTopic. that is the only
tricky decision.
—
Reply to this email directly, view it on GitHub
<#3679 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A3FU54P5AEJK5ZXCBP6JNUL4LVYPFAVCNFSM6AAAAACP5KSVKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJVGIZTMMZXGM>
.
You are receiving this because your review was requested.Message ID:
***@***.***>
|
personally i thing relay is a good option because participating in the network and also using it..like a tit-for-tat model. even the chat app as of now participates in relay as well as mix overlay network :) But that needs to be evaluated based on resource availability etc. |
I think you've already done this, but sounds like a good idea to me :) |
2f478bb to
03bcaf1
Compare
b9ffbfe to
3abe1d9
Compare
5a24e1c to
579645d
Compare
579645d to
657501c
Compare
|
@chaitanyaprem : Let's discuss over this Kernel API change in focus of subscribe/unsubscribe. |
The unsubscribe logic is not specific to The only thing from an application perspective i can think of is provide an abstracted subscribe/unsubscribe API over content-topics that would just provide a way for apps to register messages they are intersted to receive and not all the network traffic (kind of similar to filter but a local filter). In this case even if app unsubscribes to all content-topics as long as it is running in relay mode it would still be subscribed to underlying shards. |
It's great, that was what I thought. |
Perfect
Yep, agreed.
I completely agree with this but this should just be a simple choice of using relay/edge mode and imho should not go beyond that.
yea, which is why i did not want to merge this and use this only for demoing the current app. |
Yes, this karma idea was presented in Split last year and afaik it will be a kind of RLN based on reputation on our gaslass chain... sorry if mistaken :-) WDYM
Yes exactly it is. From user/chat perspective it's a simplified config (core/edge, preset - and good set of defaults). |
ok, i am not aware of this.
well, things can be made more complex that a relay node can only subscribe to shards that node is interested int (i.e based on content topics it is interested int), but this will skew network topology to be non-uniform and would not be good.
|
Exactly, I see the trade off is between network health and user's acceptance on higher bandwidth and traffic.
|
If we are doing this, then when mix is enabled all publishing should happen via lightpush+mix in both core and edge mode.
i would personally offer this choice. note that when mix flag is enabled even in relay mode publish should happen via lightpush. In edge mode anyways lightpush is used. |
ok, that is interesting. |
Do also note that whatever approach we use, a size limit for msgSize has to be set that matches mix payload size which maybe smaller than network maxMsgSize. we took default size ( |
Ivansete-status
left a comment
There was a problem hiding this comment.
Adding some nitpick comments
If that PR won't be merged, shall we set it as draft ?
| ).isOkOr: | ||
| # If contentTopic is provided and non-empty, use ContentSub, otherwise use PubsubSub | ||
| let subscription = | ||
| if contentTopic != nil and len($contentTopic) > 0: |
There was a problem hiding this comment.
Nitpick :) Applies elsewhere
| if contentTopic != nil and len($contentTopic) > 0: | |
| if not isNil(contentTopic) and len($contentTopic) > 0: |
Description
Changes made to get logos-testnet-0.1 AnonComms demo app ready.
This PR should not be merged. Changes which require merging are moved to #3722