Conversation
There was a problem hiding this comment.
Pull request overview
Adds Matrix as an alert provider to LinuxGSM, wiring it into the main alert dispatch flow and exposing configuration defaults across server configs.
Changes:
- Introduces a new
alert_matrix.shmodule that sends messages via the Matrix Client API v3. - Adds Matrix handling and
TEST-ALERTvalidation paths inalert.sh. - Adds default Matrix alert configuration keys to many server
_default.cfgfiles.
Reviewed changes
Copilot reviewed 141 out of 141 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| lgsm/modules/alert_matrix.sh | New Matrix alert sender implementation (builds message, posts to Matrix Client API). |
| lgsm/modules/alert.sh | Wires Matrix provider into alert dispatch + TEST-ALERT validation messages. |
| lgsm/config-default/config-lgsm/zpsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/zmrserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/xntserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/wurmserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/wmcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/wfserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/wetserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/vsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/vpmcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/vintsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/vhserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/utserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ut99server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ut3server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ut2k4server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/untserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/twserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tuserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ts3server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tiserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tfserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tfcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tf2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/tf2cserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/terrariaserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/svenserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/stserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/stnserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/squadserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/squad44server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/solserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sof2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/smserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sfserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sfcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sdtdserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/scpslserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sbserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sbotsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/sampserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/rwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/rustserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/rtcwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/roserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ricochetserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/qwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/qlserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/q4server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/q3server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/q2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pzserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pvrserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pmcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/pc2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/opforserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/onsetserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ohdserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/nsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ns2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ns2cserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/nmrihserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/necserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ndserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/mtaserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/momserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/mohaaserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/mhserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/mcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/mcbserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/l4dserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/l4d2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/kfserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/kf2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/jk2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/jc3server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/jc2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/iosserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/inssserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/insserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hzserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hldmsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hldmserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/hcuserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/gmodserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/fofserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/fctrserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ets2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/etlserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/emserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ecoserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dysserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dstserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/doiserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dodsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dodserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dodrserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dmcserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dayzserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/dabserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ctserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/cssserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/csserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/csgoserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/csczserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/cs2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/colserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/codwawserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/coduoserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/codserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/cod4server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/cod2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/cmwserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ckserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ccserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/btserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/btlserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/boserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bmdmserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bfvserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bf1942server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bdserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bbserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/bb2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/avserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/atsserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/armarserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/arma3server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/arkserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ahlserver/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/ahl2server/_default.cfg | Adds default Matrix alert config entries. |
| lgsm/config-default/config-lgsm/acserver/_default.cfg | Adds default Matrix alert config entries. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| matrixsend=$(curl --connect-timeout 10 -sS -X POST \ | ||
| -H "Authorization: Bearer ${matrixtoken}" \ | ||
| -H "Content-Type: application/json" \ | ||
| -d "${json}" \ | ||
| "${matrixurl}") |
There was a problem hiding this comment.
curl here uses -sS but not -L/--location, while other alert providers use -sSL to follow redirects. Matrix homeserver deployments can redirect (e.g., http→https or reverse-proxy routing), which would cause a false failure even though the endpoint is reachable. Consider adding -L for consistency and better compatibility.
| if [ "${matrixalert}" == "on" ] && [ -n "${matrixtoken}" ] && [ -n "${matrixroom}" ]; then | ||
| alert_matrix.sh | ||
| elif [ "${matrixalert}" != "on" ] && [ "${commandname}" == "TEST-ALERT" ]; then |
There was a problem hiding this comment.
alert.sh calls alert_matrix.sh, but there is no corresponding wrapper function in lgsm/modules/core_modules.sh (unlike alert_discord.sh, alert_ntfy.sh, etc.). As a result, this call is likely to fail at runtime because Bash will try to execute an external command named alert_matrix.sh instead of fetching/sourcing the module via fn_fetch_module. Add an alert_matrix.sh() entry to core_modules.sh (or adjust the invocation to match how other modules are loaded).
| if [ "${matrixalert}" == "on" ] && [ -n "${matrixtoken}" ] && [ -n "${matrixroom}" ]; then | ||
| alert_matrix.sh | ||
| elif [ "${matrixalert}" != "on" ] && [ "${commandname}" == "TEST-ALERT" ]; then | ||
| fn_print_warn_nl "Matrix alerts not enabled" | ||
| fn_script_log_warn "Matrix alerts not enabled" | ||
| elif [ -z "${matrixhomeserver}" ] && [ "${commandname}" == "TEST-ALERT" ]; then | ||
| fn_print_error_nl "Matrix homeserver not set" |
There was a problem hiding this comment.
The Matrix dispatch condition checks matrixtoken and matrixroom but not matrixhomeserver. If matrixalert="on" and token/room are set while matrixhomeserver is empty, alert_matrix.sh will build an invalid base URL and the send will fail (and TEST-ALERT won’t catch it because the send path runs first). Include a non-empty matrixhomeserver check in the initial if (or set a safe default in the module) and ensure TEST-ALERT validates it before attempting to send.
Description
Adds Matrix as a first-class alert provider for LinuxGSM.
This re-implements and modernizes the old proposal in #3507:
alert_matrix.shinlgsm/modules/TEST-ALERTvalidation inalert.sh_default.cfgfilesMatrix implementation details
v3Authorization: Bearerheader (not query string)Config
Testing
bash -n lgsm/modules/alert_matrix.sh lgsm/modules/alert.sh_default.cfgfiles