tiddly-gittly / TidGi-Desktop

TidGi is an privacy-in-mind, automated, auto-git-backup, freely-deployed knowledge management Desktop note app, based on Tiddlywiki, with REST API for web-clipping and Anki connect. 「 太记 」是一个基于「 太微 TiddlyWiki 」的知识管理桌面应用,能保护隐私内容、高级自动化、自动Git云备份、部署为博客,且可通过RESTAPI与Anki等应用连接。(迭代开发中欢迎试用,开发进度见下方链接)(Under active development, see website below for details)
https://tidgi.fun
Mozilla Public License 2.0
1.71k stars 106 forks source link

help: 两台电脑同步,加密条目在其中一台无法查看 #314

Closed YrracOwl closed 1 year ago

YrracOwl commented 1 year ago

Description 描述

两台PC均与仓库同步,显示无最新更改。但是在其中一台电脑上,标签的条目无法查看,另一台是正常可查看的。

Additional Context 额外上下文

No response

linonetwo commented 1 year ago

我没用过加密条目,那个不是输入密码才能解开的吗?还有如果都是同样的内容的话,为啥展示会有不同呢?你用github desktop看看同步过来之后具体的内容是不是一样的。

YrracOwl commented 1 year ago

我描述错了,是私人条目,你写的那个subwiki。

image

在其中一台电脑上如下所示。

image

在另一台电脑上就是下面所示。

image

我用git检查过,是一致的。

linonetwo commented 1 year ago

那就是没链接子wiki成功吧

YrracOwl commented 1 year ago

那这个应该怎么弄呢,有点头疼

linonetwo commented 1 year ago

就是创建 子wiki,这一步你有操作成功吗

linonetwo commented 1 year ago

检查一下 tiddlers 文件夹里的软连接有没有生成成功

YrracOwl commented 1 year ago

搞定了,在tiddler下生成了subwiki这个文件夹,那我要在多台设备上同步的话,就只有手动copy subwiki这个文件夹了吧?

linonetwo commented 1 year ago

不是,创建子wiki会自动创建,你可能没用它

linonetwo commented 1 year ago

你是不是没用这个功能

YrracOwl commented 1 year ago

。。。我没有这个"子知识库将连接到/Path"这句话,我用的win

linonetwo commented 1 year ago

那说明你在添加的是主知识库呀,有个开关,你改一下,让它是添加子知识库就行了。

YrracOwl commented 1 year ago

我找到子知识库了,但是这个文件结构我没太懂。我新建子知识库,子知识库命名为subTiddlyWiki,那么它就是会在主知识库下的tiddler/subwiki里面创建一个子链接,然后我的APrivateContent标签的条目是放在和subTiddlyWiki同级的private-wiki里的,似乎没有成功软链接

image

linonetwo commented 1 year ago

APrivateContent标签的条目是放在和subTiddlyWiki同级的private-wiki里的

这个应该是因为 filesystempath 里面有点问题吧,你看看他会把你加到这个标签的东西放到哪里?

linonetwo commented 1 year ago

目前就是靠他来把东西放到tiddler/subwiki里面的subTiddlyWiki文件夹里,然后如果这个文件夹又是个快捷方式,那他就自然会被传送扔到另外一个仓库里面去。一开始设计是这样的

可能一开始你没有从正确的流程创建,所以说 filesystempath 里面的传送规则不对?

linonetwo commented 1 year ago

基于泰威目前架构,这是最简单的,把私有内容和公开内容分开。不放到公开仓库里面的方法吧。目前我也没想到更简单的方案。

YrracOwl commented 1 year ago

确实如此,我改一下FileSystemPaths.tid的规则应该就可以正确地把subwiki的内容放到子知识库里面了,但是好像按照下面这个规则:

[!is[system]kin::to[APrivateContent]addprefix[subwiki/private-wiki/]]
[!is[system]kin::to[Photos]addprefix[subwiki/private-wiki-photos/]]

创建的文件夹跟子知识库的路径似乎又耦合?

还是说我必须要首先新建子知识库,然后才能用APrivateContent这个标签

YrracOwl commented 1 year ago

啊我理解了,就是说,我创建的子知识库,要以subwiki/private-wiki/里面的private-wiki为命名。

TidGi新建子知识库的那个指引感觉有点误导,如下图。

image

实际在这个tiddler/private-wiki-photos中还有一层tiddler/subwiki/private-wiki-photos,而且有另一个问题:子文件夹打不开,一点打开就报内部js错误了

linonetwo commented 1 year ago

哦对,这个显示问题之后改改

报错我没遇到过

YrracOwl commented 1 year ago

image

报错是这个,说没有token,但是我这俩私人wiki都已经上传成功了

linonetwo commented 1 year ago

你可能不是 js 程序员,这个是说 js 解析器说有未知 token 啦,最好用右键开发者工具的 console 看一下具体的报错位置,好排查一下是什么的问题。

有可能是太极里面我啥写错了

YrracOwl commented 1 year ago

image

在这里,这个我就排查不了了,靠你了

linonetwo commented 1 year ago

这样看不出来,你得点进  VM533:11 那边,看到具体是哪行代码才行。

不过太极一般是不会出这种错的,我也没遇到过。

YrracOwl commented 1 year ago
    while (currentHandlerWidget && !handled) {
      const bubbled = currentHandlerWidget.dispatchEvent({ type: "tm-navigate", navigateTo: "APrivateContent
", param: "APrivateContent
" });
      handled = !bubbled;
      currentHandlerWidget = currentHandlerWidget.children?.[0]
    }

这个,第二行,奇怪

linonetwo commented 1 year ago

我知道了,是因为

"APrivateContent
"

这里换行了,这个js是字符串拼接生成的,我有空修一下

YrracOwl commented 1 year ago

OKK