siyuan-note/siyuan · warning
This feature requires the purchase of an <a target='_blank'
Error message
This feature requires the purchase of an <a target='_blank' href='${accountServer}/subscribe/siyuan'>[Annual Subscription]</a> (if you have already purchased, please refresh or re-login in [Settings - Account & Sync - Account]) What it means
Returned by SetCloudReminder on any non-iOS container when IsSubscriber() is false. Conf.Language(29) is the standard 'feature requires [Annual Subscription]' message with the subscribe link. Cloud reminders are a subscriber-only feature on every platform.
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 251596fc0d)
Solutions
- Purchase the annual subscription at the link in the message.
- Refresh or re-login in Settings - Account & Sync - Account after purchasing.
- Use a local reminder (non-cloud) if subscription is not desired.
Defensive patterns
Strategy: validation
Validate before calling
if !model.IsSubscriber() {
return errors.New("cloud reminders require subscription")
} Prevention
- Hide or disable SetCloudReminder for non-subscribers in the UI.
- Refresh account state before checking IsSubscriber to avoid stale tokens.
- Offer local reminders as the free-tier alternative.
When it happens
Trigger: Calling SetCloudReminder from desktop/web/mobile-web without an active subscription; subscriber whose session expired; user never logged in.
Common situations: Free-tier user attempting cloud reminder; subscriber logged out; account token stale after subscription purchase.
Related errors
- The sidebar feature that comes with the plugin needs to be c
- Account authentication failed, please login again
- You have already used a free trial subscription. Duplicate t
AI-assisted analysis of siyuan-note/siyuan@251596fc0d (2026-08-12).
Data as JSON: /api/errors/020bae8e16e47c29.
Report an issue: GitHub.