Dev Communiqué for November 2021
Published on November 28, 2021 by Sam Whited

Work this month was primarily focused on carbons and care work around CI and internal tooling.

Recap

This month in mellium.im/xmpp there were 31 commits by two contributors,
including one new contributor! Welcome Taki Mekhalfa and thank you for your many contributions to the carbons and forward packages!

For the first month in a while there were no commits to Communiqué, but a great deal of preliminary work was done around finding a good UI for bookmarks and "recent conversations". Hopefully this work will result in actual changes in the near future.

mellium.im/xmpp

Most of the library related work done this month were done by a new contributor fixing issues in the carbons and forward packages! This resulted in the library growing functions to easily wrap stanzas in a forward and/or carbon copy as well as easy ways to unwrap forwarded or carboned messages. Finally, in the carbons package the ability was added to prevent an individual message from being carbon copied.

A lot of care work that had been deferred was also accomplished this month including evaluating moving to Codeberg CI from our previous CI provider, Sourcehut. Whether we will move off of Sourcehut for CI, or even move both the GitHub and Sourcehut copies of the repo to Codeberg are still up in the air and we would appreciate your feedback in the chat room. Furthermore, the existing CI was improved with more static analysis and the DCO check was improved to support multiple contributors on one branch.

The final change this month is interesting in the sense that it is somewhat unusual: a tool that runs in Go's test mode was created to export the message styling unit tests. While this isn't actually used for anything yet, I am hopeful that it can eventually be used by other projects to have a shared suite of test vectors that can be shared across implementations. To export the tests change to the main directory and run:

      make styling_tests.json

Or, from the styling directory, run the test binary directly using the "export" tag and the new -export flag:

      go test -tags export . -args -export=styling_tests.json

If you use these tests in your own project, or want help incorporating them, we'd love to hear from you, please let us know!

That's all for this month; thanks for tuning in!