From e841c11b54589436f166e17ca28bd34f873811c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Wed, 29 May 2024 23:07:58 +0200 Subject: [PATCH] relay: add option relay.look.raw_messages_max_length (issue #2122) --- CHANGELOG.md | 1 + doc/en/weechat_dev.en.adoc | 1 + doc/fr/weechat_dev.fr.adoc | 1 + doc/ja/weechat_dev.ja.adoc | 2 + doc/sr/weechat_dev.sr.adoc | 2 + po/cs.po | 10 +- po/de.po | 112 ++++++------ po/es.po | 10 +- po/fr.po | 17 +- po/hu.po | 10 +- po/it.po | 10 +- po/ja.po | 10 +- po/pl.po | 10 +- po/pt.po | 10 +- po/pt_BR.po | 10 +- po/ru.po | 10 +- po/sr.po | 10 +- po/tr.po | 10 +- po/weechat.pot | 10 +- src/plugins/relay/relay-config.c | 12 ++ src/plugins/relay/relay-config.h | 1 + src/plugins/relay/relay-raw.c | 88 ++++++++- tests/CMakeLists.txt | 1 + tests/unit/plugins/relay/test-relay-raw.cpp | 190 ++++++++++++++++++++ 24 files changed, 473 insertions(+), 75 deletions(-) create mode 100644 tests/unit/plugins/relay/test-relay-raw.cpp diff --git a/CHANGELOG.md b/CHANGELOG.md index ebb2423c1..820fd781a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Added - relay: add infos "relay_api_version" and "relay_api_version_number" +- relay: add option relay.look.raw_messages_max_length ([#2122](https://github.com/weechat/weechat/issues/2122)) ### Fixed diff --git a/doc/en/weechat_dev.en.adoc b/doc/en/weechat_dev.en.adoc index f924373c8..cb1829d5d 100644 --- a/doc/en/weechat_dev.en.adoc +++ b/doc/en/weechat_dev.en.adoc @@ -502,6 +502,7 @@ WeeChat "core" is located in following directories: |          relay/ | Root of unit tests for Relay plugin. |             test-relay-auth.cpp | Tests: clients authentication. |             test-relay-http.cpp | Tests: HTTP functions for Relay plugin. +|             test-relay-raw.cpp | Tests: raw messages functions for Relay plugin. |             test-relay-remote.cpp | Tests: remote functions for Relay plugin. |             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin. |             api/ | Root of unit tests for Relay "api" protocol. diff --git a/doc/fr/weechat_dev.fr.adoc b/doc/fr/weechat_dev.fr.adoc index e3fcc7422..1f8e9c54a 100644 --- a/doc/fr/weechat_dev.fr.adoc +++ b/doc/fr/weechat_dev.fr.adoc @@ -504,6 +504,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants : |          relay/ | Racine des tests unitaires pour l'extension Relay. |             test-relay-auth.cpp | Tests : authentification des clients. |             test-relay-http.cpp | Tests : fonctions HTTP pour l'extension Relay. +|             test-relay-raw.cpp | Tests : fonctions sur les messages bruts pour l'extension Relay. |             test-relay-remote.cpp | Tests : fonctions remote pour l'extension Relay. |             test-relay-websocket.cpp | Tests : fonctions websocket pour l'extension Relay. |             api/ | Racine des tests unitaires pour le protocole relay "api". diff --git a/doc/ja/weechat_dev.ja.adoc b/doc/ja/weechat_dev.ja.adoc index 937a1722e..fbb7b8444 100644 --- a/doc/ja/weechat_dev.ja.adoc +++ b/doc/ja/weechat_dev.ja.adoc @@ -612,6 +612,8 @@ WeeChat "core" は以下のディレクトリに配置されています: // TRANSLATION MISSING |             test-relay-http.cpp | Tests: HTTP functions for Relay plugin. // TRANSLATION MISSING +|             test-relay-raw.cpp | Tests: raw messages functions for Relay plugin. +// TRANSLATION MISSING |             test-relay-remote.cpp | Tests: remote functions for Relay plugin. // TRANSLATION MISSING |             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin. diff --git a/doc/sr/weechat_dev.sr.adoc b/doc/sr/weechat_dev.sr.adoc index 9416bea26..099965793 100644 --- a/doc/sr/weechat_dev.sr.adoc +++ b/doc/sr/weechat_dev.sr.adoc @@ -505,6 +505,8 @@ WeeChat „језгро” се налази у следећим директо |          relay/ | Корен unit тестова за Релеј додатак. |             test-relay-auth.cpp | Тестови: аутентификација клијената. |             test-relay-http.cpp | Тестови: HTTP функције за Релеј додатак. +// TRANSLATION MISSING +|             test-relay-raw.cpp | Tests: raw messages functions for Relay plugin. |             test-relay-remote.cpp | Тестови: удаљене функције за Релеј додатак. |             test-relay-websocket.cpp | Тестови: websocket функције за Релеј додатак. |             api/ | Корен unit тестова за Релеј „api” протокол. diff --git a/po/cs.po b/po/cs.po index 5002ada93..fd770384d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-27 21:44+0200\n" +"POT-Creation-Date: 2024-05-29 23:01+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Ondřej Súkup \n" "Language-Team: weechat-dev \n" @@ -14429,6 +14429,14 @@ msgid "" "\"weechat\", \"api\"" msgstr "" +msgid "" +"maximum length (in number of chars) of a raw message displayed (0 = display " +"whole message); the beginning and end of message is always displayed with at " +"the middle: \" (...) \"; for example if the value is 8 and the raw message " +"is \"abcdefghijklmnopqrstuvwxyz\", then the raw message displayed is: \"abcd " +"(...) wxyz\"" +msgstr "" + #, fuzzy msgid "text color for client description" msgstr "barva textu pro zvýrazněný prefix" diff --git a/po/de.po b/po/de.po index 875b1fe67..1c8ee22bb 100644 --- a/po/de.po +++ b/po/de.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-27 21:44+0200\n" +"POT-Creation-Date: 2024-05-29 23:01+0200\n" "PO-Revision-Date: 2024-05-27 22:19+0200\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" @@ -2108,11 +2108,11 @@ msgstr "" "undOperatoren (+, -, *, /, //, %, **)" msgid "" -" - ${random:min,max}: a random integer number between \"min\" and " -"\"max\" (inclusive)" +" - ${random:min,max}: a random integer number between \"min\" and \"max\" " +"(inclusive)" msgstr "" -" - ${random:min,max}: eine zufällige ganze Zahl zwischen \"min\" " -"und\"max\" (einschließlich)" +" - ${random:min,max}: eine zufällige ganze Zahl zwischen \"min\" und\"max\" " +"(einschließlich)" msgid " - ${translate:string}: the translated string" msgstr " - ${translate:string}: die übersetzte Zeichenkette" @@ -3043,8 +3043,8 @@ msgid "" " raw[chat(xxx)]: chat area for buffer with name \"xxx\" (full name " "including plugin)" msgstr "" -" raw[chat(xxx)]: Chatbereich für einen Buffer mit dem Namen " -"\"xxx\" (vollständiger Name, mit Erweiterung)" +" raw[chat(xxx)]: Chatbereich für einen Buffer mit dem Namen \"xxx\" " +"(vollständiger Name, mit Erweiterung)" msgid " raw[bar(*)]: any bar" msgstr " raw[bar(*)]: beliebige Bar" @@ -4984,8 +4984,8 @@ msgstr "" "\"-yes\" ausgeführt werden (siehe /help quit)" msgid "" -"if set, /upgrade command must be confirmed with extra argument \"-" -"yes\" (see /help upgrade)" +"if set, /upgrade command must be confirmed with extra argument \"-yes\" " +"(see /help upgrade)" msgstr "" "ist diese Einstellung aktiviert, muss der \"/upgrade\" Befehl mit dem " "Argument \"-yes\" ausgeführt werden (siehe /help upgrade)" @@ -5041,10 +5041,10 @@ msgid "" "weechat.color.emphasized* are used" msgstr "" "Attribute um Textpassagen hervorzuheben: Das setzen von ein- oder mehreren " -"Attributen ist möglich (\"%\" für blinkenden Text, \".\" zum " -"\"dimmen\" (halbe Helligkeit),\"*\" für fett, \"!\" für invertiert, \"/\" " -"für kursiv, \"_\" für unterstrichen); wenn die Zeichenkette leer ist, werden " -"die Farben genutzt die durch weechat.color.emphasized* definiert sind" +"Attributen ist möglich (\"%\" für blinkenden Text, \".\" zum \"dimmen\" " +"(halbe Helligkeit),\"*\" für fett, \"!\" für invertiert, \"/\" für kursiv, " +"\"_\" für unterstrichen); wenn die Zeichenkette leer ist, werden die Farben " +"genutzt die durch weechat.color.emphasized* definiert sind" msgid "" "comma separated list of words to highlight; case insensitive comparison (use " @@ -7017,24 +7017,24 @@ msgstr "" "Bedingungen um eine Infobar anzuzeigen. Eine einfache Bedingung: \"active\", " "\"inactive\", \"nicklist\" (Fenster muss aktiv/inaktiv sein oder der Buffer " "enthält eine Benutzerliste), oder man nutzt einen Ausdruck mit Bedingungen " -"(siehe /help eval). Beispiele: \"${nicklist} && ${info:term_width} > " -"100\" (lokale Variablen für den Ausdruck sind ${active}, ${inactive} und " +"(siehe /help eval). Beispiele: \"${nicklist} && ${info:term_width} > 100\" " +"(lokale Variablen für den Ausdruck sind ${active}, ${inactive} und " "${nicklist})" msgid "bar position (bottom, top, left, right)" msgstr "Position der Infobar (unten, oben, links, rechts)" msgid "" -"bar filling direction (\"horizontal\" (from left to right) or " -"\"vertical\" (from top to bottom)) when bar position is top or bottom" +"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" " +"(from top to bottom)) when bar position is top or bottom" msgstr "" "Darstellung innerhalb der Infobar, falls die Infobar oben/unten angezeigt " "wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben " "nach unten))" msgid "" -"bar filling direction (\"horizontal\" (from left to right) or " -"\"vertical\" (from top to bottom)) when bar position is left or right" +"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" " +"(from top to bottom)) when bar position is left or right" msgstr "" "Darstellung innerhalb der Infobar, falls die Infobar links/rechts angezeigt " "wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben " @@ -7074,9 +7074,9 @@ msgid "separator line between bar and other bars/windows" msgstr "Trennzeichen zwischen verschieden Infobars und Fenstern" msgid "" -"items of bar, they can be separated by comma (space between items) or \"+" -"\" (glued items); special syntax \"@buffer:item\" can be used to force " -"buffer used when displaying the bar item" +"items of bar, they can be separated by comma (space between items) or \"+\" " +"(glued items); special syntax \"@buffer:item\" can be used to force buffer " +"used when displaying the bar item" msgstr "" "Items einer Bar können entweder durch Kommata (\",\") voneinander getrennt " "(setzt ein Leerzeichen zwischen die Items), oder durch ein \"+\" Zeichen " @@ -8820,8 +8820,8 @@ msgid " - ${description}: option description (translated)" msgstr " - ${description}: Beschreibung der Option (übersetzt)" msgid "" -" - ${description2}: option description (translated), \"(no " -"description)\" (translated) if there's no description" +" - ${description2}: option description (translated), \"(no description)\" " +"(translated) if there's no description" msgstr "" " - ${description2}: Beschreibung der Option (übersetzt), \"(keine " "Beschreibung)\" (übersetzt) falls keine Beschreibung vorhanden" @@ -9512,8 +9512,8 @@ msgstr "" #, c-format msgid "" -"%s%s: if you want to add a standard server, use the command \"/server " -"add\" (see /help server); if you really want to add a temporary server (NOT " +"%s%s: if you want to add a standard server, use the command \"/server add\" " +"(see /help server); if you really want to add a temporary server (NOT " "SAVED), turn on the option irc.look.temporary_servers" msgstr "" "%s%s: falls ein Standardserver erstellt werden soll, muss der Befehl \"/" @@ -12676,8 +12676,8 @@ msgid "" "interval between two checks for notify with IRC command \"whois\" (in " "minutes)" msgstr "" -"Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl " -"\"whois\" (in Minuten)" +"Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl \"whois\" " +"(in Minuten)" msgid "" "cause SASL authentication failure when SASL is requested but unavailable on " @@ -15025,19 +15025,19 @@ msgstr "%s%s: Interpreter kann nicht freigeben werden" #, c-format msgid "" -"%s%s: too few arguments received from client %s%s%s for resource " -"\"%s\" (received: %d arguments, expected: at least %d)" +"%s%s: too few arguments received from client %s%s%s for resource \"%s\" " +"(received: %d arguments, expected: at least %d)" msgstr "" "%s%s: Zu wenige Argumente von Client %s%s%s für die Ressource \"%s\" " "erhalten (Empfangen: %d Argumente, mindestens erwartet: %d)" #, c-format msgid "" -"%s%s: too many arguments received from client %s%s%s for resource " -"\"%s\" (received: %d arguments, expected: at most %d)" +"%s%s: too many arguments received from client %s%s%s for resource \"%s\" " +"(received: %d arguments, expected: at most %d)" msgstr "" -"%s%s: Zu viele Argumente von Client erhalten %s%s%s für die Ressource " -"\"%s\" (Empfangen: %d Argumente, höchstens erwartet: %d)" +"%s%s: Zu viele Argumente von Client erhalten %s%s%s für die Ressource \"%s\" " +"(Empfangen: %d Argumente, höchstens erwartet: %d)" #, c-format msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s" @@ -15807,6 +15807,14 @@ msgstr "" "Verbindung zum Relay herstellen oder trennen (durch Kommas getrennte Liste); " "erlaubte Protokolle: \"irc\", \"weechat\", \"api\"" +msgid "" +"maximum length (in number of chars) of a raw message displayed (0 = display " +"whole message); the beginning and end of message is always displayed with at " +"the middle: \" (...) \"; for example if the value is 8 and the raw message " +"is \"abcdefghijklmnopqrstuvwxyz\", then the raw message displayed is: \"abcd " +"(...) wxyz\"" +msgstr "" + msgid "text color for client description" msgstr "Textfarbe für Client-Beschreibung" @@ -16136,8 +16144,8 @@ msgid "" "%s%s: error: file with TLS certificate/key is not readable: \"%s\" (option " "relay.network.tls_cert_key)" msgstr "" -"%s%s: Fehler: Datei mit TLS Zertifikat/Schlüssel ist nicht lesbar: " -"\"%s\" (Option relay.network.tls_cert_key)" +"%s%s: Fehler: Datei mit TLS Zertifikat/Schlüssel ist nicht lesbar: \"%s\" " +"(Option relay.network.tls_cert_key)" #, c-format msgid "%s%s: unable to initialize priority for TLS" @@ -16281,8 +16289,8 @@ msgstr "" #, c-format msgid "" -"%s%s: too few arguments received from client %s%s%s for command " -"\"%s\" (received: %d arguments, expected: at least %d)" +"%s%s: too few arguments received from client %s%s%s for command \"%s\" " +"(received: %d arguments, expected: at least %d)" msgstr "" "%s%s: Zu wenige Argumente von Client %s%s%s für den Befehl \"%s\" erhalten " "(Empfangen: %d Argumente, mindestens Erwartet: %d)" @@ -17451,22 +17459,22 @@ msgstr "verwaltet Trigger, das Schweizer Armeemesser für WeeChat" #. TRANSLATORS: only text between angle brackets (eg: "") must be translated msgid "" "list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace " -" " -"[\"\" [\"\" [\"\" [\"\" [\"\" [\"\"]]]]]] " -"|| addinput [] || input|output|recreate || set