From 5d65427f4b715c5763fdcc388ca12a9a811dd0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Pardou?= <571533+jrmi@users.noreply.github.com> Date: Wed, 18 Feb 2026 11:16:20 +0100 Subject: [PATCH 1/2] Show 404 error instead of throwing it for public pages (#4796) --- web-frontend/modules/builder/pages/publicPage.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web-frontend/modules/builder/pages/publicPage.vue b/web-frontend/modules/builder/pages/publicPage.vue index e52012f4d1..2ac0e54d9a 100644 --- a/web-frontend/modules/builder/pages/publicPage.vue +++ b/web-frontend/modules/builder/pages/publicPage.vue @@ -303,7 +303,11 @@ const { data: asyncDataResult, error } = await useAsyncData( if (error.value) { // If we have an error we want to display it. - throw error.value + if (error.value.statusCode === 404) { + showError(error.value) + } else { + throw error.value + } } const workspace = computed(() => asyncDataResult.value.workspace) From 0d90ca0003a4ef30bea96fdd0c6ef2c79caa13f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20St=C5=99=C3=ADbn=C3=BD?= Date: Wed, 18 Feb 2026 12:39:35 +0100 Subject: [PATCH 2/2] Set new singleton_send_instant_notifications_summary_by_email limits (#4798) --- backend/src/baserow/config/settings/base.py | 6 ++++-- backend/src/baserow/core/notifications/tasks.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/baserow/config/settings/base.py b/backend/src/baserow/config/settings/base.py index 08691cabf9..2bce9afb50 100644 --- a/backend/src/baserow/config/settings/base.py +++ b/backend/src/baserow/config/settings/base.py @@ -180,8 +180,10 @@ "baserow.contrib.database.table.tasks.run_row_count_job": {"queue": "export"}, "baserow.core.jobs.tasks.clean_up_jobs": {"queue": "export"}, } -CELERY_TASK_SOFT_TIME_LIMIT = 60 * 5 # 5 minutes -CELERY_TASK_TIME_LIMIT = CELERY_TASK_SOFT_TIME_LIMIT + 60 # 60 seconds +CELERY_TASK_SOFT_TIME_LIMIT = int( + os.getenv("CELERY_TASK_SOFT_TIME_LIMIT") or 60 * 5 +) # default 5 minutes +CELERY_TASK_TIME_LIMIT = CELERY_TASK_SOFT_TIME_LIMIT + 60 # default 6 minutes CELERY_REDBEAT_REDIS_URL = REDIS_URL # Explicitly set the same value as the default loop interval here so we can use it diff --git a/backend/src/baserow/core/notifications/tasks.py b/backend/src/baserow/core/notifications/tasks.py index 5422126d05..6e72672306 100644 --- a/backend/src/baserow/core/notifications/tasks.py +++ b/backend/src/baserow/core/notifications/tasks.py @@ -113,7 +113,8 @@ def beat_send_instant_notifications_summary_by_email(self): bind=True, queue="export", raise_on_duplicate=True, - lock_expiry=60 * 5, + lock_expiry=settings.CELERY_TASK_TIME_LIMIT * 2, + time_limit=settings.CELERY_TASK_TIME_LIMIT * 2, ) def singleton_send_instant_notifications_summary_by_email(self): send_instant_notifications_email_to_users()