UI allows a multi-select option. There is no limit to multi-selection. Users can select from one up-to item in the range of millions.
When the User triggers an action based on the number of items to be acted, there will be a delay in the server. We have a standard rule from our backend. If the number of items is less than 300, all transactions will be done synchronous to the DB and the response will be given to the client. If it is more than that, we will queue the transactions and inform the User that the actions are queued. We receive the success of items one by one as a message when the queue is processed. Based on the message, we will update the UI, if the UI is in view. It will be smooth if the user is in the same view. Users will be able to see the items that are getting processed.
I am thinking of having a status widget where Users will be able to see the success status of their bulk actions. As our backend serves a very large user base, all operations are queued and transactions are committed. Users can trigger bulk actions and keep on working on the same or other parts of UI. There are no restrictions as of now. I want to present a better Ux with respect to items that are already under processing.
Example Consider the Outlook-like UI. You will have several folders and you can multi-select 10000 emails in a folder and bulk delete it. After triggering the action, you can move to another folder and keep on working. In this case, I want to give a better Ux. A status widget is one such solution. Other solutions are welcomed.
As of now, we inform the user that it is scheduled for action and will update the UI one by one after processing. Users won't be able to find which items are underprocessing and whether it is completed or not.