<table role="table">
<thead>
<tr>
<th>Q</th>
<th>A</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bug report?</td>
<td>yes</td>
</tr>
<tr>
<td>Feature request?</td>
<td>no</td>
</tr>
<tr>
<td>BC Break report?</td>
<td>yes</td>
</tr>
<tr>
<td>RFC?</td>
<td>no</td>
</tr>
<tr>
<td>Symfony version</td>
<td>3.3.10</td>
</tr>
</tbody>
</table>
<p dir="auto">After upgrading from 3.2 to 3.3.  Files collection is now just empty in controller when updating entity without selecting new files. So it just removes the file entities. It used to work before 3.3 now it fails.<br>
Maybe I missed something and it's  planned changes in form file type behavior?</p>
<p dir="auto">Here is a demo which shows the issue  <a href="https://github.com/skornev/vichbundle-sandbox-not-cp-symfony3.3">https://github.com/skornev/vichbundle-sandbox-not-cp-symfony3.3</a></p>
<p dir="auto">This issue was raised here <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="266887250" data-permission-text="Title is private" data-url="https://github.com/dustin10/VichUploaderBundle/issues/776" data-hovercard-type="issue" data-hovercard-url="/dustin10/VichUploaderBundle/issues/776/hovercard" href="https://github.com/dustin10/VichUploaderBundle/issues/776">dustin10/VichUploaderBundle#776</a>.</p>
<table role="table">
<thead>
<tr>
<th>Q</th>
<th>A</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bug report?</td>
<td>no</td>
</tr>
<tr>
<td>Feature request?</td>
<td>no</td>
</tr>
<tr>
<td>BC Break report?</td>
<td>possibly</td>
</tr>
<tr>
<td>RFC?</td>
<td>no</td>
</tr>
<tr>
<td>Symfony version</td>
<td>3.3.10</td>
</tr>
</tbody>
</table>
<p dir="auto">Hello,<br>
The change introduced in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="257636495" data-permission-text="Title is private" data-url="https://github.com/symfony/symfony/issues/24198" data-hovercard-type="pull_request" data-hovercard-url="/symfony/symfony/pull/24198/hovercard" href="https://github.com/symfony/symfony/pull/24198">#24198</a> broke our file upload bundle. Our flow looks like this:</p>
<ol dir="auto">
<li>We use a form to create an entity with a file, using a form field which is not actually persisted. From it, we create a copy of the upload locally and only the file path is persisted to the database.</li>
<li>On post load event, we recreate the file object from the file path in the database and then put it in the non-persisted entity field.</li>
<li>When editing the entity through a form, we do not initially pass the file to the field, but instead do it if none was sent. This prevents the current value being treated as a new one and overwriting itself in the process (current file being deleted and being replaced with the same file, with a suffixed name).</li>
</ol>
<p dir="auto">The problem we face now is that the form fields are being completely removed from the request and we have no hook for our functionality. Is there a possibility to revert this change? From what I can tell, it does not actually fix anything, but provides an easier way to deal with empty uploads.</p>