Unable to de-select components from selected components in metadata grid from deployment record

When performing deployments we might deal with some issues related to some components and need to remove those components to prevent these components from getting deployed to the target org, so sometimes it can happen that we are not able to de-select the components from selected components in the metadata grid from deployment record. 

In order for a user to be able to de-select components from a deployment record, you need to assign to the profile the Custom Permission below:

Copado Deployer.copado.Edit Git Promotion Step

For example, here the custom permission is enabled for a profile so a user who belongs to this profile can de-select components in the metadata grid from the deployment record.
User-added image

Please note: We do not recommend this. When a component is de-selected in the deployment record, it will not be deployed BUT, the promotion branch already contains the changes related to that component and they will be merged into the target branch. This will leave the branch and the org out of sync for that particular component.

If that is done too often, the branches will more and more out of sync and this will lead to unexpected behavior in the future.

Ideally, a component should be removed from a deployment record when it's blocking and urgent deployment and you cannot, or you do not have time to exclude it in the proper way which is by excluding the component from the user story with the recommit + recreate feature.

How did we do?