Commit Graph

78 Commits

Author SHA1 Message Date
decentral1se 6dd5a3b0fc
Merge branch 'master' into ccchaos 2021-12-11 17:53:24 +01:00
Matthew Wild ad694d6436 prosody: Enable mod_measure_active_users
This allows an operator (via Prometheus, or eventually the web portal) to keep
tabs on how many people are using the server, e.g. to assist with capacity
planning. This will become more important once we allow user-to-user account
invitations.
2021-11-17 13:51:05 +00:00
Matthew Wild 569fce239c prosody: Switch to and enable mod_lastlog2
This records a timestamp of various account events - account registration
time, last connection and last disconnection.

In the future I would like to keep a time-limited record of account activity
so we can also present it to the user for security purposes (e.g. detecting
account compromise and access by third-parties). That will need additional
design work to figure out how to do it in a privacy-preserving way.
2021-11-17 13:47:42 +00:00
Matthew Wild 17444cc3bd prosody: Enable push notifications for offline group members by default
This avoids the app needing to gain logic to opt-in to push notifications.
Such logic may be fragile, and introduce additional traffic and round-trips
that would hurt performance.

Note that this will trigger pushes even to users who only use Android or
non-mobile devices. That should cause no issues, and the impact would be
minor. Also considering that non-iOS devices usually remain online most of the
time anyway.

Not accounted for in this commit is the MUC notification filtering side of
things. By default the MUC will push all messages, and
mod_cloud_notify(_filters) will allow all of them through to the device unless
the user explicitly configures otherwise within the app.

If the server can detect whether a MUC is public or private, it can make the
default behaviour more sensible (maybe when adding bookmarks or something?).
In any case, public channels are not a primary use-case for Snikket and can
easily be configured manually in the app for now.
2021-11-16 16:08:16 +00:00
Matthew Wild fb518da3c8
Merge branch 'master' into fix/restricted-users 2021-11-12 21:45:38 +00:00
Matthew Wild ce14c8153b prosody: Load mod_snikket_restricted_users on main host 2021-11-12 15:56:52 +00:00
Matthew Wild 08080f03b9 prosody: Show Snikket domain in admin shell prompt 2021-11-12 13:43:50 +00:00
Matthew Wild e19b0a32af prosody: Tune GC to be more aggressive by default
It appears that, in some environments at least, large file uploads can still
cause a significant increase in RAM. This reduces that effect.

It is expected that a future release will switch to Lua 5.4, which has shown
to have far better GC behaviour.
2021-11-11 14:40:09 +00:00
Matthew Wild 631c3acc99
Merge pull request #72 from snikket-im/restricted-users
Restrictions for restricted users
2021-11-09 16:21:39 +00:00
Matthew Wild ca242ce8a4 prosody: Add 16 bytes to upload limit to allow for appended GCM tag (XEP-0454) 2021-11-09 14:25:56 +00:00
Matthew Wild 40daaa883b prosody: Disable user invitations for restricted users
Note that this currently has no effect, because user and contact invitations
are disabled globally for non-admins.
2021-11-09 12:01:59 +00:00
Matthew Wild 2f997d50b5 prosody: Enable mod_snikket_restricted_users on MUC host to enforce channel creation 2021-11-09 11:23:19 +00:00
Matthew Wild 0294b0e7e0 prosody: Prevent restricted users from creating public channels (#37) 2021-11-08 16:13:07 +00:00
Matthew Wild 5dddfeb876 prosody: Prevent federation for users with prosody:restricted role (#37) 2021-11-08 12:51:14 +00:00
3wc d8577e0e57 Awful scary changes to Prosody SSL config 2021-10-31 16:57:01 +02:00
3wc 7605046cb0 don't merge: add certificate path conf for prosody 2021-10-30 23:31:54 +02:00
Matthew Wild dae151c7c9 prosody: Add new module to load push registration for new sessions 2021-10-18 14:17:20 +01:00
Matthew Wild 83c757c786 prosody: Add module to expose stable client id across sessions 2021-10-18 13:50:36 +01:00
Matthew Wild deddef38f2 prosody: Use new cloud_notify_extensions meta-module 2021-10-16 21:23:05 +01:00
Matthew Wild f6cf8f2645 prosody: Add mod_muc_offline_delivery for group notifications on iOS 2021-10-16 21:23:05 +01:00
Matthew Wild 88b61461cc prosody: more consistent environment variable import 2021-10-14 14:35:42 +01:00
Matthew Wild 03f0bb2bd9 prosody: Allow configuration of global upload storage quota 2021-10-14 14:16:04 +01:00
Matthew Wild 6852c37111 prosody: Bump per-upload limit from 16MB to 100MB 2021-10-14 14:14:48 +01:00
Jonas Schäfer dabfaa2132 Fix incorrect config option
Both the docs [1] and the code [2] of mod_http_file_share agree that it
should be `http_file_share_size_limit`, not
`http_file_share_file_size_limit`.

   [1]: https://prosody.im/doc/modules/mod_http_file_share#larger-files
   [2]: https://hg.prosody.im/trunk/file/default/plugins/mod_http_file_share.lua#l35
2021-10-06 17:43:30 +02:00
Matthew Wild 2c3ca07ee0 Add and enable mod_spam_reporting/mod_watch_spam_reports 2021-08-26 19:42:26 +01:00
Kim Alvefur 37f2af4acd Switch to mod_http_file_share
More future-proof, allowing for larger uploads.
2021-07-31 21:05:09 +02:00
Jonas Schäfer ff977f55b5 Allow to load the prometheus exposition module based on env vars
Useful for monitoring.
2021-05-27 18:08:26 +02:00
Jonas Schäfer 690f58bb27 Expose prosody metrics to the web portal
This requires mod_measure_process loaded and a recent version
of mod_http_admin_api to expose the metrics to the web portal in
a reduced and specialized form.
2021-05-27 18:08:26 +02:00
Matthew Wild 3cab4faaf9 prosody: Allow specifying additional config include path via environment 2021-03-17 15:22:30 +00:00
Matthew Wild bd5329c84d prosody: Allow specification of external TURN via environment 2021-03-17 15:16:27 +00:00
Matthew Wild 7f26c50ba8 prosody: Add mod_http_host_status_check 2021-03-10 14:37:19 +00:00
Matthew Wild 90b13aed6e prosody: Fix another typo, sigh 2021-03-10 12:12:15 +00:00
Matthew Wild dcc02d374b prosody: Fix typo in module name 2021-03-10 10:32:06 +00:00
Matthew Wild 36ffd5d4a0 mod_invites_bootstrap: Module/API to create initial admin invite at startup 2021-03-09 16:33:12 +00:00
Matthew Wild 724335019e prosody, coturn: Add environment variable to disable TURN server 2021-02-24 14:36:06 +00:00
Matthew Wild 0224f93843 prosody: Allow custom HTTP bind interface 2021-02-17 13:28:30 +00:00
Jonas Schäfer f197b9bf6b Also explicitly load mod_groups_internal because why not 2021-02-04 16:57:14 +01:00
Jonas Schäfer 04861cc023 ... load the module, too 2021-02-04 16:55:11 +01:00
Jonas Schäfer 215426c2db Add `/` to invite URL
The new portal version will support this (see [1]). The rationale
is also explained over there, but to summarize: If the link ends
in `_` or `-`, some user agents will not linkify it correctly,
worsening the UX.

   [1]: https://github.com/snikket-im/snikket-web-portal/issues/48
2021-02-03 19:02:56 +01:00
Matthew Wild 4cc3880ec7 Add flag to disable update checks 2021-02-02 13:58:02 +00:00
Matthew Wild 5e0b8c9e7d prosody: Set default group name to site_name/domain 2021-02-02 10:48:31 +00:00
Matthew Wild e568d1f039 prosody: Remove mod_roster_allinall, obsoleted by mod_groups_internal 2021-02-01 20:21:15 +00:00
Felix e9d2668f83
Remove module entry duplicates 2021-01-30 20:47:37 +01:00
Matthew Wild 8deff503da prosody: Allow configuration of data retention period (messages/uploads) 2021-01-29 22:25:33 +00:00
Matthew Wild 20b0620e4d prosody: Expire uploaded files after 1 week, same as MAM 2021-01-29 22:21:14 +00:00
Matthew Wild 13d03bc903 prosody: Bump HTTP upload limit to 16MB (now matches WhatsApp, no more complaining) 2021-01-29 22:20:49 +00:00
Matthew Wild d71359104c prosody: Set correct external URL for http_upload component (fixes HTTP uploads) 2021-01-29 22:17:32 +00:00
Matthew Wild 1947781554 prosody: Switch to flag instead of config for daemonize 2021-01-29 17:32:47 +00:00
Matthew Wild d6b2676829 prosody: Remove general@ from default bookmarks, obsoleted by per-circle group chats 2021-01-28 22:38:57 +00:00
Matthew Wild 72e2c2cec5 prosody: Update welcome message 2021-01-28 22:37:50 +00:00