cabal-club / cable

A lightweight peer-to-peer chat protocol.
https://cabal.chat
74 stars 4 forks source link

Some Questions #1

Closed serapath closed 1 year ago

serapath commented 3 years ago

Heya :-)

I read through the protocol and it looks quite interesting. I like the goals too. I have a few questions if you dont mind.

  1. how do data responses in general (or specifically a channel list response) look like?
    1. Do they contain at least a single (latest?) hash for the latest message/post for peers to anchor join msgs?
  2. Are join and leave messages just for politeness or should others ignore posts until they see a join?
  3. Do time range requests usually return text, topic,join,leave,info messages without the ones deleted?
    • can you filter them based on being part of a specific "conversation thread"?
    • or to only include messages from specific peers?
  4. Do channel state requests only ask for topic,join,leave,info messages without the ones deleted?
    • do they include text? (it is not mentioned in the readme)
    • can I filter them (history and live) to only include messages from specific peers?
  5. Is it planned to allow to query sparsly for the current list of (active) peers in a channel?
  6. Is there a size limit when it comes to state fields? { name, blocks, hides, max_age }
    • would people list e.g. a hyperdrive for larger files?

Also:

Most post types will link to the most recent post in a channel from any user (from their perspective) but self-actions such as naming or moderation will link to the most recent self-action.

Was it considered to allow posts with more than one back link to enable topological sorting and requests?

I imagine that could allow:

hackergrrl commented 1 year ago

Hopefully the updates to the spec posted since you posted this answer your Qs! It's become much more explicit :)