今天想专门记录一下 dart_simple_live 的 issue #12

前几天刚写过一篇关于 SimpleLive 开源项目的感受,那时候其实有点疲惫。fork 之后修了不少问题,打了 Windows、Android、macOS、Linux、Android TV 这些包,star 慢慢涨,issue 也跟着来了。

做开源当然会有反馈,这是好事。但有些反馈的语气会让人一下子泄气,好像我天然就欠了谁一份适配、一份修复、一份立刻回复。不是不能修,也不是不想听建议,而是一个人维护项目的时候,很容易被那种“理所当然”消耗掉。

所以今天看到这个 issue,感受就很不一样。

这个用户反馈的是 TV 版两个问题:一是弹幕显示不出来,二是关注的直播间数量多到几百个或上千个之后,恢复数据会闪退。他说自己是海外用户,不确定是不是地区、网络、设备导致,也反复对比了其他软件。

问题本身并不小,甚至还挺麻烦。弹幕可能涉及播放器设置、平台差异、WebSocket、cookie、请求头、海外网络节点;关注数量多导致闪退,也可能是数据结构、刷新逻辑、内存或者 UI 渲染的问题。按理说这种 issue 很容易写成“TV 没弹幕,快修”,但他没有。

他开头就是:

大大,
你好!

然后说:

假如说的不好,请见谅。

最后又说:

非常感谢你的帮助。

这几句话单独看好像只是客套,但放在一个 bug 反馈里,感觉完全不一样。他不是在命令我,也不是在抱怨我做得不好,而是在很认真地把自己遇到的问题告诉我,并且努力不让这件事变成一种冒犯。

我回复他的时候,先让他排查弹幕开关、具体平台、房间号、海外网络环境、有没有代理或加速器。我当时主要想先排除设置问题,因为视频流能播,不代表弹幕 WebSocket 一定能连上,尤其抖音直播弹幕这块,有时候对 cookie、User-Agent、Referer、Origin 这些东西比较敏感。

他后面也很耐心地补充了情况,说自己已经多次、不同时间段、不同设备测试过,弹幕设置应该没有问题,而且对比了其他聚合直播软件。虽然他反复说自己是“小白”,但其实反馈写得很细。

他有一句话我挺喜欢:

很开心和你交流。

这句话看起来很普通,但在 issue 里看到还挺稀有的。很多 issue 是问题清单,是报错堆栈,是需求压力;这条 issue 里却真的有一种人在跟人说话的感觉。

后来我继续分析,怀疑可能是 TV 端抖音弹幕连接的问题,不一定是弹幕渲染层的问题。我说后面会补充请求头、直播页动态 cookie、备用弹幕节点,以及 TV 端弹幕连接失败提示,同时关注数量多导致闪退的问题会单独处理。

没过多久,他又回来更新,说终于看到弹幕出现了。

终于看到弹幕出现了。

还有一句:

可以认真对待用户的反馈并及时回复,非常感动。

说实话,看到这里我也有点被打动。我只是正常回了一下,也只是按 bug 的方向正常排查,但他把这种“被认真对待”看得很重。对于我来说,这反而提醒我,很多时候开源维护者和用户之间并不是天然对立的。只要语气是平等的、善意的,一来一回就会变成合作,而不是消耗。

他后面还主动承认可能有误判:

非常抱歉之前作出的部分误判及引起的误会。

这句话其实很难得。很多人提错了问题也不会回来补充,更不会道歉。可他明明只是一个普通用户,还是很认真地解释自己为什么会误判,为什么之前以为弹幕一直不显示。这种认真会让人愿意继续往下查。

我后来发了 tv v1.7.3,说是根据这些问题改的,让他有空可以试一下。他也继续写了很长一段建议:弹幕字号能不能更大,弹幕能不能置顶单行显示,弹幕速度能不能更慢,表情能不能显示得更多,关注列表刷新速度能不能继续优化,后面有没有机会加入快手、小红书、微信视频号、微博这些平台。

这些建议不少,甚至真要做起来每一条都不轻松。但他写完以后又补了一句:

建议仅仅是建议,尊重创作者的想法。

我很喜欢这句。

因为这句话把边界感说得很清楚:我希望它更好,所以我提建议;但我也知道你是创作者,你有自己的精力、判断和节奏。这种语气真的很舒服。

后面他还补充了安卓版平板测试的情况,说关注直播间数量很多时,刷新出来的正在直播列表很少,可能只剩十几个。他说这在其他类似软件里也遇到过,一直找不到原因。最后又补了一句:

又一次话痨了,请见谅。

其实我看完完全没有觉得被打扰。

这才是很珍贵的用户反馈。不是因为他没有问题,也不是因为他说的每一句都完全正确,而是因为他愿意花时间测试,愿意把现象讲清楚,也愿意承认不确定。他没有把自己的体验包装成绝对结论,而是一直留着余地:可能是我操作不好,可能是地方不一样,可能是设备不一样,可能是个例。

这种余地,恰恰是交流里最让人舒服的东西。

开源项目里,开发者和用户其实都不容易。用户遇到 bug 会烦,会想让软件更好用;开发者看到一堆 issue 也会烦,会觉得自己的时间和情绪被不断拉扯。可如果中间多一点这种互相体谅,事情就会完全不一样。

今天这次交流给我的感受是:礼貌不是空话,也不是低姿态。礼貌是你在提出问题的时候,仍然记得对面也是一个具体的人。

一句“假如有时间,请你看看”,和一句“怎么还不修”,可能指向的是同一个 bug,但对维护者来说,完全不是同一种重量。

前者让人想打开项目继续看,后者让人想把电脑合上。

所以我想把这次交流记下来。它让我在一堆琐碎的 issue 和构建日志里,重新感受到一点做开源的正反馈。原来真的会有人认真使用,认真反馈,认真感谢,也认真祝福。

最后还是想谢谢这位海外用户。

谢谢他的耐心测试,谢谢他的礼貌表达,谢谢他愿意把问题写得那么细,也谢谢他在提出很多建议的时候,还一直记得说“尊重创作者的想法”。这比一个 star 更难得。

也谢谢他最后那句:

祝福你心想事成。

这句话很朴素,但我今天确实收到了。

希望 SimpleLive 后面能慢慢修得更好,也希望自己以后遇到 issue 的时候,别只记得那些让人烦的部分。开源里也有这样的温柔时刻,值得被记下来。