Commit Graph

682 Commits

Author SHA1 Message Date
William Pitcock 1f3eb0f470 testsuite: fix module name for CommonAPI.Test (was duplicated with CommonAPI.UtilsTest) 2018-05-25 06:12:30 +00:00
William Pitcock 5f06a1a3c5 testsuite: fix module name for CommonAPI.Test (was duplicated with CommonAPI.UtilsTest) 2018-05-25 05:29:00 +00:00
lambda f3a71f2986 Merge branch 'feature/lists' into 'develop'
Mastodon List API

See merge request pleroma/pleroma!138
2018-05-24 20:22:43 +00:00
lambda c2dcd767cf Merge branch 'feature/incoming-remote-unfollow' into 'develop'
Add support for incoming remote unfollows and blocks/unblocks

See merge request pleroma/pleroma!158
2018-05-24 19:52:24 +00:00
lambda c41012053a Merge branch 'feature/change-password' into 'develop'
Feature/change password

See merge request pleroma/pleroma!166
2018-05-24 17:16:37 +00:00
eal 3dbd9809d4 MastoAPI: add lists. 2018-05-24 15:34:39 +03:00
lain 0b5bc62b33 Don't save double tags in AP objects we create
This crashed Mastodon workers.
2018-05-23 17:25:24 +02:00
lambda 06c97f211f Merge branch 'feature/deps-migration' into 'develop'
Migrate to comeonin 4 and Cachex 3

See merge request pleroma/pleroma!162
2018-05-23 09:03:11 +00:00
Francis Dinh 72b93d13f8 Hook up block/unblock to TwitterAPI 2018-05-22 05:41:17 -04:00
Francis Dinh b2c6ae7d82 Hook up unfollow and (un)block to MastoAPI + tests 2018-05-22 04:27:40 -04:00
csaurus 4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
Syldexia 69aa7c213a Fixed test 2018-05-21 23:06:03 +01:00
Syldexia d0690622cd Added endpoint for changing passwords 2018-05-21 23:06:03 +01:00
William Pitcock 75cfd9d34d webfinger: fix finding the XRD uri for statusnet instances 2018-05-21 12:41:31 +00:00
Francis Dinh d045b96f95 Add tests for incoming unfollow over OStatus 2018-05-21 05:11:13 -04:00
Francis Dinh cc5373b846 Fix unblock handling 2018-05-21 05:00:58 -04:00
Francis Dinh 89c5de9096 Fix unfollows 2018-05-20 21:01:14 -04:00
Francis Dinh 56de0216ae pass user to User.blocks?/2 instead of ap_id 2018-05-20 19:45:05 -04:00
Francis Dinh 1afd6d37bd Merge remote-tracking branch 'upstream/develop' into feature/incoming-remote-unfollow
Fixed some conflicts in transmogrifier.ex
2018-05-20 19:17:15 -04:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain 413de8e4bc More fixes. 2018-05-20 19:26:09 +02:00
lain ff007af0c2 Return visilility in twitter api, too. 2018-05-20 18:01:24 +02:00
lain 434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
lambda 8b0c222b43 Merge branch 'feature/account-deletion' into 'develop'
Feature/account deletion

Closes #115

See merge request pleroma/pleroma!157
2018-05-20 10:57:19 +00:00
Francis Dinh d46393f6ef Fix test for blocks 2018-05-20 02:15:56 -04:00
Francis Dinh 1e43de0f86 Formatting and add tests for blocks/unblocks 2018-05-19 21:23:52 -04:00
Thog 6f39ecc41b
Support Undo like activities (Fix #139) 2018-05-19 22:14:15 +02:00
Syldexia d1366f8d46 Modified deleting an account to run as a task 2018-05-19 13:35:49 +01:00
lambda 7831b38705 Merge branch 'feature/webfinger-mime-ld-json' into 'develop'
webfinger: handle application/ld+json links

See merge request pleroma/pleroma!159
2018-05-19 09:31:08 +00:00
William Pitcock 4033ed6714 tests: add test for hubzilla follow activity too 2018-05-19 03:28:32 -05:00
William Pitcock 19c96c8a19 tests: add tests for Transmogrifier.maybe_fix_user_object() 2018-05-19 03:28:30 -05:00
William Pitcock f32e19f668 webfinger: add tests 2018-05-19 01:28:27 -05:00
Francis Dinh 8d11bae0d5 Revert "Undo formatting in user.ex"
This reverts commit e6dc15b96c.
2018-05-17 23:55:00 -04:00
Francis Dinh e6dc15b96c Undo formatting in user.ex 2018-05-17 23:53:34 -04:00
Francis Dinh d8c842a771 Add support for incoming remote unfollows 2018-05-17 22:15:57 -04:00
lain 1d4bbec6b3 Fix User search.
Now uses a trigram based search. This is a lot faster and gives better
results. Closes #185.
2018-05-16 17:55:20 +02:00
csaurus d0ad13c12e Add direct_note[_activity]_factory and a couple tests 2018-05-14 21:54:25 -04:00
csaurus 987a52cf6f Post direct status test 2018-05-13 21:21:42 -04:00
Syldexia 98b36d359a Fixed formatting and test 2018-05-13 15:43:42 +01:00
Syldexia 5bfb7b4ce6 Moved account deletion stuff to somewhere that hopefully makes more sense 2018-05-13 14:36:02 +01:00
Syldexia a16117225f Added endpoint for user account deletion 2018-05-13 14:35:48 +01:00
lain 89954a2ce7 Fix format. 2018-05-13 13:02:24 +02:00
lain c7a85de35c Revert "Remove 'unlisted' handling for now."
This reverts commit 1027d1f696.
2018-05-13 12:38:13 +02:00
lain 1027d1f696 Remove 'unlisted' handling for now.
It's just too slow (over 1 second on small systems, haven't looked at
the queries in detail yet). We'll need some other way to handle it.
2018-05-13 12:07:11 +02:00
lambda aeff2d6474 Merge branch 'feature/unrepeats' into 'develop'
Add unrepeats

Closes #69

See merge request pleroma/pleroma!113
2018-05-13 09:32:29 +00:00
lain ec531ca281 Add test. 2018-05-13 11:18:48 +02:00
Francis Dinh 16b793656d Add tests for unrepeats 2018-05-11 15:30:47 -04:00
Pierrick Brun 89603eda9e do not create notification for yourself 2018-05-11 11:31:17 +02:00
lain 9810153aeb Streamer: Don't send out stream events for blocked users. 2018-05-05 13:40:47 +02:00
lain c464355d1a Idempotency: Use special cache, keep for 6 hours. 2018-05-05 11:15:57 +02:00
lain 90c4bed0af Don't expire idempotency cache for five minutes. 2018-05-04 21:15:39 +02:00
lain fcd3eca167 MastodonAPI: Support idempotency key. 2018-05-04 20:30:29 +02:00
Francis Dinh 8b4ee0ea51 Fix formatting 2018-05-04 03:19:48 -04:00
lain bc215f5684 Fix format. 2018-04-29 11:28:26 +02:00
lambda b7584edcea Merge branch 'patch-bio' into 'develop'
replace newlines in profiles with <br>

See merge request pleroma/pleroma!136
2018-04-29 09:26:47 +00:00
lambda a7a40bb8f1 Merge branch 'fix/blocked-user-boosts' into 'develop'
ActivityPub.ex: do not return boosted statuses from blocked users.

See merge request pleroma/pleroma!111
2018-04-28 13:49:12 +00:00
Wim Vanderbauwhede 6908f29e0a Added a test (written by @andrewzah) for the MR 2018-04-28 12:01:43 +01:00
Francis Dinh 2d775bf1be Merge branch 'feature/unrepeats' of git.pleroma.social:normandy/pleroma into feature/unrepeats 2018-04-25 01:58:50 -04:00
Francis Dinh e981280fa7 Formatting fixes 2018-04-25 01:43:45 -04:00
Francis Dinh 9e0dd21ed6 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/unrepeats 2018-04-25 00:46:28 -04:00
Francis Dinh 8c0806539c Embed announce activity data instead of linking to it 2018-04-22 21:28:51 -04:00
lain 0574df273c Small cleanup. 2018-04-22 10:01:10 +02:00
eal 22bfeac256 Update note count in ActivityPub.create. 2018-04-21 12:58:04 +03:00
lain 9e6ae44729 Formatting fixes. 2018-04-21 09:43:53 +02:00
Francis Dinh f0798440de Use correct activity for undo 2018-04-20 23:22:16 -04:00
Francis Dinh c5dc7e6e31 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/unrepeats 2018-04-20 16:48:18 -04:00
lain a61e8ac154 Formatting. 2018-04-20 13:10:57 +02:00
eal fa37acfcc7 TwitterAPI: Add Qvitter notification endpoint. 2018-04-19 21:46:59 +03:00
Francis Dinh 7b4f55238e Handle unrepeats via the TwitterAPI 2018-04-18 06:00:40 -04:00
Francis Dinh 687db1bc3a Expose unannounce activity so that it can be tested 2018-04-18 03:39:42 -04:00
Francis Dinh 42279f54cf Return target status in MastoAPI endpoint instead of reblog activity 2018-04-16 23:30:52 -04:00
Francis Dinh 5b0d0b9ab2 Add unreblogging tests 2018-04-14 22:34:06 -04:00
eal 48380aeccc ActivityPub.ex: do not return boosted statuses from blocked users. 2018-04-14 14:26:20 +03:00
Gian Sass 2de2e29df2 Oops 2018-04-11 15:51:02 -04:00
Gian Sass 3a5c0465eb Add unit test for pinned statuses 2018-04-11 15:48:32 -04:00
lain 70bcdf32bd Only search in public data for now.
This should be the data the user is allowed to see later, but this
will stop accidental private message leaks.
2018-04-07 16:40:45 +02:00
lain b3b7ab5d9a Load all users at once in timelines. 2018-04-02 16:35:41 +02:00
lain 360c51f1f5 Use context_ids directly if we have them. 2018-04-02 15:28:35 +02:00
lain bc31bee7c4 Generates contexts and ids on insertion time. 2018-04-02 15:17:09 +02:00
lain a4db3a732f Pre-fetch conversation ids. 2018-04-02 14:46:56 +02:00
lain 1b57522bba Fix some test stuff. 2018-04-02 13:13:04 +02:00
lain 2222e5599c Don't fetch anything except ap_id for follower / following
collections.

Should speed up the queries because ecto doesn't have to parse the json.
2018-03-31 20:02:09 +02:00
lain 802736679c Remove unused ActivityRepresenter module. 2018-03-30 16:50:30 +02:00
lain e90f8f6c4b TwApi ActivityView: Add delete activities. 2018-03-30 15:32:43 +02:00
lain 1f32ba052c TwApi ActivityView: Add follows. 2018-03-30 15:17:13 +02:00
lain 4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
lain c1d529ee94 TwApi ActivityView: Add announces. 2018-03-30 14:46:36 +02:00
lain 1f1caab138 TwApi ActivityView: Add Like rendering. 2018-03-30 13:49:09 +02:00
lain 361016349f Add ActivityViewTest. 2018-03-30 12:57:55 +02:00
lain e30752bc79 Add basic activity view. 2018-03-27 22:24:19 +02:00
lain 37e5014d3e Reduce OP fetching queries. 2018-03-27 18:18:24 +02:00
lain ff7afe46b9 Don't try to fetch OP if none is there. 2018-03-27 17:43:08 +02:00
Francis Dinh 9556c8f6e7 Forgot to fix one of the links in a test 2018-03-27 02:08:46 -04:00
Francis Dinh 5ba2f4b6d8 Update tests to reflect hashtag link changes 2018-03-27 02:07:07 -04:00
William Pitcock 2aea3bc632 activitypub transmogrifier: rewrite incoming hashtags 2018-03-24 16:42:17 -05:00
lain e3a81fe58f Fetch the same data from json webfinger as from xml webfinger. 2018-03-24 14:45:54 +01:00
lain eb7ce61ca5 Fix hashtags. 2018-03-24 11:03:10 +01:00
lain 5da2355e71 For outgoing objects, fake mastodon style ap id for ostatus. 2018-03-23 16:07:02 +01:00
lain 32ae918843 Clear caches on test. 2018-03-22 12:44:32 +01:00
William Pitcock ff7afc0465 tests: webfinger: test quering a JSON response for activitypub actor URI 2018-03-22 00:36:13 -05:00
William Pitcock 8aa639a450 webfinger: support JSON output 2018-03-22 00:35:51 -05:00
William Pitcock 0ee6e8af26 mastodon api tests: invalidate user cache prior to importing a test reply
This is needed to ensure the user cache does not throw nil when creating the mentions
list.

Signed-off-by: lain <lain@soykaf.club>
2018-03-16 11:25:41 +01:00
William Pitcock 59a76ea464 activitypub transmogrifier: rewrite non-http URLs using the object's external URL
Signed-off-by: lain <lain@soykaf.club>
2018-03-14 08:53:29 +01:00
lain 368e085144 Don't validate on missing public key. 2018-03-11 14:47:37 +01:00
lain f29902a241 More signature debugging. 2018-03-11 14:37:23 +01:00
lain fcf1937a40 Correctly handle unlisted messages coming in through Ostatus. 2018-03-07 15:45:13 +01:00
lain b82637f32d Don't use special query for feed. 2018-03-06 16:04:29 +01:00
lain d2ad99298e Handle incoming deletes. 2018-03-03 18:38:40 +01:00
lain e9de04b74b Add support for outgoing update. 2018-02-25 21:08:32 +01:00
lain f61fd00db5 Make likes and announces public. 2018-02-25 18:20:06 +01:00
lain 8a47974217 Fix specs. 2018-02-25 18:11:03 +01:00
lain 4ea2a41014 Fix more specs. 2018-02-25 17:48:31 +01:00
lain d3b0167854 Fix salmon tests. 2018-02-25 17:06:12 +01:00
lain 8e7f63afde Fix specs. 2018-02-25 16:40:37 +01:00
lain e3629af4da Handle remote update activities. 2018-02-25 16:14:25 +01:00
lain b76de1ecd3 Some fixes to AP fetching. 2018-02-25 10:56:01 +01:00
lain e5fcc51a06 Remove unneccesary subscriptions on update. 2018-02-24 17:36:02 +01:00
lain fb02300234 Pleroma AP detection mechanism. 2018-02-24 13:06:53 +01:00
lain 01d5ef65fa More fixes to user upgrading. 2018-02-24 10:42:47 +01:00
lain aa79d64e0d Correctly stitch mastodon -> ostatus replies. 2018-02-23 15:00:41 +01:00
lain eb3f14da86 Missing test skeleton. 2018-02-23 08:49:57 +01:00
lain 37e406ae36 Get avatar and banner from AP users. 2018-02-22 08:14:15 +01:00
lain 4816b09fa7 Add user upgrade function. 2018-02-21 22:21:40 +01:00
lain 94db9ac4db Merge branch 'develop' into feature/activitypub 2018-02-21 18:34:19 +01:00
lain 810cf8618f ActivityPub: Fetch missing activities on reply. 2018-02-21 15:22:24 +01:00
lain 5bc810c452 Add moderator function. 2018-02-20 18:44:50 +01:00
lain 95f7e7e2d5 Add some more tests. 2018-02-20 18:42:41 +01:00
lain 297a2c7d3f Ignore duplicate create activities. 2018-02-19 17:37:45 +01:00
lain 6b6ab592ab AP: Fix incoming conversations. 2018-02-19 10:39:03 +01:00
lain 539340d914 Handle sensitive property. 2018-02-18 14:14:16 +01:00
lain 20e6190ead Transmogrify outgoing nsfw. 2018-02-18 14:07:13 +01:00
lain 8ca66b5961 ActivityPub: Add conversation id. 2018-02-18 13:58:52 +01:00
lain 6ab0aba50a Transmogrify outgoing hashtags. 2018-02-18 13:51:03 +01:00
lain 6046f10431 Actually fix incoming attachments. 2018-02-18 13:06:51 +01:00
lain 77c6c424a6 ActivityPub: Make fake Create activities for objects without one. 2018-02-18 11:24:54 +01:00
lain 81ea359a7c ActivityPub: Handle incoming announces. 2018-02-17 21:57:31 +01:00
lain 5e36b750c1 ActivityPub: Fetch an object from an id. 2018-02-17 21:56:33 +01:00
lain e1b12a7782 ActivityPub: Handle incoming likes. 2018-02-17 20:13:12 +01:00
lain e7b73359e3 ActivityPub: Partly handle incoming follows. 2018-02-17 14:55:44 +01:00
lain 5682e48a25 ActivityPub: tags -> tag. 2018-02-17 14:20:53 +01:00
lain 05ba6ca1b8 Do some transmogrifying for the output. 2018-02-17 14:11:20 +01:00
lain 5454ec6a6c ActivityPubController: Handle inbox data. 2018-02-15 20:00:43 +01:00
lain ef0300889d Transmogrifier: Handle basic notice creation. 2018-02-15 20:00:06 +01:00
lain a15f572800 OstatusTest: Remove insert_or_update test (moved to User). 2018-02-15 19:59:40 +01:00
lain ae26604378 ActivityPub: Refactor create function. 2018-02-15 19:59:35 +01:00
lain b331cb449a Merge branch 'develop' into feature/activitypub 2018-02-12 10:24:15 +01:00
lain 26ccb768d3 Make test output easier to read. 2018-02-12 10:14:11 +01:00
lain 33a5d0a238 Fix some test warnings. 2018-02-12 09:33:01 +01:00
lain 3c80d9b277 Fix spec. 2018-02-12 08:15:03 +01:00
lain 8cf97ee8e1 ActivityPub: Basic note federation with Mastodon. 2018-02-11 20:43:33 +01:00
lain ce31f3a922 Twitter Representers: Handle Mastodon attachments. 2018-02-11 17:21:06 +01:00
Roger Braun ae1ec858f4 Basic AP user building. 2018-02-11 17:20:43 +01:00
Roger Braun 52200998c9 Merge branch 'develop' into feature/activitypub 2018-02-11 09:50:55 +01:00
lambda 61c16193de Merge branch 'move-backend-images' into 'develop'
Move avi.png & banner.png from /priv/static/static to /priv/static/images

See merge request pleroma/pleroma!60
2018-02-03 13:05:20 +00:00
Hakaba Hitoyo ea6d1b2b17 move avi.png & banner.png from /priv/static/static to /priv/static/images 2018-02-03 20:43:14 +09:00
eal 29be70c008 Add remote following of local profiles. 2018-02-02 00:14:05 +02:00
eal ab83e0de6d TwitterAPI: Add is_local to user view. 2018-02-01 21:41:19 +02:00
Roger Braun ad0ab3a57b Merge branch 'hakabahitoyo/pleroma-feature/atom-feed-logo' into develop 2018-01-30 12:20:39 +01:00
Roger Braun 1bb3ba02f3 Fix specs. 2018-01-30 12:17:01 +01:00
eal b3e7d7ae6d Fetch external profile in the background. 2018-01-16 15:31:03 +02:00
eal 80f6ac412a Merge branch 'default-pictures' into 'develop'
Add a default profile picture and banner.

See merge request pleroma/pleroma!48
2018-01-15 20:26:49 +00:00
eal 14b086eec2 Add a default profile picture and banner.
This removes the placehold.it dependency.
2018-01-15 22:18:17 +02:00
eal 6e1cb86166 Fix instance test. 2018-01-14 08:28:35 +02:00
Lain Iwakura 2a744cdff8 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2017-12-19 16:15:45 +01:00
Lain Iwakura f1f79c0dca Fix timelines in subway tooter. 2017-12-19 16:15:07 +01:00
lambda 29c9812789 Merge branch 'fix/twitterapi-follow-lists' into 'develop'
Fix follower/following lists.

Closes #29

See merge request pleroma/pleroma!41
2017-12-18 22:44:15 +00:00
Lain Iwakura 47887ac848 MastoAPI: Fix always-sensitive bugs. 2017-12-18 16:56:03 +01:00
eal 1969773fb4 Fix follower/following lists.
Add tests.
2017-12-18 16:37:26 +02:00
Lain Iwakura 4a13b84887 Add recipients field to activities.
Also do some very basic checks for AP message insertion.
2017-12-12 18:07:14 +01:00
eal 9223038319 Fix some more tests. 2017-12-11 21:01:36 +02:00
Lain Iwakura e2e6365035 ActivityPub: Add controller tests. 2017-12-11 18:22:48 +01:00
Lain Iwakura da005d3332 ActivityPub: Add Objects View. 2017-12-11 18:19:46 +01:00
eal 79b3397c17 Fix tests. 2017-12-11 18:41:03 +02:00
Roger Braun c3bcafc51b HTTPSig: Add method to validate conn 2017-12-11 10:37:40 +01:00
Roger Braun 30e9b22f96 Merge branch 'develop' into feature/activitypub 2017-12-09 11:00:56 +01:00
Lain Iwakura 66c3813ea6 Add basic queue prioritization. 2017-12-05 18:21:30 +01:00
Lain Iwakura e7c2472abd Fix tests. 2017-12-05 12:18:04 +01:00
Roger Braun d08a34e88b OStatus: Add user bio as summary field
Fixes problem with bio federation.
2017-12-03 13:34:17 +01:00
Lain Iwakura 5637d163e6 MastodonAPI: Add proper user count. 2017-11-30 14:59:44 +01:00
Lain Iwakura c680ae581d Return xml notice at /notice path. 2017-11-27 17:24:52 +01:00
eal 3d29fc5462 Make /api/friends/ids test deterministic. 2017-11-20 19:16:43 +02:00
Roger Braun 747a68a075 Treat internal emoji like external. 2017-11-20 17:53:21 +01:00
eal edc3e5bc30 Make users in tests follow themselves by default.
Also fix the semantics of all tests to match.
2017-11-20 07:52:02 +02:00
Roger Braun 40ca379357 Fix flakey test. 2017-11-19 13:07:29 +01:00
lambda ed3403ad8b Merge branch 'formatting-fixes' into 'develop'
Formatting fixes

Closes #80

See merge request pleroma/pleroma!22
2017-11-18 15:58:44 +00:00
eal f53cdabcdf Add #nsfw tag if sensitive content bit is set 2017-11-18 16:30:18 +02:00
eal fb118b2978 Don't insert newlines to generated HTML.
MastoFE doesn't like them.
2017-11-18 14:46:54 +02:00
eal 66e78c3ec4 Escape HTML instead of discarding it. 2017-11-18 14:43:41 +02:00
Roger Braun ced0d64d75 MastoAPI: Make attachment ids strings. 2017-11-15 18:58:39 +01:00
lambda 1cca544e20 Merge branch 'twitterapi-bitlbee' into 'develop'
TwitterAPI: Add missing endpoints for bitlbee.

Closes #67

See merge request pleroma/pleroma!18
2017-11-14 16:47:54 +00:00
eal f9828e578c TwitterAPI: Add /users/show. 2017-11-14 17:34:48 +02:00
eal 3533bf7eac TwitterAPI: Add /friends/ids. 2017-11-14 16:04:58 +02:00
eal 06c3ee3bac Accept 1 as true. 2017-11-14 15:54:50 +02:00
eal c84723b679 MastoAPI: Add media timelines. 2017-11-14 15:41:16 +02:00
Roger Braun 083cd169d2 MastoAPI: Fix repeat api bug.
Documentation was wrong, reblogging actually returns the reblog, not
the reblogged status.
2017-11-13 09:48:56 +01:00
lambda 08bc316742 Merge branch 'mastodon-notification-endpoints' into 'develop'
MastoAPI: Add notification endpoints get, clear and dismiss.

Closes #42

See merge request pleroma/pleroma!13
2017-11-12 11:08:06 +00:00
lambda efcf54dc02 Merge branch 'mastoapi-update-credentials' into 'develop'
MastoAPI: Add update credentials endpoint.

Closes #61

See merge request pleroma/pleroma!15
2017-11-12 09:24:32 +00:00
eal fc7483cb3c MastoAPI: Add update credentials endpoint. 2017-11-12 00:27:09 +02:00
Roger Braun a1923d20e8 MastoAPI: Fix reblog emojis. 2017-11-11 11:18:05 +01:00
Roger Braun 1d3d66a841 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2017-11-10 17:37:54 +01:00