Freeze in frappe call not working

I am using the following syntax to freeze the screen while processing

frappe.xcall('method', {
		data: data,
		freeze:true, freeze_message:__("Getting Data")
	}).then(r => {
		console.log('called')
	});

To test if it really freezes the screen I added a sleep function in my python code, but it did not show the freeze msg, how exactly can we test that if data processing takes time this will work?

Did you got it to work?
What exactly does freeze does also?

freeze will hold the screen in grey till task is completed like in Bulk Update in any doctype.

But it is not working. And neither is freeze message getting displayed.

frappe.call({
                        method: "send_bulk_email",
                        args: {
                            entry_list: entry_list
                        },
                        freeze: true,
        				freeze_message:__("Sending"),
                        callback: function (res) {
                            if (res.message !== undefined) {
                                if (res.message == 'Done'){
                                    frappe.msgprint('Email sent successfully')
                                }
                            }
                        }
                    })

It will work in my case.

Hi, I think the main reason is that you are using “xcall” instead of the normal “call”, because if you look at the js function for xcall in the “request.js” file you will find the following code.

frappe.xcall = function(method, params) {
	return new Promise((resolve, reject) => {
		frappe.call({
			method: method,
			args: params,
			callback: r => {
				resolve(r.message);
			},
			error: r => {
				reject(r.message);
			}
		});
	});
};

as you can see the params are passed as args. and has no freeze value.

I was using frappe.call only.