Skip to content

🌐 中文 | English


🎉 Notion Files Management v1.5.0-Beta

这是 Notion Files Management 的测试版更新,基于 v1.4.6-Beta,包含 1 项新功能和 3 项 Bug 修复。


新功能

📢 公告中心

  • 新增「公告」页面,左侧导航栏一键直达(位于「主页」之后)。
  • 从远端拉取公告索引与 Markdown 正文,卡片流式布局内联渲染,支持置顶、标签色块、日期排序。
  • 本地缓存 + 已读管理:成功拉取后写入本地缓存,网络不可用时自动回退;进入公告页即标记全部已读。
  • 主页顶部新增公告未读提醒横幅(液态玻璃风格),显示未读条数,点击「查看公告」一键跳转。
  • 服务端热更新:只需在服务端推送新的 idx.json + .md 文件,客户端无需发版即可展示新公告。

🐛 Bug 修复

🔄 设置页自动更新进度条跨页面切换后消失

  • 根因:WPF 的 Page 在导航切换时被卸载并销毁,切换回设置页时创建全新实例,旧实例上的下载进度更新已不可见。
  • 修复:新增 AutoUpdateSession 单例会话(与 DownloadSession / UploadSession 同模式),持久化下载状态;页面加载时从 Session 恢复进度条,通过 200ms 轮询定时器实时同步 UI。

📐 主页提醒横幅布局异常

  • 根因:版本更新横幅与公告未读横幅各自使用硬编码 Margin 定位,当其中一个不可见时另一个悬浮在页面中间。
  • 修复:两个横幅统一包裹在 StackPanel 中自动堆叠,Collapsed 时不占空间,剩余横幅自动贴靠顶部。

🔗 公告页 Markdown 链接不可点击

  • 根因:MdXaml 渲染的 Hyperlink 路由事件未正确冒泡至页面。
  • 修复:在 NoticePage 注册 Hyperlink.RequestNavigateEvent 处理器,捕获链接点击并通过 Process.Start 打开浏览器。

🔧 技术变更

新增文件

文件说明
Services/AutoUpdateSession.cs自动更新会话单例,持久化下载进度与状态
Models/NoticeItem.cs公告数据模型(含 Markdown 正文、加载状态,支持 INotifyPropertyChanged)
Models/NoticeIndex.cs公告索引 idx.json 反序列化模型
Services/NoticeService.cs公告网络请求 + 本地缓存 + 已读管理服务
Views/NoticePage.xaml公告中心页面 UI(卡片流式布局 + MdXaml Markdown 渲染)
Views/NoticePage.xaml.cs公告页面逻辑(加载、刷新、排序、已读标记、链接处理)
Utils/NoticeConverters.cs值转换器集合(Bool↔Visibility、Tag↔颜色映射)

修改文件

文件变更说明
MainWindow.xaml导航栏新增「公告」菜单项(Megaphone24 图标)
App.xaml.cs启动时 fire-and-forget 预加载公告索引
Views/DashboardPage.xaml新增公告未读横幅 + 横幅布局改为 StackPanel 自动堆叠
Views/DashboardPage.xaml.cs新增未读数检测 + 横幅动画 + 导航跳转
Views/SettingsPage.xaml.cs集成 AutoUpdateSession + 轮询恢复机制

NuGet 依赖变更

包名操作版本用途
MdXaml新增1.27.0Markdown → FlowDocument 渲染(公告正文)

版本号

  • Version: 1.4.6-Beta → 1.5.0-Beta
  • InformationalVersion: 1.4.6-Beta → 1.5.0-Beta

📦 下载

Notion-Files-Management.exe

内嵌 Python 3.11,无需单独安装 Python


💻 系统要求

  • Windows 10 (1809+) · x64
  • 最低 2 GB RAM

🚀 快速开始

  1. 在 Notion 的 Notion Integrations 创建 Integration,复制 Token(ntn_ 开头)。
  2. 在 Notion 页面 → Add connections → 选择你的 Integration。
  3. 打开应用 → 设置 → 粘贴 Token → 保存 → 开始使用。

⚠️ 已知问题

  • 仅支持 Windows x64。
  • 程序重启后任务不会持久化(仅内存保存)。
  • 暂不支持断点续传。
  • 数据源迁移基于标题匹配,同名页面可能导致映射不精确。

🐛 反馈

提交问题 · 参与讨论(GitHub)

如果觉得有用,欢迎给项目点个 ⭐ Star! · 赞助支持 ❤️


发布于 2026年2月21日 · 版本:1.5.0-Beta


🎉 Notion Files Management v1.5.0-Beta

This is a beta update of Notion Files Management, building on v1.4.6-Beta with 1 new feature and 3 bug fixes.


New Features

📢 Notice Center

  • New "Notices" page accessible from the sidebar navigation (below "Home").
  • Fetches notice index and Markdown content from the remote server, rendered inline with a card-flow layout. Supports pinning, tag color badges, and date-based sorting.
  • Local cache + read tracking: Successfully fetched data is cached locally; falls back to cache when offline. Entering the notice page marks all as read.
  • New unread notice banner on the Dashboard (liquid glass style), showing unread count with a one-click "View Notices" navigation button.
  • Server-side hot update: Simply push new idx.json + .md files on the server — no client release required to display new notices.

🐛 Bug Fixes

🔄 Auto-Update Progress Bar Disappears After Page Switch

  • Root cause: WPF Page instances are destroyed on navigation. Switching back to Settings creates a new instance, losing the active download progress.
  • Fix: Added AutoUpdateSession singleton (same pattern as DownloadSession / UploadSession) to persist download state. On page load, progress is restored from the session and synchronized via a 200ms polling timer.

📐 Dashboard Banner Layout Issue

  • Root cause: Update banner and notice banner each used hardcoded Margin positioning. When one was hidden, the other floated in the middle of the page.
  • Fix: Both banners are now wrapped in a StackPanel for automatic stacking. Collapsed elements take no space; remaining banners snap to the top.
  • Root cause: MdXaml-rendered Hyperlink routed events were not bubbling up to the page.
  • Fix: Registered a Hyperlink.RequestNavigateEvent handler on NoticePage to capture link clicks and open URLs via Process.Start.

🔧 Technical Changes

New Files

FileDescription
Services/AutoUpdateSession.csAuto-update session singleton, persists download progress and state
Models/NoticeItem.csNotice data model (with Markdown content, loading state, INotifyPropertyChanged)
Models/NoticeIndex.csNotice index idx.json deserialization model
Services/NoticeService.csNotice HTTP requests + local cache + read tracking service
Views/NoticePage.xamlNotice center page UI (card-flow layout + MdXaml Markdown rendering)
Views/NoticePage.xaml.csNotice page logic (loading, refresh, sorting, read tracking, link handling)
Utils/NoticeConverters.csValue converters (Bool↔Visibility, Tag↔Color mapping)

Modified Files

FileChanges
MainWindow.xamlAdded "Notices" nav item (Megaphone24 icon)
App.xaml.csFire-and-forget notice index preload on startup
Views/DashboardPage.xamlAdded notice unread banner + refactored banner layout to StackPanel
Views/DashboardPage.xaml.csAdded unread count detection + banner animation + navigation
Views/SettingsPage.xaml.csIntegrated AutoUpdateSession + polling restore mechanism

NuGet Dependency Changes

PackageActionVersionPurpose
MdXamlAdded1.27.0Markdown → FlowDocument rendering (notice content)

Version

  • Version: 1.4.6-Beta → 1.5.0-Beta
  • InformationalVersion: 1.4.6-Beta → 1.5.0-Beta

📦 Download

Notion-Files-Management.exe

Built-in Python 3.11, no separate Python installation required.


💻 System Requirements

  • Windows 10 (1809+) · x64
  • Minimum 2 GB RAM

🚀 Quick Start

  1. Create an Integration in Notion via Notion Integrations and copy the Token (starts with ntn_).
  2. In your Notion page → Add connections → Select your Integration.
  3. Open the application → Settings → Paste the Token → Save → Start using.

⚠️ Known Issues

  • Only supports Windows x64.
  • Tasks are not persistent after restarting the program (memory-only storage).
  • Breakpoint resume is not supported yet.
  • Data source migration uses title-based matching; pages with identical titles may cause imprecise mapping.

🐛 Feedback

Submit Issues · Join Discussions

If you find this project helpful, feel free to give it a ⭐ Star! · Sponsor ❤️


Released on February 21, 2026 · Version: 1.5.0-Beta

Released under the MIT License.