抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

Electron 8 多个版本发布:引入调用栈日志和可选的 HTTP 解析选项

2020 年 5 月 07 日

Electron 8多个版本发布:引入调用栈日志和可选的HTTP解析选项

最近发布的 Electron 8.0、8.1 和 8.2 做出了重大改进。这些版本的亮点包括:提升了主进程和渲染进程之间通信的性能、对调用栈更好的控制、在打包的 Electron 应用程序中添加了 HTTP 解析选项,以及用于提升会话 Cookie 存储安全性的新标记 useSessionCookies。


Electron 8.0 修改了 package.json 主脚本和页面脚本之间的进程间通信。V8 的序列化结构克隆算法减少了进程间通信所需的时间,而且不会影响两个进程之间的消息延迟。


Electron 8.0 还增加了“–enable-api-filter-logging”命令行开关,以便更好地控制调用栈。这个命令可以开启desktopCapturerremote API 的调用栈日志。


Electron 8.0 还增加了一个 timeoutType 属性,可以用来控制 Linux 和 Windows 系统通知的持续时间。新 API session.downloadURL()取代了 webContents.downloadURL(),在通过页面 origin 来触发下载时可避免做安全检查。


在以前,开发者可以在 macOS 浏览器窗口标题栏上自定义设定红绿灯的位置。在 Electron 8.1,开发者可以通过一对 API 动态地设置这个属性。



Electron 在内部使用了 Node.js,而在 Node.js 11.5 中,默认的 HTTP 解析器被替换掉了,影响到了一些使用场景,并导致 HTTP 头部解析和有效性验证更为严格。Electron 8.1 引入了“–http-parser=parser”选项,开发者可以切换成其他 HTTP 解析器。


在之前的 Electron 版本中,audioMuted 属性对 WebViews 不起作用。webview.audioMuted = true 本来是用来关闭 WebViews 的声音的,但却触发了如下所示的警告。Electron 8.1 解决了这个问题。



在最近发布的 Electron 版本中,用于发送 HTTP/HTTPS 请求的 net 模块被设计成可以从主进程发送 fetch 风格的请求。不过这个模块缺乏安全性支持,不能像 fetch 请求那样使用 Cookie。这个局限性会让黑客和不怀好意的人直接利用 Cookie 头部里的信息。


Electron 8.2 为网络请求引入了一个新的 useSessionCookies 标记,可以像 fetch 请求那样安全地使用会话 Cookie 存储。这个新标志利用了 Chromium 的内部 Cookie 存储逻辑。


Electron 8.2 还为 Webpreferences 引入了disableDialog选项,可以像 safeDialogs 选项那样禁用对话框,并能够完全覆盖 safeDialogs 的行为。



Electron 8.2 修复了在进程间发送数组可能会发生崩溃的问题。该版本还修复了另一个问题,即修改全局 Object prototype 可能会导致 Electron 内部逻辑抛出错误。


开发者对调用栈日志记录和可替代 HTTP 解析器给予了积极的响应,不过仍然存在一些问题。setBackground 属性在 Electron 8.x 中不起作用,而且更新到最新版本后,页面渲染性能显著下降。由于 remote 模块的安全性问题,开发者希望默认情况下禁用该模块。在未来,Electron 计划移除进程模型补丁,以便获得更好的性能、安全性和可维护性。


Electron 是一个开源框架,利用了 Node.js 和 Chromium,旨在使用 JavaScript、HTML 和 CSS 来构建跨平台的桌面应用程。Electron 采用 MIT 许可。开发者可加入 Electron 的GitHub代码库成为贡献者,贡献者需要遵守 Electron 的贡献者指南行为准则


原文链接


Electron 8 Releases Introduce Caller Stack Logging, HTTP Parsing Alternative


2020 年 5 月 07 日 15:171841

评论

发布
暂无评论
发现更多内容

近几天fil价格暴跌:fil还有希望吗?

IPFS星盟小熊

区块链 分布式存储 IPFS fil fil行情

模块三作业

A先生

Docker的学习体验

DisonTangor

,docker

大三就拿到字节提前批,你不想成长,生活总会逼着你成长

Java架构师迁哥

通证与区块链:前台经济+后台技术

CECBC区块链专委会

使用Apache Spark构建可靠的数据湖(九)

数据与智能

spark Data Lake iceberg Hudi

加速基因测序进程,北鲲云高性能计算平台再发力

北鲲云

完整视频+源码!十六天带你精通基于Spring Cloud微服务电商项目

Java架构追梦

Java 架构 面试 SpringCloud 微服务电商项目

AI解锁无人时代 仍需数据安全保驾护航

CECBC区块链专委会

Spring之 EL表达式

邱学喆

语法规则 Expression ExpressionParser ParserContext EvaluationContext

做大做强肉牛产业,生物资产解决方案助力乡村振兴

CECBC区块链专委会

去阿里应聘P7Java岗,都会被问到哪些问题?

Java架构师迁哥

阿里大牛把电商购物、电商秒杀、12306抢票、淘宝天猫各种活动的系统架构层面全部记载到这份《高并发系统架构》手册里了

云流

Java 编程 架构 计算机

阿里P8大佬总结的Java面试宝典,命中率竟高达90%?

Crud的程序员

Java spring 架构 编程语言

不要让这2个坏习惯限制了你的成长

俞凡

认知

双非本科,面试两个月成功收获阿里、美团等6个offer,经验分享

互联网架构师小马

Java 面试

【Kafka技术专题】「实践操作篇」单机部署实践手册(2.8.0)

李浩宇/Alex

kafka MQ kafka配置 消息队列 kafka架构

从鉴黄师到阿里程序员,我成功逆袭上岸

Java 白

Java 编程 程序员 计算机

从鉴黄师到阿里程序员,我成功拿下阿里offer

白亦杨

Java 编程 程序员 计算机

深入浅出 Java 泛型,一文搞定

猴哥一一 cium

Java 翻译 泛型

如何在Go 服务中做链路追踪

Rayjun

go 微服务

阿里内部最新、最全Java面试手册,Github上获赞70K

Crud的程序员

Java 编程 程序员 架构 面试

过去几个月里面的几家大厂(美团、字节、腾讯、阿里)均拿到 offer,最终去了字节跳动

云流

Java 编程 程序员 架构 面试

kubernetes/k8s CSI分析-容器存储接口分析

良凯尔

Kubernetes 源码分析 CSI Kubernetes Plugin #Kubernetes#

Vue进阶(七十八):Vue 定时器与 JS 定时器

No Silver Bullet

Vue 定时器 7月日更

2021年WEB全栈开发技术栈

devpoint

Vue 全栈 7月日更

Go语言:运行时反射,深度解析!

微客鸟窝

golang Go 语言

大厂的产品研发流程,你知道么?

Simon郎

产品 研发体系 大厂 互联网公司

一文读懂区块链技术如何改变非洲贸易(下)

CECBC区块链专委会

Vue进阶(四):使用 Vuex + axios 发送请求

No Silver Bullet

Vue axios vuex 7月日更 vue-resources

网络攻防学习笔记 Day84

穿过生命散发芬芳

网络攻防 7月日更

Study Go: From Zero to Hero

Study Go: From Zero to Hero

Electron 8多个版本发布:引入调用栈日志和可选的HTTP解析选项-InfoQ