Giter Site home page Giter Site logo

Comments (5)

noonien-d avatar noonien-d commented on September 4, 2024

Conversations handles this pretty well in regards of de-duplication, synchronizing read status and so on.
For telepathy we'll need:

  • Some way to get the last received message id from the logging daemon (or let gabble save it)
  • XEP-0313 MAM for gabble
  • XEP-0333 Chat Markers for gabble (#3)
  • Proper read status support in clients (send and remove notifications for messages that had been read on other devices)
  • Also it would be nice to let the logger also handle receive- and read status for each message

from telepathy-gabble.

Kaffeine avatar Kaffeine commented on September 4, 2024

IMO it will be conceptually right to implement logger in connection manager (because the logger needs to know more and more details to work properly, see also TelepathyIM/telepathy-spec#1)

Proper read status support in clients (send and remove notifications for messages that had been read on other devices)

My summary:

  1. Use MessageReceived on an other client message sent
  2. Use PendingMessagesRemoved on a message read by an other client
  3. Use the standard delivery interface for read status

I tried to use MessageSent for #1 and it turns out to be unsuitable for that. Also I realized, that a message sent by another client and then relayed by server is not different from a message sent by local client and relayed as a part of history (scrollback), so I recommend to use MessageSent only for messages sent by the local client.

from telepathy-gabble.

rufferson avatar rufferson commented on September 4, 2024

So far i was working only with qmlmessages/commhistd client implementation so was thinking should be sufficient just to emit Carbons/MAM messages with proper timestamp and flags on the normal text channel and they will be consumed and stored to history. And to trigger sync on a) connection apparently b) active state (that was my PoC idea). However yes now deduplication problem comes into picture as each MAM sync will potentially re-emit certain messages. and with Carbons the duplication almost inevitable (unless we make the properties mutually exclusive).

from telepathy-gabble.

ivucica avatar ivucica commented on September 4, 2024
  • XEP-0363 MAM for gabble

Nit: The issue title is correct, this is XEP-0313, not XEP-0363.

from telepathy-gabble.

noonien-d avatar noonien-d commented on September 4, 2024

Nit: The issue title is correct, this is XEP-0313, not XEP-0363.

fixed, thx.

from telepathy-gabble.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.