The conversation is getting hanged after two stage fallback and after restart button

For a question for which it is falling under 2-stage fallback and showing buttons, but if without selecting from those options I am again posting a question then it is giving Restart option. The conversation is getting hanged after this Restart button even though if I am clicking on the Restart button.

Rasa Version : 1.3.7

Below is my Action file code :

class ActionDefaultFallback(Action): def name(self) -> Text: return “action_default_fallback”

def run(
    self,
    dispatcher: CollectingDispatcher,
    tracker: Tracker,
    domain: Dict[Text, Any]
) -> List["Event"]:
    # Fallback caused by TwoStageFallbackPolicy

    logger.debug(tracker.events)
    logger.debug("tracker.events[-4].name = ''%s'", tracker.events[-4].get("name"))
    if (
        len(tracker.events) >= 4
        and tracker.events[-4].get("name") == "action_default_ask_affirmation"
    ):
        dispatcher.utter_template("utter_restart_with_button", tracker)
        return [SlotSet("feedback_value", "poor"), ConversationPaused()]

    # Fallback caused by Core
    else:
        dispatcher.utter_template("utter_default", tracker)
        return [UserUtteranceReverted()]

class ActionDefaultAskAffirmation(Action): “”“Asks for an affirmation of the intent if NLU threshold is not met.”""

def name(self) -> Text:
    return "action_default_ask_affirmation"

def __init__(self) -> None:
    import pandas as pd

    self.intent_mappings = pd.read_csv("data/" "intent_description_mapping.csv")
    self.intent_mappings.fillna("", inplace=True)
    self.intent_mappings.entities = self.intent_mappings.entities.map(
        lambda entities: {e.strip() for e in entities.split(",")}
    )

def run(
    self,
    dispatcher: CollectingDispatcher,
    tracker: Tracker,
    domain: Dict[Text, Any],
) -> List["Event"]:

  intent_ranking = tracker.latest_message.get("intent_ranking", [])
    if len(intent_ranking) > 1:
        diff_intent_confidence = intent_ranking[0].get(
            "confidence"
        ) - intent_ranking[1].get("confidence")
        if diff_intent_confidence < 0.2:
            intent_ranking = intent_ranking[:2]
        else:
            intent_ranking = intent_ranking[:1]
    first_intent_names = [
        intent.get("name", "")
        for intent in intent_ranking
        if intent.get("name", "") != "out_of_scope"
    ]

    message_title = (
        "Sorry, I'm not sure I've understood " "you correctly. Do you mean..."
    )

    entities = tracker.latest_message.get("entities", [])
    entities = {e["entity"]: e["value"] for e in entities}

    entities_json = json.dumps(entities)

    buttons = []
    intent_max_count = 4
    intent_count = 0
    for intent in first_intent_names:
        if intent_count < intent_max_count:
            intent_count = intent_count + 1
            logger.debug(intent)
            logger.debug(entities)
            buttons.append(
                {
                    "title": self.get_button_title(intent, entities),
                    "payload": "/{}{}".format(intent, entities_json),
                }
            )

    buttons.append({"title": "Something else", "payload": "/ask_human_handoff"})

    dispatcher.utter_button_message(message_title, buttons=buttons)

    return []