Commit Graph

372 Commits

Author SHA1 Message Date
Lukáš Tinkl e2fa5b756a feat(CollectiblesView): Add combobox/popup with custom filtering options
.. to filter by community or collection name

- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles

Fixes #12969
Fixes #12948
2024-01-04 12:32:41 +01:00
Godfrain Jacques 8872877524
fix(@desktop/chat): Message reactions popup shouldn't revoke reactions (#13003)
fixes #10703

- Adding a reaction by going in add reaction and clicking R1 should have no effect (Currently the reaction R1 is removed which is not expected)
- Clicking on the R1 directly on the message should remove the reaction (I checked and this already works)
- Add a visual indicator in the add reaction popup on which emoji is already selected
2023-12-18 14:34:10 -08:00
Godfrain Jacques 7a5e691c90
feature(@desktop/chat) Enhance message context menu with mark as unread (#12879)
* chore: bump status-go

* feature(@desktop/chat) Enhance message context menu with mark as unread
fixes #10329

linked with PR #12879

- Adds capacity to mark a message as unread
- Adds capacity to mark a message with mention as unread
- Adds persistence to the marking of the message (change can be seen at
  after reboot)
- Adds marking in right click contextual menu
2023-12-11 20:16:06 -06:00
Andrea Maria Piana 94159746ea
Add fetch messages button
This commit adds a fetch messages option in the chat.
If clicked it will re-fetch messages for that chat for 1 month.

It's disabled in production since that's not something we want to go
live with, but it's very helpful for dogfooding/debugging while message
reliability has still some issues.
2023-11-30 14:26:41 +00:00
Valentina1133 3cbb93f88d
Chore/messaging elements object names (#12882)
* chore: added object names for messaging elements

* chore: added object names for messaging elements
2023-11-28 13:29:18 +04:00
Jonathan Rainville d66540d74f feat(messages): add deleted system message that tells who deleted
Fixes #11712
2023-11-23 16:14:54 -05:00
Godfrain Jacques aaa759f70c
Fix(@message) Album of images disappears from reply after reloading the application (#12806)
Fixes #10986

This PR contains 2 changes :

1- Adding of properties for the quotedMessage
2- Update of the view with the properties with Qml binding
2023-11-22 14:32:50 -08:00
Jonathan Rainville d66c1f7b0d feat(sharding): add shard info args to requestCommunityInfo calls
Fixes #12015
2023-11-16 13:32:48 -05:00
Igor Sirotin 52dd0abbce
feature: live status link previews (#12613)
* feat: live received status link previews
* link preview cards: active members count
* update `requestCommunityInfo` to new backend. Add `requiredTimeSinceLastRequest` arg
2023-11-06 19:26:44 +00:00
Alex Jbanca 0f07ea09da fix(LinkPreviews): Left align the message link preview tight corner 2023-11-02 14:32:22 +02:00
Patryk Osmaczko acdd59faed fix: ensure InvitationBubbleView loading state for missing community
fixes: #12481
2023-10-26 15:58:50 +02:00
Alex Jbanca 4a30d13bdc
feat(LinkPreviews): Integrate Link previews with the backend (#12523)
* feat(StatusQ): Adding numberToLocaleStringInCompactForm function to LocaleUtils

This function will format the number in a compact form
E.g: 1000 -> 1K; 1000000 -> 1M; 1100000 -> 1.1M

+ adding tests

fix(statusQ): Update numberToLocaleStringInCompactForm to return the locale number when greter than 999T

fix(StatusQ): extend the test_numberToLocaleStringInCompactForm with new data

* feat(LinkPreviews): Update the link preview area in StatusChatInput to use the new model

Changes:
1. Create a new component `LinkPreviewMiniCardDelegate.qml` that filters the model data to properly fill the link preview card with the needed data based on the preview type
2. Update storybook pages
3. Small updates to LinkPreviewMiniCard

* feat(LinkPreviews): Update the link previews in message history to use the new backend

Changes:
1. Create delegate items for LinkPreviewCard and gif link preview to clean the LinksMessageView component and filter the model data based on the preview type
2. Remove UserProfileCard and reuse the LinkPreviewCard to display contacts link previews
3. Update LinkPreviewCard so that it can accommodate status link previews (communities, channels, contacts). The generic properties (title, description, footer) have been dropped and replaced with specialised properties for each preview type.
4. Fix LinkPreviewCard layout to better accommodate different content variants (missing properties, long/short title, missing description, missing icon)
5. Fixing the link preview context menu and click actions

fix: Move inline components to separate files

Fixing the linux builds using Qt 5.15.2 affected by this bug:
https://bugreports.qt.io/browse/QTBUG-89180

* fix: Align LinkPreviewMiniCard implementation with LinkPreviewCard and remove state based model filtering
2023-10-25 18:20:02 +03:00
Igor Sirotin b9867c2463
feature: copy channel link menu action (#12482) 2023-10-24 16:13:25 +01:00
Alex Jbanca 337a81fc49 fix: Update link preview border to match the new design
+ fix link preview highlighting
2023-10-23 18:53:34 +03:00
Igor Sirotin e5b68e8823
fix: messaging settings and url unfurling fixes (#12457)
* remove browser selection setting
* remove main whitelist settings. replace tenorGif setting with gifUnfurlingEnabled
* remove old unfurling
* move history nodes section
* disable outdated e2e tests step
* remove isGifWidgetEnabled setting
* fix: StatusMessage height when gif unfurling disabled

---------

Co-authored-by: Anastasiya Semenkevich <anastasija.ig@gmail.com>
2023-10-18 10:03:32 +01:00
Igor Sirotin 22ce35cf9c
feature: support url unfurling settings (#12441) 2023-10-16 17:05:55 +01:00
Igor Sirotin 520d34240a
feature: support unfurled Status links (contact/community/channel) (#12303)
* chore: move `LinkPreviewThumbnail` to a separate file
2023-10-13 14:36:07 +01:00
Alex Jbanca 331f27b52a feat: highlight the hovered hyperlink and link preview 2023-10-12 15:46:20 +03:00
Alex Jbanca 422bb2c064 feat: Generate link previews in StatusChatInput - Small updates + Add basic zoom to Storybook InspectionWindow 2023-10-12 14:08:28 +03:00
Lukáš Tinkl 2abe0358fc feat: Add URL trust options when the user clicks on a link
- add a popup asking the user before clicking on an unfurled link
preview
- add a checkbox for the above popup to remember the trust for such
domain
- use local Settings to persist the "trust domain" locally; for
global persistence across devices, see
https://github.com/status-im/status-go/issues/4132

Closes #12388
2023-10-12 10:57:15 +02:00
Alex Jbanca 56547c0ae1 feat: Arrange link previews in messages view in a flow layout
Changes:
1. Replace ColumnLayout with Flow
2. Move the image previews up to be presented before the link previews
2023-10-12 11:08:51 +03:00
Lukáš Tinkl 78b4fee587 fix: Add Copy/Open Link as context menu actions on GIF message previews
also fix the issue of not having the respective image context menu for
the new unfurled links component

Fixes #12183
2023-10-10 12:27:46 +02:00
Alex Jbanca 7c8436f492 feat: Adding new user profile cards for link previews 2023-09-20 19:56:18 +03:00
Boris Melnik c102d2de07 feat(activity-center): Display album of images
Fixes: #9951
2023-09-19 22:52:07 +03:00
Alex Jbanca 7b6281a6c6 feat: Implement the new Link Preview cards
Implementing the new design for the following preview types:
 - Community and channel
 - General link previews (Youtube, github etc)
 - Image link preview

The storybook implementation has all these links available for testing.
Missing features in the app:
 - Logo (favicon)
 - Community card
 - Image preview details (title, domain name)
2023-09-18 09:28:22 +03:00
Khushboo Mehta 1d99d8ae97 chire(@desktop/wallet): Streamline send modal folder structure
fixes #12140
2023-09-15 13:43:59 +02:00
Teodor M. Ionita 1d644d0b9c feat(ChatContextMenu): add confirmation dialog when leaving group chat
Fixes #11998
2023-09-15 08:17:53 +03:00
Vladimir Druzhinin 29665956f1
Test(Community) Object names added (#12127) 2023-09-12 10:55:40 +02:00
Alexandra Betouni ed065a94f9 fix(URLUnfurling): Updated image context menu
Also moved copyToClipboard function in Utils
and updated Chat section to use it from there

Closes #11941
2023-09-12 00:04:08 +03:00
Shinnok 6c25b6264f
Add missing object id for QML object (#12025) 2023-08-31 15:16:29 +03:00
Shinnok 1a781c509f
Ask for confirmation before clearing chat history (#11891)
* Adjust cancel button for chat delete/leave dialog

Show the Cancel button for both 1-to-1 chats
and channels. Also use the "normal" cancel
button type instead, otherwise both confirm and
cancel dialog actions are buttons in red color.

* Ask for confirmation before clearing chat history

Also move the context menu action to the
bottom section along with delete/leave chat,
since both are irreversible operations.

* Adjustments to chat context menu

- To show the vertical section separator if either
"clear history" or "delete/leave" destructive actions are
enabled.
- Show either the "clear history" or the "delete/leave"
actions in red, but not both at the same time.
2023-08-22 14:24:06 -04:00
Igor Sirotin 7e34260aef
feat: Unfurl GIFs locally (#11977) 2023-08-22 11:46:26 -04:00
Igor Sirotin 3560786e2a
feat: Unfurl images (#11940) 2023-08-22 10:26:54 +03:00
Igor Sirotin 34dba08b7a
fix: Only `scrollToMessage` when it's available in the database (#11784)
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
2023-08-07 23:52:04 +03:00
Dario Gabriel Lipicar bf4af3d7d4 chore(wallet) remove transactions module
Bump Status GO to support session based activity requests

Transaction module was replaced by activity module,
this change removes the old code.

Details:

- Remove transaction.Item and use the DTO directly
- Replace the still using missing functionality
- Remove old way of fetching transactions in response to the history event
- Use activity filter to provide history for "recents" in Send.

Closes #11339
2023-07-31 19:01:33 +02:00
Boris Melnik 43a5d7eeeb feat(new-links): Parse url data and display
Fixes: #10852
2023-07-27 15:08:21 +03:00
Igor Sirotin 4a4e3c5663
fix: Propagate `root.linkPreviewModel` (#11673) 2023-07-26 17:09:36 +03:00
Igor Sirotin cc5f057b3a
Replace link previews with new unfurled data from the message (#11603) 2023-07-22 02:08:44 +03:00
Lukáš Tinkl 5b118f43f8 fix(Chat): Confirmation button UI is broken when deleting 1-1 chat
fixes a `StatusModal` porting error that broke `title` in a couple of
popups/modals

Closes #11503
2023-07-13 16:44:30 +02:00
Mikhail Rogachev 1a7532d92c
fix: Fix behaviour issues with CRs and mutual update messages (#11178)
Close #11121
2023-07-13 01:39:56 +04:00
Noelia 0ab8a62896 feat(Communities): Communities folder reorganization
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.

Part of #6204
2023-06-28 14:28:47 +02:00
Alex Jbanca ef837a9c9c fix(StatusQ): Dynamic width calculation for StatusMenu 2023-06-21 14:42:00 +03:00
Lukáš Tinkl 60d14180cf fix(InvitationBubbleView): inconsistency in message link previews buttons
make the button rounded only at the bottom

Fixes #9157
2023-06-15 12:10:11 +02:00
Lukáš Tinkl 6bfe79a7f3 fix(Chat): Context menu for gif downloads/copies a png file
Detect the MIME type using `QMimeDatabase` from the actual content and
save it in that same format using `QSaveFile`, as `QImage` does NOT
support saving a GIF

Fixes #10747
2023-06-12 16:51:33 +02:00
Mikhail Rogachev 010640acd0
feat(Chat): display MutualStateUpdate system messages in 1-to-1 chats (#10847)
* feat(Chat): Display MutualStateUpdate system messages in 1-to-1 chats

* feat(ActivityCenter): Add AC notification when a user get removed by another contact

* fix: crutch fixing segfault on contact removal
2023-06-08 16:52:03 +04:00
Patryk Osmaczko dfbac49302 chore(qml): adapt assets to support mediaserver images 2023-06-08 13:09:59 +02:00
Igor Sirotin bc4492b53a
fix: Create only one instance of `StatusChatInput` (#10928)
* Chat input area preserved properties
* Fix emoji/gif/stickers popups open/close logic
2023-06-07 16:18:29 +03:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Boris Melnik 92a9c41238 fix(invitation-bubble): Adds loading state for unfurling links
Fixes: #10422
2023-05-25 12:33:54 +03:00
Igor Sirotin 5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Boris Melnik ae2e495a50 fix(replies): Blocks `jumpToMessage` for deleted and unknown messages
Fixes: #10614
2023-05-16 10:39:12 +03:00
Igor Sirotin 68065f1c6c fix(MessageView): Show header when prev message is system PinnedMessage 2023-05-15 09:49:38 -04:00
Igor Sirotin ad8f749289 fix(MessageView): Show correct name of who pinned the message 2023-05-15 09:49:29 -04:00
Mikhail Rogachev 3a030102fe
Fix(Contacts): fix weird behaviour in some contacts flows edge cases (#10613)
* fix(Chat): Fix displaying CR messages in the chat

* fix(Contacts): Relay on actual status-go state during contact state manipulation

Close #10500
2023-05-15 15:22:04 +04:00
Alexandra Betouni 1f3a595116 [contacts]: added "remove contact" option in settings menu
Closes #10502
2023-05-12 11:48:04 +03:00
Mikhail Rogachev 890e0aa2bd
fix(Chat): Reuse chat root store connections and fix chat quick actions when blocked (#10577)
Close #10570
2023-05-09 14:31:50 +04:00
Alex Jbanca a674ec57a8 fix(blockChat): Disable chat input when minimal conditions are not met 2023-05-05 19:44:39 +03:00
Igor Sirotin c6f378b968 fix(MessageView): Explicit type check for `messageComponent` 2023-05-02 17:00:54 -04:00
Igor Sirotin 13bd813d52 Added PinnedMessage simple implementation 2023-05-02 17:00:54 -04:00
Igor Sirotin 98d8a70572 fix: Added `SystemMessagePinnedMessage` contentType 2023-05-02 17:00:54 -04:00
Boris Melnik df88984b45 feat(image-album): Display album of images in replies
Fixes: #9957
2023-05-02 11:24:48 +03:00
Lukáš Tinkl 9aebf588a1 fix: reduce Image cache
for everything that's not a user interface element, esp. for static/big
images or chat/message elements which get served from locally anyway from
status-go

Iterates #10339
2023-04-27 13:56:39 +02:00
Anthony Laibe e6f88758dc feat(@wallet): wallet accounts module dedup
Second part of having profile section accounts
2023-04-25 14:56:20 +02:00
Lukáš Tinkl 038ab08765 fix: do not display ENS name when not ENS verified
- expose "isEnsVerified" as model role
- fix returning "ensName" when the user is not ensVerified
- react to nickname updates correctly
- fix sorting in the user/member list view
2023-04-21 00:24:32 +02:00
Mikhail Rogachev 70405ae053
fix(ActivityCenter): Fix displaying mention as a tag in AC (#10310)
Close #10297
2023-04-17 15:25:03 +04:00
Boris Melnik cbdc3e61b5 fix(images): Display image placeholder when image from album not loaded
Fixes: #9990
2023-04-07 15:42:12 +03:00
Jonathan Rainville 0424715810 fix(edit): fix edit message not sending mentions correctly
Fixes #10074
2023-03-30 15:51:23 -04:00
Alex Jbanca dfbaf9edbb fix(LinkPreviews): Fixing implicitHeight binding loop
Closing https://github.com/status-im/status-desktop/issues/10057
2023-03-30 09:30:06 +03:00
Anthony Laibe 063198fc1f feat(@wallet): do not change value of symbol
fixes #9201
2023-03-29 10:14:08 +02:00
MishkaRogachev 8eba843a5e fix(Chat): Fix pin popup and actions for communities and group chats 2023-03-28 11:05:07 -04:00
MishkaRogachev 4d4ec22ba6 feat(Chat): Disable unpin action for PinnedMessagesPopup 2023-03-28 11:05:07 -04:00
MishkaRogachev 1f54d96f5f feat(Chat): Disable chat actions for non-contacts 2023-03-28 11:05:07 -04:00
Boris Melnik 30b4d9eb5c fix(chat): Sent images with text correctly
Fixes: #9564 #6374
2023-03-24 14:33:17 +03:00
mprakhov 494ab84fe1 fix(@desktop/chats): Always show message header in the private group chats after sestem message 2023-03-16 14:46:18 +01:00
Boris Melnik 3a737f97a7 fix(messaging): Sync with status-go content type enum
Fixes: #9655
2023-03-16 16:42:02 +03:00
Igor Sirotin 33d38a4081 fix: Device syncing
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow. 
- Error message view design update 
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
2023-03-16 00:27:21 +13:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00
Alex Jbanca 2accc52b15 fix(UnfurlingUrls): Fix community invitation when community cannot be fetched 2023-02-28 10:06:02 +02:00
Lukáš Tinkl 277de1b544 fix: contact ID verification and community intro sizing issues
- port to StatusDialog
- fix binding loops
- fix `timestamp` to be a double rather than a `string`

Fixes #9563
2023-02-17 17:43:51 +01:00
Lukáš Tinkl 31be818e0e fix: Pinning messages - tweaks to UI and interactions
... to help align with original design intent

- dropped date breaks before msg groups
- show full date/timestamp in the msg header
- floating "Unpin" button on mouse hover
- no padding/spacing between messages
- some smaller code cleanups and dead code removals

Fixes #9396
2023-02-17 11:22:21 +01:00
Alex Jbanca ed9e782262 fix(MessageView): Show message when there is one img preview and extra text 2023-02-16 09:14:34 +02:00
Alex Jbanca f9f860a215 fix(LinksMessageView): Refactor LinksMessageView to remove business logic from qml
LinksMessageView component will receive the urls from nim as string and it will only forward the string to getLinkPreviewData slot implemented in nim together with some settings (supported img extensions and unfurling preferences)
On nim side the urls will be parsed and validated using the settings received from qml.
Images are now validated before sending them to the UI using the HEAD request.
2023-02-14 08:55:24 +02:00
Lukáš Tinkl f5d6c538c2 chore: consolidate & refactor popup handling
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
2023-02-09 15:01:57 +01:00
Alexandra Betouni b037d724ed fix(StatusMessage): updated GIFs behavior
Closes #7518
2023-02-03 16:31:56 +02:00
Alexandra Betouni 1793844cdb fix(StatusMessage): stickers were not aligned correctly 2023-02-02 19:29:59 +02:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
Lukáš Tinkl 7ed5b0d0d6 fix(chat): Download image is saving to wrong folder
- fetch latest dotherside for the fix
- minor cleanup

Fixes #9307
2023-01-28 17:44:23 +01:00
Alexandra Betouni 8bb9da6fcc Revert "fix(StatusMessage): stickers were not aligned correctly"
This reverts commit 0fb954b640.
2023-01-27 09:50:16 -05:00
Lukáš Tinkl 878a7ba657 fix(MessageContextMenuView): "Copy message" action visible in emoji reactions and profile clicks
Fixes #9295
2023-01-26 10:57:06 +01:00
Lukáš Tinkl 8569ea5b41 chore: Optimize StatusMessageReply using more Loaders
also fix the sender display name to respect ensName/nickname

Fixes: #9016
2023-01-25 19:58:19 +01:00
Lukáš Tinkl a55a207bb2 fix: user display name discrepancies
restore taking local nickname into account in various places
2023-01-25 19:58:19 +01:00
Alexandra Betouni 0fb954b640 fix(StatusMessage): stickers were not aligned correctly
Closes #8944
2023-01-25 11:42:19 -05:00
Jonathan Rainville fdc0dce782 chore: remove public chat functionnalities
Fixes #8504

Removes the ability to create public chats, see public chats and even leaves previously active public chats
2023-01-25 10:05:55 -05:00
Alex Jbanca 27bb6bf665 perf(chatScroll): Optimize StatusTextMessage size and hover binding for the delegate 2023-01-19 19:24:18 +02:00
Alex Jbanca 6c76026d53 perf(chatScroll): Use Qt.callLater to release the main thread when parsing and loading links data
perf(chatScroll): Undo Use Qt.callLater to release the main thread

perf(chatScroll): Undo Use Qt.callLater to release the main thread
2023-01-19 19:24:18 +02:00
Alex Jbanca 4e3e245675 perf(chatScroll): Fix connection warnings 2023-01-19 19:24:18 +02:00
Alex Jbanca 719e0a34f6 perf(chatScroll): Optimise timestamps
The date parsing is time consuming and it needs to be used with care in the delegate

perf(chatScroll): Fix StatusDateGroupLabel comment - standaloneMonthName

perf(chatScroll): fix comments on Optimise timestamps

perf(chatScroll): Optimise timestamps - bring back comment

perf(chatScroll): fix activity notification
2023-01-19 19:24:18 +02:00
Alex Jbanca bf1d59c0ad perf(chatScroll): Avoid calling the backend on delegate creation/binding
Provide the needed data from the nim model directly to the delegate. This way whenever a delegate needs to display the data it doesn't need to reach the backend.

perf(chatScroll): Fix comments on Avoid calling the backend on delegate creation/binding

perf(chatScroll): Avoid calling the backend on delegate creation/binding  - add TODO comment on senderColorHash default

perf(chatScroll): merge quotedMessageAuthor details

perf(chatScroll): Fix nim tests

perf(chatScroll): Fix merge error - messages_model.nim
2023-01-19 19:24:18 +02:00
MishkaRogachev 2890fe5845 hotfix(ActivityCenter): Fix warnings and text align with messageBadge 2023-01-18 18:01:56 +04:00
Lukáš Tinkl b2328d6643 chore: Consolidate date/time formatting
- simplify locale settings
- extract/fix datetime related functions into LocaleUtils
- port code to the new LocaleUtils

Closes #7230
2023-01-17 16:42:34 +01:00