nextcloud / activity

:zap: Activity app for Nextcloud
113 stars 63 forks source link

Wrong URL (non-Pretty) in digest mail #1617

Open susnux opened 5 months ago

susnux commented 5 months ago

Steps to reproduce

  1. Configure Nextcloud to not use index.php (mod rewrite)
  2. Configure cron to run using cron jobs (not web!)
  3. Trigger any activity containing an link (e.g. calendar event modified or form shared)
  4. Wait for digest mail

Expected behaviour

Absolute URL used in email is using correct server address without the index.php.

Actual behaviour

Message contains the index.php.

Other

I checked everything - the URL generate correctly generates the link when used from the webui (e.g. in the notifications app). But not when sending the digest mail.

I guess the problem is that a background job is sending it, the background job is called by the cron.php which is not using a real request thus the environment for removing the index.php (front_controller_active) is not set. So when calling the Activity Provider within that context the generated URL will always include the index.php which - depending on the server configuration can be invalid and lead to 404 error.

susnux commented 5 months ago

PS: I am not sure if this is not a server core issue, at least I could not find any information in the docs saying you can not rely on URL Generator when running from background jobs.