Nitish Sakhawalkar
2579071b98
Deprecate did-get-response-details and did-get-redirect-request ( #12615 )
...
* Deprecate webContents events did-get-response-details and did-get-redirect-request.
* Update guest view files
* Update webview tag docs and update specs
* Update deprecate.event function
* Update comment
* Update more
* Update documentation for other deprecated event
2018-04-23 14:46:12 -05:00
Alexey Kuzmin
fcc82ebd35
Add "app.whenReady()" ( #12652 )
...
* Make "chai-as-promised" avaialble in tests
* Add "app.whenReady()"
Closes #9561 .
2018-04-20 17:09:23 +10:00
Cheng Zhao
7473b612c5
Make Menu API accept TopLevelWindow
2018-04-19 13:08:37 +09:00
Cheng Zhao
1340b17424
Do not return TopLevelWindow in BrowserWindow.getAllWindows
2018-04-19 13:08:37 +09:00
Cheng Zhao
e38f511737
Make BrowserWindow inheirt TopLevelWindow in JS
2018-04-19 13:08:37 +09:00
Cheng Zhao
71ebd99dfa
Expose TopLevelWindow to JavaScript
2018-04-19 13:08:36 +09:00
Samuel Attard
7cc3b877dc
Fix event leak on reuse of touchbar item ( #12527 )
...
* fix event leak on reuse of touchbar item
* Clean up child touch bar item event listeners and escape item listeners
2018-04-15 10:24:47 -05:00
Jeremy Apthorp
97fb15ac49
Enable WebFrame method forwarding in sandboxed renderers ( #12538 )
...
* Enable WebFrame method forwarding in sandboxed renderers
Fixes #9073
* Non-change to kick CI
2018-04-12 11:57:40 +10:00
Andrew MacDonald
6bfb122cd1
Add a display_id parameter to the desktopCapturer API. ( #12417 )
...
* Add a screen_api_id parameter to the desktopCapturer API.
When using the DirectX capturer on Windows, there was previously no way
to associate desktopCapturer/getUserMedia and electron.screen API
screens. This new parameter provides the association.
* Fix non-Windows build.
* Fix Mac.
* Fix Mac harder.
* JS lint
* clang-format C++ code.
* IWYU
* display_id, Linux comment, better test
* lint
* Fix tests on Linux.
* Add display_id documentation.
2018-04-09 14:43:35 +09:00
Robo
89f2eb1023
asar: remove patch to support graceful-fs ( #12562 )
2018-04-07 10:13:32 -05:00
Nitish Sakhawalkar
970f79e32f
Check for devtools in BrowserWindow.getFocusedWindow() ( #12526 )
2018-04-06 09:21:32 -04:00
Jeremy Apthorp
f0d08f4da1
Propagate referrer to new windows ( #12397 )
...
* Propagate referrer to new windows
Fixes #9205
* Rearrange -new-window event arguments for backwards-compatibility
* Plumb referrer policy through guest-window-manager
* Document the Referrer structure and its uses
* Add tests for referrer in new windows
* Docs nits
2018-04-05 18:13:24 -05:00
Charles Kerr
1a649a6ac3
Handle in-app-purchase less fatally on non-Darwin ( #12511 )
...
Fixes #12311
Right now it throws a new error when the file is even require()d, but this isn't ideal as there are cases where everything is mass-required, such as Spectron. Instead, we should throw an error on non-Darwin environments only when the IAP methods are invoked.
2018-04-02 18:55:44 -05:00
Shelley Vohr
a677c22e1f
re-enable null check against menu item accelerators ( #12449 )
2018-03-27 20:32:55 -04:00
Nitish Sakhawalkar
9d1527b1df
Fix context menu for sandbox devtools ( #11933 )
2018-03-22 16:15:57 +09:00
Samuel Attard
0ac883c6d4
Remove the race condition between new process creation and context release ( #12342 )
...
* Remove the race condition between new process creation and old process releasing remote context
Previously there was a race condition where the getId() method would return the new context ID even
though the release was for the old context. This changes it to send the "initial" context ID with
the release message to ensure there is no race.
* fetch context ID from remote in sandbox mode
2018-03-20 15:54:47 +11:00
Shelley Vohr
31d688ad3d
Check menu.popup options are an object ( #12325 )
...
* check menu.popup options are an object
* Add a spec for menu.popup options check
* remove stray .only
2018-03-17 06:31:10 +09:00
Felix Rieseberg
243ab45111
🔧 Fix security warning ( #12309 )
2018-03-16 06:21:38 +09:00
Samuel Attard
4b476f13bb
Revert "Fixes electron/electron#12147" ( #12293 )
...
* Revert "Set appropriate defaults for webview options (#12271 )"
This reverts commit c2673aa970
.
* Revert "Fixes electron/electron#12147 (#12193 )"
This reverts commit f54c94d6c9
.
2018-03-15 16:18:36 +09:00
Charles Kerr
c2673aa970
Set appropriate defaults for webview options ( #12271 )
...
* Persist defaults to webPreferences object to JS land can read the inferred values instead of just user defined values
* Test inherited default propogation
* Refactor to remove coupling from fetching values and defaults
* Test description type
* Fix up tests
2018-03-15 13:56:46 +09:00
nous-
f54c94d6c9
Fixes electron/electron#12147 ( #12193 )
2018-03-15 13:29:32 +09:00
Shelley Vohr
9aeb61181a
Fix require on network share path ( #12282 )
...
* first pass at server/network require fix
* refactor for clarity
2018-03-15 11:45:13 +09:00
Hari Juturu
704af29543
Exposing process.env status ( #12166 )
2018-03-14 12:01:40 +09:00
Felix Rieseberg
582ef30b4a
👷 Tests, how do they work
2018-03-13 17:35:55 -07:00
Felix Rieseberg
72579f9bab
🔧 Sort crashes
2018-03-13 13:57:12 -07:00
Samuel Attard
8e07e7483f
Merge pull request #12228 from electron/fix-window-open-not-showing
...
Parent's visibility trumps inherited 'show' option
2018-03-13 17:41:00 +09:00
Charles Kerr
e400585a0e
Apply further ES6 bikeshedding
2018-03-13 17:09:47 +09:00
Charles Kerr
2d90e763ad
Use idiomatic ES6 when merging options
2018-03-13 16:23:39 +09:00
Charles Kerr
379bd79de4
Remove unnecessary work when merging options
2018-03-13 16:18:50 +09:00
Felix Rieseberg
71795ecc62
fix: Incorrect warnings in webviews ( #12234 )
...
* 🔧 Get correct webContents
* 🔧 Err, webPreferences
2018-03-13 10:55:32 +09:00
Charles Kerr
685948bcaa
Parent's visibility trumps inherited 'show' option
2018-03-13 00:28:34 +09:00
Samuel Attard
795447f61a
Implement dialog (alert/confirm) blocking as a user switch after the first dialog
...
* This is to enable more browser-like behavior so that users who run third-party code
will not be DOS'ed with alerts and confirms. This is already handled like this
in most major browsers so this will greatly help these developers
2018-03-06 11:19:15 +09:00
Shelley Vohr
199cf31b9e
deprecate screen.getMenuBarHeight
2018-03-05 19:45:51 -05:00
Cheng Zhao
35cbe9d140
Fix dockMenu not being referenced in JavaScript ( #12062 )
...
* Fix dockMenu not being referenced in JavaScript
* spec: Test garbage collecting dock menu
2018-02-26 22:15:06 -08:00
shelley vohr
18362eb948
improve Menu and MenuItem testing ( #12015 )
...
* split menu/menuitem and add some tests
* fix ipc send issue
* feedback: make tests less brittle
* clean up MenuItem accelerator and label tests
2018-02-23 07:53:59 -06:00
John Kleinschmidt
2a97e48465
Merge pull request #11968 from electron/refactor-menu-popup
...
Refactor menu.popup
2018-02-21 14:29:52 -05:00
shelley vohr
0ef8f1bdad
Add deprecation warnings fot html/rtf methods ( #11995 )
2018-02-21 06:53:48 -06:00
shelley vohr
772a69e24a
deprecate autoSubmit in favor of uploadToServer ( #11992 )
2018-02-20 22:31:48 -06:00
shelley vohr
193febd18c
deprecate boolean highlightMode param ( #11993 )
...
* deprecate boolean highlightMode param
* add process.noDeprecations check
* fix native method override
* add todo
2018-02-20 22:30:32 -06:00
shelley vohr
719e5a93b4
deprecation for webContents.openDevTools ( #11986 )
...
* deprecate old openDevTools param
* add deprecation check and existence check
* fix method issues
2018-02-20 22:30:02 -06:00
Charles Kerr
f59d078eea
Use more idiomatic JS in WebContents' init()
2018-02-20 19:20:11 -06:00
Charles Kerr
9c56b81b71
Throw an error if menu.popup() has no window
2018-02-20 18:38:05 -06:00
Charles Kerr
5a25b88b50
Fix browserWindow detection in menu.popup()
2018-02-20 18:35:39 -06:00
Charles Kerr
708f39a1a5
update a few menu.popup() calls to use the new API
2018-02-20 14:02:24 -06:00
Shelley Vohr
5065e159f1
positionItem => positioningItem
2018-02-20 11:28:34 -05:00
Cheng Zhao
dc62e51ba4
Fix the cyclic reference in menu delegate ( #11967 )
...
* Fix the cyclic reference in menu delegate
* Fix menu tests due to delegate change
2018-02-20 10:11:35 -06:00
Shelley Vohr
fb7fb4972d
options all the things
2018-02-20 11:10:53 -05:00
shelley vohr
e1b81b8a62
remove support for crashReporter autoSubmit ( #11976 )
2018-02-20 10:10:35 -06:00
shelley vohr
8d4bf3e29a
Merge pull request #11974 from electron/remove-setZoomLevelLimits
...
remove setZoomLevelLimits
2018-02-20 10:51:41 -05:00
Shelley Vohr
211b542ae4
remove setZoomLevelLimits
2018-02-20 08:57:48 -05:00
Shelley Vohr
1a3661206e
remove unused deprecate module from crashreporter
2018-02-20 08:31:38 -05:00
Shelley Vohr
fc025064f7
remove setExtraParameter for 2.0
2018-02-20 08:26:10 -05:00
Shelley Vohr
56f06187d5
forgot to remove old method
2018-02-19 21:03:10 -05:00
Shelley Vohr
6e11a3e53d
add restructured window.popup
2018-02-19 20:59:27 -05:00
Shelley Vohr
cd9e7142e4
add conditional for menu.popup(window, callback)
2018-02-19 13:06:37 -05:00
Samuel Attard
a20b379f26
fix windows tests
2018-02-16 16:02:10 +11:00
Samuel Attard
6318cd781d
Update to use Squirrel.Mac that supports CDN releases
2018-02-15 14:00:46 +11:00
acheronfail
d1d50a4c92
Implement App-Scoped Security scoped bookmarks ( #11711 )
...
* implementation of security scoped bookmarks
* option is now only available on mas builds
2018-02-12 13:25:06 -05:00
Samuel Attard
66b57858b8
Fix child touch bar items not updating ( #11812 )
...
* Fix child touch bar items not updating
Deep children of a TouchBar didn't cause the top level touch bar to update, now they do
Fixes #11761 .
* Remove unused newValue property in TB setter
2018-02-12 12:53:04 -05:00
kaylie
3c64062f69
Replace custom function with Object.values()
2018-02-05 20:03:28 -08:00
shelley vohr
5240352326
Remove extra menu separators ( #11827 )
...
* add function to remove leading/trailing separators
* change const name for clarity
* add spec to check filtered separators
* clean method and add edge case spec per review
2018-02-05 11:55:12 -06:00
Cheng Zhao
8ae3d9dd0b
Simplify the public PowerObserver interface
2018-02-05 15:28:58 +09:00
Thiago de Arruda
56b53e71aa
Implement powerMonitor 'shutdown' event for Linux.
...
The event is emitted when the OS is rebooting/shutting down, and allows
an electron app to call `e.preventDefault()` in order to delay shutdown
and exit cleanly.
2018-02-05 15:21:31 +09:00
Felix Rieseberg
d586ef2f39
feature: Hot security tips ( #11810 )
...
* 🔧 Add security issue detection (and logs)
* 🔧 Check for it on load
* 👷 Add some tests
* 👷 Make the linter happy
* 🔧 Allow them to be enabled by force
* 📝 Make message slightly prettier
* 🔧 Fix a typo in the code comment
* 🔧 Classic mistake
* 🚀 Optimize things a bit more
* 👷 Add tests, fix tests
* 📝 Document things
* 🔧 Make linter happy
* 🔧 One more piece of cleanup
2018-02-03 07:50:12 -07:00
shelley vohr
1545a95782
Merge pull request #11799 from electron/browserview-inherit-fix
...
Don't inherit isBrowserView preference
2018-02-01 14:36:56 -05:00
Shelley Vohr
db6d84de74
don't inherit isBrowserView for spawned child windows
2018-02-01 00:09:37 -05:00
Shelley Vohr
b74304145e
createShadowRoot => attachShadow
2018-01-31 19:29:23 -05:00
Samuel Attard
32a1395bcf
Merge pull request #11565 from electron/add-load-file-helper
...
Add window.loadFile and webContents.loadFile helper methods
2018-01-23 09:08:23 +11:00
Cheng Zhao
bd271cffb9
Throw when inAppPurchase is used on unsupported platforms
2018-01-10 18:53:55 +09:00
Cheng Zhao
ac6f895f64
Turn InAppPurchase into an EventEmitter
2018-01-10 16:37:05 +09:00
Adrien Fery
b2542a27c3
Update code style
2018-01-10 13:14:18 +09:00
Adrien Fery
eb2520488f
Adapt code style
2018-01-10 13:14:18 +09:00
Adrien Fery
f3ae566164
Add in-app purchase for MacOS
2018-01-10 13:14:18 +09:00
Zeke Sikelianos
eb89e12c5b
Merge pull request #11532 from sethlu/camelcase-menuitem-role
...
Make MenuItem roles camelCase-compatible
2018-01-04 09:53:58 -08:00
Samuel Attard
1553b54779
Add window.loadFile and webContents.loadFile helper methods
2018-01-04 11:38:56 +13:00
Cheng Zhao
46330ac2a9
Remove the closed event of Menu
...
The callback of Menu.popup does more things, and there is actually no
request for the closed event.
2018-01-01 17:22:07 +09:00
Cheng Zhao
73d78d345a
Make callback work for old-style Menu.popup call
...
While the old-style Menu.popup has been deprecated, it is still being
used widely in apps and even in Electron itself.
2018-01-01 17:17:01 +09:00
Cheng Zhao
7b01a8b860
Add callback parameter to Menu.popup
2018-01-01 16:26:19 +09:00
Zhuo Lu
b8ec84c761
Fix syntax
2018-01-01 02:23:32 +08:00
Zhuo Lu
d45914c3f7
MenuItem roles camelCase-compatible
2017-12-28 13:28:20 +08:00
Kyle Corry
5aac091f40
Add Support for Pop!_OS GNOME Session
...
Similar to this PR: https://github.com/electron/electron/pull/10355 , Pop!_OS suffers from the same problem. Using Ubuntu AppIndicator will not show the icon currently unless the XDG_CURRENT_DESKTOP variable is modified. This commit will add support for pop so that this workaround is not needed.
Ref: https://github.com/pop-os/pop/issues/84
2017-12-21 14:16:15 -05:00
Cheng Zhao
088042841d
win: Correctly close popup menu
2017-12-21 15:26:32 +09:00
Cheng Zhao
e4770c7604
Coding style fixes
2017-12-20 18:48:09 +09:00
Heilig Benedek
c586806609
fix flash menu being unresponsive to commands
2017-12-20 15:40:07 +09:00
Felix Rieseberg
8166a64f98
🔧 Last round of feedback
2017-12-12 11:25:01 -08:00
Felix Rieseberg
c4ec8b4545
🔧 Feedback
2017-12-12 11:25:01 -08:00
Felix Rieseberg
5b7f7c8a1a
🔧 Menu returns its properties now
2017-12-12 11:25:01 -08:00
Felix Rieseberg
ffc54967e9
🔧 Fix value shift
2017-12-12 11:25:01 -08:00
Felix Rieseberg
99031834ff
🔧 Cleanup
2017-12-12 11:25:01 -08:00
Felix Rieseberg
3719ee0b53
🔧 Allow for menu.popup({})
2017-12-12 11:25:01 -08:00
Felix Rieseberg
9e660b1d32
🔧 Always find a window (or error)
2017-12-12 11:25:01 -08:00
Felix Rieseberg
4f901c6d24
🔧 Oh wow, that looks wrong
2017-12-12 11:25:01 -08:00
Alexey Kuzmin
1c8eb03574
Revert "fix: Fix menu.popup()
bugs"
2017-12-12 13:59:34 +03:00
Felix Rieseberg
927c63b477
🔧 Last round of feedback
2017-12-11 15:19:33 -08:00
Felix Rieseberg
89b90be6a2
🔧 Feedback
2017-12-11 14:43:35 -08:00
Felix Rieseberg
22e9d665d2
🔧 Menu returns its properties now
2017-12-11 14:03:01 -08:00
Felix Rieseberg
93b46116f4
🔧 Fix value shift
2017-12-11 13:30:35 -08:00
Felix Rieseberg
abd56eda6f
🔧 Cleanup
2017-12-08 14:40:51 -08:00
Felix Rieseberg
955564abd7
🔧 Allow for menu.popup({})
2017-12-08 14:37:16 -08:00
Felix Rieseberg
bd6767fac6
🔧 Always find a window (or error)
2017-12-08 14:36:52 -08:00
Felix Rieseberg
38bb9baac5
🔧 Oh wow, that looks wrong
2017-12-08 14:36:29 -08:00
Shelley Vohr
24f60dcd1b
re-add warning removed in https://github.com/electron/electron/pull/11013
2017-12-07 11:42:18 -05:00
Cheng Zhao
46f79146ad
Merge pull request #11316 from electron/hide-update-exe
...
fix: Ensure that update.exe doesn't open up a console window
2017-12-06 14:50:12 +09:00
Cheng Zhao
cb3a9c69ab
Add a SessionPreferences to manage session related data
...
By design the BrowserClient should not be aware of the api:: classes.
2017-12-05 15:59:15 +09:00
Samuel Attard
d9359d8b6c
s/global/session in constants
2017-12-05 11:35:53 +09:00
Samuel Attard
d2707315e6
s/global/session
2017-12-05 11:35:53 +09:00
Samuel Attard
0ddd078aaf
Add ability to set global preload scripts
2017-12-05 11:35:27 +09:00
Felix Rieseberg
9646f0c99a
🔧 Sprinkle some ES6 across the file
2017-12-01 17:18:57 -08:00
Felix Rieseberg
c5abe96b39
🔧 Hide subprocess window
2017-12-01 17:18:37 -08:00
Cheng Zhao
59476f0b30
Create webContents for webview even when src is not set
2017-12-01 10:35:23 +09:00
Cheng Zhao
b161a4f515
Merge pull request #11166 from sethlu/openrecent
...
feat: Recent documents menu item
2017-11-28 10:55:14 +09:00
Zhuo Lu
dcdc3621ac
Rename roles
2017-11-27 17:26:22 +09:00
Zhuo Lu
5d44dbaf54
Redesign recent documents role API
...
- For more flexibility in designing the recent documents menu, now there can be one menu item (known issue: you may specify more but AppKit doens't display more than one) in the submenu list, rather than separating the labels with a tab.
- Also added is the role `clearrecent` that can be given to a menu item that can clear the recent documents.
2017-11-27 17:26:22 +09:00
Zhuo Lu
828d233f2a
Rollback duplicated feature
2017-11-27 17:26:22 +09:00
Zhuo Lu
0b9cea334f
Specify "Clear Menu" through label option
...
Like a bit of a hack right now, conforming to the existing menu item definition
2017-11-27 17:26:22 +09:00
Zhuo Lu
4da2eb9366
Introduce openrecent role
...
- Does not yet accept any options except label--"Clear Menu" can't be modified through exposed node API
- If `openrecent` is present across multiple menu items, the last seen will be visible in the main menu due to that it is designed to behave like a singleton
2017-11-27 17:26:22 +09:00
Zhuo Lu
f0bff74995
Add "Open Recent" submenu to default
2017-11-27 17:26:22 +09:00
Cheng Zhao
1c0ea0286e
Merge pull request #11235 from electron/standard-10
...
infra: Upgrade to StandardJS 10
2017-11-27 15:42:52 +09:00
Aleksei Kuzmin
465f9009ff
Update stack string parsing in the CallbacksRegistry
...
Fixes the "ipc module > remote listeners
> detaches listeners subscribed to destroyed renderers, and shows a warning"
test.
2017-11-24 10:58:53 +09:00
Birunthan Mohanathas
4e859b4718
Remove "async" option from menu.popup()
...
All menus are async now. See "Cleanup MenuRunner API"
https://codereview.chromium.org/2790773002
2017-11-24 10:58:17 +09:00
Felix Rieseberg
f7d6e3fa7b
🔧 Disable standard/no-callback-literal where necessary
2017-11-23 13:53:03 -08:00
Felix Rieseberg
f81bfb7b86
🔧 Fix style issues
2017-11-23 13:42:48 -08:00
Felix Rieseberg
451a44c4b5
🔧 Don’t use deprecated new Buffer()
2017-11-23 13:41:47 -08:00
Charles Kerr
9c217fc6c7
Merge pull request #11224 from electron/browser-view-window
...
feature: Add `BrowserWindow.fromBrowserView()`
2017-11-23 14:41:36 +01:00
Felix Rieseberg
037f76c47b
🐛 Ooops, fix that
2017-11-22 17:07:57 -08:00
Felix Rieseberg
4d18cbe728
🔧 BrowserView.fromWebContents()
2017-11-22 16:59:00 -08:00
Felix Rieseberg
7630ac6e90
🔧 Return null if not found
2017-11-22 15:48:11 -08:00
Felix Rieseberg
8c5aad8b17
🔧 Add BrowserWindow.fromBrowserView()
2017-11-22 14:36:54 -08:00
Felix Rieseberg
05bae0b4c4
🔧 Util is no longer used here
2017-11-20 09:52:13 -08:00
Felix Rieseberg
b029c088db
🔧 Bonus ;
2017-11-20 09:48:33 -08:00
Felix Rieseberg
b8b3b441a7
🔧 util._extend is deprecated, too
2017-11-20 09:46:02 -08:00
Felix Rieseberg
71b8eaf085
🔧 Don’t use deprecated util.is* methods
2017-11-20 09:40:47 -08:00
Felix Rieseberg
c9f2080e4b
🔧 fs.readFile: options are optional
2017-11-20 08:20:20 -08:00
Charles Kerr
5eb00e45aa
Merge pull request #11158 from electron/execute-errors
...
fix: Pass on errors thrown in `executeJavaScript`
2017-11-20 09:14:05 -06:00
Charles Kerr
4c04f1c7ed
Merge pull request #11117 from electron/add_deprecations_spec
...
Add to deprecations spec
2017-11-20 09:07:06 -06:00
Shelley Vohr
7904be8763
comment out unused methods
2017-11-20 15:12:34 +01:00
Ronald Eddy
14c6e78147
Update electron.atom.io -> electronjs.org
...
Update electron.atom.io -> electronjs.org to reduce redirects and speed navigation.
2017-11-19 04:01:33 -08:00
Felix Rieseberg
5b18bea7e3
🔧 Alex has good ideas
2017-11-18 10:59:09 -08:00
Felix Rieseberg
cf7e9df3a0
🔧 Appease the linter
2017-11-18 01:02:09 -08:00
Felix Rieseberg
9a2d103e7f
:thinking_face: What if we made it an Error again?
2017-11-18 00:51:14 -08:00
Felix Rieseberg
1dea186a6e
:thinking_face: What if you could return an Error?
2017-11-18 00:50:53 -08:00
Shelley Vohr
aaae1bb176
Merge pull request #11124 from electron/expose-desktop-capturer
...
Expose desktopCapturer in sandbox mode.
2017-11-16 17:36:39 -05:00
Thiago de Arruda
be0e3d9555
Expose desktopCapturer in sandbox mode.
2017-11-16 16:57:29 -03:00
Shelley Vohr
933c7330a5
changes from review
2017-11-16 13:39:07 -05:00
Shelley Vohr
75a117e4e2
edit empty function for platform consistency
2017-11-16 13:27:08 -05:00
Shelley Vohr
f5c04c7037
fix includes
2017-11-16 13:27:08 -05:00
Shelley Vohr
e5983eacd6
add callbacks registry spec
2017-11-16 13:27:07 -05:00
Shelley Vohr
dc410efa36
rename and fix assoc. test
2017-11-14 14:56:16 -05:00
Shelley Vohr
99d35f7786
a few more updates to tests
2017-11-14 13:33:38 -05:00
Shelley Vohr
d05a1f8053
first pass at deprecation spec updates
2017-11-13 20:21:57 -05:00