Merge pull request #1464 from sakkiii/jitsi-update
Update Jitsi to stable-6726-1
This commit is contained in:
commit
0f569df629
@ -8,6 +8,7 @@ matrix_jitsi_enable_recording: false
|
||||
matrix_jitsi_enable_transcriptions: false
|
||||
matrix_jitsi_enable_p2p: true
|
||||
matrix_jitsi_enable_av_moderation: true
|
||||
matrix_jitsi_enable_breakout_rooms: true
|
||||
|
||||
# Authentication type, must be one of internal, jwt or ldap.
|
||||
# Currently only internal and ldap mechanisms are supported by this playbook.
|
||||
@ -67,7 +68,7 @@ matrix_jitsi_jibri_recorder_password: ''
|
||||
|
||||
matrix_jitsi_enable_lobby: false
|
||||
|
||||
matrix_jitsi_version: stable-6726
|
||||
matrix_jitsi_version: stable-6726-1
|
||||
matrix_jitsi_container_image_tag: "{{ matrix_jitsi_version }}" # for backward-compatibility
|
||||
|
||||
matrix_jitsi_web_docker_image: "{{ matrix_container_global_registry_prefix }}jitsi/web:{{ matrix_jitsi_container_image_tag }}"
|
||||
@ -76,6 +77,7 @@ matrix_jitsi_web_docker_image_force_pull: "{{ matrix_jitsi_web_docker_image.ends
|
||||
matrix_jitsi_web_base_path: "{{ matrix_base_data_path }}/jitsi/web"
|
||||
matrix_jitsi_web_config_path: "{{ matrix_jitsi_web_base_path }}/config"
|
||||
matrix_jitsi_web_transcripts_path: "{{ matrix_jitsi_web_base_path }}/transcripts"
|
||||
matrix_jitsi_web_crontabs_path: "{{ matrix_jitsi_web_base_path }}/crontabs"
|
||||
|
||||
matrix_jitsi_web_public_url: "https://{{ matrix_server_fqn_jitsi }}"
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
- { path: "{{ matrix_jitsi_web_base_path }}", when: true }
|
||||
- { path: "{{ matrix_jitsi_web_config_path }}", when: true }
|
||||
- { path: "{{ matrix_jitsi_web_transcripts_path }}", when: true }
|
||||
- { path: "{{ matrix_jitsi_web_crontabs_path }}", when: true }
|
||||
when: matrix_jitsi_enabled|bool and item.when
|
||||
|
||||
- name: Ensure jitsi-web Docker image is pulled
|
||||
|
@ -9,6 +9,7 @@ ENABLE_CODEC_H264
|
||||
ENABLE_OCTO
|
||||
ENABLE_RECORDING
|
||||
ENABLE_SCTP
|
||||
ENABLE_AUTO_LOGIN
|
||||
JICOFO_AUTH_USER={{ matrix_jitsi_jicofo_auth_user }}
|
||||
JICOFO_AUTH_PASSWORD={{ matrix_jitsi_jicofo_auth_password }}
|
||||
JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
|
||||
@ -26,6 +27,9 @@ JIGASI_SIP_URI
|
||||
JVB_BREWERY_MUC={{ matrix_jitsi_jvb_brewery_muc }}
|
||||
MAX_BRIDGE_PARTICIPANTS
|
||||
OCTO_BRIDGE_SELECTION_STRATEGY
|
||||
SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
|
||||
SENTRY_ENVIRONMENT
|
||||
SENTRY_RELEASE
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
XMPP_DOMAIN={{ matrix_jitsi_xmpp_domain }}
|
||||
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
|
||||
|
@ -1,4 +1,8 @@
|
||||
{{ if .Env.SENTRY_DSN | default "0" | toBool }}
|
||||
handlers=java.util.logging.ConsoleHandler,io.sentry.jul.SentryHandler
|
||||
{{ else }}
|
||||
handlers= java.util.logging.ConsoleHandler
|
||||
{{ end }}
|
||||
|
||||
java.util.logging.ConsoleHandler.level = ALL
|
||||
java.util.logging.ConsoleHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||
@ -10,6 +14,7 @@ net.sf.level=SEVERE
|
||||
net.java.sip.communicator.plugin.reconnectplugin.level=FINE
|
||||
org.ice4j.level=SEVERE
|
||||
org.jitsi.impl.neomedia.level=SEVERE
|
||||
io.sentry.jul.SentryHandler.level=WARNING
|
||||
|
||||
# Do not worry about missing strings
|
||||
net.java.sip.communicator.service.resources.AbstractResourcesService.level=SEVERE
|
||||
|
@ -1,9 +1,6 @@
|
||||
DOCKER_HOST_ADDRESS
|
||||
ENABLE_COLIBRI_WEBSOCKET
|
||||
ENABLE_OCTO
|
||||
DOCKER_HOST_ADDRESS
|
||||
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
|
||||
XMPP_INTERNAL_MUC_DOMAIN={{ matrix_jitsi_xmpp_internal_muc_domain }}
|
||||
XMPP_SERVER={{ matrix_jitsi_xmpp_server }}
|
||||
JVB_AUTH_USER={{ matrix_jitsi_jvb_auth_user }}
|
||||
JVB_AUTH_PASSWORD={{ matrix_jitsi_jvb_auth_password }}
|
||||
JVB_BREWERY_MUC={{ matrix_jitsi_jvb_brewery_muc }}
|
||||
@ -14,14 +11,21 @@ JVB_TCP_MAPPED_PORT={{ matrix_jitsi_jvb_rtp_tcp_port }}
|
||||
{% if matrix_jitsi_jvb_stun_servers|length > 0 %}
|
||||
JVB_STUN_SERVERS={{ matrix_jitsi_jvb_stun_servers|join(',') }}
|
||||
{% endif %}
|
||||
JVB_ENABLE_APIS
|
||||
JVB_WS_DOMAIN
|
||||
JVB_WS_SERVER_ID
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
JVB_OCTO_BIND_ADDRESS
|
||||
JVB_OCTO_PUBLIC_ADDRESS
|
||||
JVB_OCTO_BIND_PORT
|
||||
JVB_OCTO_REGION
|
||||
JVB_WS_DOMAIN
|
||||
JVB_WS_SERVER_ID
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
|
||||
SENTRY_ENVIRONMENT
|
||||
SENTRY_RELEASE
|
||||
COLIBRI_REST_ENABLED
|
||||
SHUTDOWN_REST_ENABLED
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
|
||||
XMPP_INTERNAL_MUC_DOMAIN= {{ matrix_jitsi_xmpp_internal_muc_domain }}
|
||||
XMPP_SERVER={{ matrix_jitsi_xmpp_server }}
|
||||
|
||||
{{ matrix_jitsi_jvb_environment_variables_extension }}
|
||||
|
@ -1,4 +1,8 @@
|
||||
{{ if .Env.SENTRY_DSN | default "0" | toBool }}
|
||||
handlers=java.util.logging.ConsoleHandler,io.sentry.jul.SentryHandler
|
||||
{{ else }}
|
||||
handlers= java.util.logging.ConsoleHandler
|
||||
{{ end }}
|
||||
|
||||
java.util.logging.ConsoleHandler.level = ALL
|
||||
java.util.logging.ConsoleHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||
@ -8,6 +12,7 @@ net.java.sip.communicator.util.ScLogFormatter.programname=JVB
|
||||
.level=INFO
|
||||
|
||||
org.jitsi.videobridge.xmpp.ComponentImpl.level=FINE
|
||||
io.sentry.jul.SentryHandler.level=WARNING
|
||||
|
||||
# All of the INFO level logs from MediaStreamImpl are unnecessary in the context of jitsi-videobridge.
|
||||
org.jitsi.impl.neomedia.MediaStreamImpl.level=WARNING
|
||||
|
@ -1,24 +1,53 @@
|
||||
AUTH_TYPE={{ matrix_jitsi_auth_type }}
|
||||
DISABLE_POLLS
|
||||
ENABLE_AUTH={{ 1 if matrix_jitsi_enable_auth else 0 }}
|
||||
ENABLE_AV_MODERATION={{1 if matrix_jitsi_enable_av_moderation else 0}}
|
||||
ENABLE_BREAKOUT_ROOMS={{1 if matrix_jitsi_enable_breakout_rooms else 0}}
|
||||
ENABLE_GUESTS={{ 1 if matrix_jitsi_enable_guests else 0 }}
|
||||
ENABLE_LOBBY={{ 1 if matrix_jitsi_enable_lobby else 0 }}
|
||||
ENABLE_AV_MODERATION={{1 if matrix_jitsi_enable_av_moderation else 0}}
|
||||
ENABLE_XMPP_WEBSOCKET
|
||||
GLOBAL_MODULES
|
||||
GLOBAL_CONFIG
|
||||
LDAP_URL={{ matrix_jitsi_ldap_url }}
|
||||
GLOBAL_MODULES
|
||||
JIBRI_RECORDER_USER={{ matrix_jitsi_jibri_recorder_user }}
|
||||
JIBRI_RECORDER_PASSWORD={{ matrix_jitsi_jibri_recorder_password }}
|
||||
JIBRI_XMPP_USER={{ matrix_jitsi_jibri_xmpp_user }}
|
||||
JIBRI_XMPP_PASSWORD={{ matrix_jitsi_jibri_xmpp_password }}
|
||||
JICOFO_AUTH_USER={{ matrix_jitsi_jicofo_auth_user }}
|
||||
JICOFO_AUTH_PASSWORD={{ matrix_jitsi_jicofo_auth_password }}
|
||||
JICOFO_COMPONENT_SECRET
|
||||
JIGASI_XMPP_USER=
|
||||
JIGASI_XMPP_PASSWORD=
|
||||
JVB_AUTH_USER={{ matrix_jitsi_jvb_auth_user }}
|
||||
JVB_AUTH_PASSWORD={{ matrix_jitsi_jvb_auth_password }}
|
||||
JWT_APP_ID
|
||||
JWT_APP_SECRET
|
||||
JWT_ACCEPTED_ISSUERS
|
||||
JWT_ACCEPTED_AUDIENCES
|
||||
JWT_ASAP_KEYSERVER
|
||||
JWT_ALLOW_EMPTY
|
||||
JWT_AUTH_TYPE
|
||||
JWT_TOKEN_AUTH_MODULE
|
||||
LOG_LEVEL
|
||||
LDAP_AUTH_METHOD={{ matrix_jitsi_ldap_auth_method }}
|
||||
LDAP_BASE={{ matrix_jitsi_ldap_base }}
|
||||
LDAP_BINDDN={{ matrix_jitsi_ldap_binddn }}
|
||||
LDAP_BINDPW={{ matrix_jitsi_ldap_bindpw }}
|
||||
LDAP_FILTER={{ matrix_jitsi_ldap_filter }}
|
||||
LDAP_AUTH_METHOD={{ matrix_jitsi_ldap_auth_method }}
|
||||
LDAP_VERSION={{ matrix_jitsi_ldap_version }}
|
||||
LDAP_USE_TLS={{ 1 if matrix_jitsi_ldap_use_tls else 0 }}
|
||||
LDAP_TLS_CIPHERS={{ matrix_jitsi_ldap_tls_ciphers }}
|
||||
LDAP_TLS_CHECK_PEER={{ 1 if matrix_jitsi_ldap_tls_check_peer else 0 }}
|
||||
LDAP_TLS_CACERT_FILE={{ matrix_jitsi_ldap_tls_cacert_file }}
|
||||
LDAP_TLS_CACERT_DIR={{ matrix_jitsi_ldap_tls_cacert_dir }}
|
||||
LDAP_START_TLS={{ 1 if matrix_jitsi_ldap_start_tls else 0 }}
|
||||
LDAP_URL={{ matrix_jitsi_ldap_url }}
|
||||
LDAP_USE_TLS={{ 1 if matrix_jitsi_ldap_use_tls else 0 }}
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
TURN_CREDENTIALS={{ matrix_jitsi_turn_credentials }}
|
||||
TURN_HOST={{ matrix_jitsi_turn_host }}
|
||||
TURNS_HOST={{ matrix_jitsi_turns_host }}
|
||||
TURN_PORT={{ matrix_jitsi_turn_port }}
|
||||
TURNS_PORT={{ matrix_jitsi_turns_port }}
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
XMPP_DOMAIN={{ matrix_jitsi_xmpp_domain }}
|
||||
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
|
||||
XMPP_GUEST_DOMAIN={{ matrix_jitsi_xmpp_guest_domain }}
|
||||
@ -29,29 +58,3 @@ XMPP_MUC_MODULES=
|
||||
XMPP_INTERNAL_MUC_MODULES=
|
||||
XMPP_RECORDER_DOMAIN={{ matrix_jitsi_recorder_domain }}
|
||||
XMPP_CROSS_DOMAIN=true
|
||||
JICOFO_AUTH_USER={{ matrix_jitsi_jicofo_auth_user }}
|
||||
JICOFO_AUTH_PASSWORD={{ matrix_jitsi_jicofo_auth_password }}
|
||||
JVB_AUTH_USER={{ matrix_jitsi_jvb_auth_user }}
|
||||
JVB_AUTH_PASSWORD={{ matrix_jitsi_jvb_auth_password }}
|
||||
JIGASI_XMPP_USER=
|
||||
JIGASI_XMPP_PASSWORD=
|
||||
JIBRI_XMPP_USER={{ matrix_jitsi_jibri_xmpp_user }}
|
||||
JIBRI_XMPP_PASSWORD={{ matrix_jitsi_jibri_xmpp_password }}
|
||||
JIBRI_RECORDER_USER={{ matrix_jitsi_jibri_recorder_user }}
|
||||
JIBRI_RECORDER_PASSWORD={{ matrix_jitsi_jibri_recorder_password }}
|
||||
JWT_APP_ID
|
||||
JWT_APP_SECRET
|
||||
JWT_ACCEPTED_ISSUERS
|
||||
JWT_ACCEPTED_AUDIENCES
|
||||
JWT_ASAP_KEYSERVER
|
||||
JWT_ALLOW_EMPTY
|
||||
JWT_AUTH_TYPE
|
||||
JWT_TOKEN_AUTH_MODULE
|
||||
LOG_LEVEL
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
TURN_CREDENTIALS={{ matrix_jitsi_turn_credentials }}
|
||||
TURN_HOST={{ matrix_jitsi_turn_host }}
|
||||
TURNS_HOST={{ matrix_jitsi_turns_host }}
|
||||
TURN_PORT={{ matrix_jitsi_turn_port }}
|
||||
TURNS_PORT={{ matrix_jitsi_turns_port }}
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
|
@ -1,16 +1,3 @@
|
||||
ENABLE_COLIBRI_WEBSOCKET
|
||||
ENABLE_FLOC=0
|
||||
ENABLE_LETSENCRYPT=0
|
||||
ENABLE_HTTP_REDIRECT=0
|
||||
ENABLE_HSTS=0
|
||||
ENABLE_XMPP_WEBSOCKET
|
||||
DISABLE_HTTPS=0
|
||||
DISABLE_DEEP_LINKING
|
||||
LETSENCRYPT_DOMAIN={{ matrix_server_fqn_jitsi }}
|
||||
LETSENCRYPT_EMAIL={{ matrix_ssl_lets_encrypt_support_email }}
|
||||
LETSENCRYPT_USE_STAGING=0
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
AMPLITUDE_ID
|
||||
ANALYTICS_SCRIPT_URLS
|
||||
ANALYTICS_WHITELISTED_EVENTS
|
||||
@ -26,23 +13,37 @@ DEPLOYMENTINFO_ENVIRONMENT_TYPE
|
||||
DEPLOYMENTINFO_REGION
|
||||
DEPLOYMENTINFO_SHARD
|
||||
DEPLOYMENTINFO_USERREGION
|
||||
DESKTOP_SHARING_FRAMERATE_MIN
|
||||
DESKTOP_SHARING_FRAMERATE_MAX
|
||||
DIALIN_NUMBERS_URL
|
||||
DIALOUT_AUTH_URL
|
||||
DIALOUT_CODES_URL
|
||||
DISABLE_AUDIO_LEVELS
|
||||
DISABLE_DEEP_LINKING
|
||||
DISABLE_HTTPS=0
|
||||
DISABLE_POLLS
|
||||
DISABLE_REACTIONS
|
||||
DROPBOX_APPKEY
|
||||
DROPBOX_REDIRECT_URI
|
||||
DYNAMIC_BRANDING_URL
|
||||
ENABLE_AUDIO_PROCESSING
|
||||
ENABLE_AUTH={{ 1 if matrix_jitsi_enable_auth else 0 }}
|
||||
ENABLE_BREAKOUT_ROOMS={{1 if matrix_jitsi_enable_breakout_rooms else 0}}
|
||||
ENABLE_CALENDAR
|
||||
ENABLE_COLIBRI_WEBSOCKET
|
||||
ENABLE_FILE_RECORDING_SERVICE
|
||||
ENABLE_FILE_RECORDING_SERVICE_SHARING
|
||||
ENABLE_FLOC=0
|
||||
ENABLE_GUESTS={{ 1 if matrix_jitsi_enable_guests else 0 }}
|
||||
ENABLE_HSTS=0
|
||||
ENABLE_HTTP_REDIRECT=0
|
||||
ENABLE_IPV6
|
||||
ENABLE_LETSENCRYPT=0
|
||||
ENABLE_LIPSYNC
|
||||
ENABLE_NO_AUDIO_DETECTION
|
||||
ENABLE_P2P={{ 1 if matrix_jitsi_enable_p2p else 0 }}
|
||||
ENABLE_NOISY_MIC_DETECTION
|
||||
ENABLE_PREJOIN_PAGE
|
||||
ENABLE_P2P={{ 1 if matrix_jitsi_enable_p2p else 0 }}
|
||||
ENABLE_WELCOME_PAGE
|
||||
ENABLE_CLOSE_PAGE
|
||||
ENABLE_RECORDING={{ 1 if matrix_jitsi_enable_recording else 0 }}
|
||||
@ -55,12 +56,16 @@ ENABLE_SUBDOMAINS
|
||||
ENABLE_TALK_WHILE_MUTED
|
||||
ENABLE_TCC
|
||||
ENABLE_TRANSCRIPTIONS={{ 1 if matrix_jitsi_enable_transcriptions else 0 }}
|
||||
ENABLE_XMPP_WEBSOCKET
|
||||
ETHERPAD_PUBLIC_URL
|
||||
ETHERPAD_URL_BASE={{ (matrix_jitsi_etherpad_base + '/') if matrix_jitsi_etherpad_enabled else ''}}
|
||||
GOOGLE_ANALYTICS_ID
|
||||
GOOGLE_API_APP_CLIENT_ID
|
||||
INVITE_SERVICE_URL
|
||||
JICOFO_AUTH_USER={{ matrix_jitsi_jicofo_auth_user }}
|
||||
LETSENCRYPT_DOMAIN={{ matrix_server_fqn_jitsi }}
|
||||
LETSENCRYPT_EMAIL={{ matrix_ssl_lets_encrypt_support_email }}
|
||||
LETSENCRYPT_USE_STAGING=0
|
||||
MATOMO_ENDPOINT
|
||||
MATOMO_SITE_ID
|
||||
MICROSOFT_API_APP_CLIENT_ID
|
||||
@ -68,29 +73,38 @@ NGINX_RESOLVER
|
||||
NGINX_WORKER_PROCESSES
|
||||
NGINX_WORKER_CONNECTIONS
|
||||
PEOPLE_SEARCH_URL
|
||||
PUBLIC_URL={{ matrix_jitsi_web_public_url }}
|
||||
RESOLUTION={{ matrix_jitsi_web_config_resolution_height_ideal_and_max }}
|
||||
RESOLUTION_MIN={{ matrix_jitsi_web_config_resolution_height_min }}
|
||||
RESOLUTION_WIDTH={{ matrix_jitsi_web_config_resolution_width_ideal_and_max }}
|
||||
RESOLUTION_WIDTH_MIN={{ matrix_jitsi_web_config_resolution_width_min }}
|
||||
START_AUDIO_ONLY
|
||||
START_AUDIO_MUTED={{ matrix_jitsi_web_config_start_audio_muted_after_nth_participant }}
|
||||
START_WITH_AUDIO_MUTED
|
||||
START_SILENT
|
||||
DISABLE_AUDIO_LEVELS
|
||||
ENABLE_NOISY_MIC_DETECTION
|
||||
START_AUDIO_ONLY
|
||||
START_BITRATE
|
||||
DESKTOP_SHARING_FRAMERATE_MIN
|
||||
DESKTOP_SHARING_FRAMERATE_MAX
|
||||
START_SILENT
|
||||
START_WITH_AUDIO_MUTED
|
||||
START_VIDEO_MUTED={{ matrix_jitsi_web_config_start_video_muted_after_nth_participant }}
|
||||
START_WITH_VIDEO_MUTED
|
||||
TESTING_CAP_SCREENSHARE_BITRATE
|
||||
TESTING_OCTO_PROBABILITY
|
||||
TOKEN_AUTH_URL
|
||||
TZ={{ matrix_jitsi_timezone }}
|
||||
VIDEOQUALITY_BITRATE_H264_LOW
|
||||
VIDEOQUALITY_BITRATE_H264_STANDARD
|
||||
VIDEOQUALITY_BITRATE_H264_HIGH
|
||||
VIDEOQUALITY_BITRATE_VP8_LOW
|
||||
VIDEOQUALITY_BITRATE_VP8_STANDARD
|
||||
VIDEOQUALITY_BITRATE_VP8_HIGH
|
||||
VIDEOQUALITY_BITRATE_VP9_LOW
|
||||
VIDEOQUALITY_BITRATE_VP9_STANDARD
|
||||
VIDEOQUALITY_BITRATE_VP9_HIGH
|
||||
VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
|
||||
VIDEOQUALITY_PREFERRED_CODEC
|
||||
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
|
||||
XMPP_BOSH_URL_BASE={{ matrix_jitsi_xmpp_bosh_url_base }}
|
||||
XMPP_DOMAIN={{ matrix_jitsi_xmpp_domain }}
|
||||
XMPP_GUEST_DOMAIN={{ matrix_jitsi_xmpp_guest_domain }}
|
||||
XMPP_MUC_DOMAIN={{ matrix_jitsi_xmpp_muc_domain }}
|
||||
XMPP_RECORDER_DOMAIN={{ matrix_jitsi_recorder_domain }}
|
||||
TOKEN_AUTH_URL
|
||||
|
||||
{{ matrix_jitsi_web_environment_variables_extension }}
|
||||
|
@ -23,6 +23,7 @@ ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-jitsi-web \
|
||||
{% endif %}
|
||||
--mount type=bind,src={{ matrix_jitsi_web_config_path }},dst=/config \
|
||||
--mount type=bind,src={{ matrix_jitsi_web_transcripts_path }},dst=/usr/share/jitsi-meet/transcripts \
|
||||
--mount type=bind,src={{ matrix_jitsi_web_crontabs_path }},dst=/var/spool/cron/crontabs \
|
||||
{% for arg in matrix_jitsi_web_container_extra_arguments %}
|
||||
{{ arg }} \
|
||||
{% endfor %}
|
||||
|
Loading…
Reference in New Issue
Block a user