siyuan-note/siyuan · error
Conf.Language(29)
Error message
Conf.Language(29)
What it means
SetCloudReminder requires an active SiYuan paid subscription (IsSubscriber). For non-subscribers on all platforms except iOS, it returns a localized error using i18n language key 29, which tells the user that this feature requires a paid subscription. The check happens before any reminder data is parsed or stored.
Solutions
- Log in with a subscription-active SiYuan account
- Purchase or renew the SiYuan subscription for the current account
- Use local block reminders instead of cloud reminders if a subscription is not available
Defensive patterns
Strategy: try-catch
Try / catch
try {
await setCloudReminder(id, content, timed);
} catch (e) {
if (isSubscriptionError(e)) showSubscribeDialog(); // localized i18n key 29
} Prevention
- Verify the user is logged in with an active subscription before calling
- Fall back to local reminders when no subscription exists
- Surface the localized error text directly to the user
When it happens
Trigger: Calling SetCloudReminder while the current workspace is not logged into a subscription-bearing SiYuan account, on desktop, mobile (Android), or any container other than "ios".
Common situations: Desktop plugin/scripts setting cloud reminders for a free or logged-out account; test environments without subscription credentials.
Related errors
- Conf.Language(122)
- Conf.Language(122) (localized subscription-required message…
- Conf.Language(29) (localized subscription-required message)
- 106
- -2
AI-assisted analysis of siyuan-note/siyuan@9f775e8a12 (2026-09-19).
Data as JSON: /api/errors/1e2f97690e9888fc.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/blockial.go:45
"github.com/88250/lute/ast"
"github.com/88250/lute/editor"
"github.com/88250/lute/html"
"github.com/88250/lute/parse"
"github.com/araddon/dateparse"
"github.com/siyuan-note/siyuan/kernel/av"
"github.com/siyuan-note/siyuan/kernel/cache"
"github.com/siyuan-note/siyuan/kernel/filesys"
"github.com/siyuan-note/siyuan/kernel/sql"
"github.com/siyuan-note/siyuan/kernel/treenode"
"github.com/siyuan-note/siyuan/kernel/util"
)
func SetCloudReminder(id, content, timed string) (err error) {
if !IsSubscriber() {
if "ios" == util.Container {
return errors.New(Conf.Language(122))
}
return errors.New(Conf.Language(29))
}
var timedMills int64
if "0" != timed {
t, e := dateparse.ParseIn(timed, time.Now().Location())
if nil != e {
return e
}
timedMills = t.UnixMilli()
}
content = strings.TrimSpace(content)
err = SetCloudBlockReminder(id, content, timedMills)
if err != nil {
return
}
if "0" == timed {View on GitHub (pinned to 9f775e8a12)