<p dir="auto">I am currently implementing the remember me functionality. The REMEMBERME cookie is correctly set, but the logout fails.</p>
<p dir="auto">What happens is that the LogoutListener is first called on the GetResponseEvent, but when comming <a href="https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php#L105">here</a> there is no token in the context, so the remember me logout is not called and does not delete the cookie. On the same listener routine, the remember me service is called later on and thus identifies the user.</p>
<p dir="auto">Am I doing something wrong, or the listening sequence is wrong ?</p>
<p dir="auto"><em>EDIT</em> I fixed the issue <a href="https://github.com/symfony/symfony/issues/6751#issuecomment-12378043" data-hovercard-type="issue" data-hovercard-url="/symfony/symfony/issues/6751/hovercard">here</a>, but it was because the remember me service is not registered as a logout handler automatically.</p>
<p dir="auto">The <code class="notranslate">File</code> constraint should support the following notations for the "maxSize" option:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="new File(array('maxSize' =&gt; 1234)); // bytes
new File(array('maxSize' =&gt; '2k')); // kilobytes (case insensitive)
new File(array('maxSize' =&gt; '2ki')); // kibibytes (case insensitive)
new File(array('maxSize' =&gt; '1m')); // megabytes (case insensitive)
new File(array('maxSize' =&gt; '1mi')); // mebibytes (case insensitive)

// etc."><pre class="notranslate"><span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-c1">1234</span>)); <span class="pl-c">// bytes</span>
<span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-s">'2k'</span>)); <span class="pl-c">// kilobytes (case insensitive)</span>
<span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-s">'2ki'</span>)); <span class="pl-c">// kibibytes (case insensitive)</span>
<span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-s">'1m'</span>)); <span class="pl-c">// megabytes (case insensitive)</span>
<span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-s">'1mi'</span>)); <span class="pl-c">// mebibytes (case insensitive)</span>

<span class="pl-c">// etc.</span></pre></div>
<p dir="auto">The conversion of the passed value to the number of bytes should be done already in the constructor of <code class="notranslate">File</code>, to simplify dealing with the file constraint:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="$constraint = new File(array('maxSize' =&gt; '1ki'));

assert 1024 === $constraint-&gt;maxSize;"><pre class="notranslate"><span class="pl-s1"><span class="pl-c1">$</span>constraint</span> = <span class="pl-k">new</span> <span class="pl-v">File</span>(<span class="pl-en">array</span>(<span class="pl-s">'maxSize'</span> =&gt; <span class="pl-s">'1ki'</span>));

assert <span class="pl-c1">1024</span> === <span class="pl-s1"><span class="pl-c1">$</span>constraint</span>-&gt;<span class="pl-c1">maxSize</span>;</pre></div>