Commit Graph
100 Commits
Author SHA1 Message Date
Sebastian Malton 6a359e8ddb Fix residual typing issues related to metrics
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:31 -04:00
Sebastian Malton d249c4c679 Fix show details and updating helm releases tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 042b679ca6 Fix showing-details-for-helm-release behavioural tests
- Remove HelmChartStore in favour of all injectables

- Create a model for UpgradeChartDockTab

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 4bef236f8c Add new injectable for create KubeJsonApi and JsonApi instances
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 5f612dd595 Fix tests with new global override
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton b1d1b69b3d Remove jest-fetch-mock and make fetch injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 5a2a9248e8 Make KubeconfigDialog injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 6cbb87705f Use new createKubeJsonApiForClusterInjectable for openNodeShellSession
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton a0e15c453f Convert the rest of shell sessions to be DI-ed
- This is a prerequesit for using the new
  createKubeJsonApiForClusterInjectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 558dbddeb8 Switch KubeJsonApi.forCluster to be injectable but do not use
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:30 -04:00
Sebastian Malton 1809f98046 Replace resource applier with injectables
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:29 -04:00
Sebastian Malton 35f3c08279 Convert all metric requests to be injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:29 -04:00
Sebastian Malton 12beacec81 Make PortForward's use of apiBase fully injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:29 -04:00
Sebastian Malton 83970fb5a4 Convert all of Helm functions to be DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:29 -04:00
Sebastian Malton 2f57644801 Making apiBase injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:55:29 -04:00
Sebastian Malton ed073d6562 Revert "Remove mac-ca usage since it was only in tests (#6043)" (#6319)
This reverts commit f544386619.

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:52:55 -04:00
Sebastian Malton 1a8f80a5e9 Split integration tests into seperate jobs from unit tests for faster CI (#6310)
* Split integration tests into seperate jobs from unit tests for faster CI

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add logging

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Simplify the matrix

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove steps that are part of Makefile

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix yml decl

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Switch to using single quotes

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Further clarify the test job names

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix invocation

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Attempt to fix traking stdout

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* And handling for tests failing to start

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add check for app early exiting

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add more logging to help with debugging

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Cleanup attemptStart code

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-04 17:20:21 -04:00
Sebastian Malton 032e6d968c Validate ClusterModel before trying to update or create a Cluster (#4515)
* Validate ClusterModel before trying to update or create a Cluster

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 12:36:28 -04:00
Sebastian Malton 5263d9b5ec Bump typedoc-plugin-markdown to 3.13.6 to fix documentation creation (#6308)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 12:00:08 -04:00
Sebastian Malton f544386619 Remove mac-ca usage since it was only in tests (#6043)
* Make injecting CAs injectable, remove mac-ca as dependency

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix win-ca failing on electron renderer on windows

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix the matcher under features/ for main

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 10:41:59 -04:00
Sebastian Malton b9cc0d5687 Fix kubeconfig-sync sometimes producing multiple identical entities (#5855) 2022-10-03 10:38:41 -04:00
Sebastian Malton e6396b7314 Stop overriding intree extension versions on build (#6239) 2022-10-03 10:36:47 -04:00
Sebastian Malton 4c49134dbc Fix crash on clean startup (#6276)
* Convert ReleaseChannel into an InitializableState

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix init timing for DefaultUpdateChannel

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make UserStore loading seperate from creation to fix initialization timing errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix overrides of UserStore

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix UserStore tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move userStoreFileMigration call to the init runnable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add global override for userStoreFileMigratiom

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-09-20 08:19:09 +02:00
Sebastian Malton 45a6c4681e Release 6.1.0-alpha.1 (#6268) 2022-09-16 14:48:20 -04:00
Sebastian Malton a52e7be272 Fix typing issue with missing build.publish field (#6264) 2022-09-16 09:19:06 -04:00
Sebastian Malton 480899c0b6 Revert KubeJsonApi removal from extension api (#6260) 2022-09-16 08:32:33 -04:00
Sebastian Malton 67ac1692b2 Clean up versioning and packageJson uses (#6196) 2022-09-15 17:20:58 -04:00
Sebastian Malton cfe35ded90 Fix overflow on main layout not being scrolled (#6258) 2022-09-15 15:56:41 -04:00
Sebastian Malton a784ca70b1 Fix beta->latest->beta upgrade loop (#6189) 2022-09-15 08:02:14 -04:00
Sebastian Malton 2555643749 Upgrade release making script to support skipping PRs (#6182) 2022-09-14 08:51:51 -04:00
Sebastian Malton e6a284a877 Bump version in package.json (#6249) 2022-09-14 08:50:46 -04:00
Sebastian Malton 23cb231c8f Fix discovering extensions with with scopes (#6221) 2022-09-09 16:05:16 -04:00
Sebastian Malton 100bd870d7 Assume that bundled extensions are always compatible (#6195)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-09-08 06:34:36 -04:00
Sebastian Malton 4a033a49f0 Readd space between key and value in ENV display (#6183)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-09-07 08:40:56 -04:00
Sebastian Malton 4eb71420a5 Move pod-logs test to features folder (#6188) 2022-09-06 14:07:33 -04:00
Sebastian Malton f461b85b66 Fix type error in download-logs test (#6167) 2022-09-02 17:01:31 -04:00
Sebastian Malton bab1b13317 Fix envFrom.prefix not being applied in container's env view (#5434) 2022-09-02 13:49:53 -04:00
Sebastian Malton 6ef284560a Use extension version as projectVersion for exported ExtensionStore (#6161) 2022-09-02 09:43:06 -04:00
Sebastian Malton 0d28af3fe5 Update snapshots from other work (#6160) 2022-09-01 11:26:10 -04:00
Sebastian Malton b0d72b78d0 Bump typescript, @typescript-eslint/eslint-plugin, and @typescript-eslint/parser (#6143) 2022-09-01 10:05:32 -04:00
Sebastian Malton 7ad7c89061 Remove release building pipelines (#6117) 2022-08-30 14:45:31 -04:00
Sebastian Malton c8fe453948 Update failing tests after merge (#6140) 2022-08-30 11:19:14 -04:00
Sebastian Malton 106c3d246a Add data-warning prop on button for better snapshot testing (#6040) 2022-08-30 08:28:20 -04:00
Sebastian Malton 4b1c9fb5fd Fix doughnut graphs on workload overview sometimes not showing (#5727) 2022-08-30 07:54:18 -04:00
Sebastian Malton 7767216167 Fix issues when using newer @types/semver (#6132)
- All the removed uses of `includePrerelease` that are removed were not
  actually used within the semver package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-30 09:46:52 +03:00
Sebastian Malton 70967294e7 Revert eslint-plugin-react to 7.30.1 to fix linting (#6130) 2022-08-29 10:39:14 -04:00
Sebastian Malton 2d32d0ff09 Remove old create-release-script (#6121) 2022-08-26 16:21:24 -04:00
Sebastian Malton 69e45f01be Cherry-pick improvements to creation of release PRs script (#6120) 2022-08-26 16:19:07 -04:00
Sebastian Malton 5414fc2580 Disable fail-fast on the testing CI jobs (#6080)
- There are several reasons why these might fail that are irrelavent to
  the other pipelines. So we should just let them continue

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-25 09:49:21 -04:00
Sebastian Malton e2b854d3af Fix badge not expanding on click when appropriate (#6029)
* Fix badge not expanding on click when appropriate

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix snapshots

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix snapshots

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Update other snapshots

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove unneccessary code

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-25 09:19:35 -04:00
Sebastian Malton 4771c7755c Switch ubuntu CI to ubuntu-20.04 (#6078)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-23 10:15:30 -04:00
Sebastian Malton 03d2389f01 Use default export to fix issue with package lying with types (#6081)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-22 16:42:06 -04:00
Sebastian Malton 436aa3dcda Use abort-controller package to fix typing issues (#6077) 2022-08-22 11:18:01 -04:00
Sebastian Malton 3f2010a6b6 Override @astronautlabs/jsonpath's underscore version (#6044)
* Override @astronautlabs/jsonpath's underscore version

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove use of buggy 'yarn check'

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-18 03:21:13 -07:00
Sebastian Malton 6d37019089 Upgrade to electron@^19 (#5369)
* Upgrade to use electron 19.0.4

- Update documentation

- Updated disturl in .yarnrc to fix build issue

- Remove use of abort-controller package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove support for webview tags

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-12 05:17:06 -07:00
Sebastian Malton edacf3bec6 Fix distribution detector erroneously depending on previous metadata (#6023)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-12 09:37:00 +03:00
Sebastian Malton bd3f123aef Fix Badges being too small when scrollable and not expandable (#5987)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-10 05:46:41 -07:00
Sebastian Malton 09f2919946 Remove usage of deprecated xtermjs's registerLinkMatcher API (#5996)
* Make openBrowser->openLinkInBrowser injectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove use of deprecated link matcher API from XtermJS

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-09 19:25:11 -07:00
Sebastian Malton 5c11d7f7fe Fix completely overriding PATH in shellSync (#5451) 2022-08-09 10:08:56 -04:00
Sebastian Malton 592600c1bb Fix focus not switching to new cluster frame (#5995) 2022-08-08 21:49:21 +03:00
Sebastian Malton d9785ad4dc Fix ResourceQuotaDetails quotas display bugs (#5909) 2022-08-05 14:02:35 -04:00
Sebastian Malton 8dea3ad8bc Correctly handle HorizontalPodAutoscaler metrics with 0 usage (#5986) 2022-08-04 14:21:01 -04:00
Sebastian Malton 249927dc80 Fix HorizontalPodAutoscaler metrics not displaying current values (#5956) 2022-08-04 12:34:52 -04:00
Sebastian Malton 2b24a42883 Fix Pod Container sorting not correlating to visuals (#5175) 2022-08-02 12:44:32 -04:00
Sebastian Malton 95ed0dda1b Fix CPU spike when opening PodDetails from MonacoEditor (#5642) 2022-08-02 12:41:23 -04:00
Sebastian MaltonandAlex Andreev 57e4e29a16 Fix not being able to switch metrics if none are available (#5430)
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2022-08-02 10:05:15 -04:00
Sebastian Malton 07568839f6 Fix KubeObjectDetails drawer not working for Cluster scoped resources (#5954)
- Fix not displaying spinner while object is not defined

- Fix not displaying loading error if object is not defined

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-01 13:25:29 +03:00
Sebastian Malton 485f213461 Remove duplicate 'Controlled by' section on Jobs' details (#5943)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-01 13:22:49 +03:00
Sebastian Malton feb2859b5d Fix Badge.props.expandable's default being switched to false (#5911)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-28 13:11:32 -07:00
Sebastian Malton e4b33ce960 Increase timeout for macos build pipeline (#5913) 2022-07-27 08:02:48 -04:00
Sebastian Malton f61330611e Remove global shared state to fix unit tests (#5889) 2022-07-26 08:55:13 -04:00
Sebastian Malton e7e8d1688c Fix trying to connect to cluster whose entity doesn't exist (#5881)
* Fix trying to connect to cluster whose entity doesn't exist

- If a Cluster is trying to be connected to but there is no associated
  entity then don't try and connect

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Revert cleanup

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-25 13:12:46 -04:00
Sebastian Malton 91235ca2c6 release 6.0.0-alpha.0 (#5886) 2022-07-25 10:08:55 -04:00
Sebastian Malton f7f41cab79 Fix terminal freezing self and whole app when internet is disconnected (#5870)
- Remove uses to navigator.onLine as not needed and because that value
  cannot be trusted (see several bug reports on chromium)

- Fix infinite loop when socket is not connected in flush

- Add some simple tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-25 08:34:54 +03:00
Sebastian Malton 4340f64bfa Revert "Bump type-fest from 2.14.0 to 2.17.0 (#5864)" (#5882) 2022-07-22 15:20:55 -04:00
Sebastian Malton 4e4690f15f Fix edit kube resource tab not respecting changes to current draft (#5878) 2022-07-22 12:14:48 -04:00
Sebastian Malton 81c18a6cad Add guards to prevent activation errors slipping through (#5845)
* Add guards to prevent activation errors slipping through

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make sure all logging has a message, output less errors when prometheus fails

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Improve logging from getPortFromStream

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-19 09:05:41 +03:00
Sebastian Malton 5f746760c8 Fix terminal fit errors (#5811) 2022-07-18 09:53:15 -04:00
Sebastian Malton ede8a2e91f Fix open CommandDialog (#5818)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-15 08:17:44 +03:00
Sebastian Malton f935454875 Fix check on NamespaceSelectFilter not updating (#5691) 2022-07-07 11:59:33 -04:00
Sebastian Malton 07c5de6e8e Use extension's app preference tab name when available (#5798)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-07 08:34:58 +03:00
Sebastian Malton d44599af00 Fix breaking changes in extension API types (#5797) 2022-07-06 15:00:31 -04:00
Sebastian Malton 2a37d6bfac Remove reference to window in ExtensionLoader (#5796) 2022-07-06 12:27:01 -04:00
Sebastian Malton 512390d0b9 release v5.6.0-alpha.6 (#5795)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-06 12:23:23 -04:00
Sebastian Malton fb4dca8e58 Export TrayMenuRegistration type (#5793) 2022-07-06 09:57:52 -04:00
Sebastian Malton 26127fe906 Remove unused ask-boolean injectable (#5788) 2022-07-05 14:58:52 -04:00
Sebastian Malton eddefb2074 Fix type errors using raw InputValidator (#5704)
- Introduce LegacyInputValidator type

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-05 14:56:41 -04:00
Sebastian MaltonandAlex Andreev 32b84d1658 Fix crash in HelmChartDetails (#5667)
* Fix crash in HelmChartDetails

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix bug in helm chart icon fallback

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Update snapshots

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Factor out HelmChartIcon for better reusability

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix compile error

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix remaining type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove HelmChart list figure background

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing dangerouslySetInnerHTML usage

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Snapshots update

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Using currentColor from cascade instead of specific one

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2022-07-04 16:17:44 -04:00
Sebastian Malton a4f70c3d53 Fix broken 'Add Cluster' docs link (#5725)
* Fix broken 'Add Cluster' docs link

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-01 10:06:27 -07:00
Sebastian Malton 165bf57380 Fix triple click breaking inputs (#5588) 2022-06-30 08:26:08 -04:00
Sebastian Malton 27adab8d1c Fix parsing memory metrics expecting wrong unit suffix (#5585) 2022-06-30 08:25:56 -04:00
Sebastian Malton 0f43779727 Add react-select as a dependency for @k8slens/extensions (#5705)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-06-29 19:33:31 -07:00
Sebastian Malton 7ab3d419b3 Fix selecting items always scrolling to top (#5728) 2022-06-29 08:21:57 -04:00
Sebastian Malton a1f79092a5 Remove 'Update Now' notification (#5750) 2022-06-28 12:01:01 -04:00
Sebastian Malton b9ae92add6 Reenable generating of .js files for extension api package (#5431) 2022-06-28 09:30:19 -04:00
Sebastian Malton de43df1cca Fix cluster frame display issue (#5518)
* Fix cluster frame display issue

- Add some defensive code to prevent this sort of infinite loop

- Add some unit tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix unit tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix build

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Factor out injectable for getting of cluster config data

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-06-20 22:23:15 -04:00
Sebastian Malton 8c31e56462 release 5.6.0-alpha.3 (#5668) 2022-06-20 14:45:33 -04:00
Sebastian Malton 2a045fa04a release 5.6.0-alpha.2 (#5640) 2022-06-15 12:16:04 -04:00
Sebastian Malton f45627f117 Fix not starting with sentryDSN configured (#5629)
* Fix not starting with sentryDSN configured

- Make sure that all beforeElectronIsReady runables are run completely
  syncronously

- Fix when setupSentry is to be run (namely before electron is ready)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-06-15 07:38:54 +03:00
Sebastian Malton f8b6c4a427 release 5.6.0-alpha.1 (#5618) 2022-06-14 12:03:28 -04:00