MM-22405: Display the translated message instead of error id (#20462)
For a config failure, we now translate the message and show a user friendly string rather than the error id. This makes things easier to debug and read. https://mattermost.atlassian.net/browse/MM-22405 ```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
48a9234d69
Коммит
8aa8f21bbb
@@ -6,6 +6,7 @@ package config
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -842,7 +843,9 @@ func TestDatabaseStoreLoad(t *testing.T) {
|
|||||||
|
|
||||||
err = ds.Load()
|
err = ds.Load()
|
||||||
if assert.Error(t, err) {
|
if assert.Error(t, err) {
|
||||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
var appErr *model.AppError
|
||||||
|
require.True(t, errors.As(err, &appErr))
|
||||||
|
assert.Equal(t, appErr.Id, "model.config.is_valid.site_url.app_error")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -819,7 +819,9 @@ func TestFileStoreLoad(t *testing.T) {
|
|||||||
|
|
||||||
err = fs.Load()
|
err = fs.Load()
|
||||||
if assert.Error(t, err) {
|
if assert.Error(t, err) {
|
||||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
var appErr *model.AppError
|
||||||
|
require.True(t, errors.As(err, &appErr))
|
||||||
|
assert.Equal(t, appErr.Id, "model.config.is_valid.site_url.app_error")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/mattermost/mattermost-server/v6/model"
|
"github.com/mattermost/mattermost-server/v6/model"
|
||||||
|
"github.com/mattermost/mattermost-server/v6/shared/i18n"
|
||||||
"github.com/mattermost/mattermost-server/v6/utils/jsonutils"
|
"github.com/mattermost/mattermost-server/v6/utils/jsonutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -293,8 +294,11 @@ func (s *Store) Load() error {
|
|||||||
|
|
||||||
loadedCfg = applyEnvironmentMap(loadedCfg, GetEnvironment())
|
loadedCfg = applyEnvironmentMap(loadedCfg, GetEnvironment())
|
||||||
fixConfig(loadedCfg)
|
fixConfig(loadedCfg)
|
||||||
if err := loadedCfg.IsValid(); err != nil {
|
if appErr := loadedCfg.IsValid(); appErr != nil {
|
||||||
return errors.Wrap(err, "invalid config")
|
// Translating the error before displaying it in the console.
|
||||||
|
// Defaulting to english for server side language.
|
||||||
|
appErr.Translate(i18n.GetUserTranslations("en"))
|
||||||
|
return errors.Wrap(appErr, "invalid config")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backing up feature flags section in case we need to restore them later on.
|
// Backing up feature flags section in case we need to restore them later on.
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user