Details
Description
On the manage case screen for a case http://<server>/index.php?q=civicrm/contact/view/case&reset=1&id=2&cid=6&action=view&context=dashboard&selectedChild=case (replace id and cid to match a case in your installation) if you expand the Case Roles section there's a link to Add New Role. The code is in templates/CRM/Case/Form/CaseView.tpl in the javascript function addRole(). To create that code I had copied and pasted the code that was already in that file for assigning a case role, and then for convenience did the same thing that the delete role assignment action does where it just does a page reload at the end instead of some more ajax-like action to update the html table.
The problem is that when using https, the extra time it takes is too long and the page reloads before the ajax call to create the relationship completes, so you see the page reload, and there's no error, but the role isn't added. I imagine you might also see this happen on slow connections using regular http.
So I think the fix is to make it more ajax-ish instead of doing the page reload.
And similarly the code for the delete role assignment action should be more ajax-ish.