关机后重启,总是提示重建索引

siyuan 开着,后云端已经同步完毕。

然后不要手动点退出 siyuan,而是用 windows 的关机功能关机,那么下次开机的时候,siyuan 会报错,大意是:上次没有正常退出,请用户手动重建索引。

我想大部分人用电脑,关机前不会刻意选择要退出 siyuan 吧?

这个问题怎么解决?——如何让 siyuan 不要报错啊。每次开机很烦啊。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    19759 引用 • 75595 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 这个问题确实

  • ringx 2 赞同

    这个让我想起了 ubuntu 经典的内部错误。

    一个软件其实不需要告诉用户太多信息的,哪怕内部出错了,默默纠正好了。

    你非要告诉我你内部错误了,又不告诉我该怎么帮你,那我除了给你加个油,点个 ❌,还能干啥呢?

    像 ubuntu 那样实诚的话,就会给人留下非常不好的影响。其实大部分所谓的“内部错误”都是鸡毛蒜皮的小事情。

    像思源笔记这种提示用户重建的,反正都需要用户手动点击,还不如默默执行一次,反正都是异步的。

    而且最关键的是:不要轻易告诉用户你在重建,或者你在干什么。用户根本不关心你在后台干什么。

    过多的消息其实挺烦人的,就像软件退出的时候,非得在右上角搞两个 toast 提示,

    一个是:正在同步;另一个是正在退出。

    何必呢,需要每次都提醒的东西,就一定不是必须要提醒的东西。

    稍微换个思路,为什么不在同步失败的时候才提醒呢?


    我感觉这种大概就算是经典的“程序员”思维,而不是“产品"思维,容易被程序员理解,但是用户可能就会觉得比较烦了。

    当然,只是有感而发吐个槽。

    2 回复
    3 操作
    ringx 在 2024-06-03 10:16:22 更新了该回帖
    ringx 在 2024-06-03 09:44:03 更新了该回帖
    ringx 在 2024-06-03 09:42:09 更新了该回帖
  • lsb900226

    哈哈哈 @88250 @Vanessa 本来就是程序员,其实包括 UI 啥的都跟不上,不过也没办法,2 个人都去开发程序了,没其他人了,更不可能找个产品经理,UI 设计师啥的

  • kokeo

    必须顶一下,确实好烦人

  • 支持楼主,pc 端、手机端都有这个问题

  • 因为重建索引的过程中会阻塞一些操作,数据越多索引时间就越长,用户等不了,所以不会自动重建索引。

    应该将是否需要重建索引交给用户来判断,挂后台关机之类的不重建索引问题不大,突然断电之类的就必须重建索引了。

    1 回复
    1 操作
    JeffreyChen 在 2024-06-03 12:11:12 更新了该回帖
  • 因为我都用笔记本,所以我都是休眠状态不会遇到这个问题。另外说个相关的,状态栏正在重建索引之类的提示确实没必要,我用 css 把状态栏的重建索引和同步过程隐藏了之后别提多爽了,就是下面的代码片段,可以试试

    .status__msg{display: none}
    .status__backgroundtask{display: none}

  • 这个其实不是什么大问题:

    1. 客户端的思源笔记启动的时候本身就是有载入过程的,如果有脏数据完全可以在这里做了。而 docker 端又是不关闭的,所以几乎没有手动重建的必要。
    2. 如果重建索引的动作是阻塞的,并且如果预期内它可能也是「耗时的」,那么这个动作本身也应该考虑做成有渐进的影响文档,比如重建索引过程中,【双向链接】失效(我只是举其中一个例子),或者说某些和索引相关的动作灰掉它。这些都是可以被接受的。不然必然会出现一些用户要干等你索引完全才能用笔记的情况,这个是不太能被接受的。
    3. 思源笔记的数据本身就是支持快照的,而且背后看起来是有逻辑维护的,既然有快照这个特性存在,理论上增量部分的索引是不太可能造成长久的阻塞的。除非这个快照是假快照,落盘的数据也是存在变化的风险的。

    是真的没必要让「用户去决定是否手动重建索引」,这个动作有点硬核了,而且会让人觉得自己的数据会不会不安全?因为重建某项东西必然会有两个结果:成功和失败。

    真的不要让用户觉得他像个 DBA 一样,我从来没见过哪个知识整理类型的应用会(那么频繁地)需要用户去关心他的索引重建的。

    2 回复
    4 操作
    ringx 在 2024-06-03 14:44:38 更新了该回帖
    ringx 在 2024-06-03 14:42:40 更新了该回帖
    ringx 在 2024-06-03 14:38:06 更新了该回帖
    ringx 在 2024-06-03 14:37:48 更新了该回帖
  • 而 docker 端又是不关闭的,所以几乎没有手动重建的必要。

    但这里讨论的是桌面端的非正常关闭。

    对,我的意思是完全可以放在客户端启动的时候干掉这个事情,对 docker 版本的也不会有什么影响。(因为我主要用的 docker 版本的,不过最近也试了一下客户端的。)
    ringx
  • Dominic-Z 1 赞同

    我记得之前看过一个回复,因为手机端几乎用户都是直接杀后台退出程序的,所以会导致一些索引问题,每次重新打开就会提醒用户重建一下。可能目前开发者也还没想到有什么办法能够在这样的场景下保护好数据吧。只能以这样频繁的提醒来折中解决。

请输入回帖内容 ...

推荐标签 标签

  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 139 关注
  • OnlyOffice
    4 引用 • 20 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 284 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    279 引用 • 712 回帖 • 1 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 2 关注
  • 博客

    记录并分享人生的经历。

    272 引用 • 2386 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 121 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 708 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 188 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 699 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 121 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 12 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    540 引用 • 3529 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 610 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 406 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 643 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    184 引用 • 461 回帖 • 2 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖 • 1 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 5 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 14 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 15 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 1 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用