Skip to content

Support Attribute View calendar layout with recurrence, ICS import and calendar dock - #18536

Closed
eloklam wants to merge 10 commits into
siyuan-note:devfrom
eloklam:feat/av-calendar
Closed

Support Attribute View calendar layout with recurrence, ICS import and calendar dock#18536
eloklam wants to merge 10 commits into
siyuan-note:devfrom
eloklam:feat/av-calendar

Conversation

@eloklam

@eloklam eloklam commented Aug 3, 2026

Copy link
Copy Markdown

Disclaimer

This is a large AI-assisted contribution. Coding agents produced substantial parts of the implementation, tests, patch recovery and PR preparation. I have kept the branch scoped to the Attribute View Calendar feature and included focused regression coverage, but I cannot guarantee compatibility with every SiYuan workflow or platform.

Description / 描述

Closes #13740

This contribution adds a Calendar layout to SiYuan Attribute View blocks. The calendar reads and writes the Attribute View's existing rows and properties, so there is no separate event store, plugin database or external service.

The implementation includes:

  • day, week and month calendar layouts for Attribute View date fields
  • create, duplicate, edit and delete flows for timed and all-day entries
  • drag, resize and multi-day interactions
  • daily, weekly, monthly and yearly recurrence, including occurrence exceptions, this-and-future changes and scope prompts
  • ICS import with recurrence parsing
  • source-link navigation and document-backed entries
  • a Calendar dock with day, month and agenda views, database selection, mini month navigation
  • localisation across all bundled languages

The backend adds Calendar layout support to Attribute View queries, transactions, publishing access and layout switching. It also journals document-backed calendar changes so they can be recovered with the existing notebook lifecycle.

The rebased local branch (HEAD 30248d4e4ed60eb8c2ca5cce3c8c1b7d837abb1b, based on ea82c9e57) passed the focused Calendar code gate:

  • 25 focused Calendar model tests passed, including Calendar layout switching and the duplicate updateAttrViewCell regression
  • 2 focused Calendar SQL tests passed
  • calendar-kernel-smoke.mjs passed against a freshly built kernel, including layout switching
  • calendar-backend-contract-smoke.mjs passed against a freshly built kernel (22 attribute view operations, including duplicateAttrViewView of a calendar view)
  • 14 frontend Calendar smokes, the Calendar audit, i18n key checks, gofmt, conflict-marker scans and privacy scans passed
  • go test ./sql passed
  • merge-tree verified conflict-free against fresh origin/dev (045aee77d)

The broad go test ./sql ./model command reaches and passes ./sql. The broad ./model run still hits an existing upstream crypto test panic (TestRestoreNotebookCryptoConfigFromExistingBackup), reproduced identically on the untouched upstream base ea82c9e57; the failing sync/crypto paths are unchanged by this branch. Focused Calendar model tests pass independently.

The two Electron smokes require a built desktop app and a display and remain for the normal maintainer or CI environment.

Type of change / 变更类型

  • Bug fix

    缺陷修复

  • Refactoring

    代码重构

  • New feature

    新功能

  • Text updates or new language additions

    修改文案或增加新语言

Checklist / 检查清单

  • I have performed a self-review of my own code

    我对自己的代码进行了自我审查

  • I have full rights to the submitted code and agree to license it under this project's AGPL-3.0 license

    我拥有所提交代码的完整权利,并同意其以本项目的 AGPL-3.0 许可证授权

  • PR is submitted to the dev branch and has no merge conflicts

    PR 提交到 dev 分支,并且没有合并冲突

Made with Orca 🐋

@88250

88250 commented Aug 3, 2026

Copy link
Copy Markdown
Member

Sorry, this feature does not accept PRs.

@88250 88250 closed this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants