Discover XEPs

jabber
xmpp
xeps
Tags: #<Tag:0x00007f0fa4411198> #<Tag:0x00007f0fa4411058> #<Tag:0x00007f0fa4410e28>

#1

XEPs are XMPP Extension Protocols, and there are a bunch. The best way to discover them would probably be to read XEP-0001: XMPP Extension Protocols. :slight_smile:


Discover XEP-0050: Ad-Hoc Commands
Discover XEP-0053: XMPP Registrar Function
Discover XEP-0054: vcard-temp
Discover XEP-0060: Publish-Subscribe
Discover XEP-0065: SOCKS5 Bytestreams
Discover XEP-0068: Field Standardization for Data Forms
Discover XEP-0070: Verifying HTTP Requests via XMPP
Discover XEP-0072: SOAP Over XMPP
Discover XEP-0077: In-Band Registration
Discover XEP-0080: User Location
Discover XEP-0083: Nested Roster Groups
Discover XEP-0085: Chat State Notifications
Discover XEP-0092: Software Version
Discover XEP-0100: Gateway Interaction
Discover XEP-0106: JID Escaping
Discover XEP-0045: Multi-User Chat
Discover XEP-0047: In-Band Bytestreams
Discover XEP-0048: Bookmarks
Discover XEP-0049: Private XML Storage
Discover XEP-0055: Jabber Search
Discover XEP-0059: Result Set Management
Discover XEP-0066: Out of Band Data
Discover XEP-0076: Malicious Stanzas
Discover XEP-0079: Advanced Message Processing
Discover XEP-0082: XMPP Date and Time Profiles
Discover XEP-0084: User Avatar
Discover XEP-0107: User Mood
Discover XEP-0114: Jabber Component Protocol
Discover XEP-0122: Data Forms Validation
Discover XEP-0128: Service Discovery Extensions
Discover XEP-0131: Stanza Headers and Internet Metadata
Discover XEP-0108: User Activity
Discover XEP-0115: Entity Capabilities
Discover XEP-0118: User Tune
Discover XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)
Discover XEP-0127: Common Alerting Protocol (CAP) Over XMPP
Discover XEP-0132: Presence Obtained via Kinesthetic Excitation (POKE)
Discover XEP-0133: Service Administration
Discover XEP-0134: XMPP Design Guidelines
Discover XEP-0141: Data Forms Layout
Discover XEP-0143: Guidelines for Authors of XMPP Extension Protocols
Discover XEP-0147: XMPP URI Scheme Query Components
Discover XEP-0152: Reachability Addresses
Discover XEP-0163: Personal Eventing Protocol
Discover XEP-0166: Jingle
Discover XEP-0138: Stream Compression
Discover XEP-0144: Roster Item Exchange
Discover XEP-0145: Annotations
Discover XEP-0148: Instant Messaging Intelligence Quotient (IM IQ)
Discover XEP-0149: Time Periods
Discover XEP-0153: vCard-Based Avatars
Discover XEP-0155: Stanza Session Negotiation
Discover XEP-0156: Discovering Alternative XMPP Connection Methods
Discover XEP-0157: Contact Addresses for XMPP Services
Discover XEP-0158: CAPTCHA Forms
Discover XEP-0160: Best Practices for Handling Offline Messages
Discover XEP-0167: Jingle RTP Sessions
Discover XEP-0169: Twas The Night Before Christmas (Jabber Version)
Discover XEP-0170: Recommended Order of Stream Feature Negotiation
Discover XEP-0171: Language Translation
Discover XEP-0172: User Nickname
Discover XEP-0174: Serverless Messaging
Discover XEP-0176: Jingle ICE-UDP Transport Method
Discover XEP-0178: Best Practices for Use of SASL EXTERNAL with Certificates
Discover XEP-0182: Application-Specific Error Conditions
Discover XEP-0185: Dialback Key Generation and Validation
Discover XEP-0198: Stream Management
Discover XEP-0199: XMPP Ping
Discover XEP-0202: Entity Time
Discover XEP-0205: Best Practices to Discourage Denial of Service Attacks
Discover XEP-0207: XMPP Eventing via Pubsub
Discover XEP-0220: Server Dialback
Discover XEP-0221: Data Forms Media Element
Discover XEP-0222: Persistent Storage of Public Data via PubSub
Discover XEP-0224: Attention
Discover XEP-0229: Stream Compression with LZW
Discover XEP-0175: Best Practices for Use of SASL ANONYMOUS
Discover XEP-0177: Jingle Raw UDP Transport Method
Discover XEP-0183: Jingle Telepathy Transport
Discover XEP-0184: Message Delivery Receipts
Discover XEP-0191: Blocking Command
Discover XEP-0201: Best Practices for Message Threads
Discover XEP-0203: Delayed Delivery
Discover XEP-0206: XMPP Over BOSH
Discover XEP-0223: Persistent Storage of Private Data via PubSub
Discover XEP-0227: Portable Import/Export Format for XMPP-IM Servers
Discover XEP-0231: Bits of Binary
Discover XEP-0233: XMPP Server Registration for use with Kerberos V5
Discover XEP-0239: Binary XMPP
Discover XEP-0245: The /me Command
Discover XEP-0249: Direct MUC Invitations
Discover XEP-0256: Last Activity in Presence
Discover XEP-0258: Security Labels in XMPP
Discover XEP-0262: Use of ZRTP in Jingle RTP Sessions
Discover XEP-0266: Codecs for Jingle Audio
Discover XEP-0283: Moved
Discover XEP-0288: Bidirectional Server-to-Server Connections
Discover XEP-0293: Jingle RTP Feedback Negotiation
Discover XEP-0295: JSON Encodings for XMPP
Discover XEP-0300: Use of Cryptographic Hash Functions in XMPP
Discover XEP-0319: Last User Interaction in Presence
Discover XEP-0335: JSON Containers
Discover XEP-0359: Unique and Stable Stanza IDs
Discover XEP-0368: SRV records for XMPP over TLS
Discover XEP-0369: Mediated Information eXchange (MIX)
Discover XEP-0373: OpenPGP for XMPP
Discover XEP-0381: Internet of Things Special Interest Group (IoT SIG)
Discover XEP-0260: Jingle SOCKS5 Bytestreams Transport Method
Discover XEP-0261: Jingle In-Band Bytestreams Transport Method
Discover XEP-0263: ECO-XMPP
Discover XEP-0280: Message Carbons
Discover XEP-0286: Mobile Considerations on LTE Networks
Discover XEP-0294: Jingle RTP Header Extensions Negotiation
Discover XEP-0297: Stanza Forwarding
Discover XEP-0301: In-Band Real Time Text
Discover XEP-0308: Last Message Correction
Discover XEP-0313: Message Archive Management
Discover XEP-0357: Push Notifications
Discover XEP-0363: HTTP File Upload
Discover XEP-0387: XMPP Compliance Suites 2018
Discover XEP-0391: Jingle Encrypted Transports
Discover XEP-0393: Message Styling
Discover XEP-0399: Client Key Support
Discover XEP-0384: OMEMO Encryption
Discover XEP-0385: Stateless Inline Media Sharing (SIMS)
Discover XEP-0392: Consistent Color Generation
Discover XEP-0397: Instant Stream Resumption
Discover XEP-0401: Easy User Onboarding
Discover XEP-0402: Bookmarks 2 (This Time it's Serious)
Discover XEP-0404: Mediated Information eXchange (MIX): JID Hidden Channels.
Discover XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
Discover XEP-0406: Mediated Information eXchange (MIX): MIX Administration
Discover XEP-0408: Mediated Information eXchange (MIX): Co-existence with MUC
Discover XEP-0410: MUC Self-Ping (Schrödinger's Chat)
Discover XEP-0412: XMPP Compliance Suites 2019
Discover XEP-0400: Multi-Factor Authentication with TOTP
Discover XEP-0403: Mediated Information eXchange (MIX): Presence Support.
Discover XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities
Discover XEP-0409: IM Routing-NG
Discover XEP-0411: Bookmarks Conversion
Discover XEP-0398: User Avatar to vCard-Based Avatars Conversion
Discover XEP-0002: Special Interest Groups (SIGs)
Discover XEP-0001: XMPP Extension Protocols
Discover XEP-0004: Data Forms
Discover XEP-0009: Jabber-RPC
Discover XEP-0012: Last Activity
Discover XEP-0013: Flexible Offline Message Retrieval
Discover XEP-0019: Streamlining the SIGs
Discover XEP-0030: Service Discovery
Discover XEP-0033: Extended Stanza Addressing
#2

I think @tim should read a few key XEPs. And I recently figured out how to spam the #quest-board, so let’s create 150 new quests! ((Because that is how many there are, counting active, draft, experimental, final, and proposed))


#3

Okay, this one is complete! 150 new quests added, as seen at Topics tagged xeps!

I copy and pasted the table at XMPP | Specifications and used LibreCalc to move the XEP name column to the far right, since everything else was standardized. Then I removed quotes from fields, and delimited with a comma (important details).

spex.csv (10.3 KB)

I called it spex, because xeps was taken at the time…

Then I wrote xeps.sh, a little more detailed than gameon.sh:

#!/usr/bin/bash
filename="$1"
while IFS=, read -r xep type status date name; do
    curl -X POST -d title="Discover $xep: $name" -d raw="This quest to discover $xep ($name) was automagically added, to fulfill the quest at https://talkgroup.xyz/t/discover-xeps/1341?u=maiki. As of $date the status of this $type XEP is $status. What does that even mean?! Check it out at https://xmpp.org/extensions/${xep,,}.html ^_^" -d category="21" https://talkgroup.xyz/posts?api_key=XXX&api_username=maiki ; sleep 3 ;
done < "$filename"

See that ${xep,,}? Have no idea how that works! But I picked it up at How to convert a string to lower case in Bash? - Stack Overflow, filed under Non-POSIX, so… not a problem for a simple little bash script. :slight_smile:

You’ll notice there are no tags. I forgot! But I did get them working with curl. Because it is an array, each tags[]= you send along is added as a tag; so you’d have something like: -d tags[]="jabber" -d tags[]="xmpp".

Because I forgot, I found that the editing features in Discourse are dope! I searched for Search results for 'discover xep-' - talkgroup, and scrolling down got the 150 results (+1 for this quest, so all good). I selected all from the top, hit the edit wrench, and it gave me all kinds of options.

I appended xeps, xmpp, and jabber to them. We’ll add more as we get to them. But for now that should make them easy to find, discuss and hack on! :slight_smile:


closed #4

archived #5