Closed dongrentianyu closed 10 months ago
上次修了一下,发现现在右键主工作区同步云端居然会把 https://github.com/linonetwo/calendar 给改成 https://linonetwo:ghp_xxx@github.com/linonetwo/wiki ,让 git 仓库搞错了!这可是严重问题了
还好,在这里可以改回来,再用 source tree app 重新 fetch origin 一下就修好了
右键工作区里同步单个子工作区是没问题的,例如直接同步 calendar 工作区没问题
我感觉我又在这里被坑了。等下看看有没有啥好办法。论坛
呃,看样子是这么一个情况了。
就是用太记自动同步时,会把github desktop里的https://github.com/dongrentianyu/time2task
,变成https://dongrentianyu:github_token_@github.com/dongrentianyu/itime2task
这样的,也就是直接把token填进去了。
之前遇到了,然后不记得当时怎么修复的来着了。
呃,破案了。
就是github的token,账户名,和email,都要填上。分支应该是可选的。
然后在github desktop里,把仓库设置成https://github.com/dongrentianyu/cardwiki
形式。如果是添加了token的,要改过来。
但新的问题是,我添加了email,结果再次启动email就没了。跟编辑者署名的那个一样,就是重启之后就没了。也没有保存下来。
呃,果然还是因为没有把email保存下去。我这次先在设置里,把所有设置都设置为默认值。然后再导入一个wiki测试。
发现就是写上了email各种信息。最后重启一下就没了。
我直接打开C:\Users\34656\AppData\Roaming\TidGi\settings\settings.json
文件,在里面修改"github-email":null
,修改为"github-email":"3465645884@qq.com"
,然后再重启,第一次正常提交了。
结果第二次填入的数据,就又变成了"github-email":null
。感觉还是什么地方出了问题。
刚测试了最新版本的太记,问题还是没有解决。编辑者和email都没有保存下去。一同步,在github desktop那里就会变成https://dongrentianyu:github_token_@github.com/dongrentianyu/itime2task
这样的。修改了也会变过来。
目前版本信息如下。
Version v0.8.1-prerelease14
Electron Version: 28.1.0
Node Version: 18.18.2
Chromium Version: 120.0.6099.109
关闭窗口时,存在卡顿,然后就弹出windows提示,是否终止程序。选择终止程序才关闭。
问claude,说是可能这一行出了问题。
根据代码逻辑分析,邮箱值没有被保存,重启变成null的原因可能有:
set方法未成功执行
代码中 onChange 事件中使用:
void window.service.auth.set(`${storageService}-email`, event.target.value);
来保存邮箱值。但这里使用了void,如果set方法执行失败或报错,也不会抛出。这样就导致了值未被真正保存,重启就丢失了。
用户信息状态没有正确更新
值的读取通过 useUserInfoObservable 钩子获取用户信息状态。如果set后用户信息状态没有做对应更新,那再次渲染时还是显示旧的值。
本地存储本身失败
很可能是把邮箱保存在本地的浏览器存储中,但浏览器存储操作失败了,没有错误处理和重试,导致最终的值没有保存下来。
组件实例之间数据没有同步
如果是多个组件实例,一个组件实例中修改的值没有同步到其它实例,那其它实例渲染时还是旧的数据。
总结下来有可能的原因:
需要进一步调试定位上面的具体原因后继续优化。
其他的就不知道了。想pnpm update,更新一下,半天也没更新完,不知道啥又卡住了。
仔细研究了一下,发现上面的好像没啥问题。因为要有问题,肯定是几个同类型的组件都出了问题。不能只是email没有保存下去。
感觉更像是这串代码的问题。说是会丢失ts的类型检查。从而导致一些很难看得见的问题。而下面的name: any;
,也可能是导致编辑者名称一直保存不了的因素。编辑者名称还好说,好像tiddlywiki里设置了就没问题了。
不管怎样,就是尽力探索到这里了。我这本地构建不出来,也不知道咋测试,就这样了。期待太记早日解决这个问题,不然太闹心了。
邮箱是什么问题,和token不是同一个吧?
token 应该会自动复原了吧,我这次特地在 https://github.com/tiddly-gittly/git-sync-js 加了一些测试了
录制了视频。
现在就是退出,关闭,重启都会卡顿,我也不知道为啥,就从下面关闭窗口关闭了。
等看完了,检查完了,我估计要换个token了。感觉手动获取到的token应该没问题吧。
登录好像登录不了,就是授权了,但依旧没反应。
我感觉应该不是私人仓库的原因。因为之前私人仓库也是可以同步的。
是有点问题,刚发现登录按钮没有生成token,还得排查一下。还有点击立即重启那个我也发现了,可能所有导致重启app的都会这样,得修一下
直接退出app也会卡,可能是退出的逻辑有问题,但是我 Windows 开发的时候没遇到,日常用也没遇到,我是今天到公司在mac上用才发现了。
现在还是email和编辑者名称没有保存到设置文件里。一刷新就没了。没有这两个,github desktop,就无法正常同步了。
呃,有点尴尬。我好像找到原因了。
原因就是不能有中文路径。
就,很简单的原因。但我之前使用时包含了中文路径,用起来也一直没问题。不然我也不会现在才意识到这个问题,因为我从来就没怀疑过是中文路径的问题。一般来说,就是如果因为中文路径出了问题,那么第一次使用时,就应该显示出来有问题。而不可能是现在才出现。
我现在使用的版本号如下。
Version v0.8.1-prerelease6
Electron Version: 25.2.0
Node Version: 18.15.0
Chromium Version: 114.0.5735.134
我看好像发布了新版本,等下再尝试一下。至少这个版本,在没有中文路径下,好像能正常同步,不会出现各种各样的问题。
但奇怪的是github desktop里不是直接的https://github.com/dongrentianyu/time2task
,而是https://dongrentianyu:github_token_@github.com/dongrentianyu/itime2task
的形式。但能成功同步,不带上那个test的账号。感觉终于成功了。
但不好的消息是,新版本仍然有这个问题。
我使用下面的版本,会出现email和编辑者姓名丢失的问题。同时会和github desktop无法正常同步,会附带一个test账号。
Version v0.8.1-prerelease15
Electron Version: 28.1.0
Node Version: 18.18.2
Chromium Version: 120.0.6099.109
我先用回旧版本了。林大加油,我感觉不像是太记本身的问题,倒像是太记使用框架的问题。也就是框架更新太快了,而github desktop不能适应,哈哈。
但可能问题还在于这个无法保存的email和token上。
就是不知道其他人有没有类似的问题。如果也能附带log上来就好了。
如果github desktop是https://dongrentianyu:github_token_@github.com/dongrentianyu/itime2task
的形式,那么就不能手动直接在github desktop里更新wiki了。只能由太记来同步更新了。
而要能够在github desktop里手动推送更新,那么就只能把仓库设置改回https://github.com/dongrentianyu/time2task
形式。但只要一启动太记,就会被上面的token形式覆盖掉。
问题还是挺复杂。目前我先选择带有token的形式,最近经常需要太记,只能先用了。
https://github.com/tiddly-gittly/TidGi-Desktop/releases/tag/v0.8.1-prerelease16
试着修了一下
尴尬的是,exe和msi版本都安装不上。启动没效果。电脑也重启过了。
应该没问题呀,我的window可以直接升级
反正注意备份
看 log 里的 SyntaxError: Unexpected end of JSON input ,是说 setting json 坏了,你用 vscode 之类的打开,把 json 格式手动修一下就能打开了。
可能是之前设置存不上的bug,导致文件损坏了,但是估计补个 } 或者删多余的} 之类的修复格式就好了。
但我把setting json,设置成空集还是什么呢?
我修改成这样,等下启动就会被覆盖。
用vscode保持了一下,竟然成功了。终于成功进到太记里了。
之前我也修改了,但修改后就关掉了vscode,然后重启失败了。
进到太记后就发现之前导入的wiki都失效了,要重新导入一遍。里面只有一个刚新建的wiki。
所以说修复一下就好了,不要删掉之前的设置
不是我删除的,而是我打开就已经是空白的文件了。我是添加了{}
,然后vscode没关闭,才成功了。之前都是关掉了vscode重启的,结果就失败了。
发布新版本好快啊,我再试试最新版本。
好吧,也不知道为啥这个文件被清空了,不过新版应该没问题了。不过新版也对保存设置的地方重写了一下,不知道会不会有新的问题。
主要是这几天我都在用Windows电脑,就把Windows上遇到的bug都修了。
果然跟我想的差不多。原本setting文件里是有文件的,下载了最新版本的,启动之后就清除了。
然后就是已经有一个了。要重新导入过我其他的wiki。
所以清除setting文件应该还是程序出了啥问题。
另一个是一直会重复添加这两个文件,不知道是模板wiki自带的还是什么,就是删除了,也会添加上。
编辑者名是保存下来了,但github-email还是保存不了。难道是因为我邮箱账号纯数字的缘故吗?
github-email保存不了,同步就还是会带上那个test账号。
我把数字账号改成了英文账号,但同样无法保存下来。
token问题已解决。
github email无法保存的问题,我重新提了一个issue,这样就不在这边追踪了。
感觉还是会时不时冒出来。可能是自动备份提交的时候,因为网络问题,识别不到github,然后就改用了test账号提交。
而且有时候提交上去,还会提示不能推送,因为仓库的设置被修改成token的形式。但等一会,又可以提交了。感觉是网络问题影响了。
现在我都关闭了自动备份,都是写完了就推送一下。
我这是除了网络原因以外都正常了
Environment 环境信息
No response
Description 描述
No response
Steps to Reproduce 复现方式
大概是同步中文教程的github,过段时间需要手动更新一下。
但这个更新在github desktop里可能出错了。
大概会出现图片上的弹窗。
之前这里有一大段乱码的内容,删除后重新把原地址复制过去,就推上去了。
问题多少是解决了,但现在这里留个记录。
Additional Context 额外上下文
No response