Valere
fb5f0cbd00
Fix test compilation
2022-07-01 09:43:17 +02:00
Valere
e7322e8524
outdated configuration
2022-07-01 09:43:17 +02:00
Valere
5a67c39c7f
reuse code for test
2022-07-01 09:43:17 +02:00
Valere
a885ff5e47
Fix test
2022-07-01 09:43:17 +02:00
Valere
b0907de582
Fix migration
2022-07-01 09:43:17 +02:00
Valere
ddd82441bd
kdoc
2022-07-01 09:43:17 +02:00
Valere
8e829c6aad
Add lab flag and more tests
2022-07-01 09:43:17 +02:00
Valere
d9fb58fbcb
Fix tests
2022-07-01 09:42:31 +02:00
Valere
f64adeba7f
fix bad sender key export
2022-07-01 09:42:31 +02:00
Valere
34145f0374
post rebase fix
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
df241dbdb8
Fix broken unit test
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
010cf540b6
Fix broken unit test
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
55fdff4242
Resolve merge conflicts
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
d3a516b05d
Enhance key sharing to respect matrix configuration
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
a9a7400fef
Add MXCryptoConfig flag for key history sharing
...
Add shared_history flag to sessionBackupData
2022-07-01 09:42:31 +02:00
Valere
fb352ffa38
quick format
2022-07-01 09:42:31 +02:00
Valere
d8d808d0b4
removed deprecated annotation, CI don't like
2022-07-01 09:42:31 +02:00
Valere
8c26592d46
cleaning
2022-07-01 09:42:31 +02:00
Valere
9b8e45ebfe
share keys for history take2
2022-07-01 09:42:31 +02:00
Valere
93aac8faea
post rebase fix
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
2e88998b05
Add integration tests for shared keys rotation on room history visibility change
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
3a5b737639
Fix existing E2eeSanityTests to support changes for key history sharing
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
28dd507a74
Add crypto shared history sanity test
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
96f0d52753
Update copyright
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
243463adbc
Add logs
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
395d48f946
Refactor code structure and improve naming
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
497f7cf044
Rotate our session when there is a room history visibility change since the last outboundSession
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
d6358dcb16
Prevent injecting a forged encrypted message and using session_id/sender_key of another room.
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
28a3ae264c
Remove sharedHistory from OlmInboundGroupSessionWrapper2 while there are migration issues, and use only the equivalent DB entity value
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
dd3928f075
Remove sendSharedHistoryKeys while we will only share latest messages
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
b3bfd05ecb
- Share only the first chunk of inbound sessions instead of the whole key history
...
- Download keys if the user is unknown (first invite)
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
e861edd544
Implement history key sharing functionality with respect to room visibility settings
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
6e57aeb9e5
Add roomId in InboundSessionEntity for better performance
...
Add shared history flag to InboundSessionEntity
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
98b55457b5
Add sendSharedHistoryKeys in crypto service
2022-07-01 09:42:31 +02:00
ariskotsomitopoulos
34713d5023
Add sharing existing inbound sessions functionality on new room invites
2022-07-01 09:42:31 +02:00
Florian Renaud
33a19c1ef5
Merge branch 'develop' into feature/fre/start_dm_on_first_msg
...
* develop: (91 commits)
Remove unused import
Update versions
Update CHANGES
Improve readability.
Weblate: also clean trads
Changelog
Format file
Add android:hasFragileUserData="true" to the manifest. See details in #2352
Clean the TODO delete (UnusedResource not compatible with string template)
showing a toast on password reset confirmation
lifting duplicated event_base layout to the base class, with the option for children to override
using vector model for consistency
Replace 5 manual steps to 1 command line step
Translated using Weblate (Italian)
Translated using Weblate (Swedish)
Translated using Weblate (Swedish)
Translated using Weblate (Russian)
extracting common breaker background selection to ftue extensions
removing unused imports
adding changelog entry
...
2022-07-01 09:35:40 +02:00
Benoit Marty
c77ecc6a21
Merge pull request #6288 from deepbluev7/nico/stable-aliases
...
Use stable endpoint for alias management
2022-06-30 22:30:14 +02:00
Benoit Marty
58580f1e6a
Merge pull request #6413 from vector-im/feature/bma/room_member_loading
...
Show a loader if all the Room Member are not yet loaded.
2022-06-30 17:13:50 +02:00
Benoit Marty
fbbd6b1a90
Remove unused import
2022-06-30 17:13:13 +02:00
ganfra
6d1dd089f0
Update versions
2022-06-30 16:58:51 +02:00
Adam Brown
054c0435a8
Merge pull request #6130 from vector-im/dependabot/gradle/io.realm-realm-gradle-plugin-10.11.0
...
Bump realm-gradle-plugin from 10.9.0 to 10.11.0
2022-06-30 15:00:21 +01:00
Benoit Marty
90e851a4bc
Merge pull request #6392 from vector-im/feature/bma/safe_clearWith
...
Ensure clearWith lambda is deleting all the list item
2022-06-30 15:46:53 +02:00
Benoit Marty
e53dd1e1a1
Improve readability.
2022-06-30 14:50:20 +02:00
Florian Renaud
3f087eb632
Merge branch 'develop' into feature/fre/start_dm_on_first_msg
...
* develop: (174 commits)
Bump libphonenumber from 8.12.50 to 8.12.51
LoadRoomMember: fix presence
Cleanup
LoadRoomMembers: add changelog
LoadRoomMembers: handle room member event a bit more efficiently
LoadRoomMembers: exclude Membership.Leave
LoadRoomMembers: divide by chunk
Bump soloader from 0.10.3 to 0.10.4
Code review fix.
Try no using the gradle daemon on CI
Harmonize values of `CI_GRADLE_ARG_PROPERTIES`
removing unused dependencies and marking soloader and ignored from dependency check (as it's dynamic)
Remove non necessary prefix in logs
Adding changelog entry
Updating the unit tests
Stopping existing active live when starting a new one
Avoid multiple PR from Dependabot when Flipper is upgraded.
Change context inside the get live summary use case
Use a TestDispatcher in the FakeSession
Code review fixes.
...
2022-06-30 11:48:55 +02:00
Benoit Marty
8da88f9263
Merge pull request #6417 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.51
...
Bump libphonenumber from 8.12.50 to 8.12.51
2022-06-30 09:07:47 +02:00
dependabot[bot]
5a02bca442
Bump libphonenumber from 8.12.50 to 8.12.51
...
Bumps [libphonenumber](https://github.com/google/libphonenumber ) from 8.12.50 to 8.12.51.
- [Release notes](https://github.com/google/libphonenumber/releases )
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md )
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.50...v8.12.51 )
---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-29 23:09:57 +00:00
ganfra
b446ceded8
LoadRoomMember: fix presence
2022-06-29 19:01:23 +02:00
ericdecanini
cb400b660d
Fixes post merge error
2022-06-29 17:07:37 +02:00
ericdecanini
9350053214
Merge remote-tracking branch 'origin/develop' into task/eric/replace_flatten_with_direct_parent
...
# Conflicts:
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo030.kt
2022-06-29 17:05:28 +02:00
ericdecanini
4cf97d48c9
Merge remote-tracking branch 'origin/develop' into bugfix/eric/softlogout-ux-broken
...
# Conflicts:
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt
# vector/src/main/java/im/vector/app/features/login/LoginActivity.kt
# vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutController.kt
2022-06-29 15:53:22 +02:00
Benoit Marty
e75070be91
Use a DataSrouce instead of a Task and return a non Optional Boolean.
2022-06-29 15:35:00 +02:00
Benoit Marty
a0025bc99b
Update after PR review.
2022-06-29 15:05:26 +02:00
Maxime NATUREL
f5d3bcbb94
Sending a reply to a live location share
2022-06-29 15:04:57 +02:00
Benoit Marty
f278e2884a
Fix detekt issue.
2022-06-29 14:18:36 +02:00
Benoit Marty
e91be2b599
Show a loader if all the Room Member are not yet loaded.
2022-06-29 12:19:17 +02:00
ericdecanini
e87d97083f
Merge remote-tracking branch 'origin/develop' into bugfix/eric/upgrade-room-deduplication
...
# Conflicts:
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/VersioningState.kt
2022-06-29 12:02:34 +02:00
ganfra
1a33f6e094
Merge branch 'develop' into feature/fga/load_room_members_by_chunk
2022-06-29 11:45:52 +02:00
ganfra
7d349bdfc3
Cleanup
2022-06-29 11:38:15 +02:00
ganfra
61c5bbc444
LoadRoomMembers: handle room member event a bit more efficiently
2022-06-29 11:35:31 +02:00
ganfra
63f0cce561
LoadRoomMembers: exclude Membership.Leave
2022-06-29 11:34:43 +02:00
ganfra
3a216759a1
LoadRoomMembers: divide by chunk
2022-06-29 11:32:38 +02:00
Maxime NATUREL
e7a68907f9
Merge pull request #6365 from vector-im/feature/mna/start-lls-from-other-device
...
[Location sharing] - Stop any active live before starting a new one (PSF-942)
2022-06-29 09:47:26 +02:00
Maxime NATUREL
d112f860a2
Merge pull request #6356 from vector-im/fix/mna/stop-lls-from-other-device
...
[Location sharing] - Make stop of a live from another device possible (PSF-1060)
2022-06-29 09:45:44 +02:00
Maxime NATUREL
324b3cc68c
Updating the unit tests
2022-06-28 14:36:38 +02:00
Maxime NATUREL
c2c58f81d8
Stopping existing active live when starting a new one
2022-06-28 14:36:36 +02:00
Valere
a2aa0471c5
Merge pull request #6328 from vector-im/feature/bca/verif_resist_no_age
...
Feature/bca/verif resist no age
2022-06-28 14:13:37 +02:00
Valere
86b888c336
Display specific message when verif code malformed
2022-06-28 12:17:18 +02:00
Benoit Marty
9866bfefed
Ensure clearWith lambda is deleting all the list item, else we will get an infinite loop. This specific error will help to figure out what is happening.
2022-06-28 11:56:41 +02:00
Valere
82e68472dc
code review update
2022-06-28 11:28:06 +02:00
Benoit Marty
69920a6e46
Split long line
2022-06-28 09:26:29 +02:00
Maxime NATUREL
af3718d202
Merge pull request #6376 from vector-im/fix/mna/geo-uri-pattern
...
[Location Share] - Adding missing prefix "u=" for uncertainty in geo URI (PSF-945)
2022-06-28 09:24:55 +02:00
Benoit Marty
a398391908
Merge pull request #6366 from vector-im/feature/ons/poll_view_state_unit_tests
...
Poll view state unit tests [PSF-1130]
2022-06-27 19:59:13 +02:00
Benoit Marty
2f8aeb991e
Merge hotfix 1.4.25 to develop
2022-06-27 18:03:22 +02:00
Benoit Marty
e0b378e2be
Delete all the chunks in one step.
2022-06-27 17:37:04 +02:00
Benoit Marty
d17152cbe2
Delete all the timelineEvents
2022-06-27 17:23:30 +02:00
Maxime NATUREL
5fa3b3f168
Fix pseudo code in comments
2022-06-27 17:18:28 +02:00
Benoit Marty
95969253b5
Prepare hotfix 1.4.25
2022-06-27 14:50:05 +02:00
Benoit Marty
c9a28c1cf1
Fix migration issue. We had an infinite migration, since clearWith
wait for the list to be empty.
2022-06-27 14:50:05 +02:00
Valere
622ada7125
ensure ageLocalTs is set
2022-06-27 09:14:20 +02:00
Adam Brown
c6ef972e3c
adding missing fullstop and removing unused import
2022-06-24 15:08:48 +01:00
Adam Brown
7ac46a2fd1
using consistent parameter name
2022-06-24 15:08:48 +01:00
Adam Brown
4f09160697
adding logout_devices parameter to the password change sdk api, matching reset password
2022-06-24 15:08:48 +01:00
Adam Brown
d9fd627bb1
passing the control of logout devices to the homeserver capabilities model from the entity
2022-06-24 15:08:48 +01:00
Adam Brown
6e3283cb34
moving homeserver feature for logout all devices to the selected homeserver state via the LoginFlowResult
2022-06-24 15:08:48 +01:00
Adam Brown
2d44e47e6a
adding can control sign out homeserver version flag to the HomeserverCapabilities
...
- Includes DB version update and HomeserverCapability migration
2022-06-24 15:08:47 +01:00
Adam Brown
f21e30f7c7
passing the logout devices parameters to the account/password endpoint
2022-06-24 15:05:18 +01:00
Adam Brown
c10254dbfa
exposing if the homeserver supports signing out all devices when starting the reset process
2022-06-24 15:05:18 +01:00
Maxime NATUREL
81e14c7c3b
Observing live status in DB from location sharing Android service
2022-06-24 10:45:49 +02:00
Maxime NATUREL
3cffedd353
Changing in API to get livedata on a live of a given id
2022-06-24 10:45:49 +02:00
Maxime NATUREL
96da695473
Service API to listen live summaries given a list of event ids
2022-06-24 10:45:48 +02:00
Maxime NATUREL
a4cae9ef07
Fixing missing "u=" in geo URI pattern for uncertainty
2022-06-23 17:40:16 +02:00
Adam Brown
9925cf9996
Merge pull request #6362 from vector-im/bugfix/adm/dispatch-to-crash
...
Fixing concurrent `dispatchTo` crash
2022-06-22 14:00:20 +01:00
Adam Brown
0aacde9d9d
updating version for next development cycle
...
- also fixes wrong version in changes doc
2022-06-22 13:48:56 +01:00
Adam Brown
8ada26529a
updating version for 1.4.24 hotfix
...
- is a hotfix for 1.4.22
2022-06-22 12:37:17 +01:00
Adam Brown
23cd6dae42
fixing concurrent dispatch crash by using copy on write set
...
- whilst closing the session, we iterate through all the listeners calling onSessionStopped however some implementations also use this callback to remove themselves from the listeners, causing the concurrent modification crash
2022-06-22 12:19:06 +01:00
Benoit Marty
a525ede25d
Fix migration to 30. Seems that isNull
with long path is not working correctly.
2022-06-22 11:50:43 +01:00
Onuray Sahin
0fe4b9f07f
Test undisclosed poll state.
2022-06-22 12:57:50 +03:00
Benoit Marty
8bea64bc0c
Fix migration to 30. Seems that isNull
with long path is not working correctly.
2022-06-22 11:56:54 +02:00
Adam Brown
f56703abc4
updating version for hotfix release
2022-06-21 14:48:14 +01:00
ganfra
0f29f7848b
Feature/fga/simplify timeline logic ( #6318 )
...
* Sync: delete all previous chunks in case of gappy sync
* Chunk: dont link chunks if we find existing timeline event (keep multiple timeline events in db)
* Timeline : remove some unused code
* Clean and add changelog
* Timeline: set named argument
* Timeline: avoid restarting the timeline when there is a CancellationException due to permalink
* Timeline: add migration to clean up old (broken) chunks
* Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo030.kt
Co-authored-by: Benoit Marty <benoitm@matrix.org>
* Timeline: try to fix test
* ignoring broken instrumentation test in order to release
Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: Adam Brown <adampsbrown@gmail.com>
2022-06-21 14:47:13 +01:00
ganfra
b07e0a47e8
Feature/fga/simplify timeline logic ( #6318 )
...
* Sync: delete all previous chunks in case of gappy sync
* Chunk: dont link chunks if we find existing timeline event (keep multiple timeline events in db)
* Timeline : remove some unused code
* Clean and add changelog
* Timeline: set named argument
* Timeline: avoid restarting the timeline when there is a CancellationException due to permalink
* Timeline: add migration to clean up old (broken) chunks
* Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo030.kt
Co-authored-by: Benoit Marty <benoitm@matrix.org>
* Timeline: try to fix test
* ignoring broken instrumentation test in order to release
Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: Adam Brown <adampsbrown@gmail.com>
2022-06-21 14:42:50 +01:00
Adam Brown
8754f230d3
removing debug log
2022-06-21 09:15:28 +01:00
Adam Brown
a76b6e522b
splitting unit and instrumentation test tasks so that we can configure the android plugin testCoverage parameter
...
- there's a bug that causes the output to be invalid for unit tests
2022-06-21 09:15:27 +01:00
Jorge Martín
b5aedd4626
Re-implement lock screen feature using our own implementation.
2022-06-20 17:38:05 +02:00
Maxime NATUREL
9047d9d62c
Fixing coding style issues
2022-06-20 11:17:30 +02:00
Maxime NATUREL
082b39e651
Adding return type in the doc for stop API
2022-06-20 11:17:30 +02:00
Maxime NATUREL
e1fc6fa727
Adding tests to cover errors thrown during start/stop process
2022-06-20 11:17:30 +02:00
Maxime NATUREL
3e05431e6f
Fixing unit tests
2022-06-20 11:17:30 +02:00
Maxime NATUREL
9eba3034db
Catching crash when offline during stop of a live location share
2022-06-20 11:17:30 +02:00
Maxime NATUREL
e55c378683
Catching crash when offline during start of a live location share
2022-06-20 11:17:30 +02:00
Maxime NATUREL
b16ccf5098
Fix unit tests after rebase
2022-06-20 10:16:27 +02:00
Maxime NATUREL
dcca546c4b
Fixing pusherTask tests
2022-06-20 09:28:35 +02:00
Maxime NATUREL
d0b598463f
Adding test for stop live location share task
2022-06-20 09:28:35 +02:00
Maxime NATUREL
af039371e1
Adding test for start live location share task
2022-06-20 09:28:35 +02:00
Maxime NATUREL
8860dac759
Improving send locations tasks tests
2022-06-20 09:28:35 +02:00
Maxime NATUREL
8d2a914c64
Wip
2022-06-20 09:28:35 +02:00
Maxime NATUREL
707507202d
Renaming method to create static location event
2022-06-20 09:28:35 +02:00
Maxime NATUREL
879cafc8d1
Unit test for send live location task
2022-06-20 09:28:35 +02:00
Maxime NATUREL
1ecc42c903
Unit test for send static location task
2022-06-20 09:28:35 +02:00
Maxime NATUREL
f981900cf3
Unit test for start/stop live location share
2022-06-20 09:28:35 +02:00
Maxime NATUREL
fb7fbced39
Unit test for live location sending
2022-06-20 09:28:35 +02:00
Maxime NATUREL
7332c08bb4
Unit test for static location sending
2022-06-20 09:28:35 +02:00
Maxime NATUREL
7d4df8be09
Unit test for method to get live data of active lives
2022-06-20 09:28:35 +02:00
Maxime NATUREL
7b159c5b71
Send live location API
2022-06-20 09:28:35 +02:00
Maxime NATUREL
9b61c1aead
Send static location API
2022-06-20 09:28:35 +02:00
Maxime NATUREL
632064ffde
Stop live location share API
2022-06-20 09:28:33 +02:00
Maxime NATUREL
29f48249e2
Start live location share API
2022-06-20 09:26:51 +02:00
Maxime NATUREL
539d134b77
Merge pull request #6267 from vector-im/feature/mna/6155-tests-lls-aggregation
...
Adding unit tests for live location sharing aggregation code (PSF-1063)
2022-06-20 09:19:38 +02:00
Florian Renaud
398e98ae85
Remove useless variable
2022-06-18 00:49:28 +02:00
Florian Renaud
7ea2d0a86d
Delete the local rooms when the room list is shown
2022-06-18 00:49:24 +02:00
Florian Renaud
10d683ad5d
Start DM - display a local room before creating the real one
...
Add CreateLocalRoomTask interface and remove DI annotations
2022-06-18 00:48:35 +02:00
Maxime NATUREL
ac4b33647d
Mutualizing some similar tests with different parameters
2022-06-17 17:55:43 +02:00
Maxime NATUREL
2c96179383
Renaming helpers to clarify purpose
2022-06-17 17:55:43 +02:00
Maxime NATUREL
e3981f42e9
Introducing FakeWorkManager
2022-06-17 17:55:43 +02:00
Maxime NATUREL
b9b1e2b397
Adding tests on location data aggregation
2022-06-17 17:55:43 +02:00
Maxime NATUREL
6386c1603f
Adding tests on beacon info aggregation
2022-06-17 17:55:43 +02:00
Maxime NATUREL
dccc3b457d
Adding more tests on ignored cases
2022-06-17 17:55:43 +02:00
Maxime NATUREL
51b930147a
Adding some tests on ignored cases
2022-06-17 17:55:43 +02:00
Benoit Marty
8238cd7f57
Merge pull request #6319 from vector-im/feature/bma/stateEventQuery
...
Enforce query on state event
2022-06-16 17:13:17 +02:00
Benoit Marty
fe7515761a
Merge pull request #6300 from vector-im/feature/bma/flipper
...
Setup Flipper
2022-06-16 16:44:05 +02:00
Benoit Marty
3557121758
Fix test compilation
2022-06-16 14:13:03 +02:00
Adam Brown
7558d71ec2
removing extra blank line
2022-06-16 12:47:40 +01:00
Adam Brown
6a66125286
formatting
2022-06-16 11:19:14 +01:00
Adam Brown
30f5e2bb6c
adding test around matrix user id check
2022-06-16 11:18:38 +01:00
Benoit Marty
a4dd279352
Ensure we do not use QueryStringValue.NoCondition
or QueryStringValue.IsNull
to query for State Event.
...
Also remove default value for those parameters.
2022-06-15 19:20:26 +02:00
Benoit Marty
0abeb3306e
Bad copy paste in comment
2022-06-15 16:14:20 +02:00
Benoit Marty
514c4234f2
Add MatrixConfiguration network interceptors after all the other, to ensure to view all the network request headers in Flipper.
2022-06-15 16:14:20 +02:00
Benoit Marty
e12103387d
Setup Flipper
...
Move getLastSession() to the SessionManager
Create `DebugService`
Move `logDbUsageInfo()` to `DebugService`
2022-06-15 16:14:20 +02:00
ericdecanini
9766b62539
Fixes lint error
2022-06-15 16:00:00 +02:00
ericdecanini
7f3325e8df
Fixes wrong user id in search room summary item
2022-06-15 14:47:26 +02:00