fix: recover interrupted conversations on boot
This commit is contained in:
@@ -354,6 +354,11 @@ static void application_boot(void)
|
||||
volc_hal_display_set_content(global_display, VOLC_DISPLAY_OBJ_STATUS, VOLC_DISPLAY_TEXT, message);
|
||||
return;
|
||||
}
|
||||
ret = platform_recover_pending_conversation();
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGW(TAG, "Cannot close the conversation interrupted by the previous restart: %s",
|
||||
esp_err_to_name(ret));
|
||||
}
|
||||
hal_level_init();
|
||||
ESP_LOGI(TAG, "Startup stack headroom after audio: %u bytes", (unsigned)uxTaskGetStackHighWaterMark(NULL));
|
||||
xTaskCreate(&Task, "aios_task", 8192, NULL, 5, NULL);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#define PLATFORM_API_ORIGIN "https://121.41.46.238"
|
||||
#define PLATFORM_RESPONSE_MAX (32 * 1024)
|
||||
#define PLATFORM_FIRMWARE_VERSION "1.1.0-echoear-s2s-memory.1"
|
||||
#define PLATFORM_FIRMWARE_VERSION "1.1.0-echoear-s2s-memory.2"
|
||||
#define PLATFORM_HARDWARE_AGENT_SDK_VERSION "2.0.0"
|
||||
|
||||
static const char *TAG = "platform_client";
|
||||
@@ -113,6 +113,11 @@ static esp_err_t recover_pending_session(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
esp_err_t platform_recover_pending_conversation(void)
|
||||
{
|
||||
return recover_pending_session();
|
||||
}
|
||||
|
||||
static void copy_json_string(cJSON *object, const char *name, char *target, size_t target_size)
|
||||
{
|
||||
cJSON *item = cJSON_GetObjectItemCaseSensitive(object, name);
|
||||
|
||||
@@ -37,6 +37,7 @@ esp_err_t platform_client_init(void);
|
||||
const char *platform_hardware_id(void);
|
||||
const platform_volc_credential_t *platform_volc_credential(void);
|
||||
esp_err_t platform_provision_volc_credential(void);
|
||||
esp_err_t platform_recover_pending_conversation(void);
|
||||
esp_err_t platform_create_agent_session(platform_agent_session_t *session);
|
||||
esp_err_t platform_report_session_started(const platform_agent_session_t *session,
|
||||
const char *provider_connection_ref);
|
||||
|
||||
Reference in New Issue
Block a user