Samuel Attard
bc527f6b51
refactor: bundle the browser and renderer process electron code ( #18553 )
...
* refactor: bundle the browser and renderer process electron code
* Bundles browser/init and renderer/init
* Improves load performance of main process by ~40%
* Improves load performance of renderer process by ~30%
* Prevents users from importing our "requiring" our internal logic such
as ipc-main-internal. This makes those message buses safer as they are
less accessible, there is still some more work to be done though to lock
down those buses completely.
* The electron.asar file now only contains 2 files, as a future
improvement maybe we can use atom_natives to ship these two files
embedded in the binary
* This also removes our dependency on browserify which had some strange
edge cases that caused us to have to hack around require-order and
stopped us using certain ES6/7 features we should have been able to use
(async / await in some files in the sandboxed renderer init script)
TLDR: Things are faster and better :)
* fix: I really do not want to talk about it
* chore: add performance improvements from debugging
* fix: resolve the provided path so webpack thinks it is absolute
* chore: fixup per PR review
* fix: use webpacks ProvidePlugin to keep global, process and Buffer alive after deletion from global scope for use in internal code
* fix: bundle worker/init as well to make node-in-workers work
* chore: update wording as per feedback
* chore: make the timers hack work when yarn is not used
2019-06-02 13:03:03 -07:00
John Kleinschmidt
a31faaae61
ci: add retries to downloads for arm testing ( #18526 )
2019-05-30 17:22:34 -07:00
Samuel Attard
96371b6d75
spec: run nan tests to ensure v8 compat has not broken ( #18489 )
2019-05-29 12:38:17 -07:00
Jeremy Apthorp
f5b3d00b47
ci: add check for dist zip file changes ( #18446 )
2019-05-29 09:40:02 -07:00
John Kleinschmidt
842830d709
build: move Windows release builds to AppVeyor cloud ( #18337 )
...
* build: move Windows release builds to AppVeyor cloud
* Use new env variable for AppVeyor cloud server
2019-05-23 16:54:34 -04:00
Samuel Attard
e73a0e6cc6
docs: replace the atom.io headers URL with electronjs.org ( #18328 )
2019-05-21 16:17:07 +09:00
Shelley Vohr
6770a8c64a
build: remove deprecated octokit auth calls ( #18205 )
2019-05-07 18:48:40 -07:00
Samuel Attard
a96b6e2c96
build: move to the new docs parser ( #18103 )
...
* build: move to the new docs parser
* chore: remove the bad getTitle param doc
* build: update parser/ts gen deps + fix some docs issues highlighted by GH desktop
* chore: apply suggestions from code review
Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
* chore: update docs for accidentally removed things
* chore: update docs/api/command-line.md
Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-05-06 08:29:01 -07:00
Shelley Vohr
c278043511
chore: retry octokit calls several times on fail ( #18085 )
2019-05-02 15:08:45 -07:00
Milan Burda
9585818a90
chore: add clang-format and limited linting for Objective-C sources ( #18104 )
2019-05-02 21:05:37 +09:00
Milan Burda
8785e9007c
chore: add native_mate to lint:cpp ( #18100 )
2019-05-02 11:45:23 +09:00
John Kleinschmidt
e736d04e7f
build: use https to download from GitHub for external binaries ( #17928 )
...
fixes #17926
2019-05-01 13:49:29 -07:00
Samuel Attard
98c51dd660
build: ensure consistent lock files across multiple machines ( #17955 )
...
* build: ensure consistent package-lock across multiple machines
* build: fix linting errors and use npm ci instead of npm install
* build: use a yarn.lock and yarn instead of package-lock and npm
* chore: replace package-lock.json files with yarn.lock
* chore: replace last instance of `npm install`
2019-04-30 13:59:47 -07:00
Samuel Attard
f2d41b7812
build: fix issues for stable release we fixed in 5-0-x ( #18064 )
...
* build: fix release notes generation
* build: fix bump-version script for stable releases
2019-04-30 11:36:39 -07:00
Jeremy Apthorp
341592119f
build: actually run import-patches on gclient sync ( #17885 )
2019-04-23 10:28:26 -07:00
Samuel Attard
e9114b3c00
build: optimize the happy path when syncing on CI ( #17827 )
...
* build: optimize the happy path when syncing on CI
This adds a new cache for the "src" directory that is only ever used if
the cache key matches exactly. If there is no exact match we fall back
to the old strategy of using the git cache.
On the happy path this can make the checkout on linux/macOS take around
5-6 minutes which is **significantly** faster than the original 15-18
minutes.
* build: sort readdir result to ensure stability
* build: increment cache key
* Update config.yml
* build: ensure that the cleanly checked out Electron has had hooks run on it
* build: do not remove deps/v8
* build: ensure clean git directory when generating deps hash
* chore: add comments to caching logic
* Update .circleci/config.yml
Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-04-22 15:36:59 -07:00
Electron Bot
716cb28430
chore: bump chromium to 1e9f9a24aa12 (master) ( #17880 )
...
* chore: bump chromium in DEPS to 1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f
* chore: update patches
* Make WebContents' theme color a base::Optional<SkColor>
https://chromium-review.googlesource.com/c/chromium/src/+/1540022
* update autofill patch for incorrect header includes
* Move Shell messages to web_test and rename to BlinkTest.
https://chromium-review.googlesource.com/c/chromium/src/+/1525181
* Make PlatformNotificationServiceImpl a KeyedService.
https://chromium-review.googlesource.com/c/chromium/src/+/1336150
* Move MediaPlayerId to its own file.
https://chromium-review.googlesource.com/c/chromium/src/+/1547057
* Remove net/base/completion_callback.h, which is no longer used
https://chromium-review.googlesource.com/c/chromium/src/+/1552821
* AW NS: support file scheme cookies
https://chromium-review.googlesource.com/c/chromium/src/+/1533486
* Remove SecurityInfo and adapt remaining consumers
https://chromium-review.googlesource.com/c/chromium/src/+/1509455
* Remove deprecated type-specific number to string conversion functions
https://chromium-review.googlesource.com/c/chromium/src/+/1545881
* DevTools: Adding new performance histograms for launch of top 4 tools
https://chromium-review.googlesource.com/c/chromium/src/+/1506388
* Update include paths for //base/hash/hash.h
https://chromium-review.googlesource.com/c/chromium/src/+/1544630
* build: Disable ensure_gn_version gclient hook for mac CI checkout
* update patches
* use maybe version of v8::String::NewFromTwoByte
* bump appveyor image version
* fix mac ci hopefully
* Convert enum to enum class for MenuAnchorPosition
https://chromium-review.googlesource.com/c/chromium/src/+/1530508
* use maybe version of ToObject
* RenderViewHost::GetProcess is no longer const
* Unrefcount AuthChallengeInfo
https://chromium-review.googlesource.com/c/chromium/src/+/1550631
* MenuButtonController takes Button rather than MenuButton
https://chromium-review.googlesource.com/c/chromium/src/+/1500935
* add //ui/views_bridge_mac to deps to fix link error
* forward declare views::Button in atom::MenuDelegate
* more v8 patches
* base/{=> hash}/md5.h
https://chromium-review.googlesource.com/c/chromium/src/+/1535124
* gfx::{PlatformFontWin => win}::*
https://chromium-review.googlesource.com/c/chromium/src/+/1534178
* fix v8 patches
* [base] Rename TaskScheduler to ThreadPool
https://chromium-review.googlesource.com/c/chromium/src/+/1561552
* use internal_config_base for bytecode_builtins_list_generator
avoids windows link errors
* FIXME: temporarily disable v8/breakpad integration
* FIXME: temporarily disable prevent-will-redirect test
* FIXME: disable neon on aarch64 pending crbug.com/953815
* update to account for WebCursor refactor
https://chromium-review.googlesource.com/c/chromium/src/+/1562755
* enable stack dumping on appveyor
* Revert "FIXME: disable neon on aarch64 pending crbug.com/953815"
This reverts commit 57f082026be3d83069f2a2814684abf4dc9e7b53.
* fix: remove const qualifiers to match upstream
* fix: remove const qualifiers to match upstream in cc files as well
* don't throw an error when testing if an object is an object
* use non-deprecated Buffer constructor
* Remove net::CookieSameSite::DEFAULT_MODE enum value
https://chromium-review.googlesource.com/c/chromium/src/+/1567955
* depend on modded dbus-native to work around buffer deprecation
https://github.com/sidorares/dbus-native/pull/262
* revert clang roll to fix arm build on linux
* fixup! depend on modded dbus-native to work around buffer deprecation
need more coffee
* update coffee-script
* robustify verify-mksnapshot w.r.t. command-line parameters
* Revert "robustify verify-mksnapshot w.r.t. command-line parameters"
This reverts commit a49af01411f684f6025528d604895c3696e0bc57.
* fix mksnapshot by matching args
* update patches
* TMP: enable rdp on appveyor
* Changed ContentBrowserClient::CreateQuotaPermissionContext() to return scoped_refptr.
https://chromium-review.googlesource.com/c/chromium/src/+/1569376
* Make content::ResourceType an enum class.
https://chromium-review.googlesource.com/c/chromium/src/+/1569345
* fixup! Make content::ResourceType an enum class.
* turn off rdp
* use net::CompletionRepeatingCallback instead of base::Callback<void(int)>
* remove disable_ensure_gn_version_gclient_hook.patch
* copy repeating callback instead of std::move
* fix lint
* add completion_repeating_callback.h include
2019-04-20 10:20:37 -07:00
Jeremy Apthorp
fdaa75354a
chore: save HEAD when git-import-patches runs ( #17824 )
2019-04-17 11:16:03 -07:00
Alexey Kuzmin
cd8402fc9f
build: optionally exclude some parts of patches from being applied ( #17625 )
2019-04-03 12:42:49 -07:00
Samuel Attard
dc4fe537ee
build: auto-generate the browserify step GN inputs ( #17626 )
2019-04-02 17:12:10 -07:00
Samuel Attard
b8dbe4bc15
spec: add tests for the autoUpdater on macOS that actually test if it works ( #17442 )
...
* spec: add tests for the autoUpdater on macOS that actually test if it works
* spec: add express as dep
* spec: add logic to auto-trust self-signed certificate and not run autoupdate specs on MAS
* build: fix the step name for importing the codesign cert
* chore: update updater spec PR as per feedback
* fix: s/atomBinding/electronBinding
* build: use spawn instead of exec
2019-03-29 17:32:52 -07:00
Samuel Attard
32c9597cbc
build: ensure we use objc regexps for export-patches ( #17598 )
...
* build: ensure we use objc regexps for export-patches
* build: also use objc for *.m
Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-03-28 14:01:43 -07:00
John Kleinschmidt
7eaa57b116
build: remove native mksnapshot for arm/arm64 ( #17561 )
...
* build: remove native mksnapshot for arm/arm64
2019-03-28 11:05:43 -04:00
Samuel Attard
ec5e0ef06e
build: speed up windows download of external binaries ( #17559 )
2019-03-26 20:22:54 -05:00
Samuel Attard
9e26dfaa06
build: use async remove method to handle errors better ( #16917 )
...
On windows removeSync randomly seems to fail with DIRNOTEMPTY. By using
the async version fs-extra will do some back-off-retry logic to
hopefully get this dir deleted
2019-03-26 10:34:03 +09:00
Samuel Attard
d2ad8efef4
build: pass through value of unknown flag as well as the flag to make --grep work again ( #17485 )
2019-03-21 12:24:07 -07:00
Samuel Attard
784f9742bc
build: auto-fix whitespace in docs in pre-commit hook ( #17490 )
2019-03-21 12:15:55 -07:00
Milan Burda
a82bbd010e
build: strip trailing whitespace in docs ( #17488 )
2019-03-20 13:12:47 -07:00
Samuel Attard
984e77e470
fix: spec runner not parsing correctly
2019-03-15 10:57:12 -07:00
Samuel Attard
4b6b59cc82
chore: update PR as per feedback
2019-03-14 17:22:42 -07:00
Samuel Attard
6b326f7924
build: spread runner args onto the runner
2019-03-14 16:15:23 -07:00
Samuel Attard
df57ac4ce7
chore: steal all unknown args for use by the spec runners
2019-03-14 15:23:21 -07:00
Samuel Attard
be60f93bd0
fix: we can not use ts-node apaprently
2019-03-14 13:39:53 -07:00
Samuel Attard
46e5767527
update for PR feedback
2019-03-14 13:18:16 -07:00
Samuel Attard
259bc3a918
build: remove log from the spec runner
2019-03-14 12:50:06 -07:00
Samuel Attard
6b65e3523e
wut
2019-03-14 12:50:06 -07:00
Samuel Attard
2023e32130
spec: push electron/spec into the spec runner args before the linux dbus wrapper
2019-03-14 12:50:06 -07:00
Samuel Attard
3656d12cba
build: auto generate electron.d.ts in the spec runner if it is missing
2019-03-14 12:50:06 -07:00
Samuel Attard
ca701bb9af
spec: initial spike of main-process based tests
2019-03-14 12:50:06 -07:00
Shelley Vohr
17dab8f239
build: turn gpg signing off for bootstrap ( #17282 )
2019-03-07 18:11:31 -08:00
Jeremy Apthorp
825e526456
build: minor fixes to git-export-patches ( #17276 )
...
* fix: make export-patches robust to tags with dashes
* fix: --output is a required parameter of export-patches
2019-03-07 15:59:17 -08:00
Mark Lee
7a7389ab1c
build: upgrade to asar@^1.0.0 ( #17061 )
...
* build: upgrade asar to ^1.0.0
This is to remove a transitive security vulnerability.
The API changed from callbacks to Promises, so `script/gn-asar.js`
needed to be changed.
* build: add klaw to package.json
`klaw` is used in `script/lint.js`, but it was a transitive dependency.
* build: add fs-extra to package.json
`fs-extra` is used in `script/gn-asar.js`, but it was a transitive
dependency.
2019-02-25 18:25:00 -08:00
Shelley Vohr
319c2853df
chore: move ts-smoke tests to core ( #16930 )
...
* chore: move ts smoke tests to core
* fix: fix paths for tsconfig / ts-smoke runner
* update ts-defs version
* do not lintr
2019-02-13 15:24:28 -08:00
Jeremy Apthorp
8d09219533
chore: 'breaking change' in PR body overrides commit type in relnotes ( #16911 )
2019-02-12 21:30:39 -08:00
Samuel Attard
cd9bf72ee8
build: ensure that the uploaded symbol path is correct for our symbol ( #16908 )
...
server
2019-02-12 14:10:24 -08:00
Charles Kerr
cfbdc40814
fix: release-notes plays more nicely with clerk ( #16887 )
...
Explicitly look not just for Clerk's "notes persisted"
message but also its "no release notes" message.
2019-02-12 04:21:20 -10:00
John Kleinschmidt
6a47089c78
ci: Refactor mksnapshot test so that it doesn't stall. ( #16875 )
2019-02-11 12:21:00 -10:00
Shelley Vohr
c6fc5a23fc
Revert "build: hack around GitHub upload API failure / flake ( #16663 )" ( #16802 )
...
This reverts commit ab503c7e43
.
2019-02-06 16:51:45 -08:00
Shelley Vohr
a569dad8c5
build: remove non-arm vstsJobs ( #16793 )
2019-02-06 13:36:17 -08:00
Samuel Attard
17c240a639
ci: make macOS CI faster ( #16766 )
...
* ci: cache brew update result
* ci: checkout and sync the macOS build on a linux machine for speed
2019-02-06 13:16:11 -08:00