From 717b32f454819c1bb936152c69d9693d34434741 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 Jun 2022 15:45:38 +0200 Subject: [PATCH] Upgrade to version 0.4.0 (#54) * Upgrade to v0.4.0 * Auto-update README * change maintainer to thardev * check upgrade from 0.2.4 and 0.3.0 * update config to 0.4.0 Co-authored-by: yunohost-bot Co-authored-by: yunohost-bot Co-authored-by: Gredin67 --- README.md | 2 +- README_fr.md | 2 +- check_process | 12 +-- conf/amd64.src | 4 +- conf/arm64.src | 4 +- conf/armhf.src | 4 +- conf/config.yaml | 82 ++++++++++++++--- manifest.json | 224 +++++++++++++++++++++++------------------------ 8 files changed, 196 insertions(+), 138 deletions(-) diff --git a/README.md b/README.md index ae8ffe9..58069ef 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Therefore, [Synapse for YunoHost](https://github.com/YunoHost-Apps/synapse_ynh) ** Attention: always backup and restore the Yunohost matrix_synapse et mautrix_whatsapp apps together!** -**Shipped version:** 0.3.0~ynh1 +**Shipped version:** 0.4.0~ynh1 ## Disclaimers / important information ### List of known public services diff --git a/README_fr.md b/README_fr.md index ddf2a99..4d8a265 100644 --- a/README_fr.md +++ b/README_fr.md @@ -24,7 +24,7 @@ C'est pourquoi [Synapse for YunoHost](https://github.com/YunoHost-Apps/synapse_y ** Attention : sauvegardez et restaurez toujours les deux applications Yunohost matrix_synapse et mautrix_whatsapp en même temps!** -**Version incluse :** 0.3.0~ynh1 +**Version incluse :** 0.4.0~ynh1 ## Avertissements / informations importantes ### Liste de passerelles publiques diff --git a/check_process b/check_process index 3a600b4..60e492a 100644 --- a/check_process +++ b/check_process @@ -17,12 +17,12 @@ setup_private=0 setup_public=0 upgrade=1 - upgrade=1 from_commit=ede0231ac59aaa1d65a3009bcbdfe333bf5e87fd - upgrade=1 from_commit=443ac4fb96297455281d9495844dde3b9a197214 + upgrade=1 from_commit=42df5b910927283241e185dcb8a62089adeb9c85 + upgrade=1 from_commit=23cd51919e2b09865256a21214865d798bd843f6 backup_restore=1 multi_instance=1 ;;; Upgrade options - ; commit=ede0231ac59aaa1d65a3009bcbdfe333bf5e87fd - name=0.1.8 - ; commit=443ac4fb96297455281d9495844dde3b9a197214 - name=0.1.10 + ; commit=42df5b910927283241e185dcb8a62089adeb9c85 + name=0.3.0 + ; commit=23cd51919e2b09865256a21214865d798bd843f6 + name=0.2.4 diff --git a/conf/amd64.src b/conf/amd64.src index f2d4d25..d3e7568 100644 --- a/conf/amd64.src +++ b/conf/amd64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.3.0/mautrix-whatsapp-amd64 -SOURCE_SUM=b85afe01cb929945bcc1678db8ac80aa973c5df699eb9b68dd00236cef600a33 +SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.4.0/mautrix-whatsapp-amd64 +SOURCE_SUM=b0c06680c990ad72d535a058225aab06c45f90ccec316f71bedeeea066b2106f SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FILENAME=mautrix-whatsapp diff --git a/conf/arm64.src b/conf/arm64.src index 70ebce0..6a60dcb 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.3.0/mautrix-whatsapp-arm64 -SOURCE_SUM=86cfa86a3f4a3a2633f08655fc8f839fbaefbfa08debe7a81f95f1e915f90f11 +SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.4.0/mautrix-whatsapp-arm64 +SOURCE_SUM=599d95dc6149cf7498e394ef9b9729d1982e6e88f08d753479f906ac8256759e SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FILENAME=mautrix-whatsapp diff --git a/conf/armhf.src b/conf/armhf.src index e9f7065..2eaa403 100644 --- a/conf/armhf.src +++ b/conf/armhf.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.3.0/mautrix-whatsapp-arm -SOURCE_SUM=8ac11ef71fe1f88c68bd71ce9291f79a59b670dc8fdba10e3afcc0ed3416113d +SOURCE_URL=https://github.com/mautrix/whatsapp/releases/download/v0.4.0/mautrix-whatsapp-arm +SOURCE_SUM=65f8bd40bda7e56135b0781754caea6af79584f1cd68b6d9386c9a2a33e13063 SOURCE_SUM_PRG=sha256sum SOURCE_IN_SUBDIR=false SOURCE_FILENAME=mautrix-whatsapp diff --git a/conf/config.yaml b/conf/config.yaml index 7b44269..bc1d0b2 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -16,6 +16,8 @@ homeserver: status_endpoint: null # Endpoint for reporting per-message status. message_send_checkpoint_endpoint: null + # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246? + async_media: false # Application service host/registration related details. # Changing these values requires regeneration of the registration. @@ -54,11 +56,6 @@ appservice: # Shared secret for authentication. If set to "generate", a random secret will be generated, # or if set to "disable", the provisioning API will be disabled. shared_secret: generate - # Segment API key to enable analytics tracking for web server - # endpoints. Set to null to disable. - # Currently the only events are login start, QR code retrieve, and login - # success/failure. - segment_key: null # The unique ID of this appservice. #id: whatsapp @@ -82,6 +79,9 @@ appservice: as_token: "This value is generated when generating the registration" hs_token: "This value is generated when generating the registration" +# Segment API key to track some events, like provisioning API login and encryption errors. +segment_key: null + # Prometheus config. metrics: # Enable prometheus metrics? @@ -95,7 +95,7 @@ whatsapp: os_name: Mautrix-WhatsApp bridge # Browser name that determines the logo shown in the mobile app. # Must be "unknown" for a generic icon or a valid browser name if you want a specific icon. - # List of valid browser names: https://github.com/tulir/whatsmeow/blob/2a72655ef600a7fd7a2e98d53ec6da029759c4b8/binary/proto/def.proto#L1582-L1594 + # List of valid browser names: https://github.com/tulir/whatsmeow/blob/8b34d886d543b72e5f4699cf5b2797f68d598f78/binary/proto/def.proto#L38-L51 browser_name: unknown # Bridge config @@ -118,14 +118,10 @@ bridge: # Should another user's cryptographic identity changing send a message to Matrix? identity_change_notices: false portal_message_buffer: 128 - # Settings for handling history sync payloads. These settings only apply right after login, - # because the phone only sends the history sync data once, and there's no way to re-request it - # (other than logging out and back in again). + # Settings for handling history sync payloads. history_sync: # Should the bridge create portals for chats in the history sync payload? create_portals: true - # Maximum age of chats in seconds to create portals for. Set to 0 to create portals for all chats in sync payload. - max_age: 604800 # Enable backfilling history sync payloads from WhatsApp using batch sending? # This requires a server with MSC2716 support, which is currently an experimental feature in synapse. # It can be enabled by setting experimental_features -> msc2716_enabled to true in homeserver.yaml. @@ -140,6 +136,66 @@ bridge: # Should the bridge request a full sync from the phone when logging in? # This bumps the size of history syncs from 3 months to 1 year. request_full_sync: false + # Settings for media requests. If the media expired, then it will not + # be on the WA servers. + # Media can always be requested by reacting with the ♻️ (recycle) emoji. + # These settings determine if the media requests should be done + # automatically during or after backfill. + media_requests: + # Should expired media be automatically requested from the server as + # part of the backfill process? + auto_request_media: true + # Whether to request the media immediately after the media message + # is backfilled ("immediate") or at a specific time of the day + # ("local_time"). + request_method: immediate + # If request_method is "local_time", what time should the requests + # be sent (in minutes after midnight)? + request_local_time: 120 + # The maximum number of initial conversations that should be synced. + # Other conversations will be backfilled on demand when the start PM + # provisioning endpoint is used or when a message comes in from that + # chat. + max_initial_conversations: -1 + # Settings for immediate backfills. These backfills should generally be + # small and their main purpose is to populate each of the initial chats + # (as configured by max_initial_conversations) with a few messages so + # that you can continue conversations without loosing context. + immediate: + # The number of concurrent backfill workers to create for immediate + # backfills. Note that using more than one worker could cause the + # room list to jump around since there are no guarantees about the + # order in which the backfills will complete. + worker_count: 1 + # The maximum number of events to backfill initially. + max_events: 10 + # Settings for deferred backfills. The purpose of these backfills are + # to fill in the rest of the chat history that was not covered by the + # immediate backfills. These backfills generally should happen at a + # slower pace so as not to overload the homeserver. + # Each deferred backfill config should define a "stage" of backfill + # (i.e. the last week of messages). The fields are as follows: + # - start_days_ago: the number of days ago to start backfilling from. + # To indicate the start of time, use -1. For example, for a week ago, use 7. + # - max_batch_events: the number of events to send per batch. + # - batch_delay: the number of seconds to wait before backfilling each batch. + deferred: + # Last Week + - start_days_ago: 7 + max_batch_events: 20 + batch_delay: 5 + # Last Month + - start_days_ago: 30 + max_batch_events: 50 + batch_delay: 10 + # Last 3 months + - start_days_ago: 90 + max_batch_events: 100 + batch_delay: 10 + # The start of time + - start_days_ago: -1 + max_batch_events: 500 + batch_delay: 10 # Should puppet avatars be fetched from the server even if an avatar is already set? user_avatar_sync: true # Should Matrix users leaving groups be bridged to WhatsApp? @@ -198,8 +254,10 @@ bridge: # Disabling this won't affect already created status broadcast rooms. enable_status_broadcast: true # Should the status broadcast room be muted and moved into low priority by default? - # This is only applied when creating the room, the user can unmute/untag it later. + # This is only applied when creating the room, the user can unmute it later. mute_status_broadcast: true + # Tag to apply to the status broadcast room. + status_broadcast_tag: m.lowpriority # Should the bridge use thumbnails from WhatsApp? # They're disabled by default due to very low resolution. whatsapp_thumbnail: false diff --git a/manifest.json b/manifest.json index da51168..e3c9f27 100644 --- a/manifest.json +++ b/manifest.json @@ -1,115 +1,115 @@ { - "name": "Matrix WhatsApp bridge", - "id": "mautrix_whatsapp", - "packaging_format": 1, - "description": { - "en": "Matrix / Synapse puppeting bridge for WhatsApp", - "fr": "Passerelle Matrix / Synapse pour WhatsApp" - }, - "version": "0.3.0~ynh1", - "url": "https://github.com/mautrix/whatsapp", - "upstream": { - "license": "AGPL-3.0-or-later", - "admindoc": "https://docs.mau.fi/bridges/go/whatsapp/index.html", - "code": "https://github.com/mautrix/whatsapp" - }, - "license": "AGPL-3.0-or-later", - "maintainer": { - "name": "Gredin67", - "email": "mautrix_whatsapp_ynh@sans-nuage.fr", - "url": "https://github.com/YunoHost-Apps/mautrix_whatsapp_ynh" - }, - "requirements": { - "yunohost": ">= 4.3.0" - }, - "multi_instance": true, - "services": [ + "name": "Matrix WhatsApp bridge", + "id": "mautrix_whatsapp", + "packaging_format": 1, + "description": { + "en": "Matrix / Synapse puppeting bridge for WhatsApp", + "fr": "Passerelle Matrix / Synapse pour WhatsApp" + }, + "version": "0.4.0~ynh1", + "url": "https://github.com/mautrix/whatsapp", + "upstream": { + "license": "AGPL-3.0-or-later", + "admindoc": "https://docs.mau.fi/bridges/go/whatsapp/index.html", + "code": "https://github.com/mautrix/whatsapp" + }, + "license": "AGPL-3.0-or-later", + "maintainer": { + "name": "thardev", + "email": "", + "url": "https://github.com/YunoHost-Apps/mautrix_whatsapp_ynh" + }, + "requirements": { + "yunohost": ">= 4.3.0" + }, + "multi_instance": true, + "services": [ "postgresql" - ], - "arguments": { - "install": [ - { - "name": "synapsenumber", - "type": "string", - "ask": { - "en": "Choose the local Synapse instance number to communicate with mautrix_whatsapp.", - "fr": "Choisissez le numéro de l'instance Synapse qui doit communiquer avec mautrix_whatsapp." - }, - "example": "2 (for instance synapse__2)", - "help": { - "en": "If you installed Synapse only once time, then leave default value 1.", - "fr": "Si vous n'avez installé qu'une fois Synapse, gardez la valeur par défaut 1." - }, - "default": "1" - }, - { - "name": "botname", - "type": "string", - "ask": { - "en": "Choose a local Synapse user name for the WhatsApp bot", - "fr": "Choisissez un nom d'utilisateur Synapse local pour le robot WhatsApp" - }, - "example": "whatsappbot", - "help": { - "en": "A system user will be created. Invite @whatsappbot:localsynapse.servername from an authorized Matrix account to start bridging. Give the Matrix server_name, not the full domain/URL.", - "fr": "Un utilisateur système sera créé. Inviter @whatsappbot:localsynapse.servername depuis un compte Matrix autorisé pour démarrer une passerelle. Donner le nom du serveur Matrix, pas le domaine/URL complet." - }, - "default": "whatsappbot" - }, - { - "name": "bot_synapse_adm", - "type": "boolean", - "ask": { - "en": "Give the WhatsApp bot administrator rights to the Synapse instance?", - "fr": "Donner au robot WhatsApp des droits administrateur à l'instance Synapse ?" - }, - "help": { - "en": "If true, the bot can group WhatsApp chats in a Matrix space. Not required if you set up Synapse so that non-admins are authorized to create communities.", - "fr": "Si true, le robot groupera les conversations WhatsApp dans une communauté Matrix. Pas nécessaire si vous avez réglé Synapse pour qu'il autorise les non-admin à créer des communautés." - }, - "default": true - }, - { - "name": "encryption", - "type": "boolean", - "ask": { - "en": "Enable end-to-bridge encryption?", - "fr": "Activer le chiffrement entre Synapse et le bridge ?" - }, - "help": { - "en": "Only activate if you know the prerequisites and constraints related to e2b.", - "fr": "N'activer que si vous connaissez les prérequis et constraintes liées à e2b." - }, - "default": false - }, - { - "name": "botadmin", - "type": "string", - "ask": { - "en": "Choose the Matrix account administrator of the WhatsApp bot", - "fr": "Choisissez le compte Matrix administrateur du robot WhatsApp" - }, - "example": "@johndoe:localsynapse.servername or @johndoe:matrix.org", - "help": { - "en": "The WhatsApp bot administrator does not need to be a local Synapse account.", - "fr": "Le compte administrateur du robot WhatsApp peut ne pas être un compte local Synapse." - }, - "default": "Your main Matrix account" - }, - { - "name": "botusers", - "type": "string", - "ask": { - "en": "Choose Matrix user(s) authorized to bridge with the WhatsApp bot.", - "fr": "Choisissez le/les compte(s) Matrix autorisés à utiliser la passerelle WhatsApp." - }, - "example": "admin or domain or @johndoe:server.name or server.name or *", - "default": "domain", - "help": { - "en": "Either the administrator only (admin), all local Synapse users (domain), a remote or local user (@johndoe:server.name), a remote server (matrix.org), or all remote/local servers (*) can be authorized. Give the Matrix server_name, not the full domain/URL.", - "fr": "L'administrateur seulement (admin), tous les comptes Synapse locaux (domain), un compte local ou distant (@johndoe:server.name), un serveur distant (matrix.org), ou tous les serveurs remote/local (*). Donner le nom du serveur Matrix, pas le domaine/URL complet." - } - } - ] - } + ], + "arguments": { + "install": [ + { + "name": "synapsenumber", + "type": "string", + "ask": { + "en": "Choose the local Synapse instance number to communicate with mautrix_whatsapp.", + "fr": "Choisissez le numéro de l'instance Synapse qui doit communiquer avec mautrix_whatsapp." + }, + "example": "2 (for instance synapse__2)", + "help": { + "en": "If you installed Synapse only once time, then leave default value 1.", + "fr": "Si vous n'avez installé qu'une fois Synapse, gardez la valeur par défaut 1." + }, + "default": "1" + }, + { + "name": "botname", + "type": "string", + "ask": { + "en": "Choose a local Synapse user name for the WhatsApp bot", + "fr": "Choisissez un nom d'utilisateur Synapse local pour le robot WhatsApp" + }, + "example": "whatsappbot", + "help": { + "en": "A system user will be created. Invite @whatsappbot:localsynapse.servername from an authorized Matrix account to start bridging. Give the Matrix server_name, not the full domain/URL.", + "fr": "Un utilisateur système sera créé. Inviter @whatsappbot:localsynapse.servername depuis un compte Matrix autorisé pour démarrer une passerelle. Donner le nom du serveur Matrix, pas le domaine/URL complet." + }, + "default": "whatsappbot" + }, + { + "name": "bot_synapse_adm", + "type": "boolean", + "ask": { + "en": "Give the WhatsApp bot administrator rights to the Synapse instance?", + "fr": "Donner au robot WhatsApp des droits administrateur à l'instance Synapse ?" + }, + "help": { + "en": "If true, the bot can group WhatsApp chats in a Matrix space. Not required if you set up Synapse so that non-admins are authorized to create communities.", + "fr": "Si true, le robot groupera les conversations WhatsApp dans une communauté Matrix. Pas nécessaire si vous avez réglé Synapse pour qu'il autorise les non-admin à créer des communautés." + }, + "default": true + }, + { + "name": "encryption", + "type": "boolean", + "ask": { + "en": "Enable end-to-bridge encryption?", + "fr": "Activer le chiffrement entre Synapse et le bridge ?" + }, + "help": { + "en": "Only activate if you know the prerequisites and constraints related to e2b.", + "fr": "N'activer que si vous connaissez les prérequis et constraintes liées à e2b." + }, + "default": false + }, + { + "name": "botadmin", + "type": "string", + "ask": { + "en": "Choose the Matrix account administrator of the WhatsApp bot", + "fr": "Choisissez le compte Matrix administrateur du robot WhatsApp" + }, + "example": "@johndoe:localsynapse.servername or @johndoe:matrix.org", + "help": { + "en": "The WhatsApp bot administrator does not need to be a local Synapse account.", + "fr": "Le compte administrateur du robot WhatsApp peut ne pas être un compte local Synapse." + }, + "default": "Your main Matrix account" + }, + { + "name": "botusers", + "type": "string", + "ask": { + "en": "Choose Matrix user(s) authorized to bridge with the WhatsApp bot.", + "fr": "Choisissez le/les compte(s) Matrix autorisés à utiliser la passerelle WhatsApp." + }, + "example": "admin or domain or @johndoe:server.name or server.name or *", + "default": "domain", + "help": { + "en": "Either the administrator only (admin), all local Synapse users (domain), a remote or local user (@johndoe:server.name), a remote server (matrix.org), or all remote/local servers (*) can be authorized. Give the Matrix server_name, not the full domain/URL.", + "fr": "L'administrateur seulement (admin), tous les comptes Synapse locaux (domain), un compte local ou distant (@johndoe:server.name), un serveur distant (matrix.org), ou tous les serveurs remote/local (*). Donner le nom du serveur Matrix, pas le domaine/URL complet." + } + } + ] + } }