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

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

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

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

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

  • 思源笔记

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

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

    19770 引用 • 75625 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 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 更新了该回帖
  • 其他回帖
  • 支持楼主,pc 端、手机端都有这个问题

  • lsb900226

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

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

    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 更新了该回帖
  • 查看全部回帖

推荐标签 标签

  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 648 关注
  • GAE

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

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

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    165 引用 • 407 回帖 • 516 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    229 引用 • 1450 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    96 引用 • 330 回帖
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 30 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 3 关注
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 510 回帖 • 3 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 5 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • OpenStack

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

    10 引用 • 1 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 45 关注
  • V2Ray
    1 引用 • 15 回帖
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 518 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 707 关注
  • 笔记

    好记性不如烂笔头。

    306 引用 • 782 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 1 关注
  • 工具

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

    279 引用 • 712 回帖 • 1 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 552 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 96 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 582 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 57 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1385 回帖 • 345 关注
  • CodeMirror
    1 引用 • 2 回帖 • 128 关注