diff --git a/config/settings/base.py b/config/settings/base.py index 6cc5693..495cf61 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -46,7 +46,7 @@ # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#databases DATABASES = {"default": env.db("DATABASE_URL")} -DATABASES["default"]["ATOMIC_REQUESTS"] = True +DATABASES["default"]["ATOMIC_REQUESTS"] = False # https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-DEFAULT_AUTO_FIELD DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" diff --git a/config/settings/production.py b/config/settings/production.py index a2f3e66..1695ce0 100644 --- a/config/settings/production.py +++ b/config/settings/production.py @@ -15,6 +15,7 @@ # DATABASES # ------------------------------------------------------------------------------ DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60) +DATABASES["default"]["ATOMIC_REQUESTS"] = True # noqa F405 # CACHES # ------------------------------------------------------------------------------ diff --git a/rocket_connect/instance/management/commands/migrate_connector_chat.py b/rocket_connect/instance/management/commands/migrate_connector_chat.py index 37fb997..dfebf51 100644 --- a/rocket_connect/instance/management/commands/migrate_connector_chat.py +++ b/rocket_connect/instance/management/commands/migrate_connector_chat.py @@ -29,7 +29,7 @@ def handle(self, *args, **options): ) open_messages = Message.objects.filter( connector__id=from_connector, - open=True + delivered=False ) if open_chats.count(): from_connector_object = open_chats.first().connector diff --git a/rocket_connect/plugins/base.py b/rocket_connect/plugins/base.py index da6bb84..b4ff996 100644 --- a/rocket_connect/plugins/base.py +++ b/rocket_connect/plugins/base.py @@ -1107,12 +1107,14 @@ def ingoing(self): self.handle_livechat_session_queued() if self.message.get("type") == "Message": message, created = self.register_message() - ignore_close_message = ( - self.message_object.room.token - in self.config.get("ignore_token_force_close_message", "").split( - ",", + # TODO: message may not habe room + if self.message_object: + ignore_close_message = ( + self.message_object.room.token + in self.config.get("ignore_token_force_close_message", "").split( + ",", + ) ) - ) if not message.delivered: # prepare message to be sent to client for message in self.message.get("messages", []):