Restart menu when ussd session expires #201
Labels
No Label
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Activity
Doing
Activity
Proposal
Activity
QA
Runner
AT
Runner
CLI
Runner
HTTP
cleanup
devops
documentation
easypeasy
exchange
l8ter
legacy
meta
migration
optimization
privilege
refactor
smell
support
tooling
ux
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: urdt/ussd#201
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User should be restarted from main menu when the AT session expires.
On new session, request id will change and input string will reset.
Most likely, the appropriate solution involves flushing the state bytecode in the
_first
handler, and replace it withMOVE ^
if simply an empty bytecode will not be sufficient.@lash I have tried resetting the state for the failed account sample (my number) but the engine kept bailing before running any of the handler code. This was a bit problematic trying to flush the state from the USSD code.
However, I noted that the cause of the engine bailing was the FLAG_TERMINATE flag, under vm>runner.go line 84
Resetting the flag before it returns enabled me to access the menu.
Can this be a solution outside the USSD (changing go-vise)?
@Alfred-mk is the
FLAG_TERMINATE
set in your stored state?Yes it is set. Resetting it allows the menu to go back to the main node
@Alfred-mk so this is an abnormal sitation. Probably it came about because of an unclean exit, and for this kind of case we are going to need a manual tool to force restart from top as a last resort, i.e. #202
As for your account, the safe way to recover it would be to call
vise.state.State.Restart()
(which would be the same the tool should do)Force restart of state on different request idto Restart menu when ussd session expires