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

  1. Use the 'current time' value mode only on date-type fields.
  2. 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.