Commit graph

1689 commits

Author SHA1 Message Date
Kirill Morozov
fde88d0034
Hardcoded string with dropdown removed (#1867)
Co-authored-by: k.morozov <k.morozov@ffin.ru>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-22 07:50:28 +03:00
Robert Azizbekyan
2a0c8176ab
Fix KSQLDB breadcrumbs spelling (#1843)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-22 04:38:06 +04:00
Roman Zabaluev
4b907e1005
Fix schema name nullability on compatibility change (#1872)
* Fix schema name nullability on compatibility change

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Add nullable

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-22 03:57:30 +04:00
Roman Zabaluev
dbc5d0445c
Fix empty base path when forwarding to index page (#1874)
Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

Co-authored-by: Ilya Kuramshin <ilia-2k@rambler.ru>
2022-04-22 03:51:49 +04:00
Lucas McCain
aab1f5cea4
Fix a link for setting up SSL for kafka (#1758)
* Fix #1752

Add guide for secure broker.

* Reference docker-compose file instead of copypaste

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-22 02:25:47 +03:00
Robert Azizbekyan
25266991df
KC: Display a clear message if connector already exists (#1839)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-21 04:32:52 +04:00
Arsen Simonyan
b406d1bba3
Fix broken topics' sandwich menu (#1829)
* fix topic list invisible actions menu

* use styled component instead of inline styles

* remove unnecessary prop type

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-21 02:09:40 +04:00
Kirill Morozov
c5234ce470
Fix clearing offset upon "clear all" button click (#1866)
Co-authored-by: k.morozov <k.morozov@ffin.ru>
2022-04-21 01:59:11 +04:00
Arsen Simonyan
a038762409
Remove unnecessary links and texts in topic messages (#1851)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-19 19:51:24 +04:00
Roman Zabaluev
d8e5075235
Fix codeowners paths 2022-04-19 04:03:32 +04:00
Roman Zabaluev
75333ea636
Create codeowners file 2022-04-19 03:56:03 +04:00
Mgrdich
6eb6bb1d7e
Smart filters improvements (#1814)
* Add Filters add button and remove the Add Filter Icon

* Generalize DeleteFilterModal and write tests suites + add custom addModal hook

* add react-testing-hook-lib + add tests to useModal hook

* Add parameter to ConfirmationModal + remove delete Modal add generic modal in add filter page

* implementing the modal hook on add Filter

* Finalize the Smart Filters functionality

* Styling code modifications

* Styling code modifications

* Filters styling code modifcations

* minor modifications in the tests suites

* minor tests suites description modifications

* minor tests suites code modifications

* Adding unNamed Filter selection option + tests suites

* Fix typo

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Adding tests Wuites to AddEditFilterContainer and to addFilter

* Add Filters add button and remove the Add Filter Icon

* Generalize DeleteFilterModal and write tests suites + add custom addModal hook

* add react-testing-hook-lib + add tests to useModal hook

* Add parameter to ConfirmationModal + remove delete Modal add generic modal in add filter page

* implementing the modal hook on add Filter

* Finalize the Smart Filters functionality

* Styling code modifications

* Styling code modifications

* Filters styling code modifcations

* minor modifications in the tests suites

* minor tests suites description modifications

* minor tests suites code modifications

* Adding unNamed Filter selection option + tests suites

* Fix typo

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Adding tests Wuites to AddEditFilterContainer and to addFilter

* q parameter modifications in the SmartFilters

* Add popup close functionality after applying the filters

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-18 14:14:53 +04:00
Ilya Kuramshin
76c5fae4dd
Fixing AdminClients requesting stucking
* jmx metrics collection parallelized on elastic scheduler (#1836)
* explicitly setting publishing Scheduler for KafkaFuture-based Monos

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-04-18 12:22:14 +03:00
Mgrdich
b4e52afbdb
Issues/1740 live tailing order (#1824)
* fixing Message addition order during Live tailing

* fixing Message addition order during Live tailing adding tests suites

* minor changes in the function name for prepending addTopics during live mode

* delete minor code repetition

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-14 20:24:58 +04:00
Oleg Shur
ee09fc73b6
Adjust sonar exclusion list (#1833) 2022-04-14 17:43:50 +04:00
Alla Golosenko
ebcf778e11
Add a disclaimer (#1834)
* Update README.md

Disclaimer was added at the request of @germanosin

* Fix link

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-14 17:38:38 +04:00
Arsen Simonyan
d79412fe26
fix page reset on search input change (#1823)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-13 13:39:59 +04:00
Kirill Morozov
a38077d9d7
Added functionality to ClearAll button (#1813)
* Added functionality to ClearAll button

* Added updating count of partitions in URL

* Comments removed

* Added SeekDirection reset

* White spaces removed

Co-authored-by: k.morozov <k.morozov@ffin.ru>
2022-04-12 20:09:46 +03:00
dependabot[bot]
30e0238bd1
Bump actions/setup-node from 1 to 3.1.1 (#1820)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1 to 3.1.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v1...v3.1.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 12:49:51 +04:00
azatsafin
69a605721e
fix depoyment from bad branch names (#1819)
Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-04-11 17:01:35 +03:00
dependabot[bot]
1eeacf628f
Bump actions/stale from 4 to 5 (#1818)
Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 14:41:24 +04:00
dependabot[bot]
fecb939ff8
Bump actions/upload-artifact from 2 to 3 (#1817)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 14:29:04 +04:00
dependabot[bot]
f9f6e2bb13
Bump aquasecurity/trivy-action from 0.2.2 to 0.2.3 (#1815)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.2.2...0.2.3)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 12:45:43 +03:00
dependabot[bot]
b44fd8490b
Bump peter-evans/create-or-update-comment from 1.4.5 to 2 (#1803)
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 1.4.5 to 2.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v1.4.5...v2)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-07 19:30:32 +04:00
Kirill Morozov
161b8a7238
Added maxWidth to the table row styles (#1810)
* Added new styles to table cells
* Styled td component moved to TableHeaderCell.styled

Co-authored-by: k.morozov <k.morozov@ffin.ru>
2022-04-07 16:28:18 +03:00
Naresh Kumar Reddy Gaddam
8d10eb69e8
Kafka Connect: Implement basic auth (#1754)
* [TRIVIAL]: Enable basic auth for kafka connect cluster

* Update README.md

Co-authored-by: Naresh Kumar Reddy <naresh.kumar.reddy@dnb.no>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-06 15:56:43 +04:00
Roman Zabaluev
f2756295c4
Update stale workflow configuration 2022-04-06 15:07:58 +04:00
NelyDavtyan
09b29ded04
Frontend: Restart connectors buttons (#1717)
* restart_all_tasks and restart_failed_tasks

* Add Batch to minimize react-redux rendering in multiple dispatch scenarios for restartTasks Async Action

Co-authored-by: Mgrdich <mgotm13@gmail.com>
Co-authored-by: Mgrdich <46796009+Mgrdich@users.noreply.github.com>
2022-04-06 13:25:15 +04:00
dependabot[bot]
23292a8520
Bump netty.version from 4.1.70.Final to 4.1.75.Final (#1723)
Bumps `netty.version` from 4.1.70.Final to 4.1.75.Final.

Updates `netty-buffer` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-common` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-codec` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-handler` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-resolver` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-transport` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-transport-native-epoll` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

Updates `netty-transport-native-unix-common` from 4.1.70.Final to 4.1.75.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.70.Final...netty-4.1.75.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-handler
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-resolver
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport-native-epoll
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 17:08:11 +04:00
dependabot[bot]
ac1e6cf3b3
Bump jwalton/gh-docker-logs from 2.0.2 to 2.2.0 (#1687)
Bumps [jwalton/gh-docker-logs](https://github.com/jwalton/gh-docker-logs) from 2.0.2 to 2.2.0.
- [Release notes](https://github.com/jwalton/gh-docker-logs/releases)
- [Commits](https://github.com/jwalton/gh-docker-logs/compare/v2.0.2...v2.2.0)

---
updated-dependencies:
- dependency-name: jwalton/gh-docker-logs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 16:48:27 +04:00
Joseph DeChicchis
1796fd519b
Implement deserializing binary protobuf encoded message keys (#1729)
* Add protobufMessageNameForKeyByTopic option to config. Message keys are
deserialized using a protobuf schema if the config is set. Otherwise
message keys are treated as strings.

Closes #1699

* Add documentation around kafkaui's protobuf support

* Add protobufMessageNameForKey config option

* Update README with info about default types

* Imeplement support for protobufMessageNameForKeyByTopic

* fallback to FALLBACK_FORMATTER

* Add ability to publish message with protobuf key

* Change log levels to debug and add @Nullable annotations

* Attempt at fixing documentation workflow

Co-authored-by: Ilya Kuramshin <ilia-2k@rambler.ru>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Roman Zabaluev <github@haarolean.dev>
2022-04-05 16:26:57 +04:00
Mgrdich
68f8eed8f8
Issues/1740 live tailing improvements (#1774)
* Implementing Context to the Topic messages pages

* Using TopicContext in the Topics Topic MessageTable component

* Using TopicContext variable in the Filters component

* Fixing the Ordering of the Live mode Topic messaging

* Fixing isLive parameter bug during page refresh

* Minor code modification in Topic Filter Message page

* Implement the correct seekType during live mode in url as well as in api call

* Add Test cases to Messages and refactor eventSource Mock

* Add initial Testing file for messages table

* improve the MessagesTable test File

* improve the MessagesTable test File + Filter Test File

* improve the MessagesTable test File

* Change the function name toggleSeekDirection  to changeSeekDirection

* change the name of the test suites to be more declarative

* Display the table progress bar in live mode only when no data is fetched
2022-04-05 16:04:41 +04:00
Mgrdich
c79905ce32
Issues/921 pagination consumer groups (#1802)
* Add Pagination to the ConsumerGroups Page

* Consumer Groups test suites minor code modifications

* Consumer Groups test Search results code

* Consumer Groups test Search with Api request

* Consumer Groups Search Logic
2022-04-05 15:48:22 +04:00
Ilya Kuramshin
b4df8a73c8
[ISSUE-1773] Ksqldb 0.24 unexpected json stream ending workaround (#1791)
* Ksqldb 0.24 unexpected json stream ending workaround
* ksql db test added
* SchemaRegistryAwareRecordSerDe potential buffer underflow fixed
* SchemaRegistry magic bytes extracted to constants

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-04-04 18:16:26 +03:00
Naresh Kumar Reddy Gaddam
f8b4b17ac3
Fix messages filtering by timestamp (#1781)
Co-authored-by: Naresh Kumar Reddy <naresh.kumar.reddy@dnb.no>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-04-04 14:07:01 +04:00
Mgrdich
4b517c83a0
Add rimraf in dev-dependencies and remove from dependencies (#1798) 2022-04-04 12:59:51 +04:00
Mgrdich
688b86a557
Get Rid of Zookeeper (#1789) 2022-04-01 14:54:10 +04:00
Mgrdich
15ef0364ca
Clusters Style change during initializing phase + implement tests suites (#1787) 2022-04-01 00:30:19 +04:00
Roman Zabaluev
e113e36348
Rename 'send' button to 'submit' (#1770)
* Rename 'send' button to 'submit'

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* fix the New spec test file for submit button name

Co-authored-by: Mgrdich <mgotm13@gmail.com>
2022-03-31 19:53:25 +04:00
Oleg Shur
cb7627d8df
[CHORE] Unified getTagColor method (#1785)
* [CHORE] Unified getTagColor method

* [CHORE] Reduce component complexity
2022-03-31 16:01:09 +03:00
Mgrdich
913b8921b4
Issues/1738 Time to retain data rendenring Styling (#1780)
* TimeToRetainBtn Fix Styling during non active state + write test suites for these components

* TimeToRetainBtn Fix Style during initial render phase

* TimeToRetainBtn Spec suites changes
2022-03-30 16:33:38 +03:00
Anifah Bhadmus
4907e187f8
add loading indicator to topic settings tab (#1746)
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-03-28 13:48:07 +03:00
Ilya Kuramshin
e1f31d27c6
ISSUE-1613: Fix Topic not found error after new topic creation
* load topic after creation retry added
* TopicService.recreateTopic,cloneTopic formatting improved
* ALLOW_AUTO_CREATE_TOPICS_CONFIG set to false for all created consumers to avoid accidental topic creation

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-03-28 09:10:06 +03:00
dependabot[bot]
3a84d10034
Bump minimist from 1.2.5 to 1.2.6 in /kafka-ui-react-app (#1761)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 13:39:16 +03:00
dependabot[bot]
70fc3921dd
Bump node-forge from 1.2.1 to 1.3.0 in /kafka-ui-react-app (#1750)
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 13:11:10 +03:00
Mgrdich
73266f86af
Issues/1525 add sort order consumer group page (#1747)
* Adding Consumer Groups Paged Reducer and action creator and get Selector logic

* Adding fetchConsumerGroupsPaged to the ConsumerGroups Paged

* Code refactoring and adding general fixtures For Consumer Group List

* Adding Container Redux Connect structure to the List of Consumer Groups

* Adding Selectors and action creators for orderBy and Sort Order

* Adding All Necessary components to render the smart Tables in Consumer Groups

* Adding SmartTable to the Consumer Groups page + fixing allSelectable Checkbox bug in the SmartTable Component

* Primitive Tests for ConsumerGroupsTableCells to test rendering and mockup the component and table data

* Finalizing Tests for consumer Groups table , minor code bug fix in the Consumer Groups table structure

* Adding Order By to the Consumer Groups Table , View part

* Adding order By to the Consumer Groups pages

* Adding order By to the Consumer Groups pages with SortBy functionality

* Code refactor in the ConsumerGroups component and its related tests

* Code refactor in the ConsumerGroups component and its related tests

* adding Tests in the Consumer Groups List

* Fixing the Sorting styling Bug in the Table order

* Adding additional Tests to the ConsumerGroups List tests

* Adding additional Tests for TableHeaderCell styled component

* Deleting obsolete codes from the consumer Groups Slice + minor table header test type fix

* Adding Tests for the consumerGroupSlice

* Adding Tests for the consumerGroupSlice

* Consumer Groups table minor code modifications

* Minor Code bug fixes in the SmartTable Component
2022-03-24 13:44:15 +04:00
Roman Zabaluev
8908d6839c
Get rid of zookeeper (#1726)
* Get rid of zookeeper

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Fix build

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Cleanup

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Review fixes

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Skip unwanted domain check for documentation flow

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-03-23 18:23:37 +03:00
Mgrdich
6a1053b2f4
Fixed frontend routing (#1745)
* Revert "Issue-1184: fix logo link and remove redundant path segment "ui" (#1658)"

This reverts commit b08e22915d.

* changing them dashboard logo from an anchor tag to a react-router dom link

* Dashboard element redirect to the same place
2022-03-21 20:00:11 +03:00
Zorii4
634406ac91
[Issue-998] Add Recreate topic button in to list of Topic and Details topic Overview (#1660)
* Add Recreate topic button in to list of Topic and Details topic Overview

* Add reducer and update test

* update reducer test

* update Topic/Details test

* Table and TableColumn components, TableState and DataSource

* Table: Migrate topics table to new Table component

* fix module paths

* test for propertyLookup

* improve useTableState code

* fix folder name

* improve table ordering

Co-authored-by: Anton Zorin <zorii4@Antons-MacBook-Pro.local>
Co-authored-by: Sash Stepanyan <sstepanyan@provectus.com>
Co-authored-by: Sasha Stepanyan <100123785+sasunprov@users.noreply.github.com>
2022-03-21 13:58:13 +04:00
Mgrdich
ad628ed7ae
Adding Loader indicator to the TopicsConsumerGroups pages + migrating its test from Enzyme to react testing library (#1734) 2022-03-18 12:36:21 +04:00