快速回顾

出席: eyedeekay, zzz, zlatinb

会议记录

(03:01:40 PM) eyedeekay: 大家好,欢迎参加开发者会议 (03:01:40 PM) eyedeekay: 1. 打招呼 (03:01:40 PM) eyedeekay: 2. 发布状态(1.7.0 / 0.9.53) (03:02:10 PM) zlatinb: 嗨 (03:02:12 PM) zzz: 大家好 (03:02:39 PM) eyedeekay: 在开始发布状态之前,今天的议程还有其他要添加的吗? (03:03:01 PM) zlatinb: 我有两个小事项,可以归到“1.8.0 愿望清单”里 (03:03:25 PM) eyedeekay: 3) 1.8.0 愿望清单 (03:04:24 PM) eyedeekay: 2. 发布状态(1.7.0/0.9.53) (03:05:37 PM) eyedeekay: 我这边还有一个遗留问题:.aab 打包构建流程有问题,从 `i2p.i2p` 构建中引入的静态资源会被删除,无法出现在最终的 .aab 中 (03:06:06 PM) eyedeekay: 目前 GPlay 延期了,我今天在处理,应该很快完成。 (03:07:53 PM) eyedeekay: F-Droid 和 Freestanding 都是使用旧构建流程的 .apk,那个流程没坏,所以还可以正常工作。 (03:07:53 PM) eyedeekay: 还有其他未完成的发布流程需要处理吗? (03:10:03 PM) eyedeekay: zzz 你那边对发布状态还有要补充的吗?我了解到 BiglyBT 今天发布了他们的插件,对吗? (03:10:22 PM) zzz: 是的 (03:10:48 PM) zzz: 根据 expl. 构建成功统计,我们已经从上次发布中的 i2pd 回归问题中迅速恢复 (03:10:52 PM) zzz: http://stats.i2p/docs/buildsuccess.webp (03:11:11 PM) zzz: 如果我没记错的话,现在的水平已经高于过去几年的任何时候 (03:12:11 PM) zzz: 再过一周情况应该会稳定下来,然后我们再看看形势 (03:12:13 PM) zzz: eot (03:12:21 PM) eyedeekay: 这真是个好消息。很高兴目前进展顺利。 (03:12:32 PM) eyedeekay: 谢谢 zzz (03:12:50 PM) eyedeekay: 3. 1.8.0 愿望清单 (03:13:17 PM) eyedeekay: zlatinb 你来说吧 (03:13:44 PM) zlatinb: 嗨,1)加快初始 exploratory tunnel(用于探测的 tunnel)构建时间,2)JNA (03:14:05 PM) zlatinb: 1:我做了一些分析,成功构建的 exploratory tunnels 有 75% 在 500ms 内完成 (03:14:29 PM) zlatinb: 在约 30 个样本中,最慢的成功构建也不到 2500ms (03:14:46 PM) zlatinb: 而我们现在的超时时间是 13000ms,我认为把它调低会让 router 更快进入 RUNNING 状态 (03:15:07 PM) zlatinb: 现在不必做决定,只是先抛个想法 (03:15:12 PM) zlatinb: 1 结束,eot (03:15:33 PM) zzz: 对第 1 点没有异议 (03:15:56 PM) eyedeekay: 至少听起来是个值得一试的实验,看起来也不会有坏处 (03:16:12 PM) eyedeekay: 如果所有成功的构建都这么快的话 (03:16:13 PM) zlatinb: 2:JNA——我们肯定需要把 JNA 加进 Windows Easy-Install 安装包里,以便在自动更新时提升权限。如果进程需要提升权限,ProcessBuilder 会失败。 (03:16:20 PM) zzz: 不过在确定新数值前,我想先看看更长时间段的数据 (03:16:25 PM) zlatinb: 好的 (03:16:42 PM) zzz: 请先回过头来定义一下 JNA 是什么 (03:16:43 PM) zlatinb: (回到 1)我会让一个 router 持续运行并开启日志 (03:17:12 PM) zlatinb: (回到 2):JNA 是 Java Native A-什么的缩写,本质上是对 Windows、Linux、Mac 原生库的 Java 封装 (03:17:27 PM) zlatinb: 所以你不需要写原生代码,而是写 Java 代码 (03:17:52 PM) zlatinb: 两个 jar 合计 3MB,用 LZMA 压缩后约 2MB (03:18:11 PM) zzz: 请再往前说,说清楚具体问题以及它的普遍程度 (03:18:38 PM) zlatinb: 我在 muwire 测试静默更新时发现,ProcessBuilder 无法启动需要“priviledge elevation required”的安装程序之类的东西 (03:19:07 PM) zzz: 这是只在 Windows 上出现的问题吗? (03:19:12 PM) zlatinb: 我查了一下,发现用 ProcessBuilder 确实做不到 (03:19:36 PM) zlatinb: 是的,目前只限 Windows (03:19:40 PM) eyedeekay: 我这边在 Windows Easy-Install 上没遇到,这是因为请求提升权限的是 NSIS 而不是 Java 吗? (03:20:02 PM) zlatinb: 是 NSIS 在请求 (03:20:16 PM) zlatinb: 如果你已经用高权限运行 Java,那就不会提示 (03:20:22 PM) zlatinb: privilege* (03:20:28 PM) zzz: 是的,我的问题也是这个。Windows Easy-Install 已经测试版好几个月了,这是不是只在 muwire 上会出现的问题? (03:20:48 PM) eyedeekay: 哦好的,那么在下次更新之前,使用 ShellExecAsUser 的话就会开始出现这个问题 (03:21:15 PM) zlatinb: eyedeekay,如果不是从安装程序启动,你会提升权限吗? (03:21:48 PM) zlatinb: 我不记得看到过权限提升提示 (03:22:12 PM) zlatinb: 所以如果是通过桌面快捷方式启动(而不是作为安装程序最后一步),Windows Easy-Install 应该就会出现这个问题 (03:22:14 PM) eyedeekay: 不,不会。它会以运行批处理脚本的用户身份运行,但前提是 I2P 还没在运行(推测此前是以管理员身份运行的) (03:22:52 PM) zzz: 所以,在讨论我们的 Windows easy-install bundle 的解决方案之前,先确认确实存在这个问题 (03:22:57 PM) eyedeekay: 它不会随着浏览器一起关闭 router (03:23:35 PM) eyedeekay: 我倾向于认为会有问题,不过这周晚些时候我会确认 (03:23:36 PM) zlatinb: 也就是说,如果用户不取消勾选“launch i2p now”,让 router 一直运行,它就会以高权限运行,并且更新时不会弹出提示 (03:23:43 PM) zlatinb: 好 (03:24:22 PM) zlatinb: 不管怎样,在 1.7.0 中,即使从安装程序启动,router 也是以非特权(非管理员)身份启动的 (03:24:39 PM) zzz: 另外,muwire 可以按你自己的规则来做,但在我们的官方产品中,任何方案都必须经过适用性、维护性、许可证兼容性等方面的审查 (03:24:57 PM) zlatinb: Apache 2.0 (03:25:45 PM) zlatinb: 展望一下,JNA 让我们几乎可以随意调用 Windows API……注册 Shell 扩展、URI 处理程序,等等这些好东西 (03:25:57 PM) zlatinb: 2 结束,eot (03:26:35 PM) zzz: 我们先让 easy-install 的自动更新多跑几个周期吧,显然它一直都没真正工作过? (03:27:13 PM) zzz: 你不必等 i2p 发版,直接换个新的 Java,或者改点别的。我们把修 bug 的节奏加快一些 (03:27:14 PM) eyedeekay: 它之前坏过,后来修好了,现在看来在下一次更新时又会坏 (03:27:55 PM) eyedeekay: 不过我这边的另一个方案是修改安装程序,不再使用 %ProgramFiles%,而是安装到无特权的位置 (03:28:09 PM) zzz: 每周发一个版本,直到它平稳工作为止。显然三个月一次的节奏不足以收敛到可用状态 (03:28:32 PM) eyedeekay: 可以 (03:29:53 PM) eyedeekay: 感谢你把这些问题提出来,zlatinb。关于第 3 点还有别的吗? (03:29:58 PM) zzz: 这样也能让我们拿到有关权限问题(如果确有其事)的数据 (03:30:00 PM) zzz: eot (03:30:21 PM) zlatinb: 没有了,我这边 eot (03:30:57 PM) eyedeekay: 好的,本次会议还有别的事项吗?超时 1 分钟 (03:31:16 PM) zzz: 另外,用新闻通知你的测试用户(beta 用户),如果这次更新坏了,他们需要重新下载 (03:31:35 PM) eyedeekay: 会的 (03:32:05 PM) zzz: 你们俩都有自己的新闻源,却没有用它与用户沟通,只是依赖我发布的新闻?你们应该开始测试/使用这个功能 (03:32:11 PM) zzz: eot (03:34:07 PM) eyedeekay: 可以。以前我添加过 i2p.firefox 的更新日志 (03:34:54 PM) eyedeekay: 感谢各位来参加会议,看起来我还有不少工作要做,IRC 上见