OdooWiki OCA HUB

Web Loading Block UI

web_loading_block_ui folder_open OCA/web open_in_new
Web License: LGPL-3

Since Odoo 17.0 the loading indicator is a small badge in the bottom right corner of the screen and the user interface keeps accepting input while a request is still running. Odoo 16.0 and earlier blocked the whole screen with a blurred overlay and a centered spinner when a request took longer than a few seconds.

This module restores that behaviour on top of the current loading indicator: when a request stays pending for longer than a configurable delay, the screen is blocked with the standard Odoo overlay (blurred background and centered "Loading..." spinner) until every pending request has been answered.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Restores the old-style full-screen loading overlay: when a request takes longer than a configurable delay (3 seconds by default), the whole screen is blocked with a blurred background and a centered spinner until all requests finish.

In current Odoo versions the loading indicator is only a small badge in the corner and users can keep clicking while the system is still working. This module brings back the older, safer behaviour.

  • When a request starts and nothing else is running, a timer begins. If the request is still pending after the configured delay, the entire interface is blocked with the standard blurred overlay and centered "Loading..." spinner.
  • The screen stays blocked until every pending request has been answered, then it is released automatically.
  • Requests marked as silent (background calls that should not disturb the user) never trigger the block.
  • The delay is configurable through the system parameter web_loading_block_ui.delay, which is created with a default value of 3000 milliseconds (3 seconds). The value is read at session start and sent to the browser, so it applies to the whole web client.
  • The module only touches the web client behaviour: it extends ir.http to expose the delay in the session information and patches the loading indicator component. No new menus, screens or reports are added.

This is useful to prevent users from clicking twice or launching duplicate actions while the server is still processing a slow request.

Depends on

web
Models and fields (1)
  • ir.http · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

The delay before the screen is blocked is stored in the system parameter web_loading_block_ui.delay, expressed in milliseconds and counted from the moment the first request starts. The default value is 3000, which matches the behaviour of Odoo 16.0 and earlier.

To change it, enable developer mode and go to Settings > Technical > System Parameters. Set the value to 0 to block the screen as soon as a request starts. Users need to reload the page for a new value to be applied.

Trigger any action that takes longer than the configured delay, for example opening a heavy report or saving a large record. The screen is blurred and a centered "Loading..." spinner is shown until the action finishes. Requests marked as silent by Odoo (background polling, notifications) never block the screen.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.