我花了一天时间修复了三个真实的开源 bug。 笔记

我花了一天时间修复了三个真实的开源 bug。

作者参与了 DEV Summer Bug Smash 挑战赛,专注于实现真实的修复,并配套提供在实施前失败、实施后通过的测试。其工作涵盖三个开源项目,历时一天。首个修复针对 OpenClaw(一款 AI 助手),该问题在于取消设置变更时错误地触发了网关重启;修复方案确保取消操作会回滚至实际运行的配置,从而避免不必要的重启。第二个修复涉及 Rocket.Chat 的设计系统 Fuselage,其中 Slider 组件的轨道填充在右至左(RTL)语言环境以及非零最小值情况下渲染错误;该问题通过将填充位置基于组件状态进行计算,并正确适配语言环境方向得以解决。第三个修复发现于 npmx.dev,其无法正确渲染许多复杂的 TypeScript 类型,而是显示为"unknown[unknown]";作者为此实现了针对多种 TypeScript 类型的新增格式化器,显著提升了 npm 包 API 文档的显示效果。每项修复均以拉取请求(pull request)形式提交,包含描述性提交信息及配套的测试。作者认识到,构建小型、可复现的 bug 案例至关重要,先失败的测试极具价值,而理解项目的约定能节省时间。这一天最终在三个项目中实现了三个可运行的修复,每个修复均附带通过的测试套件。