Macros Dont work after upgrade 4.1 to 5.in overviews "Resolved"

  • Used Zammad version: 5.0

  • Used Zammad installation type: (source, package, docker-compose, …)
    Source

  • Operating system:

Ubuntu 20.04

  • Browser + version:

Chrome 94
And Edge

Expected behavior:

Drag ticket in an overview to a macro and it will apply settings like tags close move etc…

Actual behavior:

Drag a ticket to a Macro in over views and nothing happens
macros worked in 4.1 before update are existing macros

Steps to reproduce the behavior:

try upgrade to 5.0 from 4.1

Macro Works inside the ticket,
but not via Drag and drop in Overviews

I can confirm this.

zammad version: 5.0.0-1633523150.497b6aae.buster
source: package
os: deb10
browser: chrome

cheers

Sorry but I cannot reproduce that on a current version.
Ensure your cache is clean and try again.

Setting state, owner and tag was no issue at all.

do you mean local user or server cache

zammad run rails r “Cache.clear”

i just tried both and still cant use Macros :frowning:

I also encountered this problem. What I did was delete the /opr/zammad folder and reinstall it. Then everything went back to work properly.

I still have a snapshot with a problem.
The following error can be seen in the console:

image

Thats Crazy, did you back up that folder first ? what about the storage container ?

ok with some thought on this i copied the zammad directory, zammad.bak

reinstalled zammad

renamed fs directory in new zammad/storage to fs.bak
copied fs from backup directory to new zammad / storage /
chown -R fs
chmod -R 755 fs

and seems all is ok so far, no console errors Macros work again.

i have the same problem, but i can’t just delete zammad and the configuration.

what is the best way to solve this with a running instance?

can i just copy the config from the old zammad folder? Or do i need to transfer other folders again to work as usual?

Or should I directly import a current backup into a naked zammad?

Can’t it be simpler? Without data loss and without backup restore? :S

I get this one.

1 Like

you wont loose anything if you copy back the fs directory and its contents,

here is what i did exactly.

sudo systemctl stop zammad
sudo systemctl stop zammad-worker

sudo mv ./opt/zammad /opt/zammad.bak
sudo apt-get install --reinstall zammad

once reinstalled

sudo systemctl stop zammad
sudo systemctl stop zammad-worker

sudo mv /opt/zammad/storage/fs /opt/zammad/storage/fs.bak
sudo cp -R /opt/zammad.bak/storage/fs /opt/zammad/storage

sudo chown -R zammad:zammad /opt/zammad/storage/fs
sudo chmod 755 -R /opt/zammad/storage/fs

sudo systemctl restart zammad
sudo systemctl restart zammad-worker

and then check everything is working and no data loss and if happy you can remove
/opt/zammad.bak to regain disk and also the /opt/zammad/storage/fs.bak

good luck

Thanks

but to be sure always take a back up or if its virtual snapshot the server

ok disappointing Zammad patch release broke it again :frowning: so really not sure why this is happening

Here as well. This is obviously a Zammad bug.

For me it is also directly back after the latest patch.

I can’t create new macros or change old ones.

Is there already a git issue for this?

i have not opened one as @MrGeneration was already on this thread maybe he can re check

1 Like

I had a bug report open on this issue in github, but it’s just been closed with an “unable to reproduce” response which is a bit of a problem for us as we’ve been left with a ticket system that’s effectively broken with no clear way of how to attempt to fix it.

If it’s not only affecting us, surely it’s not just something we have done? We’ve not tried to “hack” the system in any way, just carrying out “apt” updates as and when they are available and the OS was a fresh install just for Zammad.

Anyone have any ideas of how we can regain a usable system?

@YosefAdPro I’m seeing a similar error in the console when trying:

@Anagastes has yet provided the most complete traceback from developer console.
Could you check where HTTP/405 comes from?

Is that your proxy only or is it caused by the application?
Exact timestamps may help to find the issue within the production.log.


For transparency:
I’ve tried to reproduce several types or bug reports from community members and this thread by the information that were provided. I cross checked on Debian 10 package, Ubuntu 20 package and SaaS and am unable to reproduce the behavior.

I’m using a vanilla Chrome v94 without any addons installed.
The package installation does follow our documentation entirely with pgsql and nginx.

I’d love to verify this, however, am unable to.
Being able to reproduce the behavior on “clean” systems is crucial for our development team to reliably fix the issue. I do understand that this is frustrating to many of you.

We are not aware of any paid customers being affected, no matter if self hosting or being hosted by us.
If there are paying customers having this issue, they didn’t notify us (yet).

Small correction:
If ANYONE does use type as ticket attribute, this may be your issue.
The only working workaround known as of now is to not use macro bulk operations or to ensure type is not set to a single value in that moment.

See: ActionController::UnknownHttpMethod FRAGE · Issue #3807 · zammad/zammad · GitHub

Please refrain from posting me toos as I’ll quickly shut the ticket to contributors only. We don’t want that. ;-(

A thousand thanks for your commitment. I know how frustrating it can be, even as a developer, not to be able to recreate something. :slight_smile:

We don’t have a proxy in between. We use a VPN but its IP ip is shared in NGINX.

upstream zammad-railsserver {
  server 127.0.0.1:3000;
}

upstream zammad-websocket {
  server 127.0.0.1:6042;
}

server {
  listen 80;
  listen [::]:80;

  server_name zammad.XXX.net;

  # security - prevent information disclosure about server version
  server_tokens off;

  access_log /var/log/nginx/zammad.access.log;
  error_log /var/log/nginx/zammad.error.log;

  location /.well-known/ {
    root /var/www/html;
  }

  return 301 https://$server_name$request_uri;

}


server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name zammad.XXX.net;

  # security - prevent information disclosure about server version
  server_tokens off;

  ssl_certificate /etc/letsencrypt/live/zammad.XXX.net/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/zammad.XXX.net/privkey.pem;

  ssl_protocols TLSv1.2 TLSv1.3;

  ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

  ssl_dhparam /etc/nginx/ssl/dhparam.pem;

  ssl_prefer_server_ciphers on;

  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 180m;

  ssl_stapling on;
  ssl_stapling_verify on;

  ssl_trusted_certificate /etc/letsencrypt/live/zammad.XXX.net/fullchain.pem;

  resolver 8.8.8.8 8.8.4.4;

  add_header Strict-Transport-Security "max-age=31536000" always;

  location = /robots.txt  {
    access_log off; log_not_found off;
  }

  location = /favicon.ico {
    access_log off; log_not_found off;
  }

  root /opt/zammad/public;

  access_log /var/log/nginx/zammad.access.log;
  error_log  /var/log/nginx/zammad.error.log;

  client_max_body_size 50M;

  location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico|apple-touch-icon.png) {
    expires max;
  }

  location /ws {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header CLIENT_IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_read_timeout 86400;
    proxy_pass http://zammad-websocket;
  }

  location / {
    proxy_set_header Host $http_host;
    proxy_set_header CLIENT_IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;

    # change this line in an SSO setup
    proxy_set_header X-Forwarded-User "";

    proxy_read_timeout 180;
    proxy_pass http://zammad-railsserver;

    # allow Office-IP
    allow XXX.XXX.XXX.XXX;
    # allow VPN-IP
    allow XXX.XXX.XXX.XXX;
    # drop rest of the world 
    deny    all;

    gzip on;
    gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
    gzip_proxied any;
  }

    location ^~ /.well-known/acme-challenge/ {
      alias /var/www/acme-challenge/;
    }
}

We also do not use the name “type” in any macro. Would have been too nice for ne quick solution :D.

Following the log excerpt from production.log.

I, [2021-10-13T20:25:12.706053 #12488-50281180]  INFO -- : Started POST "/api/v1/tags/add" for XXX.XXX.XXX.XXX at 2021-10-13 20:25:12 +0200
I, [2021-10-13T20:25:12.710788 #12488-51013960]  INFO -- : Started STANDARD "/api/v1/tickets/977938" for XXX.XXX.XXX.XXX at 2021-10-13 20:25:12 +0200
I, [2021-10-13T20:25:12.717999 #12488-50281180]  INFO -- : Processing by TagsController#add as JSON
I, [2021-10-13T20:25:12.718065 #12488-50281180]  INFO -- :   Parameters: {"object"=>"Ticket", "o_id"=>977938, "item"=>"Spam"}
F, [2021-10-13T20:25:12.723138 #12488-51013960] FATAL -- :   
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] ActionController::UnknownHttpMethod (STANDARD, accepted HTTP methods are OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, ORDERPATCH, ACL, SEARCH, MKCALENDAR, and PATCH):
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185]   
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/http/request.rb:433:in `check_method'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/http/request.rb:145:in `request_method'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/request.rb:187:in `head?'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/journey/router.rb:113:in `find_routes'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/routing/route_set.rb:834:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:420:in `call_app!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth-saml (1.10.3) lib/omniauth/strategies/saml.rb:86:in `other_phase'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:190:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:192:in `call!'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/strategy.rb:169:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] omniauth (1.9.1) lib/omniauth/builder.rb:45:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/etag.rb:27:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/conditional_get.rb:40:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/head.rb:12:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/cookies.rb:654:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] activesupport (6.0.4.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/rack/logger.rb:37:in `call_app'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/rack/logger.rb:26:in `block in call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] activesupport (6.0.4.1) lib/active_support/tagged_logging.rb:80:in `block in tagged'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] activesupport (6.0.4.1) lib/active_support/tagged_logging.rb:28:in `tagged'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] activesupport (6.0.4.1) lib/active_support/tagged_logging.rb:80:in `tagged'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/rack/logger.rb:26:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/request_id.rb:27:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/method_override.rb:24:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/runtime.rb:22:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] activesupport (6.0.4.1) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/static.rb:126:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] actionpack (6.0.4.1) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/engine.rb:527:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/railtie.rb:190:in `public_send'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] railties (6.0.4.1) lib/rails/railtie.rb:190:in `method_missing'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] puma (4.3.8) lib/puma/configuration.rb:228:in `call'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] puma (4.3.8) lib/puma/server.rb:718:in `handle_request'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] puma (4.3.8) lib/puma/server.rb:472:in `process_client'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] puma (4.3.8) lib/puma/server.rb:328:in `block in run'
[bc5e8b6e-73c1-4fe1-abb6-d27ee1243185] puma (4.3.8) lib/puma/thread_pool.rb:134:in `block in spawn_thread'
W, [2021-10-13T20:25:12.759369 #12488-50281180]  WARN -- : Scoped order is ignored, it's forced to be batch order.
I, [2021-10-13T20:25:12.773645 #12488-50281180]  INFO -- : Completed 201 Created in 55ms (Views: 0.2ms | ActiveRecord: 14.9ms | Allocations: 19860)

Oh, I think I misunderstood about the “type” statement for macros.

So this is not allowed in v5?

How can I then make a macro that can bulk orders and provides tickets with a “label”. :smiley:

hmmm where does that value Standard come from?
Is that a drop down? What’s the name of the field? The type?