Githawk: 书签重置(再次)

创建于 2017-11-05  ·  14评论  ·  资料来源: GitHawkApp/GitHawk

因为我们使用了一种非常严格的编码形式,所以每当我们修改结构时,书签都会重置。

图表 A: https :

有什么方法可以让我们更灵活地改变它,否则一旦它上线,我们就会遇到问题,我们基本上无法在不破坏缓存的情况下修改它的功能!

我在想,记住我没有对 codable 做太多事情,所以可能是不可能的,但是如果我们从 codable 编写我们自己的 init 那么新值可以被视为可选值和默认值吗? (虽然这也会导致问题,因为例如上面的 - 默认分支 = 错误 = 代码视图会出错所以😕)

你不确定@rizwankce 有什么想法吗?

🐛 bug

最有用的评论

我们永远不会发布擦除书签的版本,我不会接受。 任何会破坏书签的更改都应该包括迁移,即使是手动的。

使用GitHawk发送

所有14条评论

不仅因为我们添加了新参数。 重置发生是因为我将商店更改为使用NSMutableOrderedSet

这给处理数据库/迁移带来了同样的问题。 🤦‍♂️

使用GitHawk发送

等待编码不能处理结构变化吗? 那么如果我们添加一个新属性,它会无法反序列化吗?

如果是这种情况,我们不妨回到NSCoding

使用GitHawk发送

确切地说,如果你升级你只会在控制台中得到一堆错误,说它不知道这个对象到底是什么并且失败(因此重置)

如果NSCoding处理得更好,那么可能值得改变😞

使用 NSCoding,您可以完全控制,只需将新值设为可选,或在 initWithCoding 中提供默认值。

我们应该在 1.12 之前改变这个

使用GitHawk发送

所以可以用 Codable 来做到这一点,正如我上面建议的那样——但问题是没有一个默认值可以使用并且没有错误。 我的意思是,是的,您肯定可以争论“边缘情况”,但实际上我们需要一个迁移系统,该系统可以执行请求并使用新信息更新书签🤔

@Sherlouk 想到了 Spark 的“升级数据库”之类的东西

使用GitHawk发送

从这个意义上说,我们已经有了错误。 当 repo 更改其默认分支时会发生什么?

听起来更像是我们需要一个系统来在您访问它们时刷新它们。

使用GitHawk发送

在书签的意义上,非常真实。 问题/搜索/等都是存储库的最新参考,因此它们的信息将是正确的。

书签和最近的搜索需要一种方法来仅从所有者/名称加载存储库以在输入之前获取其他信息

哎呀,如果我们这样做了,我们就可以开始在回购和问题标签上显示星级。 可以保持简单,只有在您输入内容时才刷新(与某些同步服务相比)。

旁注,您不能在单个 gql 请求中查询多个存储库,对吗? 所以就像一个按名称请求 4 个 repos 的请求?

使用GitHawk发送

据我所知,我认为是 1:1。 星星,标签,提交信息🤔🤔

使用GitHawk发送

想在这里做什么? 想在本周提交 1.12。 我不太担心这个自动取款机,只需要考虑一个迁移计划。

听起来像长期我们只需要一个刷新机制,但这不会太难添加。

也许我们只需要稍微重构书签,以便我们可以根据标识符进行 O(1) 查找并更新对象?

我个人非常担心在没有计划的情况下发布书签,就好像我们不处理它一样,我们会继续清除用户书签!

使用GitHawk发送

我们永远不会发布擦除书签的版本,我不会接受。 任何会破坏书签的更改都应该包括迁移,即使是手动的。

使用GitHawk发送

关闭它,因为我认为我们现在已经控制住了。 绝对应该为每个新版本检查这个 - 或者找到某种方法来自动化它。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Iron-Ham picture Iron-Ham  ·  3评论

rnystrom picture rnystrom  ·  3评论

BasThomas picture BasThomas  ·  3评论

weyert picture weyert  ·  3评论

viktorgardart picture viktorgardart  ·  3评论