siyuan-note/siyuan · error
new item template field [%s] current time value is invalid
Error message
new item template field [%s] current time value is invalid
What it means
Error "new item template field [%s] current time value is invalid" thrown in siyuan-note/siyuan.
Source
Thrown at kernel/model/attribute_view_new_item.go:530
func newItemTitleFromPath(renderedPath string) string {
if "" == renderedPath || strings.HasSuffix(renderedPath, "/") {
return ""
}
return normalizeDocTitle(path.Base(renderedPath))
}
func resolveNewItemFieldValues(attrView *av.AttributeView, itemTemplate *av.NewItemTemplate, createdAt time.Time) (ret map[string]*av.Value, err error) {
ret = map[string]*av.Value{}
for keyID, fieldValue := range itemTemplate.FieldValues {
key, getErr := attrView.GetKey(keyID)
if nil != getErr || nil == key {
return nil, fmt.Errorf("new item template field [%s] not found", keyID)
}
var value *av.Value
switch fieldValue.Mode {
case av.NewItemFieldValueCurrentTime:
if av.KeyTypeDate != key.Type {
return nil, fmt.Errorf("new item template field [%s] current time value is invalid", keyID)
}
isNotTime := true
if nil != key.Date {
isNotTime = !key.Date.FillSpecificTime
}
value = &av.Value{Type: av.KeyTypeDate, Date: av.NewFormattedValueDate(createdAt.UnixMilli(), 0, av.DateFormatNone, isNotTime, false)}
case av.NewItemFieldValueStatic:
if nil == fieldValue.Value || fieldValue.Value.Type != key.Type {
return nil, fmt.Errorf("new item template field [%s] value is invalid", keyID)
}
value = fieldValue.Value.Clone()
if av.KeyTypeRelation == key.Type {
filterNewItemTemplateRelationValue(attrView, key, value)
if nil == value.Relation || 0 == len(value.Relation.BlockIDs) {
continue
}
}
default:View on GitHub (pinned to 251596fc0d)
Solutions
- Use the 'current time' value mode only on date-type fields.
- Change the field to date type or choose a fixed value mode.
Example fix
Edit the template field: set the column type to Date, or replace the current-time mode with a static value.
When it happens
Trigger: A new-item template sets a 'current time' value on a field whose column type is not date.
Common situations: Occurs when a template field configured with current-time mode has a stored value that cannot be parsed as a date.
AI-assisted analysis of siyuan-note/siyuan@251596fc0d (2026-08-12).
Data as JSON: /api/errors/a43dc7d60f324ee9.
Report an issue: GitHub.