# Errore interno del server durante l'anteprima delle email di digest

**URL:** https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954
**Category:** Bug
**Tags:** email, pr-welcome, activity-summary
**Created:** [29 Agosto 2025, 10:36pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954 "2025-08-29T22:36:13Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [29 Agosto 2025, 10:36pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/1 "2025-08-29T22:36:13Z")

</div>

Ciao,

Sto utilizzando Discourse 3.6.0.beta1-dev e riscontro un problema quando provo a **visualizzare l’anteprima dell’email di riepilogo** dal pannello di amministrazione:  
`/admin/email/preview-digest`

### Descrizione del problema

- Quando faccio clic per inviare il riepilogo, ricevo un **Internal Server Error**.
- L’email non viene inviata e appare il messaggio di errore mostrato negli screenshot.

### Screenshot

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/0/a/20a40e19bb4fd979a988abc20054c28116ec83cd.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/3/5/135d68acf29086a6d88ae8592c66e1b50fdf4984.png)

* * *

### Dettagli dell’errore

```ruby
Message

ArgumentError (comparison of String with ActiveSupport::TimeWithZone failed)
app/controllers/list_controller.rb:525:in `>'
app/controllers/list_controller.rb:525:in `best_periods_for'
app/controllers/list_controller.rb:512:in `best_period_with_topics_for'
app/controllers/list_controller.rb:504:in `best_period_for'
app/models/topic.rb:560:in `for_digest'
app/mailers/user_notifications.rb:246:in `digest'
app/controllers/admin/email_controller.rb:49:in `respond_to?'
app/controllers/admin/email_controller.rb:49:in `send_digest'
app/controllers/application_controller.rb:429:in `block in with_resolved_locale'
app/controllers/application_controller.rb:429:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/middleware/crawler_hooks.rb:11:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:410:in `call'

Backtrace

app/controllers/list_controller.rb:525:in `>'
app/controllers/list_controller.rb:525:in `best_periods_for'
app/controllers/list_controller.rb:512:in `best_period_with_topics_for'
app/controllers/list_controller.rb:504:in `best_period_for'
app/models/topic.rb:560:in `for_digest'
app/mailers/user_notifications.rb:246:in `digest'
actionpack (8.0.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'
actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (8.0.2.1) lib/abstract_controller/base.rb:163:in `process'
actionmailer (8.0.2.1) lib/action_mailer/rescuable.rb:29:in `block in process'
actionmailer (8.0.2.1) lib/action_mailer/rescuable.rb:21:in `handle_exceptions'
actionmailer (8.0.2.1) lib/action_mailer/rescuable.rb:28:in `process'
actionview (8.0.2.1) lib/action_view/rendering.rb:40:in `process'
actionmailer (8.0.2.1) lib/action_mailer/base.rb:652:in `block in process'
activesupport (8.0.2.1) lib/active_support/notifications.rb:212:in `instrument'
actionmailer (8.0.2.1) lib/action_mailer/base.rb:651:in `process'
actionmailer (8.0.2.1) lib/action_mailer/message_delivery.rb:136:in `block in processed_mailer'
<internal:kernel>:90:in `tap'
actionmailer (8.0.2.1) lib/action_mailer/message_delivery.rb:135:in `processed_mailer'
actionmailer (8.0.2.1) lib/action_mailer/message_delivery.rb:32:in ` __getobj__'
/usr/local/lib/ruby/3.3.0/delegate.rb:101:in `respond_to_missing?'
app/controllers/admin/email_controller.rb:49:in `respond_to?'
app/controllers/admin/email_controller.rb:49:in `send_digest'
actionpack (8.0.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (8.0.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (8.0.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (8.0.2.1) lib/active_support/callbacks.rb:120:in `block in run_callbacks'
app/controllers/application_controller.rb:429:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:429:in `with_resolved_locale'
activesupport (8.0.2.1) lib/active_support/callbacks.rb:129:in `block in run_callbacks'
activesupport (8.0.2.1) lib/active_support/callbacks.rb:140:in `run_callbacks'
actionpack (8.0.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (8.0.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'
activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (8.0.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (8.0.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (8.0.2.1) lib/action_controller/metal/instrumentation.rb:75:in `process_action'
actionpack (8.0.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (8.0.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (8.0.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (8.0.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (4.0.1) lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method'
actionpack (8.0.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (8.0.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (8.0.2.1) lib/action_dispatch/routing/mapper.rb:32:in `block in <class:Constraints>'
actionpack (8.0.2.1) lib/action_dispatch/routing/mapper.rb:62:in `serve'
actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (8.0.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (8.0.2.1) lib/action_dispatch/routing/route_set.rb:908:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/middleware/crawler_hooks.rb:11:in `call'
rack (2.2.17) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.17) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.17) lib/rack/head.rb:12:in `call'
actionpack (8.0.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.17) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.17) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/cookies.rb:706:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'
actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
railties (8.0.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (8.0.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/request_id.rb:34:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.17) lib/rack/method_override.rb:24:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.17) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (4.0.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:410:in `call'
actionpack (8.0.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (8.0.2.1) lib/rails/engine.rb:535:in `call'
railties (8.0.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (8.0.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.17) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.17) lib/rack/urlmap.rb:58:in `each'
rack (2.2.17) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

```

* * *

### Dettagli dell’avviso

```ruby
Message

Failed to handle exception in exception app middleware : ArgumentError : comparison of String with ActiveSupport::TimeWithZone failed

Backtrace

/var/www/discourse/app/controllers/list_controller.rb:525:in `>'
/var/www/discourse/app/controllers/list_controller.rb:525:in `best_periods_for'
/var/www/discourse/app/controllers/list_controller.rb:512:in `best_period_with_topics_for'
/var/www/discourse/app/controllers/list_controller.rb:504:in `best_period_for'
/var/www/discourse/app/models/topic.rb:560:in `for_digest'
/var/www/discourse/app/mailers/user_notifications.rb:246:in `digest'
actionpack-8.0.2.1/lib/abstract_controller/base.rb:226:in `process_action'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:100:in `run_callbacks'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack-8.0.2.1/lib/abstract_controller/base.rb:163:in `process'
actionmailer-8.0.2.1/lib/action_mailer/rescuable.rb:29:in `block in process'
actionmailer-8.0.2.1/lib/action_mailer/rescuable.rb:21:in `handle_exceptions'
actionmailer-8.0.2.1/lib/action_mailer/rescuable.rb:28:in `process'
actionview-8.0.2.1/lib/action_view/rendering.rb:40:in `process'
actionmailer-8.0.2.1/lib/action_mailer/base.rb:652:in `block in process'
activesupport-8.0.2.1/lib/active_support/notifications.rb:212:in `instrument'
actionmailer-8.0.2.1/lib/action_mailer/base.rb:651:in `process'
actionmailer-8.0.2.1/lib/action_mailer/message_delivery.rb:136:in `block in processed_mailer'
<internal:kernel>:90:in `tap'
actionmailer-8.0.2.1/lib/action_mailer/message_delivery.rb:135:in `processed_mailer'
actionmailer-8.0.2.1/lib/action_mailer/message_delivery.rb:32:in ` __getobj__'
/usr/local/lib/ruby/3.3.0/delegate.rb:101:in `respond_to_missing?'
/var/www/discourse/app/controllers/admin/email_controller.rb:49:in `respond_to?'
/var/www/discourse/app/controllers/admin/email_controller.rb:49:in `send_digest'
actionpack-8.0.2.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack-8.0.2.1/lib/abstract_controller/base.rb:226:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:120:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:429:in `block in with_resolved_locale'
i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:429:in `with_resolved_locale'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:140:in `run_callbacks'
actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'
activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `block in instrument'
activesupport-8.0.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `instrument'
actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:75:in `process_action'
actionpack-8.0.2.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-8.0.2.1/lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack-8.0.2.1/lib/abstract_controller/base.rb:163:in `process'
actionview-8.0.2.1/lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method'
actionpack-8.0.2.1/lib/action_controller/metal.rb:252:in `dispatch'
actionpack-8.0.2.1/lib/action_controller/metal.rb:335:in `dispatch'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:32:in `block in <class:Constraints>'
actionpack-8.0.2.1/lib/action_dispatch/routing/mapper.rb:62:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `each'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:908:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
/var/www/discourse/lib/middleware/crawler_hooks.rb:11:in `call'
rack-2.2.17/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.17/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.17/lib/rack/head.rb:12:in `call'
actionpack-8.0.2.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:415:in `call'
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.17/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.17/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/cookies.rb:706:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport-8.0.2.1/lib/active_support/callbacks.rb:100:in `run_callbacks'
actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster-2.20.1/lib/logster/middleware/reporter.rb:40:in `call'
/var/www/discourse/lib/middleware/default_headers.rb:13:in `call'
railties-8.0.2.1/lib/rails/rack/logger.rb:41:in `call_app'
railties-8.0.2.1/lib/rails/rack/logger.rb:29:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/request_id.rb:34:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:23:in `call'
rack-2.2.17/lib/rack/method_override.rb:24:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
rack-2.2.17/lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler-4.0.1/lib/mini_profiler.rb:191:in `call'
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'
message_bus-4.4.1/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:410:in `call'
actionpack-8.0.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties-8.0.2.1/lib/rails/engine.rb:535:in `call'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `public_send'
railties-8.0.2.1/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.17/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.17/lib/rack/urlmap.rb:58:in `each'
rack-2.2.17/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

```

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [30 Agosto 2025, 11:48am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/3 "2025-08-30T11:48:45Z")

</div>

2 post sono stati divisi in un nuovo argomento: [Visualizzazione dei modelli di email nell’editor wysiwyg causa un errore](https://meta.discourse.org/t/viewing-email-templates-in-wysiwyg-composer-causes-an-error/380984)

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [29 Agosto 2025, 11:24pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/5 "2025-08-29T23:24:46Z")

</div>

> [@Moin](#):
>
> modalità wysiwyg

sì, capisco, riguardo al primo problema (Internal Server Error) puoi provare dalla tua parte?

[https://xxx.xxx/admin/email/preview-digest](https://xxx.xxx/admin/email/preview-digest)

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [30 Agosto 2025, 8:35am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/6 "2025-08-30T08:35:20Z")

</div>

Ha funzionato bene per me. Cosa hai inserito in “Ultimo utente visto”, il campo in cui inserisci la data?

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [30 Agosto 2025, 10:10am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/7 "2025-08-30T10:10:35Z")

</div>

Niente, è predefinito: 25/08/23

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/4/8/948ab212347be255c89dc72be3bebbb145995834.png)

potresti per favore condividere uno screenshot dal tuo lato?

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [30 Agosto 2025, 11:24am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/8 "2025-08-30T11:24:51Z")

</div>

Sono riuscito a riprodurre il bug dopo aver cambiato la lingua della mia interfaccia in arabo. L’anteprima del riepilogo delle attività funziona correttamente in tedesco o inglese (con numeri ASCII), ma fallisce con i numeri arabi.

Passaggi per riprodurre:

1. Cambia la lingua della tua interfaccia in arabo
2. Naviga su `/admin/email/preview-digest`
3. Seleziona una data nel selettore di date e aggiorna
  - Risultato atteso: Vedi il riepilogo come lo vedresti quando la tua interfaccia è in inglese
  - Risultato effettivo: Nessun riepilogo, solo un caricamento infinito nell’interfaccia, errore 500 nella console del browser, voce in `/logs`

4. Ricarica la pagina per interrompere il caricamento
5. Inserisci un’e-mail e fai clic su “invia”
  - Risultato atteso: Il riepilogo viene inviato come se la tua interfaccia fosse in inglese
  - Risultato effettivo: Popup con errore interno del server, nessuna e-mail inviata, errore 500 nella console del browser, voce in `/logs`

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [30 Agosto 2025, 11:33am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/9 "2025-08-30T11:33:46Z")

</div>

Sì, questo problema si è verificato solo in lingua araba, ho provato a passare all’inglese e funziona bene.

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [31 Agosto 2025, 6:20pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/10 "2025-08-31T18:20:58Z")

</div>

C’è un piano per risolvere il problema? C’è un modo per inviare una newsletter a tutti i membri via email sul mio forum? come il modello nelle email di digest?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [31 Agosto 2025, 11:17pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/11 "2025-08-31T23:17:13Z")

</div>

Mettere un #pr-welcome su questo, probabilmente vogliamo fare una conversione di data dai numeri arabi in modo che il resto del codice non si interrompa.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [4 Settembre 2025, 3:35pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/13 "2025-09-04T15:35:46Z")

</div>

@xkhalid Anche altri selettori di date in Discourse funzionano correttamente per te?  
Ad esempio

- funziona l’“inserisci ora” dal menu Altro nell’editor?  

- funziona la selezione di un intervallo di tempo nella tua dashboard di amministrazione?  

- funziona il filtro nei log delle azioni dello staff?  

Se funzionano, potrebbero essere usati come modello per modificare il DatePicker nel riepilogo delle attività.

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [6 Settembre 2025, 5:37pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/14 "2025-09-06T17:37:55Z")

</div>

> [@Moin](#):
>
> funziona “inserisci ora” dal menu Altro nell’editor?

No

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/d/7/6d7552fe94d7c3822a7cfc78a0cd9285a4b44136.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/a/d/e/adef43b8909e4450cc3e6dc350d4dfd7ff8dcf4f.png)

* * *

> [@Moin](#):
>
> funziona selezionare un intervallo di tempo nella dashboard di amministrazione?

No

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/1/f/71ffd32668edae50704946169761b7cc10c8e55b.png)

* * *

> [@Moin](#):
>
> funziona filtrare i log delle azioni dello staff?

No

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/6/2/262d6466673a6fd2b26753b2dd12b88c37169707.png)

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [7 Settembre 2025, 7:36am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/15 "2025-09-07T07:36:52Z")

</div>

Allora non sono sicuro che abbia senso correggere individualmente l’intervallo di tempo nel riepilogo dell’attività, cosa che forse avrei potuto fare.  
Per me, questo sembra un problema fondamentale che richiede una soluzione generale per tutti gli input di data.

---

<div class="post-metadata">

### Author: ![ghassan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ghassan/32/263566_2.png) [@ghassan](https://meta.discourse.org/u/ghassan)
#### Post date: [10 Settembre 2025, 7:27pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/16 "2025-09-10T19:27:39Z")

</div>

Sto guardando questo, penso di avere un codice funzionante per la seconda istanza (editor rich) e per la prima penso che possiamo creare un middleware che trasformi i parametri relativi alla data locale.

Sto committando le mie modifiche in questo branch repo: [GitHub - ghassanmas/discourse at local-date-fix-ar](https://github.com/ghassanmas/discourse/tree/local-date-fix-ar)

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [13 Settembre 2025, 6:43pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/17 "2025-09-13T18:43:32Z")

</div>

Grazie @ghassan per il tuo contributo.

Sto pensando di provare questo sul mio forum, ma è meglio testarlo prima in un ambiente di staging.

---

<div class="post-metadata">

### Author: ![ghassan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ghassan/32/263566_2.png) [@ghassan](https://meta.discourse.org/u/ghassan)
#### Post date: [15 Settembre 2025, 8:15am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/18 "2025-09-15T08:15:46Z")

</div>

Sì, non è ancora pronto, ho trovato un altro caso limite per i numeri persiani/urdu.

Inoltre, penso che potrebbe esserci una soluzione più semplice, in modo che _i numeri/le date vengano salvati e trasferiti in formato ASCII_ e localizzati solo a livello di visualizzazione.

Ciò dovrebbe funzionare assumendo che momentjs o moment-timezone siano sempre consapevoli della locale corretta.

Per quanto riguarda l’immagine che hai caricato. sei d’accordo che la data debba essere ruotata ``٢٥-٠٨-٢٠٢٤``?

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/7/0/270d9683b95a0fc792597ccc15118c4e9090fd49.png)

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [15 Settembre 2025, 8:21am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/19 "2025-09-15T08:21:46Z")

</div>

Se i numeri venissero invertiti, sarebbe molto confusionario per gli utenti arabi, dato che in arabo partiamo naturalmente da **sinistra verso destra con giorno → mese → anno**.

Il modo in cui la data viene visualizzata in arabo da parte nostra è corretto, come mostrato nello screenshot.

Detto questo, mi piace molto la tua idea: la soluzione migliore sarebbe effettivamente quella di **memorizzare i numeri in inglese (ASCII) e localizzarli solo a livello di visualizzazione** a seconda della lingua. È un approccio eccellente.

---

<div class="post-metadata">

### Author: ![ghassan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ghassan/32/263566_2.png) [@ghassan](https://meta.discourse.org/u/ghassan)
#### Post date: [15 Settembre 2025, 8:30am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/20 "2025-09-15T08:30:56Z")

</div>

> [@xkhalid](#):
>
> Se i numeri fossero invertiti, sarebbe molto confusionario per gli utenti arabi, dato che in arabo partiamo naturalmente da **sinistra verso destra con giorno → mese → anno**.

Interessante, sono un madrelingua arabo, ma penserei al contrario.

---

<div class="post-metadata">

### Author: ![ghassan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ghassan/32/263566_2.png) [@ghassan](https://meta.discourse.org/u/ghassan)
#### Post date: [15 Settembre 2025, 11:44am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/21 "2025-09-15T11:44:59Z")

</div>

@xkhalid ecco la patch per il secondo approccio [GitHub - ghassanmas/discourse at local-date-fix-improvment](https://github.com/ghassanmas/discourse/tree/local-date-fix-improvment)

Puoi confermare dalla tua parte che ha risolto i due casi?

---

<div class="post-metadata">

### Author: ![xkhalid](https://avatars.discourse-cdn.com/v4/letter/x/3ab097/32.png) [@xkhalid](https://meta.discourse.org/u/xkhalid)
#### Post date: [15 Settembre 2025, 12:14pm UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/22 "2025-09-15T12:14:19Z")

</div>

@ghassan Sfortunatamente, non ho un ambiente di test separato; ho solo il server di produzione con cui lavorare ☹

---

<div class="post-metadata">

### Author: ![ghassan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ghassan/32/263566_2.png) [@ghassan](https://meta.discourse.org/u/ghassan)
#### Post date: [23 Settembre 2025, 11:35am UTC](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954/23 "2025-09-23T11:35:28Z")

</div>

Ho testato sullo sviluppo locale.

Ecco la PR [fix: when date locale isnt ascii by ghassanmas · Pull Request #34914 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/34914)

Deve ancora correggere alcuni test (perché ho anche aggiunto miglioramenti in modo che l’editor rich mostri date locali), probabilmente necessita di aggiungere altri test.

Sarebbe meglio ottenere un 👍 sulla direzione prima di dedicarsi alla correzione/aggiunta dei test.

[Pagina seguente](https://meta.discourse.org/t/internal-server-error-when-previewing-digest-emails/380954.md?page=2)
