Samuel Maddock
c09c94fc98
feat: add WebContents.opener and webContents.fromFrame() ( #35140 )
...
* feat: add WebContents.opener
* feat: add webContents.fromFrame(frame)
* fix: unknown type name
* test: fix and add more fromFrame cases
* docs: clarified terminology
2022-09-26 12:37:08 -04:00
Milan Burda
f62aab76b3
fix: potential exception when calling webFrameMainBinding.fromIdOrNull() ( #35785 )
...
* fix: potential exception when calling webFrameMainBinding.fromIdOrNull()
* replace try/catch in getWebFrameForEvent
Co-authored-by: Milan Burda <miburda@microsoft.com>
2022-09-24 12:19:07 -07:00
Akshay Deo
dfc134de42
feat: add exposeInIsolatedWorld(worldId, key, api) to contextBridge ( #34974 )
...
* feat: add exposeInIsolatedWorld(worldId, key, api) to contextBridge
* Updates exposeInIslatedWorld worldId documentation
2022-09-21 13:17:10 -05:00
Milan Burda
99f4a42d41
chore: add missing .eslintrc.json files to limit imports properly ( #35719 )
2022-09-20 13:25:33 -05:00
Milan Burda
b3a744db8a
fix: potential "Object has been destroyed" error in BrowserWindow.getFocusedWindow ( #35520 )
2022-09-12 14:46:05 -07:00
electron-roller[bot]
d0e220cbce
chore: bump node to v16.17.0 (main) ( #35350 )
...
* chore: bump node in DEPS to v16.17.0
* chore: fixup asar patch
* lib: use null-prototype objects for property descriptors
https://github.com/nodejs/node/pull/43270
* src: make SecureContext fields private
https://github.com/nodejs/node/pull/43173
* crypto: remove Node.js-specific webcrypto extensions
https://github.com/nodejs/node/pull/43310
* test: refactor to top-level await
https://github.com/nodejs/node/pull/43500
* deps: cherry-pick two libuv fixes
https://github.com/nodejs/node/pull/43950
* src: slim down env-inl.h
https://github.com/nodejs/node/pull/43745
* util: add AggregateError.prototype.errors to inspect output
https://github.com/nodejs/node/pull/43646
* esm: improve performance & tidy tests
https://github.com/nodejs/node/pull/43784
* src: NodeArrayBufferAllocator delegates to v8's allocator
https://github.com/nodejs/node/pull/43594
* chore: update patch indices
* chore: update filenames
* src: refactor IsSupportedAuthenticatedMode
https://github.com/nodejs/node/pull/42368
* src: add --openssl-legacy-provider option
https://github.com/nodejs/node/pull/40478
* lib,src: add source map support for global eval
https://github.com/nodejs/node/pull/43428
* trace_events: trace net connect event
https://github.com/nodejs/node/pull/43903
* deps: update ICU to 71.1
https://github.com/nodejs/node/pull/42655
This fails the test because it's missing https://chromium-review.googlesource.com/c/chromium/deps/icu/+/3841093
* lib: give names to promisified exists() and question()
https://github.com/nodejs/node/pull/43218
* crypto: add CFRG curves to Web Crypto API
https://github.com/nodejs/node/pull/42507
* src: fix memory leak for v8.serialize
https://github.com/nodejs/node/pull/42695
This test does not work for Electron as they do not use V8's
ArrayBufferAllocator.
* buffer: fix atob input validation
https://github.com/nodejs/node/pull/42539
* src: fix ssize_t error from nghttp2.h
https://github.com/nodejs/node/pull/44393
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2022-08-29 09:55:36 -04:00
Milan Burda
e85450b21a
fix: IPC emit order in -ipc-ports handler ( #35320 )
...
Co-authored-by: Milan Burda <miburda@microsoft.com>
2022-08-16 11:21:56 +09:00
Milan Burda
8424779906
refactor: don't expose deprecate as an internal module ( #35311 )
2022-08-15 17:09:33 +09:00
Milan Burda
8646bf8d30
chore: remove deprecated 'new-window' event ( #34526 )
2022-08-09 17:57:05 -04:00
Milan Burda
34b985c556
refactor: use optional chaining / nullish coalescing operator ( #35217 )
2022-08-08 10:11:04 +02:00
Jeremy Rose
6d859dcd7f
feat: add WebContents.ipc ( #34959 )
2022-08-03 16:55:12 -07:00
Jeremy Rose
3c63f075bd
chore: remove unused WebContents._sendToFrameInternal ( #35010 )
2022-07-21 10:25:54 -07:00
Milan Burda
d4e97483aa
refactor: only create webContents after 'will-attach-webview' ( #32941 )
2022-07-21 11:29:31 +02:00
Joan Xie
afd08c9450
feat: Enable APNS registration + notification delivery in macOS apps ( #33574 )
2022-07-12 08:38:49 -07:00
David Sanders
c418275228
chore: update Discord invite links ( #34730 )
2022-07-05 11:55:15 -04:00
David Sanders
98cd16d336
chore: fix typos ( #34731 )
2022-07-05 11:49:56 -04:00
Milan Burda
ba4893c248
refactor: load webFrame via process._linkedBinding in security-warnings.ts ( #34735 )
2022-06-27 10:28:35 +02:00
Milan Burda
f172136752
chore: remove undocumented page-title-set webview event ( #34533 )
2022-06-22 17:18:42 +09:00
Milan Burda
f3f327823e
chore: move main process only accessible API bindings away from common ( #34634 )
2022-06-21 16:34:56 +09:00
Milan Burda
0f528c1e43
chore: let result: ReturnType<typeof this._callWindowOpenHandler>; ( #34628 )
2022-06-21 10:39:41 +09:00
Josh Soref
ea4278754c
chore: fix spelling errors in multiple files ( #34574 )
...
* chore: fix spelling in .circleci
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in BUILD.gn
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in appveyor.yml
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in build
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in docs
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in lib
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in script
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in shell
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in spec
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* chore: fix spelling in spec-main
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-06-16 16:46:11 +09:00
Milan Burda
f418a49857
chore: warn when using the deprecated new-window event ( #34528 )
2022-06-15 18:17:42 -07:00
Jeremy Rose
bad8d5e08a
fix: make preload calculation identical between sandbox & non-sandboxed ( #34531 )
2022-06-15 13:22:28 -07:00
Shelley Vohr
bed38e0985
fix: crash when setWindowOpenHandler
callback throws ( #34523 )
...
* fix: crash when setWindowOpenHandler throws
* refactor: throw as process uncaughtException event
2022-06-14 12:22:23 -04:00
Shelley Vohr
93b39b92b5
refactor: printToPDF should be headless ( #33654 )
2022-05-31 08:21:25 +02:00
Milan Burda
9d3fc9c794
refactor: return options directly in makeBrowserWindowOptions() helper ( #34309 )
2022-05-24 10:23:16 +02:00
Shelley Vohr
dd6ce91f57
fix: call loadUrl when opening new windows from links ( #34159 )
...
* fix: call loadUrl when opening new windows from links
* spec: add regression test
2022-05-11 11:34:33 -07:00
Milan Burda
2091343b78
refactor: initialize member variables directly ( #34046 )
2022-05-04 16:30:05 +02:00
Robo
16f8d713ab
fix: apply senderFrame details to ipcMain port event ( #33756 )
2022-04-13 21:01:00 -07:00
electron-roller[bot]
59dd17f2cf
chore: bump chromium to 102.0.4989.0 (main) ( #33557 )
...
* chore: bump chromium in DEPS to 102.0.4975.0
* chore: bump chromium in DEPS to 102.0.4977.0
* chore: update patches
* Remove parameter of OnGpuProcessCrashed()
https://chromium-review.googlesource.com/c/chromium/src/+/3543396
* hid: Add exclusionFilters option to requestDevice
https://chromium-review.googlesource.com/c/chromium/src/+/3478175
* chore: bump chromium in DEPS to 102.0.4979.0
* chore: bump chromium in DEPS to 102.0.4981.0
* chore: update patches
* Deny notification/push permission for documents in non-standard StoragePartitions
https://chromium-review.googlesource.com/c/chromium/src/+/3257305
* Improve FrameTreeNode tracking in URLLoaderNetworkContext
https://chromium-review.googlesource.com/c/chromium/src/+/3341866
* fixup! Remove parameter of OnGpuProcessCrashed()
* chore: fix lint
* Reland "Use gfx::Insets[F]::TLBR() and gfx::Insets[F]::VH() in the rest of Chrome"
https://chromium-review.googlesource.com/c/chromium/src/+/3554236
* chore: bump chromium in DEPS to 102.0.4983.0
* Ensure EyeDropperView does not access a destroyed window
https://chromium-review.googlesource.com/c/chromium/src/+/3561542
* ci: don't delete dawn .git directory
83901: Adds a generated file with the dawn git hash encoded at build time. | https://dawn-review.googlesource.com/c/dawn/+/83901
* ci: update Windows toolchain
3550827: New toolchain for Windows 10 20348 SDK | https://chromium-review.googlesource.com/c/chromium/src/+/3550827
* chore: bump chromium in DEPS to 102.0.4985.0
* chore: update patches
* chore: bump chromium in DEPS to 102.0.4987.0
* chore: update patches
* 3563432: codehealth: remove uses of DictionaryValue in cbui/webui
https://chromium-review.googlesource.com/c/chromium/src/+/3563432
* chore: update patches after rebase
* Use gfx::Insets[F]::TLBR() and gfx::Insets[F]::VH() in the rest of Chrome
https://chromium-review.googlesource.com/c/chromium/src/+/3554236
* 3565724: Preserve "proper method names" as-is in error.stack.
https://chromium-review.googlesource.com/c/v8/v8/+/3565724
* chore: bump chromium in DEPS to 102.0.4989.0
* chore: update patches
* fixup ci: don't delete dawn .git directory for Windows
* 3560843: Remove multi-parameter version of gfx::Rect[F]::Inset()
https://chromium-review.googlesource.com/c/chromium/src/+/3560843
* 3572711: Remove unused IDS_PDF_TOOLTIP_ROTATE_CW resource.
https://chromium-review.googlesource.com/c/chromium/src/+/3572711
* 3572926: Reland "[Sysroot] Switch to Debian Bullseye stable"
https://chromium-review.googlesource.com/c/chromium/src/+/3572926
* build: fixup sysroots with electron specific dependencies
* fixup Remove multi-parameter version of gfx::Rect[F]::Inset()
* fixup 3565724: Preserve "proper method names" as-is in error.stack.
* fixup Remove multi-parameter version of gfx::Rect[F]::Inset()
* test: add spec for navigator.hid.requestDevice({ exclusionFilters: [...] }
* fixup 3565724: Preserve "proper method names" as-is in error.stack.
* ci: use python3 to get the windows toolchain profile
3525960: Explicitly run everything with python3 | https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3525960
* chore: add diagnostic logging
* fix: try calling process.crash()
* chore: remove logging
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2022-04-12 13:19:14 +02:00
Shelley Vohr
d1ea62c3e8
fix: getting focused window with destroyed webContents ( #33404 )
...
* fix: getting focused window with destroyed webContents
* fix: add extra safeguards
2022-03-29 12:22:58 -04:00
Calvin
594dc7e24a
chore: update node types version ( #33452 )
...
* chore: update node types version
* update express types to solve type conflict
* one more yarn.lock type bump
* update another types package to fix incompatible global declarations
* remove incompatible type magicks
* update our ambient types to match the node types
* fix test type
2022-03-28 14:37:35 -07:00
Fedor Indutny
06a00b74e8
fix: initialize asar support in worker threads ( #33216 )
...
* fix: initialize asar support in worker threads
Use `ObjectWrap` instead of gin's Wrap in `electron_api_asar.cc` because
gin isn't fully initialized (and apparently not possible to initialize
without ruining the isolate configuration and array buffer allocator) in
worker threads. In the worker thread call `setupAsarSupport` just as we
do for the main process.
* Update lib/asar/fs-wrapper.ts
Co-authored-by: Darshan Sen <raisinten@gmail.com>
* Update patches/node/worker_thread_add_asar_support.patch
Co-authored-by: Darshan Sen <raisinten@gmail.com>
* Add a test
Co-authored-by: Darshan Sen <raisinten@gmail.com>
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2022-03-22 20:37:55 -04:00
David Sanders
df8fd1b269
build: fix build by removing usage of removed preloadUrl ( #33319 )
2022-03-17 00:13:48 -07:00
Jeremy Rose
4342b7ff55
chore: remove awkward semi-documented preloadURL WebPreference ( #33228 )
2022-03-16 16:23:41 -07:00
Jeremy Rose
27527fe5ca
feat: warn that preloads will be sandboxed by default in v20 ( #32868 )
2022-03-08 15:39:53 -08:00
t57ser
41b2945ced
feat: add ability to configure if window should close when opener closes ( #31314 )
...
* feat: Added ability to configure if window should close when opener closes
* fix: check if embedder is destroyed
* fix: correctly take over closeWithOpener property
* chore: Added documentation
* Update docs/api/window-open.md
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
* chore: refactor
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* chore: changed property name from `closeWithOpener` to `outlivesOpener`
* dummy change to kick lint
* undo above
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2022-02-23 16:59:50 +09:00
David Sanders
1e8da899a3
chore: fix typos ( #32985 )
2022-02-21 10:27:45 +01:00
Milan Burda
db9ab80694
chore: update to latest TypeScript ( #32596 )
2022-01-31 20:37:40 +09:00
Matthew Rayermann
d26d337bb8
feat: add rawHeaders to IncomingMessage ( #31853 )
...
* Add response.rawHeaders to docs for IncomingMessage
* Remove trailing spaces
* Implement raw headers, add tests
* Fix lint issues
* Add example from NodeJS docs
* Fix lint issue in doc example
* Add missing #
2022-01-24 11:46:15 -05:00
Milan Burda
99ee1fc0eb
fix: will-attach-webview handler modifying params.instanceId does not break <webview> ( #32386 )
2022-01-12 16:41:20 +09:00
electron-roller[bot]
b0f315a637
chore: bump chromium to 99.0.4767.0 (main) ( #31986 )
...
* chore: bump chromium in DEPS to 98.0.4726.0
* 3292117: Remove unneeded base/compiler_specific.h includes in //chrome.
https://chromium-review.googlesource.com/c/chromium/src/+/3292117
* 3289198: Enables calculating line, word and sentence boundaries on the browser
https://chromium-review.googlesource.com/c/chromium/src/+/3289198
* 3276176: Remove expired gdi-text-printing flag and associated code.
https://chromium-review.googlesource.com/c/chromium/src/+/3276176
* 3240963: content: allow embedder to prevent locking scheme registry
https://chromium-review.googlesource.com/c/chromium/src/+/3240963
* 3269899: Rename WebContentsImpl::GetFrameTree to GetPrimaryFrameTree
https://chromium-review.googlesource.com/c/chromium/src/+/3269899
* chore: fixup patch indices
* 3276279: Enable -Wshadow by default for the "chromium code" config.
https://chromium-review.googlesource.com/c/chromium/src/+/3276279
* 3279737: appcache: Remove WebPreference/WebSetting
https://chromium-review.googlesource.com/c/chromium/src/+/3279737
* 3275564: [api] Advance API deprecation for APIs last marked in v9.6
https://chromium-review.googlesource.com/c/v8/v8/+/3275564
* 3261873: Clean up WebScriptSource constructors
https://chromium-review.googlesource.com/c/chromium/src/+/3261873
* 3279346: appcache: Remove ConsoleMessage appcache field
https://chromium-review.googlesource.com/c/chromium/src/+/3279346
* 3264212: Move legacy file loading to legacy_test_runner
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3264212
Both Persistence and UI have been removed from globals, but the issues they
seemed to be patching are no longer reproducible from what I can tell, and
so we can just delete these and re-evaluate if something surfaces.
* 3290415: x11: remove the USE_X11 define.
https://chromium-review.googlesource.com/c/chromium/src/+/3290415
* chore: bump Chromium to 98.0.4728.0
* 3179530: Defer system calls in PrintingContext for OOP printing
https://chromium-review.googlesource.com/c/chromium/src/+/3179530
* 3299445: Consolidate is_win conditionals in chrome/test/BUILD.gn.
https://chromium-review.googlesource.com/c/chromium/src/+/3299445
* chore: update patch indices
* 3223975: Break PrintJobWorker OOP logic into separate class
https://chromium-review.googlesource.com/c/chromium/src/+/3223975
* chore: bump chromium in DEPS to 98.0.4730.0
* 3279001: Remove support for font-family: -webkit-pictograph
https://chromium-review.googlesource.com/c/chromium/src/+/3279001
* chore: fixup patch indices
* chore: bump chromium in DEPS to 98.0.4732.0
* chore: update patches
* chore: bump chromium in DEPS to 98.0.4734.0
* chore: bump chromium in DEPS to 98.0.4736.0
* chore: update patches
* chore: update printing patch for miracle ptr
* chore: add noexcept to fix clang error
* chore: bump chromium in DEPS to 98.0.4738.0
* chore: update patches
* chore: bump chromium in DEPS to 98.0.4740.0
* chore: bump chromium in DEPS to 98.0.4742.0
* chore: bump chromium in DEPS to 98.0.4744.0
* chore: bump chromium in DEPS to 98.0.4746.0
* chore: bump chromium in DEPS to 98.0.4748.0
* chore: bump chromium in DEPS to 98.0.4750.0
* chore: update patches
* 3293841: Remove File Handling permissions code
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3293841
* chore: update patches
3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | https://chromium-review.googlesource.com/c/chromium/src/+/3311700
* 3289260: [CodeHealth]: Remove uses of Notification Service
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3289260
* 3301600: Disable scripted print in fenced frames
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3301600
* chore: add missing thread_restrictions headers
* 3305132: Rewrite most `Foo* field_` pointer fields to `raw_ptr<Foo> field_`.
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3305132
* fix: add ppapi_sandbox header for linux
3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | https://chromium-review.googlesource.com/c/chromium/src/+/3311700
* chore: manually bump chromium in DEPS to 98.0.4757.0
* chore: update patches
* 3321044: Remove DictionaryValue::Clear()
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3321044
* chore: update printing.patch
Refs:
- 3304556: [code health] Remove notification observation from PrintJob. | https://chromium-review.googlesource.com/c/chromium/src/+/3304556
- 3305095: [code health] Remove NotificationService from PrintViewManagerBase. | https://chromium-review.googlesource.com/c/chromium/src/+/3305095
* build: add v8-embedder-state headers to GN patch
* chore: bump chromium in DEPS to 99.0.4767.0
* chore: update patches
* chore: rename CookiePartitionKeychain
...to CookiePartitionKeyCollection
* chore: update video consumers
* refactor: use newer base::Value API
* 3232598: Convert net::DnsOverHttpsServerConfig into a class | https://chromium-review.googlesource.com/c/chromium/src/+/3232598
* 3327865: Remove the default WebContentsUserData ctor. | https://chromium-review.googlesource.com/c/chromium/src/+/3327865
* 3302814: DevTools: Add getPreference binding | https://chromium-review.googlesource.com/c/chromium/src/+/3302814
* 3301474: [tq][runtime] Use build flags for JS context promise hooks | https://chromium-review.googlesource.com/c/v8/v8/+/3301474
* oops 😵💫
* 3272411: Reland "base/allocator: Enable PartitionAlloc-Everywhere on macOS" | https://chromium-review.googlesource.com/c/chromium/src/+/3272411
build: turn PartitionAlloc back off on mac for now
* fix: WCO method got renamed
* 3344749: Revert "Stop using NSRunLoop in renderer process"
https://chromium-review.googlesource.com/c/chromium/src/+/3344749
* 3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues.
https://chromium-review.googlesource.com/c/chromium/src/+/3288746
* Revert "3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues."
This reverts commit 5cc69f102e43ca72ac9ef45063711bcc7d849740.
* chore: disable serial device enumerator sequence dcheck
* fix: comment out line in DeviceService dtor
* fixup! 3279001: Remove support for font-family: -webkit-pictograph
* fixup! 3279346: appcache: Remove ConsoleMessage appcache field
* chore: update patches after rebase
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2022-01-10 17:31:39 -05:00
Jeremy Rose
a015332342
fix: drop nativeWindowOpen deprecation warning ( #32370 )
2022-01-06 12:01:55 -08:00
Mitchell Cohen
5af6b898d9
feat: add Substitutions menu roles on macOS ( #32024 )
2022-01-06 10:41:28 -08:00
Jeremy Rose
d44a187d0b
feat: remove nativeWindowOpen option ( #29405 )
...
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
2022-01-06 09:28:03 -08:00
Milan Burda
2f9fd06534
chore: deprecate nativeWindowOpen in Electron 17 ( #32116 )
2022-01-06 05:08:59 -08:00
Keeley Hammond
ffbaa1d83f
fix: check for single bluetooth listener ( #32240 )
2021-12-17 16:55:43 -08:00
Samuel Attard
a11f5cbb27
fix: ensure bluetooth devices are not returned by default ( #32178 )
2021-12-15 11:46:48 -08:00
Cheng Zhao
35ac7fb8e6
fix: window.open not overriding parent's webPreferences ( #32057 )
...
* fix: window.open not overriding parent's webPreferences
* test: remove "nativeWindowOpen: false" from renderer tests
2021-12-06 12:54:14 +09:00
Erick Zhao
b4b0667d52
chore: make Discord invite non-vanity ( #31991 )
2021-11-26 13:10:07 +13:00