Closing Work Item record tab does not release an Agent's capacity and Work Item continues to show in Omni Supervisor

Service

Last updated 2018-05-05 ·Reference W-4220290 ·Reported By 14 users

Fixed - Summer '18

Summary
When a type of work delivered by Omni-Channel is configured to open as a subtab of a related record and has its Edit action overridden with a Visualforce page that uses srcSelf to redirect to another URL, closing that tab does not close the work, preventing the next work in the queue from being delivered if you're at capacity. The affected work also continues to show in Omni Supervisor until you log out.

- Actual Result
Closing the work tab does not close the work and release the capacity

- Expected Result.
Closing the tab should close the work and release the capacity

Repro
-Configure an org with Omni-Channel.
-Create a custom object type that has a lookup field to something like Case or Contact.
-Configure Omni-Channel to be able to deliver that work (queue, service channel, presence status, routing config, etc.) and an agent that can receive it. Make it so that your agent can only accept one of that work item at a time to simplify testing.
-Configure your console app to open that type of object as a subtab of the object type you set in your lookup field
-Create a VF page that looks roughly like:
<apex:page standardController="TestObj__c">
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script>
var retUrl = '/{!TestObj__c.id}?isdtp=vw&nooverride=1';
var url = '/{!TestObj__c.id}/e?isdtp=vw&nooverride=1&retURL=' + retUrl;

srcSelf(url);
</script>
</apex:page>
-Override the Edit action on your custom object to use the VF page you created
-Queue up some custom objects in the Omni queue you created
-Go available and accept one
-Click Edit on the record, and then Save
-Close the primary tab for that record. You'll see that you don't receive another work item. Omni Supervisor will show that you still have that work item.

Workaround
You can use srcUp instead, though that doesn't always behave the same as srcSelf.

Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.