Skip to content

Commit

Permalink
Merge branch 'release-v0.29.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Half-Shot committed Aug 3, 2021
2 parents 88dc24f + 06e334a commit b230165
Show file tree
Hide file tree
Showing 47 changed files with 7,690 additions and 560 deletions.
20 changes: 19 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -93,5 +93,23 @@
"FunctionExpression": {"parameters": "first"},
"SwitchCase": 1}
]
}
},
"overrides": [
{
"files": [
"spec/**/*.js"
],
"rules": {
"@typescript-eslint/no-this-alias": "off", // I'm unsure if we should disallow this.
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-var-requires": "off",
"strict": "off",
// temporary
"@typescript-eslint/no-unused-vars": "off",
"indent": "off",
"prefer-const": "off",
"no-var": "off",
}
}
]
}
97 changes: 96 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,99 @@
0.27.0 (2021-06-16)
0.29.0 (2021-08-02)
====================

Bugfixes
--------

- Add prometheus metrics for IRC connection times ([\#1442](https://github.com/matrix-org/matrix-appservice-irc/issues/1442))


0.29.0-rc2 (2021-07-27)
========================

Internal Changes
----------------

- Update node-irc to 1.1.1 (see https://github.com/matrix-org/node-irc/blob/master/CHANGELOG.md) ([\#1434](https://github.com/matrix-org/matrix-appservice-irc/issues/1434))


0.29.0-rc1 (2021-07-21)
========================

**Please note:** `0.28.0(-rc1)` is abandoned as more features became ready to ship before we reached the end of the release candidate stage. Users of `0.28.0-rc1` should upgrade
to this release. Some changelog entries below will be duplicated from `0.28.0-rc1`.

Features
--------

- Add prometheus metrics for IRC connection times ([\#1418](https://github.com/matrix-org/matrix-appservice-irc/issues/1418))
- Change the reply rendering to something more IRCish (and configurable) ([\#1424](https://github.com/matrix-org/matrix-appservice-irc/issues/1424))
- Truncate original messages more gently when replying ([\#1428](https://github.com/matrix-org/matrix-appservice-irc/issues/1428))


Bugfixes
--------

- Require explicit server selection for !storepass when more than one possibility exists.
This makes the command a bit more verbose, but avoids the situation where a password could've been accidentally specified for the wrong server. ([\#1363](https://github.com/matrix-org/matrix-appservice-irc/issues/1363))

- Fix an issue where a hot reload would fail if `advanced` was not defined in the original config. ([\#1383](https://github.com/matrix-org/matrix-appservice-irc/issues/1383))
- Update `matrix-org-irc` to `1.0.0` to fix a bug where the bridge can crash. ([\#1388](https://github.com/matrix-org/matrix-appservice-irc/issues/1388))
- Fix an issue where a Matrix user's IRC connection is stuck and unable to join some channels. ([\#1394](https://github.com/matrix-org/matrix-appservice-irc/issues/1394))
- Fix multiline replies having only one line sent to IRC ([\#1425](https://github.com/matrix-org/matrix-appservice-irc/issues/1425))
- Ensure the `irc_connection_time_ms` histrogram metric uses sensible bucket sizes. ([\#1426](https://github.com/matrix-org/matrix-appservice-irc/issues/1426))


Improved Documentation
----------------------

- Fix typo regarding examples of hostname and port in Bridge Setup documentation (4. Registration) ([\#1405](https://github.com/matrix-org/matrix-appservice-irc/issues/1405))
- Migrate the list of bridged IRC networks from the deprecated github wiki to the hosted documentation (https://matrix-org.github.io/matrix-appservice-irc/latest/).
Add libera.chat to the list. ([\#1416](https://github.com/matrix-org/matrix-appservice-irc/issues/1416))

- The Debug API is now documented in the hosted documentation, replacing the wiki page. ([\#1420](https://github.com/matrix-org/matrix-appservice-irc/issues/1420))


Internal Changes
----------------

- Handle known error-codes when OPER command fails instead of disconnecting. ([\#1385](https://github.com/matrix-org/matrix-appservice-irc/issues/1385))
- Add a link referring to the in-tree documentation to the admin room help text. ([\#1402](https://github.com/matrix-org/matrix-appservice-irc/issues/1402))
- Add linting for test files ([\#1403](https://github.com/matrix-org/matrix-appservice-irc/issues/1403))
- Fix a bug where messages from IRC would be blocked by the privacy filter when `allowUnconnectedMatrixUsers` set to `true` in a room config event. ([\#1406](https://github.com/matrix-org/matrix-appservice-irc/issues/1406))


0.28.0-rc1 (2021-07-19)
====================

Features
--------

- Add Prometheus metrics for IRC connection times ([\#1418](https://github.com/matrix-org/matrix-appservice-irc/issues/1418))


Bugfixes
--------

- Fix an issue where a hot reload would fail if `advanced` was not defined in the original config. ([\#1383](https://github.com/matrix-org/matrix-appservice-irc/issues/1383))
- Update `matrix-org-irc` to `1.0.0` to fix a bug where the bridge can crash. ([\#1388](https://github.com/matrix-org/matrix-appservice-irc/issues/1388))
- Fix an issue where a Matrix user's IRC connection is stuck and unable to join some channels. ([\#1394](https://github.com/matrix-org/matrix-appservice-irc/issues/1394))


Improved Documentation
----------------------

- Migrate the list of bridged IRC networks from the deprecated GitHub wiki to the hosted documentation (https://matrix-org.github.io/matrix-appservice-irc/latest/). Add libera.chat to the list. ([\#1416](https://github.com/matrix-org/matrix-appservice-irc/issues/1416))


Internal Changes
----------------

- Handle known error-codes when OPER command fails instead of disconnecting. ([\#1385](https://github.com/matrix-org/matrix-appservice-irc/issues/1385))
- Add a link referring to the in-tree documentation to the admin room help text. ([\#1402](https://github.com/matrix-org/matrix-appservice-irc/issues/1402))
- Fix a bug where messages from IRC would be blocked by the privacy filter when `allowUnconnectedMatrixUsers` set to `true` in a room config event. ([\#1406](https://github.com/matrix-org/matrix-appservice-irc/issues/1406))


0.27.0 (2021-06-16)
====================

Bugfixes
Expand Down
1 change: 0 additions & 1 deletion changelog.d/1383.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/1385.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/1388.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/1394.bugfix

This file was deleted.

9 changes: 8 additions & 1 deletion config.sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ ircService:
# $SERVER => The IRC server address (e.g. "irc.example.com")
matrixClients:
# The user ID template to use when creating virtual matrix users. This
# MUST have $NICK somewhere in it.
# MUST start with an @ and have $NICK somewhere in it.
# Optional. Default: "@$SERVER_$NICK".
# Example: "@irc.example.com_Alice:example.com"
userTemplate: "@irc_$NICK"
Expand Down Expand Up @@ -549,6 +549,13 @@ ircService:
# Cache this many matrix events in memory to be used for m.relates_to messages (usually replies).
eventCacheSize: 4096

# format of replies sent shortly after the original message
shortReplyTemplate: "$NICK: $REPLY"
# format of replies sent a while after the original message
longReplyTemplate: "<$NICK> \"$ORIGINAL\" <- $REPLY"
# how much time needs to pass between the reply and the original message to switch to the long format
shortReplyTresholdSeconds: 300

ircHandler:
# Should we attempt to match an IRC side mention (nickaname match)
# with the nickname's owner's matrixId, if we are bridging them?
Expand Down
6 changes: 6 additions & 0 deletions config.schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,12 @@ properties:
properties:
eventCacheSize:
type: "integer"
shortReplyTemplate:
type: "string"
longReplyTemplate:
type: "string"
shortReplyTresholdSeconds:
type: "integer"
ircHandler:
type: "object"
properties:
Expand Down
8 changes: 5 additions & 3 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
- [Room Commands](./room_commands.md)
- [Room Configuration](./room_configuration.md)
- [IRC Modes](./irc_modes.md)
- [Setup](./bridge_setup.md)
- [Administrators Guide](./administrators_guide.md)
- [IRC Operators](./irc_operators.md)
- [Bridged Networks](./bridged_networks.md)
- [Bridge Administrators](./administrators_guide.md)
- [Setting up the bridge](./bridge_setup.md)
- [Debug API](./debug_api.md)
- [IRC Operators](./irc_operators.md)
9 changes: 4 additions & 5 deletions docs/administrators_guide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Administrators Guide

This document describes useful information when administering a bridge.
This document describes useful information when administering a bridge. If you are looking for information
on how to set up the bridge, please see [Bridge Setup](./bridge_setup.md).

## Advanced Configuration

Expand Down Expand Up @@ -86,7 +87,5 @@ can be found in [GRAFANA.md](https://github.com/matrix-org/matrix-appservice-irc
## The Debug API
The Debug API allows you to perform administrative actions on the bridge such as killing a IRC
connection, inspecting connected users or unbridging a room. The API is currently loosely documented
over in [the GitHub wiki]([https://github.com/matrix-org/matrix-appservice-irc/wiki/Debug-API).
This is not enabled by default.
connection, inspecting connected users or unbridging a room. You can learn more by reading
the [Debug API](./debug_api.md) documentation.
4 changes: 2 additions & 2 deletions docs/bridge_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ homeserver which Matrix events the bridge should receive.
Execute the following command:

```
node app.js -r -f appservice-registration-irc.yaml -u "http://where.the.appservice.listens:9999" -c config.yaml -l my_bot
node app.js -r -f appservice-registration-irc.yaml -u "http://localhost:9999" -c config.yaml -l my_bot
```

Change `-u "http://localhost:8090"` to whereever your Matrix server can contact this IRC bridge.
Change `-u "http://localhost:9999"` to whereever your Matrix server can contact this IRC bridge.
By changing the option `-l my_bot` you can modify the localpart of the bridge bot user. It contacts
Matrix users of your bridge to control their usage of the bridge (e.g. to change their nickname).

Expand Down
57 changes: 57 additions & 0 deletions docs/bridged_networks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
A wishlist of IRC networks to be bridged is being collected [in a github issue](https://github.com/matrix-org/matrix-appservice-irc/issues/208).

| Network Name | Room alias format | Appservice user | Room for Support | Operator |
|--------------|-------------------------------------------|------------------------------------|--------------------------------|-------------------------------------------|
| darkfasel | `#channame:darkfasel.net` | [`@IRC-Darkfasel:darkfasel.net`] | [`#darkfasel:darkfasel.net`] | [darkfasel](https://www.darkfasel.net/) |
| fc00 | `#fc00-irc_#channame:m.trnsz.com` | [`@fc00ircmtx:m.trnsz.com`] | None | |
| freenode[^1] | `#freenode_#channame:matrix.org` | [`@appservice-irc:matrix.org`][^2] | [`#irc:matrix.org`] | [Matrix.org] |
| GIMPNet[^3] | `#_gimpnet_#channame:gnome.org` | [`@gimpnet-irc:gnome.org`][^4] | [`#irc:matrix.org`] | [Matrix.org] / [Gnome.org] |
| IRCnet | `#_ircnet_#channame:irc.snt.utwente.nl` | [`@ircnet:irc.snt.utwente.nl`] | [`#ircnet:utwente.io`] | [SNT] |
| OFTC | `#_oftc_#channame:matrix.org` | [`@oftc-irc:matrix.org`] | [`#irc:matrix.org`] | [Matrix.org] |
| PirateIRC | `#pirateirc_#channame:diasp.in` | [`@pirateirc:diasp.in`] | [`#diasp.in:diasp.in`] | [Indian Pirates](https://pirates.org.in/) |
| Snoonet | `#_snoonet_#channame:matrix.org` | [`@snoonet-irc:matrix.org`] | [`#irc:matrix.org`] | [Matrix.org] |
| Tweakers.net | `#_tweakers_#channame:irc.snt.utwente.nl` | [`@tweakers:irc.snt.utwente.nl`] | [`#tweakers-irc:utwente.io`] | [SNT] |
| irchighway | `#irchighway_#channame:eggy.cc` | [`@appservice-irc:eggy.cc`] | [`#eggster:eggy.cc`] | [Eggy](http://eggy.cc/) |
| W3C | `#_w3c_#channame:matrix.org` | [`@w3c-irc:matrix.org`] | [`#irc:matrix.org`] | [Matrix.org] |
| libera.chat | `#channame:libera.chat` | [`@appservice:libera.chat`] | [`#libera-matrix:libera.chat`] | [Matrix.org] |

[`@IRC-Darkfasel:darkfasel.net`]: https://matrix.to/#/@IRC-Darkfasel:darkfasel.net
[`@fc00ircmtx:m.trnsz.com`]: https://matrix.to/#/@fc00ircmtx:m.trnsz.com
[`@appservice-irc:matrix.org`]: https://matrix.to/#/@appservice-irc:matrix.org
[`@gimpnet-irc:gnome.org`]: https://matrix.to/#/@gimpnet-irc:gnome.org
[`@ircnet:irc.snt.utwente.nl`]: https://matrix.to/#/@ircnet:irc.snt.utwente.nl
[`@oftc-irc:matrix.org`]: https://matrix.to/#/@oftc-irc:matrix.org
[`@pirateirc:diasp.in`]: https://matrix.to/#/@pirateirc:diasp.in
[`@snoonet-irc:matrix.org`]: https://matrix.to/#/@snoonet-irc:matrix.org
[`@tweakers:irc.snt.utwente.nl`]: https://matrix.to/#/@tweakers:irc.snt.utwente.nl
[`@appservice-irc:eggy.cc`]: https://matrix.to/#/@appservice-irc:eggy.cc
[`@w3c-irc:matrix.org`]: https://matrix.to/#/@w3c-irc:matrix.org
[`@appservice:libera.chat`]: https://matrix.to/#/@appservice:libera.chat

[`#irc:matrix.org`]: https://matrix.to/#/%23irc:matrix.org
[`#darkfasel:darkfasel.net`]: https://matrix.to/#/%23darkfasel:darkfasel.net
[`#ircnet:utwente.io`]: https://matrix.to/#/%23ircnet:utwente.io
[`#diasp.in:diasp.in`]: https://matrix.to/#/%23diasp.in:diasp.in
[`#tweakers-irc:utwente.io`]: https://matrix.to/#/%23tweakers-irc:utwente.io
[`#eggster:eggy.cc`]: https://matrix.to/#/%23eggster:eggy.cc
[`#libera-matrix:libera.chat`]: https://matrix.to/#/%23libera-matrix:libera.chat

[Matrix.org]: https://matrix.org/
[Gnome.org]: https://gnome.org/
[SNT]: https://snt.utwente.nl/en/

* Hackint [closed their Matrix bridge](https://hackint.org/archive#20181028_Matrix_Bridging_Sunset) on 2018-12-31.
* Random.sh is no longer contactable. Status of the bridge is unknown.
* Foonetic IRC has shut down. #xkcd channels [moved to slashnet](https://web.archive.org/web/20190824061533/http://wiki.xkcd.com/irc/Main_Page#Channel_Migration)
* The Espernet bridge was shut down after the 2019 matrix.org network breach.
* The Moznet IRC network has been shut down. They now run their own Matrix homeserver at [chat.mozilla.org](https://chat.mozilla.org/) 🎉

### Footnotes

[^1]: Freenode doesn't have the leading `_` as it is older than the practice of putting the underscore to the beginning.

[^2]: This appservice user doesn't have "freenode" in its name because in the past it was used for _all_ matrix.org-hosted bridges.

[^3]: This includes both irc.gimp.org and irc.gnome.org, as they are the same thing.

[^4]: The bridge has moved from matrix.org to gnome.org.
Loading

0 comments on commit b230165

Please sign in to comment.