4896 Commits

Author SHA1 Message Date
FreeScout
d416863d20 Store vars.js in /js/builds 2026-08-28 01:49:40 -07:00
FreeScout
9dc9053f66 Update PULL_REQUEST_TEMPLATE 2026-08-28 01:16:26 -07:00
FreeScout
89fced362e Add Strict-Transport-Security header 2026-08-28 01:15:53 -07:00
FreeScout
1e886cbff1 Show From when thread's customer differs from conversation's customer - closes #5601 2026-08-27 22:59:13 -07:00
FreeScout
a381fe69ec Show log name in title 2026-08-27 04:34:54 -07:00
FreeScout
78cf02d983 Adjust events parameters 2026-08-27 04:24:11 -07:00
FreeScout
bce23ef2d3 Show action name for TriggerAction jobs in System Status 2026-08-27 04:23:38 -07:00
FreeScout
868061500a Add Strict-Transport-Security header 2026-08-27 02:12:00 -07:00
FreeScout
69dd7a98dd Add X-Content-Type-Options nosniff header 2026-08-27 01:47:26 -07:00
FreeScout
bd54392ca4 Improve audio downloading/playing - closes #5597 2026-08-27 00:13:58 -07:00
FreeScout
4e8e4d80c7 Do not allow unsafe symlinks when UnZipping - GHSA-rw7g-qq32-c669 2026-08-26 02:51:43 -07:00
FreeScout
06e0e85dcc Add comment for APP_LIMIT_USER_CUSTOMER_VISIBILITY parameter 2026-08-26 02:08:57 -07:00
FreeScout
ddbf13b0b5 Fix user notifications when conversation is moved - closes #5596 2026-08-25 09:22:10 -07:00
FreeScout
1cc09c8a6e Require PHP 7.4+ - closes #5595 2026-08-25 06:55:26 -07:00
FreeScout
c0fde64b42 Allow to fetch emails having same Message-IDs - closes #5591 2026-08-25 06:51:48 -07:00
FreeScout
c8b20fbe4a Update Readme 2026-08-25 02:28:00 -07:00
FreeScout
adde156bc2 Update Readme 2026-08-25 02:25:01 -07:00
FreeScout
c1839cca8a Helper::curlClose() 2026-08-25 02:02:42 -07:00
FreeScout
1aa8ffa9cf Adjust design elements - closes #5592 2026-08-24 22:11:42 -07:00
FreeScout
27f752d23f HTML escape folder names in Get Folders 2026-08-24 07:58:55 -07:00
FreeScout
33661df11a Allow to fetch emails having same Message-IDs - closes #5591 2026-08-24 07:51:40 -07:00
FreeScout
f87c43522d Correctly process customer reply to a previous agent reply after moving conversation - closes #5590 2026-08-24 02:15:14 -07:00
FreeScout
1040e0af3c Adjust error message check in FetchEmail for increasing sleep time - closes #5584 2026-08-24 00:28:00 -07:00
FreeScout
fcfb029710 Improve OAuth IMAP token refresh logic to avoid errors in logs every hour - closes #5582 2026-08-24 00:24:36 -07:00
FreeScout
0e573cd6f9 Catalan: use imperative forms per Softcatalà style guide #5589 from losimo/fix/catalan-imperative-forms
Catalan: use imperative forms per Softcatalà style guide
2026-08-24 10:10:25 +03:00
FreeScout
6c2bf1d59b Check authentication in /polycast/connect and require channels parameter in /polycast/receve - GHSA-7x4c-p73f-67x5 2026-08-23 23:55:33 -07:00
FreeScout
a9572ca50a Add vendor files to dist 1.8.236 2026-08-23 22:28:51 -07:00
FreeScout
63b008c6d2 Merge branch 'master' of github.com:freescout-helpdesk/freescout into dist 2026-08-23 22:28:24 -07:00
FreeScout
e42c59ab88 v1.8.236 2026-08-23 22:28:11 -07:00
Albert Simó
58a49aa806 Catalan: use imperative forms per Softcatalà style guide
The Catalan translation used infinitives for buttons and menu items
("Desar", "Editar", "Eliminar"). The Softcatalà style guide, the
reference for Catalan software localisation, asks for the second
person singular imperative when the user commands the application:
"Desa", "Edita", "Elimina". Confirmation dialogs are the opposite
case, the application addressing the user, so those now read
"Voleu eliminar aquesta conversa?" rather than an imperative.

Also translates strings added in recent releases that had no Catalan
yet, among them the autoplay notice from the chat sound notifications
in 1.8.233, the fetch error threshold settings in 1.8.235 and the
password reset message that no longer reveals whether an account
exists.

159 corrected entries, 128 added.
2026-08-24 00:05:48 +02:00
FreeScout
0f47724cb7 Check access to mailboxes when non-admin creates users - GHSA-w36p-9vhj-x273 2026-08-21 00:43:34 -07:00
FreeScout
38b9a236a8 Do not allow users who can see only assigned conversations delete any conversations in folder via empty_folder - GHSA-6mhr-m8m9-6q6h 2026-08-20 12:05:42 -07:00
FreeScout
c04444bfbf Check folder type in empty_folder action 2026-08-20 11:31:01 -07:00
FreeScout
bbb8f94417 Remove commit from setReplyBody() 2026-08-20 07:45:56 -07:00
FreeScout
198a2afe75 Adjust error message check in FetchEmail for increasing sleep time - closes #5584 2026-08-20 06:14:47 -07:00
FreeScout
002740b267 Trigger user notifications when moving conversations - closes #5580 2026-08-20 02:50:36 -07:00
FreeScout
ef10136cb8 Enlarge dropdown caret element 2026-08-20 02:41:49 -07:00
FreeScout
343a21e457 Allow text/rfc822-headers content type when processing incoming bounce messages - closes #5583 2026-08-20 02:20:40 -07:00
FreeScout
f706284996 Store conversation number in log when sending error occurs - #5571 2026-08-19 22:59:33 -07:00
FreeScout
b5c737cdf8 Update SECURITY.md 2026-08-18 03:55:47 -07:00
FreeScout
26ac7e2c62 Apply module migrations when the Modules folder resolves outside the app folder #5574 from RhinoBag/fix/5569-module-migrate-path
Apply module migrations when the Modules folder resolves outside the app folder
2026-08-17 20:53:32 +03:00
Jörn Bungartz
34d2a019b0 Apply module migrations when the Modules folder is outside the app folder
module:migrate hands the module's migrations folder to the migrate command
after removing base_path() from it. Module::getPath() is a realpath(), so on
installations where the Modules folder is a symlink leading outside of the
application folder (a common container layout: /var/www/html/Modules ->
/data/Modules) base_path() does not occur in that path. The value stays
absolute, migrate prepends base_path() to it anyway (BaseCommand::
getMigrationPaths()), the resulting folder does not exist, and the migration
reports "Nothing to migrate" with exit code 0.

Updating a module through the Modules page then leaves the old schema in
place, because Module::updateModule() relies on freescout:module-install and
nothing reports the failure. Activating a module is not affected, as
ModulesController runs a plain migrate afterwards.

Modules now remember the path they have been scanned from, which still
contains the symlink and is therefore relative to base_path(), and the
module:migrate command builds the --path option from it. The scanned path
also travels through the modules cache, as Collection::toArray() keeps the
resolved path only. When neither path is inside the application folder the
command reports it instead of reporting success.

closes #5569
2026-08-17 10:39:21 -06:00
FreeScout
661c000a0e Fix CTRL+ keyboard shortcuts on Mac - closes #5572 2026-08-17 01:34:41 -07:00
FreeScout
e2a5930a5a Remove temporary SwiftMailer files in freescout:clean-tmp command - closes #5558 2026-08-17 00:16:47 -07:00
FreeScout
7fad593186 JS conversation.show_reply_form hook 2026-08-16 02:54:50 -07:00
FreeScout
752ce0f46b Highlight sender in thread when From is different from Reply-To 2026-08-15 05:30:10 -07:00
FreeScout
980c6533a8 PHP 8.5 compatibility - closes #5568,#5567 2026-08-15 03:24:53 -07:00
FreeScout
9dc66919e1 Highlight sender in thread when From is different from Reply-To 2026-08-15 03:06:31 -07:00
FreeScout
68ba521efa Remove temporary SwiftMailer files in freescout:clean-tmp command - closes #5558 2026-08-15 02:53:09 -07:00
FreeScout
ab27725368 Merge branch 'master' of github.com:freescout-helpdesk/freescout into dist 1.8.235 2026-08-15 02:35:45 -07:00