Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
a7e4eed843
10 changed files with 271 additions and 74 deletions
10
README.md
10
README.md
|
@ -223,7 +223,7 @@ For more details, please refer to [Development Guide](https://github.com/siyuan-
|
|||
* If it is installed through the installation package on the desktop, you can open the option of <kbd>Settings</kbd> - <kbd>About</kbd> - <kbd>Automatically download update installation package</kbd>, so that SiYuan will automatically download The latest version of the installation package and prompts to install
|
||||
* If it is installed by manual installation package, please download the installation package again to install
|
||||
|
||||
You can <kbd>Check update</kbd> in <kbd>Settings</kbd> - <kbd>About</kbd> - <kbd>Current Version</kbd>, or by following [GitHub Releases](https ://github.com/siyuan-note/siyuan/releases) or [SiYuan Announcement](https://ld246.com/tag/siyuan-announcement) to get the new version.
|
||||
You can <kbd>Check update</kbd> in <kbd>Settings</kbd> - <kbd>About</kbd> - <kbd>Current Version</kbd>, or by following [GitHub Releases](https://github.com/siyuan-note/siyuan/releases) or [SiYuan Announcement](https://ld246.com/tag/siyuan-announcement) to get the new version.
|
||||
|
||||
**Note**: Do not place the workspace in the installation directory, because the updated version will clear all files in the installation directory
|
||||
|
||||
|
@ -260,9 +260,13 @@ The first sub-block under the list item is the block icon omitted. You can move
|
|||
|
||||
### Do I need to pay for it?
|
||||
|
||||
Local functions are completely free to use, [Cloud services](https://b3log.org/siyuan/en/pricing.html) requires annual subscription.
|
||||
All local features are free, even for commercial use.
|
||||
|
||||
Currently, only users in mainland China are supported to subscribe, and users who are not in mainland China should not subscribe.
|
||||
[Cloud Service](https://b3log.org/siyuan/pricing.html) requires an annual subscription. At present, only users in mainland China are supported to subscribe, and users outside of mainland China are not allowed to subscribe.
|
||||
|
||||
If you don't need a subscription but would like to support development, you are welcome to make a donation:
|
||||
|
||||
* [B3log - Open Collective](https://opencollective.com/b3log)
|
||||
|
||||
## 🙏 Acknowledgement
|
||||
|
||||
|
|
|
@ -271,9 +271,14 @@
|
|||
|
||||
### 使用需要付费吗?
|
||||
|
||||
本地功能完全免费使用,[云端服务](https://b3log.org/siyuan/pricing.html)需要年付订阅。
|
||||
所有本地功能都是免费的,即使是在商业环境下使用。
|
||||
|
||||
目前仅支持中国大陆地区用户订阅,非中国大陆地区用户请勿订阅。
|
||||
[云端服务](https://b3log.org/siyuan/pricing.html)需要年付订阅。目前仅支持中国大陆地区用户订阅,非中国大陆地区用户请勿订阅。
|
||||
|
||||
如果你没有订阅需求但又想支持开发,欢迎进行捐赠:
|
||||
|
||||
* [靠爱发电 - 链滴](https://ld246.com/sponsor)
|
||||
* [B3log - Open Collective](https://opencollective.com/b3log)
|
||||
|
||||
## 🙏 鸣谢
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"id": "20200923234731-h3zkwm2",
|
||||
"title": "FAQ",
|
||||
"type": "doc",
|
||||
"updated": "20230112002556"
|
||||
"updated": "20230406112010"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -1978,10 +1978,6 @@
|
|||
"id": "20201224120448-0rqote3"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeHeadingC8hMarker",
|
||||
"Data": "## "
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Do I need to pay for it?"
|
||||
|
@ -1989,40 +1985,91 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"ID": "20201224120448-20hmjfc",
|
||||
"ID": "20230406111519-ro0o3iv",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20201224120448-20hmjfc",
|
||||
"updated": "20220703000708"
|
||||
"id": "20230406111519-ro0o3iv",
|
||||
"updated": "20230406111521"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Local functions are completely free to use, "
|
||||
},
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://b3log.org/siyuan/en/pricing.html",
|
||||
"TextMarkTextContent": "Cloud services"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " requires annual subscription."
|
||||
"Data": "All local features are free, even for commercial use."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220703000434-rpabrb5",
|
||||
"ID": "20230406111508-0lt5im7",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220703000434-rpabrb5",
|
||||
"updated": "20221112210752"
|
||||
"id": "20230406111508-0lt5im7",
|
||||
"updated": "20230406111508"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://b3log.org/siyuan/pricing.html",
|
||||
"TextMarkTextContent": "Cloud Service"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": " requires an annual subscription. At present, only users in mainland China are supported to subscribe, and users outside of mainland China are not allowed to subscribe."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406112010-97r5e5d",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406112010-97r5e5d",
|
||||
"updated": "20230406112010"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "Currently, only users in mainland China are supported to subscribe, and users who are not in mainland China should not subscribe."
|
||||
"Data": "If you don't need a subscription but would like to support development, you are welcome to make a donation:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406112010-my4qnoy",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20230406112010-my4qnoy",
|
||||
"updated": "20230406112010"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406112010-cmr795u",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20230406112010-cmr795u",
|
||||
"updated": "20230406112010"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406112010-j8z0apy",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406112010-j8z0apy",
|
||||
"updated": "20230406112010"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://opencollective.com/b3log",
|
||||
"TextMarkTextContent": "B3log - Open Collective"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"id": "20200813093015-u6bopdt",
|
||||
"title": "常见问题",
|
||||
"type": "doc",
|
||||
"updated": "20230112002504"
|
||||
"updated": "20230406111942"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -2079,13 +2079,23 @@
|
|||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20201224120447-xj9cd10",
|
||||
"updated": "20220820000331"
|
||||
"updated": "20230406111412"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "本地功能完全免费使用,"
|
||||
},
|
||||
"Data": "所有本地功能都是免费的,即使是在商业环境下使用。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406111417-9705mvn",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406111417-9705mvn",
|
||||
"updated": "20230406111421"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
|
@ -2094,21 +2104,92 @@
|
|||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "需要年付订阅。"
|
||||
"Data": "需要年付订阅。目前仅支持中国大陆地区用户订阅,非中国大陆地区用户请勿订阅。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20220820000332-5y9gknk",
|
||||
"ID": "20230406111610-s0vr122",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20220820000332-5y9gknk",
|
||||
"updated": "20221112210731"
|
||||
"id": "20230406111610-s0vr122",
|
||||
"updated": "20230406111942"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "目前仅支持中国大陆地区用户订阅,非中国大陆地区用户请勿订阅。"
|
||||
"Data": "如果你没有订阅需求但又想支持开发,欢迎进行捐赠:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406111846-ph7umq6",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20230406111846-ph7umq6",
|
||||
"updated": "20230406111934"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406111855-v2fuz94",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20230406111855-v2fuz94",
|
||||
"updated": "20230406111909"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406111855-uuos149",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406111855-uuos149",
|
||||
"updated": "20230406111909"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://ld246.com/sponsor",
|
||||
"TextMarkTextContent": "靠爱发电 - 链滴"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406111847-hszqryy",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20230406111847-hszqryy",
|
||||
"updated": "20230406111934"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406111847-qe9lvb0",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406111847-qe9lvb0",
|
||||
"updated": "20230406111934"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://opencollective.com/b3log",
|
||||
"TextMarkTextContent": "B3log - Open Collective"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"icon": "2753",
|
||||
"id": "20211226115227-r1rty9v",
|
||||
"title": "常見問題",
|
||||
"updated": "20230112002617"
|
||||
"updated": "20230406111957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
|
@ -1976,40 +1976,91 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"ID": "20211226115356-flfljlv",
|
||||
"ID": "20230406111448-cuahrpa",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226115356-flfljlv",
|
||||
"updated": "20211225214824"
|
||||
"id": "20230406111448-cuahrpa",
|
||||
"updated": "20230406111448"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "本地功能完全免費使用,"
|
||||
},
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://b3log.org/siyuan/en/pricing.html",
|
||||
"TextMarkTextContent": "雲端服務"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "需要年付訂閱。"
|
||||
"Data": "所有本地功能都是免費的,即使是在商業環境下使用。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20211226115356-zk19o1w",
|
||||
"ID": "20230406111448-rqncida",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20211226115356-zk19o1w",
|
||||
"updated": "20221112210745"
|
||||
"id": "20230406111448-rqncida",
|
||||
"updated": "20230406111448"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://b3log.org/siyuan/pricing.html",
|
||||
"TextMarkTextContent": "雲端服務"
|
||||
},
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "需要年付訂閱。目前僅支持中國大陸地區用戶訂閱,非中國大陸地區用戶請勿訂閱。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406111957-2x6i7jd",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406111957-2x6i7jd",
|
||||
"updated": "20230406111957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeText",
|
||||
"Data": "目前僅支持中國大陸地區用戶訂閱,非中國大陸地區用戶請勿訂閱。"
|
||||
"Data": "如果你沒有訂閱需求但又想支持開發,歡迎進行捐贈:"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ID": "20230406111957-oashpwx",
|
||||
"Type": "NodeList",
|
||||
"ListData": {},
|
||||
"Properties": {
|
||||
"id": "20230406111957-oashpwx",
|
||||
"updated": "20230406111957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406111957-9ufzoez",
|
||||
"Type": "NodeListItem",
|
||||
"ListData": {
|
||||
"BulletChar": 42,
|
||||
"Marker": "Kg=="
|
||||
},
|
||||
"Properties": {
|
||||
"id": "20230406111957-9ufzoez",
|
||||
"updated": "20230406111957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"ID": "20230406111957-veoua0c",
|
||||
"Type": "NodeParagraph",
|
||||
"Properties": {
|
||||
"id": "20230406111957-veoua0c",
|
||||
"updated": "20230406111957"
|
||||
},
|
||||
"Children": [
|
||||
{
|
||||
"Type": "NodeTextMark",
|
||||
"TextMarkType": "a",
|
||||
"TextMarkAHref": "https://opencollective.com/b3log",
|
||||
"TextMarkTextContent": "B3log - Open Collective"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -63,6 +63,14 @@ const (
|
|||
ProviderWebDAV = 3 // ProviderWebDAV 为 WebDAV 协议提供的云端存储服务
|
||||
)
|
||||
|
||||
func NewSyncProviderCheckURL() string {
|
||||
return "https://www.baidu.com"
|
||||
func ProviderToStr(provider int) string {
|
||||
switch provider {
|
||||
case ProviderSiYuan:
|
||||
return "SiYuan"
|
||||
case ProviderS3:
|
||||
return "S3"
|
||||
case ProviderWebDAV:
|
||||
return "WebDAV"
|
||||
}
|
||||
return "Unknown"
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ func exportData(exportFolder string) (zipPath string, err error) {
|
|||
data := filepath.Join(util.WorkspaceDir, "data")
|
||||
if err = filelock.RoboCopy(data, exportFolder); nil != err {
|
||||
logging.LogErrorf("copy data dir from [%s] to [%s] failed: %s", data, baseFolderName, err)
|
||||
err = errors.New(fmt.Sprintf(Conf.Language(14), formatErrorMsg(err)))
|
||||
err = errors.New(fmt.Sprintf(Conf.Language(14), err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -594,7 +594,7 @@ func UploadCloudSnapshot(tag, id string) (err error) {
|
|||
err = fmt.Errorf(Conf.Language(84), Conf.Language(154))
|
||||
return
|
||||
}
|
||||
err = errors.New(fmt.Sprintf(Conf.Language(84), formatErrorMsg(err)))
|
||||
err = errors.New(fmt.Sprintf(Conf.Language(84), formatRepoErrorMsg(err)))
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf(Conf.Language(152), uploadFileCount, uploadChunkCount, humanize.Bytes(uint64(uploadBytes)))
|
||||
|
@ -827,7 +827,7 @@ func syncRepoDownload() (err error) {
|
|||
planSyncAfter(fixSyncInterval)
|
||||
|
||||
logging.LogErrorf("sync data repo download failed: %s", err)
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
if errors.Is(err, dejavu.ErrCloudStorageSizeExceeded) {
|
||||
msg = fmt.Sprintf(Conf.Language(43), humanize.Bytes(uint64(Conf.User.UserSiYuanRepoSize)))
|
||||
if 2 == Conf.User.UserSiYuanSubscriptionPlan {
|
||||
|
@ -894,7 +894,7 @@ func syncRepoUpload() (err error) {
|
|||
planSyncAfter(fixSyncInterval)
|
||||
|
||||
logging.LogErrorf("sync data repo upload failed: %s", err)
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
if errors.Is(err, dejavu.ErrCloudStorageSizeExceeded) {
|
||||
msg = fmt.Sprintf(Conf.Language(43), humanize.Bytes(uint64(Conf.User.UserSiYuanRepoSize)))
|
||||
if 2 == Conf.User.UserSiYuanSubscriptionPlan {
|
||||
|
@ -978,7 +978,7 @@ func bootSyncRepo() (err error) {
|
|||
planSyncAfter(fixSyncInterval)
|
||||
|
||||
logging.LogErrorf("sync data repo failed: %s", err)
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
if errors.Is(err, dejavu.ErrCloudStorageSizeExceeded) {
|
||||
msg = fmt.Sprintf(Conf.Language(43), humanize.Bytes(uint64(Conf.User.UserSiYuanRepoSize)))
|
||||
if 2 == Conf.User.UserSiYuanSubscriptionPlan {
|
||||
|
@ -1053,7 +1053,7 @@ func syncRepo(exit, byHand bool) (err error) {
|
|||
planSyncAfter(fixSyncInterval)
|
||||
|
||||
logging.LogErrorf("sync data repo failed: %s", err)
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
msg := fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
if errors.Is(err, dejavu.ErrCloudStorageSizeExceeded) {
|
||||
msg = fmt.Sprintf(Conf.Language(43), humanize.Bytes(uint64(Conf.User.UserSiYuanRepoSize)))
|
||||
if 2 == Conf.User.UserSiYuanSubscriptionPlan {
|
||||
|
@ -1267,7 +1267,7 @@ func indexRepoBeforeCloudSync(repo *dejavu.Repo) (err error) {
|
|||
}
|
||||
|
||||
if nil != err {
|
||||
msg := fmt.Sprintf(Conf.Language(140), formatErrorMsg(err))
|
||||
msg := fmt.Sprintf(Conf.Language(140), formatRepoErrorMsg(err))
|
||||
util.PushStatusBar(msg)
|
||||
util.PushErrMsg(msg, 12000)
|
||||
logging.LogErrorf("index data repo before cloud sync failed: %s", err)
|
||||
|
|
|
@ -62,7 +62,7 @@ func SyncDataDownload() {
|
|||
if nil == err {
|
||||
synced += Conf.Sync.Stat
|
||||
} else {
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
}
|
||||
msg := fmt.Sprintf(Conf.Language(82), synced)
|
||||
Conf.Sync.Stat = msg
|
||||
|
@ -98,7 +98,7 @@ func SyncDataUpload() {
|
|||
if nil == err {
|
||||
synced += Conf.Sync.Stat
|
||||
} else {
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
}
|
||||
msg := fmt.Sprintf(Conf.Language(82), synced)
|
||||
Conf.Sync.Stat = msg
|
||||
|
@ -157,7 +157,7 @@ func BootSyncData() {
|
|||
if nil == err {
|
||||
synced += Conf.Sync.Stat
|
||||
} else {
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
}
|
||||
msg := fmt.Sprintf(Conf.Language(82), synced)
|
||||
Conf.Sync.Stat = msg
|
||||
|
@ -204,7 +204,7 @@ func syncData(exit, byHand bool) {
|
|||
if nil == err {
|
||||
synced += Conf.Sync.Stat
|
||||
} else {
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
|
||||
synced += fmt.Sprintf(Conf.Language(80), formatRepoErrorMsg(err))
|
||||
}
|
||||
msg := fmt.Sprintf(Conf.Language(82), synced)
|
||||
Conf.Sync.Stat = msg
|
||||
|
@ -406,7 +406,7 @@ func CreateCloudSyncDir(name string) (err error) {
|
|||
|
||||
err = repo.CreateCloudRepo(name)
|
||||
if nil != err {
|
||||
err = errors.New(formatErrorMsg(err))
|
||||
err = errors.New(formatRepoErrorMsg(err))
|
||||
return
|
||||
}
|
||||
return
|
||||
|
@ -431,7 +431,7 @@ func RemoveCloudSyncDir(name string) (err error) {
|
|||
|
||||
err = repo.RemoveCloudRepo(name)
|
||||
if nil != err {
|
||||
err = errors.New(formatErrorMsg(err))
|
||||
err = errors.New(formatRepoErrorMsg(err))
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -457,7 +457,7 @@ func ListCloudSyncDir() (syncDirs []*Sync, hSize string, err error) {
|
|||
|
||||
dirs, size, err = repo.GetCloudRepos()
|
||||
if nil != err {
|
||||
err = errors.New(formatErrorMsg(err))
|
||||
err = errors.New(formatRepoErrorMsg(err))
|
||||
return
|
||||
}
|
||||
if 1 > len(dirs) {
|
||||
|
@ -488,7 +488,7 @@ func ListCloudSyncDir() (syncDirs []*Sync, hSize string, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func formatErrorMsg(err error) string {
|
||||
func formatRepoErrorMsg(err error) string {
|
||||
msg := err.Error()
|
||||
if errors.Is(err, cloud.ErrCloudAuthFailed) {
|
||||
msg = Conf.Language(31)
|
||||
|
@ -518,7 +518,7 @@ func formatErrorMsg(err error) string {
|
|||
msg = Conf.Language(28)
|
||||
}
|
||||
}
|
||||
msg = msg + " v" + util.Ver
|
||||
msg += " (Provider: " + conf.ProviderToStr(Conf.Sync.Provider) + ")"
|
||||
return msg
|
||||
}
|
||||
|
||||
|
|
|
@ -142,6 +142,7 @@ func PushMsg(msg string, timeout int) (msgId string) {
|
|||
|
||||
func PushErrMsg(msg string, timeout int) (msgId string) {
|
||||
msgId = gulu.Rand.String(7)
|
||||
msg += msg + " v" + Ver // Add version info at the end of message in all error notifications https://github.com/siyuan-note/siyuan/issues/7899
|
||||
BroadcastByType("main", "msg", -1, msg, map[string]interface{}{"id": msgId, "closeTimeout": timeout})
|
||||
return
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue