* docs: add references to app.whenReady() in isReady
* refactor: prefer app.whenReady()
In the docs, specs, and lib, replace instances of `app.once('ready')`
(seen occasionally) and `app.on('ready')` (extremely common) with
`app.whenReady()`.
It's better to encourage users to use whenReady():
1. it handles the edge case of registering for 'ready' after it's fired
2. it avoids the minor wart of leaving an active listener alive for
an event that wll never fire again
* Add GetApplicationNameForProtocol.
* Fix Windows implementation.
* Fix up test.
* Add documentation.
* Implement for real on Linux using xdg-mime.
Also ensure we allow blocking calls here to avoid errant DCHECKing.
* Improve docs for Linux.
* Clean up tests.
* Add a note about not relying on the precise format.
* Update docs/api/app.md
Co-Authored-By: Shelley Vohr <codebytere@github.com>
* Remove needless `done()`s from tests.
* Use vector list initialization.
* Add a simple test for isDefaultProtocolClient.
* Remove unneeded include and skip a test on Linux CI.
* We no longer differentiate between CI and non-CI test runs.
* docs: remove implicit 'any' and 'Object' types from the docs
* docs: more docs improvements, remove all remaining empty interfaces
* chore: update tests for better types
Resolves#18805.
We want to keep default move conflict handling behavior in that it's still what most users would expect, but there exist edge cases in which users may not want to be forced into that behavior.
This thus introduces an optional conflict handler that allows developers access to more granular move actions. They could now allow the user to choose whether to delete an existing app in favor of the current one being moved, or whether to quit the current app and focus on the existing one should it both exist and be running. I added a fair amount of new documentation outlining this behavior, but if there are things users may benefit from seeing examples of or nuances that should be added please leave feedback!
* feat: show optional authors in gtk about panel
* chore: use a base::Value for about dialog options on Linux
* docs: mark 'version' as supported on Linux too
* docs: ensure that optionality matches between documented params and signatures
* docs: ensure that all optional declarations are lower case
* chore: fix broken link
* chore: allow conditional disable of the site instance override patches at runtime
* feat: add app.allowRendererProcessReuse property to allow runtime disable of site instance overrides
spec: add tests for the new allowRendererProcessReuse property
feat: add console warnings / errors for loading non context-aware native modules
* Only error if the patch is disabled
* Warn all the time, this will ship in Electron 7
* fix: add parentheses
Add parentheses to the end `app.showAboutPanel`, because this is method.
* fix: change 'Promise<string>' to 'Promise<String>'
Change `Promise<string>` to `Promise<String>`, because this is class name.
* docs: change lower case to upper case
Change lower case in word `menu` to upper case - `Menu`, because it's method.
Previously, we were creating the app logs folder at a predefined location during initial electron startup, which meant that it had to be manually removed and prevented clean app portability. This refactors that implementation such that it's now an opt-in feature and developers must call app.setAppLogsPath(path) with an optional custom path in order to set this directory.
* docs: upstream doc links added to default window
Added the link to the Node docs and Chromium docs to the default window (not sure if I linked the chromium docs correctly, please let me know/feel free to suggest changes if you know the correct way to do so)
* docs: clarify what requestSingleInstanceLock() does
* Revert "docs: upstream doc links added to default window"
This reverts commit 829417cf29c6ef0222da55e7a0789d18b94a9253.
* docs: clarify what requestSingleInstanceLock() does
* chore: refactor browser IPC into typescript
* chore: refactor app.ts into Typescript
* Refactors app.dock into cpp
* Removes app.launcher which has not existed for 3 years
* Removes 2 deprecated APIs (that have been deprecated for more than one
major)
* Refactors deprecate.ts as well
* Add method to get system´s user region
* Fix linter
* Remove auto types
* Improved detection for POSIX
* Change name, add specs, minor fixes
* Remove left overs
* Fix locale test
* Fix Linux test
* Coding style fixes
* Fix docs
* Add test excaption for Linux
* fix spelling
* Polishing
* Implementation of getGPUInfo API.
* Clear promise set
* Changes to promise usage
* Minor fixes
* Fix linux build
* Update spec
* Fix lint (linter didn't run on windows locally)
* Test running single test for CI
* Update spec
Since this method is mentioned in breaking-changes.md, we need
the docs to prevent create-typescript-definitions from failing with
"error TS2339: Property 'makeSingleInstance' does not exist on type 'App'."
The reinstated docs are marked with deprecation warnings
that refer the reader to the new API calls.
* Refactor app.makeSingleInstance
* new API `app.isPrimaryInstance()`
* new API `app.isSingleInstance()`
* new event `app.on('second-instance')`
* deprecated old syntax `app.makeSingleInstance(cb)`
* deprecated old syntax of `app.makeSingleInstance() --> bool` in favor
of `app.isPrimaryInstance()`
* Fix spec, we don't need process.nextTick hacks any more
* Make deprecation TODO for the return value of makeSingleInstance
* Refactor makeSingleInstance to requestSingleInstanceLock and add appropriate deprecation comments
* I swear this isn't tricking the linter
* Make const
* Add deprecation warnings for release, and add to planned-breaking-changes
BREAKING CHANGE
* infrastructure for setLocale via klang
* add documentation for setLocale
* add test for setLocale
* fix spec
* add spec and update docs
* fix carriage feeds on windows
* SetLocale() sets LC_ALL on Linux
* in SetLocale() on Linux, use g_setenv()
* fix tyop: '#ifdef OSX_POSIX'
* make the linter happy
* improvements from review
* Fix URLs and Paths in docs/
* Avoiding link break to /docs/development/updgrading-chrome.md
* Fix URLs and Paths in docs/ #2
* Removed double spaces in docs