siyuan-note/siyuan · error
Conf.Language(122)
Error message
Conf.Language(122)
What it means
SetCloudReminder requires an active SiYuan paid subscription (IsSubscriber). When the caller is not a subscriber, it returns a localized error. On iOS (util.Container == "ios") the message is i18n language key 122; on all other platforms key 29 is used instead (see error 1098). Key 122 is the iOS-specific wording telling the user a subscription is required for cloud reminders.
Solutions
- Log in with a SiYuan account that has an active paid subscription before setting cloud reminders
- Purchase/reactivate the SiYuan subscription (annual/lifetime) for the logged-in account
- Handle the error in the iOS client by prompting the user to subscribe
Defensive patterns
Strategy: try-catch
Try / catch
try {
await setCloudReminder(id, content, timed);
} catch (e) {
if (isSubscriptionError(e)) showSubscribeDialog(); // localized i18n key 122 on iOS
} Prevention
- Check the subscription status via the account API before offering reminder features
- Gate reminder UI behind a subscription check in the client
- Renew the subscription before using cloud features
When it happens
Trigger: Calling SetCloudReminder (exposed via the reminder-related kernel API) while the workspace is not logged in with a subscription account, on an iOS container build.
Common situations: Mobile/iOS builds without an active paid subscription attempting to schedule cloud reminders; API access from an unauthenticated or free-account workspace.
Related errors
- Conf.Language(29)
- Conf.Language(122) (localized subscription-required message…
- Conf.Language(29) (localized subscription-required message)
- The sidebar feature that comes with the plugin needs to be…
- 106
AI-assisted analysis of siyuan-note/siyuan@9f775e8a12 (2026-09-19).
Data as JSON: /api/errors/d0dd417490b1367c.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/blockial.go:43
"github.com/88250/gulu"
"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
}View on GitHub (pinned to 9f775e8a12)