aboutsummaryrefslogtreecommitdiff
path: root/setup/config
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2021-01-22 16:08:47 +0000
committerGitHub <noreply@github.com>2021-01-22 16:08:47 +0000
commit93942f8ab62ffdb55888d5d35adef6fe73e3ea59 (patch)
treee261374817728e22c5e4937975ea42cc71e54f9b /setup/config
parent0571d395b51d7788c692b916cd7ba9249a494ed1 (diff)
Gate peeking behind msc flags (#1731)
Diffstat (limited to 'setup/config')
-rw-r--r--setup/config/config_mscs.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/setup/config/config_mscs.go b/setup/config/config_mscs.go
index 4b53495f..764273ec 100644
--- a/setup/config/config_mscs.go
+++ b/setup/config/config_mscs.go
@@ -3,7 +3,11 @@ package config
type MSCs struct {
Matrix *Global `yaml:"-"`
- // The MSCs to enable
+ // The MSCs to enable. Supported MSCs include:
+ // 'msc2444': Peeking over federation - https://github.com/matrix-org/matrix-doc/pull/2444
+ // 'msc2753': Peeking via /sync - https://github.com/matrix-org/matrix-doc/pull/2753
+ // 'msc2836': Threading - https://github.com/matrix-org/matrix-doc/pull/2836
+ // 'msc2946': Spaces Summary - https://github.com/matrix-org/matrix-doc/pull/2946
MSCs []string `yaml:"mscs"`
Database DatabaseOptions `yaml:"database"`
@@ -14,6 +18,16 @@ func (c *MSCs) Defaults() {
c.Database.ConnectionString = "file:mscs.db"
}
+// Enabled returns true if the given msc is enabled. Should in the form 'msc12345'.
+func (c *MSCs) Enabled(msc string) bool {
+ for _, m := range c.MSCs {
+ if m == msc {
+ return true
+ }
+ }
+ return false
+}
+
func (c *MSCs) Verify(configErrs *ConfigErrors, isMonolith bool) {
checkNotEmpty(configErrs, "mscs.database.connection_string", string(c.Database.ConnectionString))
}