Brave在中文环境下编译报错

最近,突然接触到Brave这个浏览器,正好有研究源码的需求。就尝试在本地编译一个。

但是在编译过程中抛出报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 506: invalid continuation byte

提示在python3\bin\Lib\subprocess.py 文件中1016行的问题。

报错位置报错位置

结合报错信息估计编码问题。尝试使用set PYTHONUTF8=1环境变量解决问题。

但是,仔细阅读报错发现是无法解码为UTF-8,估计和Windows中文系统默认编码GB2312有关。

又因为报错位置在python自带的子进程库中,所以排查到调用位置D:\brave\src\testing\scripts\common.py的69行,添加encoding='gb2312'

添加<code>encoding='gb2312'</code>添加encoding='gb2312'

问题解决~

一切正常一切正常

Windows 生成的p12证书,Mac提示密码错误

上篇文章说到使用客户端证书认证访问网站,但是使用证书需要安装。

但是我发现在Windows上生成的p12证书在MacOS上一直提示密码错误。

怀疑是生成时的加密算法的问题,这里记录下如何转换证书在MacOS上正常使用。

导入证书到系统

记得勾选可以导出私钥

记得勾选可以导出私钥记得勾选可以导出私钥

导出证书

设置中搜索证书管理器,因为刚才的证书安装到个人区域,所以我们这里选择 管理用户证书

Nginx 配置客户端证书认证

最近,有个内部服务需要使用公网上,担心被暴力刷API破解。

正好看到有个双向证书认证的方案,挺符合需求,踩了不少坑,简单记录下

生成证书

info:仅需要生成自签名客户端证书即可,服务端证书就用免费的在线申请的即可,不会有信任问题

可以参考微软官方文档:

生成自签名客户端证书

这里我就用openssl,来生成客户端证书

微信小程序 Canvas 在IOS下,导致无法滑动、页面卡死

最近在写一个活动小程序,其中有一个抽奖组件,测试的时候发现Canvas在Ios下的渲染问题。

如果用户使用苹果设备,按住Canvas绘制区域时滑动页面,会导致页面卡死,只有重启小程序才能恢复。

但是Android用户却没有任何问题。


初步排查

初步排查怀疑是Canvas这种原生组件在绘制的时候出现了问题导致的。

但是查询微信官方文档论坛,发现有人遇到了同样的问题。

原生组件渲染问题的官方回复,后续版本修复原生组件渲染问题的官方回复,后续版本修复

但是这篇提问是在19年5月份发的,微信官方就是10月实现了原生组件同层渲染,来解决这个问题。我检查了下基础库版本,是2.21.2,远超过要求。

真机调试下,小程序Canvas无法绘制

我在真机调试下,调试小程序Canvas,一直无法绘制,我以为是Echarts不兼容导致的。

实际上,这TMD的是微信开发者工具的问题,真机和模拟器都没问题。

微信小程序,任何涉及到原生组件的调试一定要在真机上调试!Android和IOS都试一遍,不然就是大坑!!!