Hi everybody,
On ActivityPub (AP) there is currently a thread discussing polls:
https://mastodon.social/@Lautaro_Ferrero/115625081357268012
(it switches to English after few messages), and I think that it's good to
bring that to standard@ to discuss that mater.
We can probably all agree that a poll specification would be a good addition to
XMPP, but it's not as trivial as it may first appear to do it well. In my
opinion we have the following requirements:
- Must work in group chat, notably in MUC including anonymous room and with
e2e encryption
- Must be flexible enough to enable gateways to poll on other protocols. I
notably intend to make a compatibility layer with ActivityPub in the gateway
I'm working on
- Must be used for many use cases, from voting for lunch location, selecting a
date for an event, to various opinion polls (or to vote on XMPP membership ;)
)
- Must support constraints: one vote per JID, vote on single or multi items,
vote public or hidden, result showed in real-time or only after the end of the
poll, etc.
I've been thinking about polls for a while, and my idea was to use a
combination of data form with XEP-0346 (Form Discovery and Publishing) for
public polls and ad-hoc service for complicated constraints.
On AP, Larma raise the very valid concern that we can't use IQ with anonymous
MUC, which exclude ad-hoc or pubsub. He suggested a direct message approach.
We probably need an hybrid approach, with 2 to 3 variant:
- direct message approach, necessary for anonymous MUC
- pubsub based one, probably using XEP-0346, having a service has many
advantages, and pubsub is already present in most servers.
- maybe an ad-hoc approach for complex use cases, something based on XEP-0050
(Ad-Hoc Commands) seems adapted.
John Livingston has already work on this on Prosody for Peertube, using a
dedicated <x-poll> element, you can check it at:
https://livingston.frama.io/peertube-plugin-livechat/technical/polls/
index.html
I'm volunteering to write a protoXEP for that, with John Livingston if he's OK
with that, and anybody else interested.
I'm looking forward for your though on the mater. This can also be discussed
at the summit next month.
Best,
Goffi
Hello everyone,
XEP-0045 is very quiet about how some of the options are to be interpreted.
For muc#roomconfig_allowinvites there is only one normative line in the XEP,
in the registry submission, which is "Whether to Allow Occupants to Invite
Others"
Now, it seems that ejabberd and Conversations have interpreted this to mean
"whether to allow occupants *who wouldn't normally be able to invite
otherwise* to invite other" which is to say, pretty much, in a members only
room can members invite members. On means members invite members, off means
only admin can (actually Conversations checks for moderator role not for
admin...)
This feels like the correct implementation to me given that you can't
meaningfully restrict invitations to a pubilc MUC (you could block mediated
invitations but we're moving away from those and they don't do anything
special in a public MUC traditionally) and it seems like nonsense to ban
admins from inviting members (since the admins can change this settings
anyway?)
Why it matters: currently Prosody does not implement this option at all,
because it seemed from the descriptio to mean something nonsensical. So
Prosody has (AFAICT) implemented the same thing as ejabberd and
Conversations, but under a custom name to make it clear how it works.
My proposal: change the one line of text in the XEP to instead read "Whether
to Allow Members to Invite Others".
Hello,
I've sketched out a proposal to either allow, or improve (depending on how
you think of it) the initiating entity's ability to pipeline authentication
(as in, send it without having waited for stream features it's seen before).
XEP-0484 (FAST) implies very strongly that this is possible anyway - and of
course it is - but in its current form clients have to take it on faith
that the stream features are unlikely to change. This has ramifications in
how quickly clients are likely to take advantage of new features or new
SASL mechanisms.
As an example, a client which already supports channel bindings, and is
using FAST with a pre-existing token, will not see the features of a server
newly enabling channel binding until after the authentications has
succeeded, thus "missing out" on switching to the better security.
https://github.com/xsf/xeps/pull/1483 is, I think, the obvious way of
tightening this up. This is a relatively minor problem, but I think this is
a relatively lightweight solution.
Comments are, of course, welcome.
Dave.
Hi all!
With XEP-0469: Bookmark Pinning and XEP-0492: Chat notification settings we now
have two XEPs that allow syncing pinning and notification settings across
clients on the same account using the <extensions/> element of XEP-0402: PEP
Native Bookmarks.
Unfortunately, this now means that normal 1:1 chats (that are synchronized as
roster items) lag behind.
I'm volunteering to write a XEP adding an <extensions/> element alongside the
<group/> element to allow arbitrary extensions for roster items. This would
bring 1:1 roster items on-par with bookmarks2 and immediately allow XEP-0492
and XEP-0469 to be applied to roster items as well.
But before I start I want to ask especially the server developers on this
list: would you consider implementing this?
If the answer is no or "some day far far in the future", it might be worth to
try to invent some other mechanism that could be deployed faster.
In my opinion, however, extending the roster items is by far the most elegant
and simplest solution.
What do you think?
-tmolitor
Version 0.2.0 of XEP-0492 (Chat notification settings) has been
released.
Abstract:
This document defines an XMPP protocol extension to synchronise per-
chat notification settings across different clients.
Changelog:
* Rework the spec to use more of the Service Discovery Identities
registry
* Fix the XML schema
* Move the <advanced/> element into the notification setting element
* Bump the namespace (tm)
URL: https://xmpp.org/extensions/xep-0492.html
Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
Version 1.0.0 of XEP-0485 (PubSub Server Information) has been
released.
Abstract:
This document defines a data format whereby basic information of an
XMPP domain can be expressed and exposed over pub-sub.
Changelog:
* Accept as Stable as per Council Vote from 2025-11-11 (XEP Editor
(dg))
URL: https://xmpp.org/extensions/xep-0485.html
Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
Version 1.30.0 of XEP-0060 (Publish-Subscribe) has been released.
Abstract:
This specification defines an XMPP protocol extension for generic
publish-subscribe functionality. The protocol enables XMPP entities to
create nodes (topics) at a pubsub service and publish information at
those nodes; an event notification (with or without payload) is then
broadcasted to all entities that have subscribed to the node. Pubsub
therefore adheres to the classic Observer design pattern and can serve
as the foundation for a wide variety of applications, including news
feeds, content syndication, rich presence, geolocation, workflow
systems, network management systems, and any other application that
requires event notifications.
Changelog:
Describe the 'http://jabber.org/protocol/pubsub' disco#info feature.
(gdk)
URL: https://xmpp.org/extensions/xep-0060.html
Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
This message constitutes notice of a Last Call for comments on
XEP-0485.
Title: PubSub Server Information
Abstract:
This document defines a data format whereby basic information of an
XMPP domain can be expressed and exposed over pub-sub.
URL: https://xmpp.org/extensions/xep-0485.html
This Last Call begins today and shall end at the close of business on
2025-11-03.
Please consider the following questions during this Last Call and send
your feedback to the standards(a)xmpp.org discussion list:
1. Is this specification needed to fill gaps in the XMPP protocol
stack or to clarify an existing protocol?
2. Does the specification solve the problem stated in the introduction
and requirements?
3. Do you plan to implement this specification in your code? If not,
why not?
4. Do you have any security concerns related to this specification?
5. Is the specification accurate and clearly written?
Your feedback is appreciated!
Version 0.1.0 of XEP-0507 (Jingle Content Category) has been released.
Abstract:
This specification defines an XMPP extension to negotiate the use of
Session Description Protocol (SDP) media- level attribute 'content' as
defined by RFC 4796 with Jingle RTP sessions
Changelog:
Accepted as Experimental by council vote (dg)
URL: https://xmpp.org/extensions/xep-0507.html
Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.