Troubleshoot work item form caching issues

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

To quickly render work items in your client or browser, several data elements are cached by the IndexDB process. A known issue exists in the cache rules that can cause a delay in server-side rule re-evaluations.

This issue may cause rules added to a work item type to evaluate improperly. Specifically, this issue occurs when modifying a work item in a web browser and a change to a user's group membership causes a change in how a conditional rule should be evaluated. For example, a user is added to a group that lifts a restricted state change, but the user's browser doesn't immediately accept the change in the user's status.

If you come across this issue and take no action, the issue will self-resolve. Each user's cache automatically updates every three days with a full update of membership information. Otherwise, you can resolve the issue by following the instructions provided in Clear the IndexDB cache later in this article.

Background information on issue cause

Each work item uses IndexedDB to cache work item type information and other meta data. Included in the information are rules added to the work item type. User and group-based rule restrictions are evaluated on the server-side. Permissions that prohibit or allow certain actions are applied to the user based on the evaluation.

For the Inherited process model, conditional rules include rules with the following conditions:

User and group membership conditions, Inherited process

For the Hosted XML and On-premises XML process models, conditional rules include rules with the for or not attributes, such as:

<FIELD name="Triage Description">
    <READONLY not="[Project]\Triage Committee" />
</FIELD>

Rules are always evaluated from the web cache. Rules that are impacted by user or group membership changes aren't reevaluated in real time. While a potential solution is to invalidate the cache when updates to memberships are made, this solution runs up against performance constraints.

How to avoid the issue

To avoid triggering this issue in the first place, consider adding yourself to all relevant teams before you create a work item. This action ensures that the cache stores the correct information.

Clear the IndexDB cache

If your cache stores outdated rules, you can wait for the client cache to expire within three days or you can clear the cache. To clear the cache, run the following command in the browser command window and then refresh the browser:

window.indexedDB.deleteDatabase("wit")