Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/markdown-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Markdown lint
on:
push:
branches:
- main
pull_request:


jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v20
with:
globs: |
content/**/*.md
config: ".markdownlint.yaml"
40 changes: 40 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
default: false

heading-increment: false
heading-style: false
ul-style: false
list-indent: false
ul-indent: false
no-reversed-links: true
no-missing-space-atx: false
no-multiple-space-atx: false
blanks-around-headings: false
heading-start-left: false
single-h1: false
no-multiple-space-blockquote: false
no-blanks-blockquote: false
ol-prefix: false
list-marker-space: false
blanks-around-fences: false
blanks-around-lists: false
no-bare-urls: true
hr-style: false
no-space-in-emphasis: false
no-space-in-code: false
no-space-in-links: false
no-empty-links: false
no-alt-text: false
code-block-style: false
code-fence-style: false
# emphasis-style:
# style: underscore
# strong-style:
# style: consistent
reference-links-images: false
# table-pipe-style:
# style: consistent
table-column-coune: false
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is a "coune"? is this going over my head or supposed to be "count"? is there a reference for all the options?

blanks-around-tables: false

fix: false
gitignore: true
2 changes: 1 addition & 1 deletion content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ python setup.py develop --user
./synctl start # to actually set it running
</pre>

and then head over to http://localhost:8008 to play with your very own Matrix homeserver!
and then head over to <http://localhost:8008> to play with your very own Matrix homeserver!


Changes in synapse 0.2.3 (2014-09-12)
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <http://matrix.org/alpha> to pull in the new webclient.

If you're running a homeserver - please upgrade with a quick <code>git pull && ./synctl restart</code>.

Expand Down
2 changes: 1 addition & 1 deletion content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ 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 <code>git pull && ./synctl restart</code> or by cloning a new checkout with <code>git clone https://github.com/matrix-org/synapse.git</code>
Play with the demo server at <http://matrix.org/alpha>, or update your own homeserver with a <code>git pull && ./synctl restart</code> or by cloning a new checkout with <code>git clone https://github.com/matrix-org/synapse.git</code>

--Matthew

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ 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
<http://github.com/matrix-org/matrix-doc>

You will also need an updated syutil and config. See UPGRADES.rst.

Expand Down
2 changes: 1 addition & 1 deletion content/blog/2014/11/2014-11-13-matrix-on-the-road.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
<http://youtu.be/LXDBoHyjmtw>

Another great time to meet a lot of interesting people and build partnerships!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ 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]<http://youtu.be/JVq6S9V1Jcg[/embed>]

## TAD Summit (Istanbul, November 12-13)

Matrix was a partner at <a href="http://tadsummit.com/2014/">TAD Summit</a> in Istanbul this year, a great opportunity to meet a very good mix of developers, industry players and mobile networks! TAD mixes conferences and technical workshops where everyone gets involved to create a vibrant ecosystem for Telecom Application Developers. Again really productive discussions and meetings as we continue our search for partners to help support the uptake of Matrix.

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]<http://youtu.be/ER3g4-4bFYk?list=PLO-gJ4-4x_IIYVTuLmVr8iUedvVdduYY4[/embed>]

[embed]https://www.youtube.com/watch?v=As-5vVdXhu0[/embed]
[embed]<https://www.youtube.com/watch?v=As-5vVdXhu0[/embed>]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope


## WebRTC World (San Jose, November 18-20)

Expand All @@ -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 <a href="http://matrix.org/blog/wp-content/uploads/2014/11/2014-11-17.2-Matrix.pdf">the slides</a>, check out the video the team made of the pitch. The official one should be available soon!

[embed]http://youtu.be/DyL9Ue0KlBU[/embed]
[embed]<http://youtu.be/DyL9Ue0KlBU[/embed>]
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ 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:

<code> # grab synapse if you don't have it already
git clone https://github.com/matrix-org/synapse.git synapse-develop
git clone <https://github.com/matrix-org/synapse.git> synapse-develop
cd synapse-develop

# you'll need the develop branch, as we haven't released a build with vertobot in it yet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,11 @@ namespaces:
<strong>You will need to restart the home server after editing the config file before it will take effect.</strong>

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/&lt;tid&gt; 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:
<pre>@app.route("/rooms/&lt;alias&gt;")

```
@app.route("/rooms/&lt;alias&gt;")
def query_alias(alias):
alias_localpart = alias.split(":")[0][1:]
alias_localpart = alias.split[":"](0)[1:]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope

requests.post(
# NB: "TOKEN" is the as_token referred to in registration.yaml
"<a href="http://localhost:8008/_matrix/client/api/v1/createRoom?access_token=TOKEN" target="_blank">http://localhost:8008/_matrix/client/api/v1/createRoom?access_token=TOKEN</a>",
Expand All @@ -94,7 +96,8 @@ def query_alias(alias):
headers={'{'}"Content-Type":"application/json"{'}'}
)
return jsonify({'{'}{'}'})
</pre>
````

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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ job: {'{'}
name: "synapse"

target_group: {'{'}
target: "http://localhost:9092/"
target: "<http://localhost:9092/>"
{'}'}
{'}'}
</pre>
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2015/12/2015-12-01-matrix-at-32c3-congress.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 [email protected]. 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 <[email protected]>. 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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,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 <a href="https://matrix.to">https://matrix.to</a> 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 <a href="https://matrix.to/#/#matrix:matrix.org">https://matrix.to/#/#matrix:matrix.org</a> 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 <a href="https://matrix.to">https://matrix.to</a> 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 <a href="https://matrix.to/#/#matrix:matrix.org">https://matrix.to/#/#matrix:matrix.org</a> 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 :)

PRs very welcome at <a href="https://github.com/matrix-org/matrix.to">https://github.com/matrix-org/matrix.to</a>.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ 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. <https://github.com/matrix-org/matrix-appservice-irc/issues/387> tracks this.

### Types of bridges (simplest first):

Expand Down
2 changes: 1 addition & 1 deletion content/blog/2017/03/2017-03-21-synapse-0-19-3-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 href="https://github.com/matrix-org/synapse/compare/672dcf5...d101488">a lot of stuff</a> 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 <a href="https://github.com/morteza-araby">@morteza-araby</a>.

The changelog follows - please upgrade from https://github.com/matrix-org/synapse or your OS packages as normal :)
The changelog follows - please upgrade from <https://github.com/matrix-org/synapse> or your OS packages as normal :)

### Changes in synapse v0.19.3 (2017-03-20)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Says <a href="https://matrix.to/#/@zeratax:dmnd.sh">Zeratax</a>:
> 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
> <https://zeratax.github.io/matrix-registration/demo.html?token=JargonGingerYankee>
>
> and my friends can register.
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 <a href="/blog/try-matrix-now">try-matrix-now</a>. As you may know, the <a href="https://github.com/Matrixcoffee/FAQBot">FAQBot</a>, created and maintained by <a href="https://github.com/Matrixcoffee">Coffee</a>, 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<br />This is the bit that grabs "Try Matrix Now!" and turns it into questions that FAQBot can use.<br />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.<br />4 of 7 items are now completed: https://gitlab.com/Matrixcoffee/FAQBot/issues/2<br />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: <https://gitlab.com/Matrixcoffee/extract-web-to-org><br />This is the bit that grabs "Try Matrix Now!" and turns it into questions that FAQBot can use.<br />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.<br />4 of 7 items are now completed: <https://gitlab.com/Matrixcoffee/FAQBot/issues/2><br />and the remaining 3 items before FAQBot's release are just the final review and integration tests.

## New Discord Bridge Maintainer

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,11 @@ This week, work continued on Lazy Loading room members for Riot Android, and pro

<a href="https://matrix.to/#/@ma1uta:matrix.org">ma1uta</a> 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 (<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.
> 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 (<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.

### Ruby SDK v0.0.3

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ This is really exciting news for macOS matrix users!

Finally:<br />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 (<http://openjdk.java.net/jeps/324>) and will try make a pure java implementation of the olm/megolm. Just for fun. :)

## synapse-purge

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,4 @@ September was mainly spent cleaning up loose ends on the Spec after <a href="/bl

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
<https://youtu.be/zo4IH4nUQ9w>
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ We just missed out on this update from <a href="https://gitlab.com/spectral-im/s

<a href="https://github.com/Matrixcoffee">Coffee</a> featuring two weeks in a row in TWIM:

> <a href="https://gitlab.com/Matrixcoffee/FAQBot">FAQBot</a> has been set free at last! Find its code at https://gitlab.com/Matrixcoffee/FAQBot, and its room at <a href="https://matrix.to/#/#faqbot:matrix.org">#faqbot:matrix.org</a>.
> <a href="https://gitlab.com/Matrixcoffee/FAQBot">FAQBot</a> has been set free at last! Find its code at <https://gitlab.com/Matrixcoffee/FAQBot>, and its room at <a href="https://matrix.to/#/#faqbot:matrix.org">#faqbot:matrix.org</a>.

FAQBot sits in various public rooms and answers common Matrix questions. Very useful for demonstrating the product to newcomers!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ However, if you have ideas on how to continue the project, or would like to step

<a href="https://matrix.to/#/@bertob:matrix.org">Tobias Bernard</a> 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 <https://blogs.gnome.org/tbernard/2018/10/26/fractal-hackfest-in-seville>

## matrix-client-core

Expand Down
Loading