diff --git a/config/dm.php b/config/dm.php new file mode 100644 index 000000000..658b5646e --- /dev/null +++ b/config/dm.php @@ -0,0 +1,76 @@ + [ + 'enabled' => (bool) env('DM_GROUPS_ENABLED', true), + 'max_participants' => (int) env('DM_MAX_PARTICIPANTS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Message limits + |-------------------------------------------------------------------------- + */ + + 'max_message_length' => (int) env('DM_MAX_MESSAGE_LENGTH', 2000), + + 'max_media' => (int) env('DM_MAX_MEDIA', 4), + + /* + |-------------------------------------------------------------------------- + | Message requests + |-------------------------------------------------------------------------- + | + | A recipient who does not accept messages from everyone gets the + | conversation as a request. Until they accept (or reply), a local sender + | can only send `sender_limit` messages, and at most `inbound_limit` + | messages from a remote sender are stored. + | + */ + + 'requests' => [ + 'sender_limit' => (int) env('DM_REQUEST_SENDER_LIMIT', 1), + 'inbound_limit' => (int) env('DM_REQUEST_INBOUND_LIMIT', 5), + ], + + /* + |-------------------------------------------------------------------------- + | Federation + |-------------------------------------------------------------------------- + | + | `max_actor_fetches` caps how many unknown actors a single inbound message + | can make this server fetch while resolving its participants. + | + */ + + 'federation' => [ + 'max_actor_fetches' => (int) env('DM_MAX_ACTOR_FETCHES', 5), + ], + + /* + |-------------------------------------------------------------------------- + | Backfill + |-------------------------------------------------------------------------- + | + | The migration converts legacy direct messages inline only when there are + | fewer rows than this. Larger instances run + | `php artisan dm:backfill-conversations` themselves. + | + */ + + 'backfill' => [ + 'inline_threshold' => (int) env('DM_BACKFILL_INLINE_THRESHOLD', 25000), + ], +];