Subscriptions.ticketLiveUserUpdates

Infos:

  • Used Zammad version: 6.5.0-1746690707.4cf012fd.noble
  • Used Zammad installation type: package
  • Operating system: Ubuntu 24.04
  • Browser + version: Safari, Firefox, Edge

Steps to reproduce the behavior:

Hello everyone, I get, every time I open a ticket, since a migration from Zammad to another server I get the following error message

Reinstallation is not possible…

Actual behavior:

Found two visible definitions for `Subscriptions.ticketLiveUserUpdates`: #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>, #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>

Hello,
I too have this problem updating through the source method from 6.4.2 to 6.5.0.
The version of Ubuntu is 24.04, another user also had this problem but the one who did the same as me on the other hand the downgrade of the version.
https://community.zammad.org/t/found-two-visible-definitions-for-subscriptions-ticketliveuserupdates/17457/3
The complete error that I receive is this:

Started PUT "/api/v1/taskbar/2414" for 172.26.4.40 at 2025-05-08 07:48:32 +0000
I, [2025-05-08T07:48:32.653732#37831-197000]  INFO -- : Processing by TaskbarController#update as JSON
I, [2025-05-08T07:48:32.653855#37831-197000]  INFO -- :   Parameters: {"key"=>"Ticket-128822", "callback"=>"TicketZoom", "state"=>{"ticket"=>{}, "article"=>{"form_id"=>"13617378-c7c9-4d53-b18c-1e2bd896875e"}}, "params"=>{"ticket_id"=>128822, "overview_id"=>1, "init"=>true}, "prio"=>2, "notify"=>false, "active"=>true, "attachments"=>[], "updated_at"=>"2025-05-08T07:09:14.626Z", "id"=>"2414"}
E, [2025-05-08T07:48:32.685186#37831-197000] ERROR -- : Found two visible definitions for Subscriptions.ticketLiveUserUpdates: #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>, #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!> (GraphQL::Schema::DuplicateNamesError)
app/graphql/gql/subscriptions/base_subscription.rb:44:in trigger'
app/models/taskbar/triggers_subscriptions.rb:27:in trigger_live_user_subscriptions'
app/controllers/application_controller/renders_models.rb:56:in model_update_render'
app/controllers/taskbar_controller.rb:22:in update'
app/controllers/application_controller/handles_transitions.rb:16:in handle_transaction'
I, [2025-05-08T07:48:32.687723#37831-197000]  INFO -- : Completed 500 Internal Server Error in 34ms (Views: 0.2ms | ActiveRecord: 5.5ms (15 queries, 6 cached) | GC: 0.4ms)

I checked the file opt/zammad/app/graphql/gql/subscriptions/ticket_live_user_updates.rb but there is no repetition of this subscription

I sent this to Zammad support, but without a contract or workshop, I am not getting any help.

Let me briefly summarize how this error occurred.

I performed a migration from Zammad to another server.

Backup of the old system following the instructions:
Ubuntu 22.04
Zammad Version 6.4.1
/opt/zammad/contrib/backup/zammad_backup.sh

Installed a fresh Zammad on the new system → No issues
Ubuntu 24.04
Zammad Version 6.5
Restored the backup following the instructions:
/opt/zammad/contrib/backup/zammad_restore.sh

Now, whenever I open an existing ticket, I receive the following error message on the UI:

StatusCode: 500
Found two visible definitions for Subscriptions.ticketLiveUserUpdates: #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>, #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>

The Production.log shows the following:

I, [2025-05-08T13:11:39.357899#26214-250640] INFO -- : Started GET "/api/v1/tickets/12577?all=true&auto_assign=true&_=1746708564257" for 192.168.11.12 at 2025-05-08 13:11:39 +0000
I, [2025-05-08T13:11:39.360096#26214-250640] INFO -- : Processing by TicketsController#show as JSON
I, [2025-05-08T13:11:39.360330#26214-250640] INFO -- : Parameters: {"all"=>"true", "auto_assign"=>"true", "_"=>"1746708564257", "id"=>"12577"}
I, [2025-05-08T13:11:39.360238#26214-235000] INFO -- : Started POST "/api/v1/taskbar" for 192.168.11.12 at 2025-05-08 13:11:39 +0000
I, [2025-05-08T13:11:39.363521#26214-235000] INFO -- : Processing by TaskbarController#create as JSON
I, [2025-05-08T13:11:39.363560#26214-235000] INFO -- : Parameters: {"key"=>"Ticket-12577", "callback"=>"TicketZoom", "params"=>{"ticket_id"=>12577, "overview_id"=>4, "shown"=>true}, "prio"=>7, "notify"=>false, "active"=>true, "id"=>"c-14"}
E, [2025-05-08T13:11:39.380819#26214-235000] ERROR -- : Found two visible definitions for Subscriptions.ticketLiveUserUpdates: #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!>, #<Gql::Fields::BaseField Subscriptions.ticketLiveUserUpdates(...): TicketLiveUserUpdatesPayload!> (GraphQL::Schema::DuplicateNamesError)
app/graphql/gql/subscriptions/base_subscription.rb:44:in `trigger'
app/models/taskbar/triggers_subscriptions.rb:27:in `trigger_live_user_subscriptions'
app/controllers/application_controller/renders_models.rb:26:in `model_create_render'
app/controllers/taskbar_controller.rb:17:in `create'
app/controllers/application_controller/handles_transitions.rb:16:in `handle_transaction'
I, [2025-05-08T13:11:39.385119#26214-235000] INFO -- : Completed 500 Internal Server Error in 21ms (Views: 0.1ms | ActiveRecord: 13.0ms (14 queries, 6 cached) | GC: 0.7ms)

The subscription was moved and looks like you still have both file versions. Seems that you update did not work correctly. Or the movement to the new server.

And when you did a full backup on 6.4.1, I think you can not do a simple restore on a fresh 6.5, because then the files are no longer matching.

Might be worth reading: Restore — Zammad System Documentation documentation

Hello dominikklein,

I was able to fix the problem last night.

My thinking error was, as you just described, the version difference.

After I updated the old system to 6.5 and then first created the backup, then transferred and restored, everything ran again.

Actually I don’t have a problem like this because I have 2 separate environments one for production and one for staging.
When I have to do an update obviously I update staging, test and then I also upgrade production.
But I don’t understand why there should be 2 files? I did the update following the Source guide: Updating Zammad — Zammad System Documentation documentation