summary refs log tree commit diff
path: root/synapse/config
diff options
context:
space:
mode:
authorWill Hunt <will@half-shot.uk>2022-05-04 19:33:26 +0100
committerGitHub <noreply@github.com>2022-05-04 19:33:26 +0100
commit2d74a8c17876ed235249b1423d63c920c614a530 (patch)
tree49cfa324c04e10ca0fba48d6b2f756f119f8d903 /synapse/config
parentUse `getClientAddress` instead of `getClientIP`. (#12599) (diff)
downloadsynapse-2d74a8c17876ed235249b1423d63c920c614a530.tar.xz
Add `mau_appservice_trial_days` config (#12619)
* Add mau_appservice_trial_days

* Add a test

* Tweaks

* changelog

* Ensure we sync after the delay

* Fix types

* Add config statement

* Fix test

* Reinstate logging that got removed

* Fix feature name
Diffstat (limited to 'synapse/config')
-rw-r--r--synapse/config/server.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/config/server.py b/synapse/config/server.py
index b6cd326416..1e709c7cf5 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -413,6 +413,7 @@ class ServerConfig(Config):
         )
 
         self.mau_trial_days = config.get("mau_trial_days", 0)
+        self.mau_appservice_trial_days = config.get("mau_appservice_trial_days", {})
         self.mau_limit_alerting = config.get("mau_limit_alerting", True)
 
         # How long to keep redacted events in the database in unredacted form
@@ -1105,6 +1106,11 @@ class ServerConfig(Config):
         # sign up in a short space of time never to return after their initial
         # session.
         #
+        # The option `mau_appservice_trial_days` is similar to `mau_trial_days`, but
+        # applies a different trial number if the user was registered by an appservice.
+        # A value of 0 means no trial days are applied. Appservices not listed in this
+        # dictionary use the value of `mau_trial_days` instead.
+        #
         # 'mau_limit_alerting' is a means of limiting client side alerting
         # should the mau limit be reached. This is useful for small instances
         # where the admin has 5 mau seats (say) for 5 specific people and no
@@ -1115,6 +1121,8 @@ class ServerConfig(Config):
         #max_mau_value: 50
         #mau_trial_days: 2
         #mau_limit_alerting: false
+        #mau_appservice_trial_days:
+        #  "appservice-id": 1
 
         # If enabled, the metrics for the number of monthly active users will
         # be populated, however no one will be limited. If limit_usage_by_mau