History

History (I)

Nice on a single device, but…

Mobile? :(

History (II)

XMPP+

  • Great but in maintenance mode
  • Mostly with libpurple (C)

History (III) spectrum _pysignald

  • A non libpurple backend for spectrum2!
  • Realize that it’s in maintenance mode.
  • Had a look at adding stuff like reactions, but I can’t do C++
  • Dev documentation is very scarce

Introducing…

In python, because…

  • it’s all I know
  • lots of libs for various legacy services

Slidge features

Funkier than spectrum2:

Slidge anti-features

  • Docs? Not so great yet.
  • Code contributors? Mostly one ATM.

But walled gardens are bad

From a random HackerNews comment:

Someone who won’t install a trivial and safe free app to maintain connection with you is perhaps not as valuable a connection as one might think.

LOL

Pupeeter components

   XMPP Client                      Legacy client
       ↕                                   ↕
   XMPP Server   ↔ XMPP Component ↔ Legacy network 
       ↕
other XMPP server

Legacy contacts have puppet JIDs, eg +44123456789@whatsapp.slidge.im

Privileges

Privileges (I)

legacy carbon copies

  • “Legacy carbon” from the legacy service
  • Slidge sends the message to itself as the slidge user
  • The XMPP server:
    • creates carbon copies of the message to the user’s other clients
    • stores the message in the user’s archive (MAM)
  • (Slidge ignores the message it gets back to itself)

Privileges (II)

For reactions

“Correct” the reaction sent by a user to meet the legacy service restrictions (until a client implement ‘restrictions’ of XEP-0444 v0.2.0?)

Privileges (III)

For group bookmarks

Multi-user chats

A lot more work than 1:1 chats!

Notably because MAM.

Supported networks

https://sr.ht/~nicoco/slidge/