有道君-这真是一个Bug

试用了有道笔记后,其简洁的风格就立刻吸引了我,我需要的简单功能也都有,当然我更看中的是国内的产品被墙得可能性相对小一些,于是就果断抛弃了其他同类的产品,不过最近发现了其网页版的一个可能导致数据丢失的Bug。

如何重现?

1. 登录网页版后默认是一个三栏的界面,类似于Outlook,在最右边的区域编辑当前选中的笔记。
2. 这时,如果你觉得窗口太小,于是点击右上角的“新窗口打开”按钮以便在新窗口中编辑这条笔记。老窗口保持不变。
3. 你在新窗口中写啊写,终于写完了,点击保存关闭回到老窗口。这时服务器上已经存的是你在新窗口中编辑的内容,而老窗口依然处于可编辑状态,里面的内容并没有包含你在新窗口中编辑的内容。
4. 这时,最关键的时候到了,如果不小心在老窗口里面按了个键,导致本地的内容被更新了,从而触发了自动保存,这将导致老窗口中的老内容自动保存到服务器上,你在新窗口中编辑的内容就被覆盖了,而且还无法找回。(这只是我找到的一个确定可以触发自动保存的条件,也许还有别的条件能触发自动保存)

问题根源

从现象来看,这是一个典型的同步问题。多个客户端同时对同一内容做写操作时,一定要有某种机制保证同步。有道笔记这里的问题是:老窗口从服务器读取了笔记的内容后就不再检查服务器上是否有别人更新的内容,而只是简单地保存,从而导致服务器上的新内容被覆盖。我没得空去测试在不同浏览器中去编辑同一条笔记,因为还属于比较少的情况,而我遇到的是在正常操作下,很容易就碰到的问题。

如何修复

1. 最快捷的修复方法:在用户点击“新窗口中打开”按钮后,在老窗口中把笔记退出编辑状态,以保证只在一个窗口中修改和保存。这可以避免这个问题在一个正常的操作流程中出现。当然,这只是在GUI层面“避免”对同一笔记的同时修改,并没有解决本质问题。
2. 最完善的修复方法:支持版本管理。类似于代码管理一样,在提交代码的时候,如果别人已经更新了,你得处理冲突和合并修改,不能粗暴地用自己的内容去覆盖服务器上的内容。有了版本管理后,即使出现被强制覆盖的情况,也能从历史记录中找出来,不至于导致数据丢失。

当然,有道君肯定有更好的解决办法了,希望这个问题能很快修复,要不然使用起来提心吊胆的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值