Skip to content

Mention feature adds user with out notification #23975

@tograss

Description

@tograss

Code of Conduct

  • I agree to follow this project's Code of Conduct

Disable plugins

  • I reproduce the issue with all plugins disabled

Is there an existing issue for this?

  • I have searched the existing issues

Version

11.0.6 / bugfix branch

Bug description

When mentioning a user via @ in an answer to a problem or change, the user gets added as watcher without notifications enabled.
This works correctly when adding a user directly via the sidebar and does not happen in a ticket.

Steps To reproduce

  1. clean install
  2. activate notifications
  3. add email address to test user
  4. create problem
  5. mention user in answer to that problem

Your GLPI setup information

GLPI information
GLPI: 11.0.7-dev ( => /var/www/html/glpigitorig)
Installation mode: GIT
Current language: de_DE
Source Integrity: N/A
Server
Operating system: Linux NB0308-EX-CO 6.17.0-20-generic #​20~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 01:28:37 UTC 2 x86_64

PHP: 8.3.6 apache2handler

PHP extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, random, Reflection, SPL, session, standard, sodium, apache2handler, mysqlnd, PDO, xml, bcmath, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, iconv, intl, ldap, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Zend OPcache, xdebug

Setup: disable_functions="" max_execution_time="30" max_input_vars="1000" memory_limit="128M" post_max_size="8M" session.cookie_secure="0" session.cookie_httponly="1" session.cookie_samesite="" session.save_handler="files" upload_max_filesize="2M"

Web server: Apache/2.4.58 (Ubuntu) (Apache/2.4.58 (Ubuntu) Server at local-git-glpi.de Port 80)

User agent: Mozilla/5.0 (X11; Linux x86_64; rv:149.0) Gecko/20100101 Firefox/149.0

Database:

Server Software: Ubuntu 24.04

Server Version: 10.11.14-MariaDB-0ubuntu0.24.04.1

Server SQL Mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Parameters: localglpigit@localhost/localglpigit

Host info: Localhost via UNIX socket

Requirements:
PHP version (8.3.6) is supported.
OS and PHP are relying on 64 bits integers.
Sessions configuration is OK.
Allocated memory is sufficient.
Following extensions are installed: dom, fileinfo, filter, libxml, simplexml, tokenizer, xmlreader, xmlwriter.
mysqli extension is installed
curl extension is installed
gd extension is installed
intl extension is installed
mbstring extension is installed
zlib extension is installed
bcmath extension is installed
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
openssl extension is installed
Database engine version (10.11.14) is supported.
The log file has been created successfully.
Write access to /var/www/html/glpigitorig/files/_cache has been validated.
Write access to /var/www/html/glpigitorig/files/_cron has been validated.
Write access to /var/www/html/glpigitorig/files has been validated.
Write access to /var/www/html/glpigitorig/files/_graphs has been validated.
Write access to /var/www/html/glpigitorig/files/_lock has been validated.
Write access to /var/www/html/glpigitorig/files/_pictures has been validated.
Write access to /var/www/html/glpigitorig/files/_plugins has been validated.
Write access to /var/www/html/glpigitorig/files/_rss has been validated.
Write access to /var/www/html/glpigitorig/files/_sessions has been validated.
Write access to /var/www/html/glpigitorig/files/_tmp has been validated.
Write access to /var/www/html/glpigitorig/files/_uploads has been validated.

Sessions configuration is secured.
exif extension is installed
ldap extension is installed
Following extensions are installed: Phar, zip.
Following extensions are not present: bz2.
Zend OPcache extension is installed
Following extensions are installed: ctype, iconv, sodium.
The directory could not be created in /var/www/html/glpigitorig/marketplace.
Timezones seems not loaded, see https://glpi-install.readthedocs.io/en/latest/timezones.html.


GLPI constants

GLPI_ROOT: "/var/www/html/glpigitorig"
GLPI_VERSION: "11.0.7-dev"
GLPI_SCHEMA_VERSION: "11.0.7-dev@a797be2bef86f3888448b141fa810dba6fb67795"
GLPI_FILES_VERSION: "11.0.7-dev-00000000"
GLPI_MIN_PHP: "8.2"
GLPI_MAX_PHP: "8.5"
GLPI_YEAR: "2026"
GLPI_I18N_DIR: "/var/www/html/glpigitorig/locales"
GLPI_ENVIRONMENT_TYPE: "production"
GLPI_CONFIG_DIR: "/var/www/html/glpigitorig/config"
GLPI_VAR_DIR: "/var/www/html/glpigitorig/files"
GLPI_MARKETPLACE_DIR: "/var/www/html/glpigitorig/marketplace"
GLPI_ALLOW_IFRAME_IN_RICH_TEXT: false
GLPI_SERVERSIDE_URL_ALLOWLIST: ["^\n (http|https|feed):// # protocol\n (\n (?:\n (?:xn--[a-z0-9-]++\.)*+xn--[a-z0-9-]++ # a domain name using punycode\n |\n (?:[\pL\pN\pS\pM\-\]++\.)+[\pL\pN\pM]++ # a multi-level domain name\n |\n [a-z0-9\-\]++ # a single-level domain name\n )\.?\n | # or\n \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # an IP address\n | # or\n \[\n (?:(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-f]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,1}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,2}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,3}(?:(?:[0-9a-f]{1,4})))?::(?:(?:[0-9a-f]{1,4})):)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,4}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,5}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,6}(?:(?:[0-9a-f]{1,4})))?::))))\n \] # an IPv6 address\n )\n (?:/ (?:[\pL\pN\pS\pM\-._\!$&'()+,;=:@]|%[0-9A-Fa-f]{2}) )* # a path\n (?:\? (?:[\pL\pN\-._\~!$&'\\+,;=:@/?]|%[0-9A-Fa-f]{2}) )? # a query (optional)\n $~ixuD"]
GLPI_DISALLOWED_UPLOADS_PATTERN: "/\.(php\d*|phar)$/i"
GLPI_TELEMETRY_URI: "https://telemetry.glpi-project.org"
GLPI_INSTALL_MODE: "GIT"
GLPI_NETWORK_MAIL: "glpi@teclib.com"
GLPI_NETWORK_SERVICES: "https://services.glpi-network.com"
GLPI_MARKETPLACE_ENABLE: 3
GLPI_MARKETPLACE_PRERELEASES: true
GLPI_MARKETPLACE_ALLOW_OVERRIDE: true
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: true
GLPI_USER_AGENT_EXTRA_COMMENTS: ""
GLPI_DOCUMENTATION_ROOT_URL: "https://links.glpi-project.org"
GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: "1"
GLPI_LOG_LVL: "warning"
GLPI_SKIP_UPDATES: false
GLPI_STRICT_ENV: false
GLPI_AJAX_DASHBOARD: "1"
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_CENTRAL_WARNINGS: "1"
GLPI_SYSTEM_CRON: false
GLPI_TEXT_MAXSIZE: "4000"
GLPI_WEBHOOK_ALLOW_RESPONSE_SAVING: "0"
GLPI_WEBHOOK_CRA_MANDATORY: false
GLPI_ALTCHA_MODE: "interactive"
GLPI_ALTCHA_MAX_NUMBER: 50000
GLPI_ALTCHA_EXPIRATION_INTERVAL: "PT20M"
GLPI_DOC_DIR: "/var/www/html/glpigitorig/files"
GLPI_CACHE_DIR: "/var/www/html/glpigitorig/files/_cache"
GLPI_CRON_DIR: "/var/www/html/glpigitorig/files/_cron"
GLPI_GRAPH_DIR: "/var/www/html/glpigitorig/files/_graphs"
GLPI_LOCAL_I18N_DIR: "/var/www/html/glpigitorig/files/_locales"
GLPI_LOCK_DIR: "/var/www/html/glpigitorig/files/_lock"
GLPI_LOG_DIR: "/var/www/html/glpigitorig/files/_log"
GLPI_PICTURE_DIR: "/var/www/html/glpigitorig/files/_pictures"
GLPI_PLUGIN_DOC_DIR: "/var/www/html/glpigitorig/files/_plugins"
GLPI_RSS_DIR: "/var/www/html/glpigitorig/files/_rss"
GLPI_SESSION_DIR: "/var/www/html/glpigitorig/files/_sessions"
GLPI_TMP_DIR: "/var/www/html/glpigitorig/files/_tmp"
GLPI_UPLOAD_DIR: "/var/www/html/glpigitorig/files/_uploads"
GLPI_INVENTORY_DIR: "/var/www/html/glpigitorig/files/_inventories"
GLPI_THEMES_DIR: "/var/www/html/glpigitorig/files/_themes"
GLPI_PLUGINS_DIRECTORIES: ["/var/www/html/glpigitorig/marketplace","/var/www/html/glpigitorig/plugins"]
GLPI_NETWORK_API_URL: "https://services.glpi-network.com/api"
GLPI_NETWORK_REGISTRATION_API_URL: "https://services.glpi-network.com/api/registration/"
GLPI_MARKETPLACE_PLUGINS_API_URI: "https://services.glpi-network.com/api/marketplace/"

SQL replicas

Not active

Notifications

Way of sending emails: PHP

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions