i'm trying to enable sieve on my dovecot installation, but it seems i'm missing something.
Managesieve is ok, i can mange script, but they have no effect at all
i've got no error in logs, but no filter is applied

here is my dovecot conf :


# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 4.9.0-4-amd64 x86_64 Debian 9.3 ext4
dict {
  quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
hostname = onjase.org
mail_location = maildir:/srv/vmail/%d/%n:INDEX=/srv/vmail/%d/%n/indexes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
}
passdb {
  driver = pam
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  antispam_allow_append_to_spam = no
  antispam_backend = pipe
  antispam_debug_target = syslog
  antispam_pipe_program = /usr/bin/sa-learn
  antispam_pipe_program_args = --no-sync
  antispam_pipe_program_notspam_arg = --ham
  antispam_pipe_program_spam_arg = --spam
  antispam_spam = Junk
  antispam_trash = Trash
  antispam_verbose_debug = 1
  quota = dict:%u::proxy::quota
  quota_rule = *:storage=10M:messages=1000
  quota_warning = storage=99%% quota-warning 99 %u
  quota_warning2 = storage=97%% quota-warning 97 %u
  quota_warning3 = storage=95%% quota-warning 95 %u
  quota_warning4 = storage=90%% quota-warning 90 %u
  quota_warning5 = storage=85%% quota-warning 85 %u
  quota_warning6 = storage=80%% quota-warning 80 %u
  quota_warning7 = storage=75%% quota-warning 75 %u
  sieve = ~/dovecot.sieve
  sieve_before = /srv/vmail/global_sieve/
  sieve_dir = ~/sieve
}
postmaster_address = postmaster@onjase.org
protocols = " imap sieve pop3"
quota_full_tempfail = yes
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }
}
service dict {
  unix_listener dict {
    mode = 0600
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener lmtp {
    mode = 0666
  }
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = vmail
}
ssl_cert = </etc/letsencrypt/live/mail.onjase.org-0001/fullchain.pem
ssl_key =  # hidden, use -P to show it
userdb {
  driver = passwd
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol lda {
  mail_plugins = " sieve quota"
}
protocol imap {
  mail_max_userip_connections = 10
  mail_plugins = " quota imap_quota antispam"
}