What can break quickedit, and how do I fix it?
If there is not an obvious error in php or javascript, see the comment from @mradcliffe, then there are probably some attributes missing, because they were removed in twig templates.

The quickedit links are not delivered in html, they are build in javascript. For this the attributes to identify the involved entities and fields need to be present.

Look especially for the attributes data-quickedit-entity-id in node templates and data-quickedit-field-id in field templates. 

This is the correct way to add attributes in twig:

{%
  set classes = [
    'red',
    'green',
  ]
%}
&lt;div{{ attributes.addClass(classes) }}&gt;&lt;/div&gt;


Source: https://www.drupal.org/docs/8/theming-drupal-8/using-attributes-in-templates