diff --git a/proto/backend.proto b/proto/backend.proto index 27c7d5b19..c9435c7d4 100644 --- a/proto/backend.proto +++ b/proto/backend.proto @@ -77,10 +77,10 @@ message BackendError { string localized = 1; // error specifics oneof value { - StringError invalid_input = 2; - StringError template_parse = 3; - StringError io_error = 4; - StringError db_error = 5; + Empty invalid_input = 2; + Empty template_parse = 3; + Empty io_error = 4; + Empty db_error = 5; NetworkError network_error = 6; SyncError sync_error = 7; // user interrupted operation @@ -95,23 +95,17 @@ message Progress { } } -message StringError { - string info = 1; -} - message NetworkError { - string info = 1; enum NetworkErrorKind { OTHER = 0; OFFLINE = 1; TIMEOUT = 2; PROXY_AUTH = 3; } - NetworkErrorKind kind = 2; + NetworkErrorKind kind = 1; } message SyncError { - string info = 1; enum SyncErrorKind { OTHER = 0; CONFLICT = 1; @@ -122,7 +116,7 @@ message SyncError { MEDIA_CHECK_REQUIRED = 6; RESYNC_REQUIRED = 7; } - SyncErrorKind kind = 2; + SyncErrorKind kind = 1; } message MediaSyncProgress { diff --git a/rslib/src/backend.rs b/rslib/src/backend.rs index 7d0f10444..0f76a049f 100644 --- a/rslib/src/backend.rs +++ b/rslib/src/backend.rs @@ -44,18 +44,14 @@ fn anki_error_to_proto_error(err: AnkiError, i18n: &I18n) -> pb::BackendError { use pb::backend_error::Value as V; let localized = err.localized_description(i18n); let value = match err { - AnkiError::InvalidInput { info } => V::InvalidInput(pb::StringError { info }), - AnkiError::TemplateError { info } => V::TemplateParse(pb::StringError { info }), - AnkiError::IOError { info } => V::IoError(pb::StringError { info }), - AnkiError::DBError { info } => V::DbError(pb::StringError { info }), - AnkiError::NetworkError { info, kind } => V::NetworkError(pb::NetworkError { - info, - kind: kind.into(), - }), - AnkiError::SyncError { info, kind } => V::SyncError(pb::SyncError { - info, - kind: kind.into(), - }), + AnkiError::InvalidInput { .. } => V::InvalidInput(pb::Empty {}), + AnkiError::TemplateError { .. } => V::TemplateParse(pb::Empty {}), + AnkiError::IOError { .. } => V::IoError(pb::Empty {}), + AnkiError::DBError { .. } => V::DbError(pb::Empty {}), + AnkiError::NetworkError { kind, .. } => { + V::NetworkError(pb::NetworkError { kind: kind.into() }) + } + AnkiError::SyncError { kind, .. } => V::SyncError(pb::SyncError { kind: kind.into() }), AnkiError::Interrupted => V::Interrupted(Empty {}), };