Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Проблема при использовании buttons toState при подключении mongoDB к JAICF проекту #240

Open
BytesCrusher opened this issue Aug 23, 2022 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@BytesCrusher
Copy link

Всем привет! Возникла очень странная проблема по JAICF, буду рад любой помощи.
Мы используем стандартный шаблон проекта от jast AI https://github.com/just-ai/jaicf-template, он содержит в себе сценарий и проперти на эндпоинт mongoDB.

Суть проблемы в использовании переходов от стейта к стейту с помощью команд вида: reactions.buttons("текст" toState "state_name").
Проблему мы локализовали, и она связана именно с "toState".

Непонятный момент заключается в том, что проблемы появляются только после подключения базы данных (пробовали только дефолтную mongo). Это происходит из-за того, что после ее подключения на всех юзеров начинает вестись контекст (id, current state, transition history и т.п.). Как раз transition history содержит в себе список всех стейтов по порядку, как по ним переходил пользователь.

Проблема проявляется в том, что при использовании buttons через toState некоторые (не все почему-то) переходы не появляются в transition history, но их бизнес логика отрабатывает, выводятся все сообщения в диалог и т.п., однако current state не меняется в монге. Из-за этого возникает ситуация, когда пользователь видит уже следующий стейт пользователь жмет очередную кнопку чтобы пройти еще дальше, но в монге висит все равно предыдущий стейт, и она не может найти доступный переход (т.к. в предыдущем стейте это не возможно) и jaicf выдает fallback.

При отключении монги все работает отлично и никаких проблем не возникает ни в одном стейте.
Одно из решений сейчас - это убирать buttons toState и заменять их на обычные buttons, а в стейты класть регекс активаторы - это работает, однако по нашей бизнес логике необходимо использовать именно buttons to State.

Кто-то сталкивался с чем-то подобным? Возможно найти какие-то обходные пути? Есть ли какая-то альтернатива как можно перенаправить пользователя, чтобы по нажатии на какую-либо конкретную кнопку он переходил к какому-либо конкретному стейту?

Попытался заснять на видео:
https://www.youtube.com/watch?v=9aKExYql7Uo

@Denire Denire self-assigned this Aug 23, 2022
@Denire Denire added the bug Something isn't working label Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants