Commit graph

4931 commits

Author SHA1 Message Date
Phil Hagelberg
0cf04e1088 Fix OStatus controller to know about StaticFEController.
But only when it's configured to be on.
2019-11-09 18:06:51 -08:00
Phil Hagelberg
e79d8985ab Don't show 404 in static-fe controller unless it's actually not found. 2019-11-09 18:06:51 -08:00
Phil Hagelberg
c1fc139986 Add permalinks to the static-fe notice rendering. 2019-11-09 18:06:51 -08:00
Phil Hagelberg
d1320160f4 Looks like source_data is on user directly now. 2019-11-09 18:06:51 -08:00
William Pitcock
ca5ef201ef static fe: add remote follow button 2019-11-09 18:06:51 -08:00
William Pitcock
b33fbd58e3 static fe: add support for message subjects 2019-11-09 18:06:51 -08:00
William Pitcock
e2904b5777 static fe: reformat activity representer 2019-11-09 18:06:51 -08:00
William Pitcock
2b5bd5236d static fe: add user profile rendering 2019-11-09 18:06:51 -08:00
William Pitcock
8f08da750a static fe: use a generic activity representer to render activities 2019-11-09 18:06:51 -08:00
William Pitcock
ff8d0902f3 static fe: formatting 2019-11-09 18:06:51 -08:00
William Pitcock
a4d3a8ec03 static fe: proof of concept 2019-11-09 18:06:51 -08:00
Ariadne Conill
5b60d82592 object containment: handle all cases where ID is invalid (missing, nil, non-string) 2019-11-08 14:51:28 -06:00
Ariadne Conill
532fd38b12 nodeinfo: add multifetch feature (ref pleroma-fe!977). 2019-11-08 12:48:28 -06:00
lain
b22ee9d966 Merge remote-tracking branch 'origin/develop' into reactions 2019-11-08 13:27:11 +01:00
Maxim Filippov
b14bf9044f Merge branch 'develop' into feature/reports-groups-and-multiple-state-update 2019-11-08 18:30:49 +09:00
Maxim Filippov
7258db023e Support old flag format 2019-11-08 18:21:29 +09:00
eugenijm
7888803ffe Mastodon API: Add the recipients parameter to GET /api/v1/conversations 2019-11-07 08:26:24 +03:00
rinpatch
32afa07995 Fetcher: fix local check returning unwrapped object
This resulted in error messages about failed refetches being logged.
2019-11-07 01:40:55 +03:00
rinpatch
802d249827 Merge branch 'fix/trailing-format-plug-oauth' into 'develop'
Fix TrailingFormatPlug not being active for /api/oauth_tokens

Closes #1385

See merge request pleroma/pleroma!1944
2019-11-06 14:47:34 +00:00
rinpatch
365657320c Fix TrailingFormatPlug not being active for /api/oauth_tokens 2019-11-06 17:22:23 +03:00
rinpatch
84175fe30e Set better Cache-Control header for static content
Closes #1382
2019-11-06 16:41:19 +03:00
8b19464176 Merge branch 'feature/multiple-users-force-password-reset' into 'develop'
Force password reset for multiple users

Closes admin-fe#46

See merge request pleroma/pleroma!1928
2019-11-06 12:24:41 +00:00
Maxim Filippov
f171095960 Grouped reports with status data baked in 2019-11-06 21:25:46 +10:00
rinpatch
54746c6c26 Object Fetcher: set cache after reinjecting
Probably fixes the issue hj had, where polls would have different
counters between endpoints.
2019-11-06 14:00:03 +03:00
AkiraFukushima
e1fc6cb78f Check client and token in GET /oauth/authorize 2019-11-05 23:52:47 +09:00
lain
1bd1f62af5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-11-05 15:21:00 +01:00
lain
faced6236b NoteValidator: Add very basic validator for Note objects. 2019-11-05 15:02:31 +01:00
lain
3d1b445cbf Object Validators: Extract common validations. 2019-11-05 15:02:09 +01:00
Maksim Pechnikov
e52955c961 update following_relationship.ex 2019-11-05 10:50:03 +03:00
Maksim Pechnikov
62bc0657e7 excluded invisible users from search results 2019-11-05 08:55:41 +03:00
Maxim Filippov
2cbfa256fd Merge branch 'develop' into feature/multiple-users-force-password-reset 2019-11-05 11:36:47 +10:00
Maxim Filippov
43ea16870f Merge branch 'develop' into feature/reports-groups-and-multiple-state-update 2019-11-05 02:12:48 +03:00
Maksim Pechnikov
4b7c11e3f9 excluded invisible actors from gets /api/v1/accounts/:id 2019-11-04 20:44:24 +03:00
rinpatch
fee1276963 Merge branch 'failing-search-fixes' into 'develop'
User Search: Remove superfluous setweight and random test.

See merge request pleroma/pleroma!1935
2019-11-04 16:28:55 +00:00
lain
4e53520917 User Search: Remove superfluous setweight and random test.
The test tested for a behavior that isn't actually enforced anymore.
2019-11-04 16:57:41 +01:00
eugenijm
ed29be24cb Mastodon API, streaming: Add pleroma.direct_conversation_id to the conversation stream event payload. 2019-11-04 18:36:16 +03:00
Steven Fuchs
5271bbcf11 add missing tesla mocks 2019-11-04 15:18:32 +00:00
kaniini
06cc77e6fb Merge branch 'faster-user-deactivation' into 'develop'
User: Don't pull remote users follower count immediately after deactivating.

Closes #1369

See merge request pleroma/pleroma!1933
2019-11-04 14:24:21 +00:00
lain
556da92902 Merge branch 'feature/store-statuses-data-inside-flag' into 'develop'
Store status data inside flag activity

See merge request pleroma/pleroma!1849
2019-11-04 14:11:44 +00:00
lain
0c31258616 User: Don't pull remote users follower count immediately after deactivating.
The other instance doesn't necessarily know that anything changed yet, and it
will be fixed up at the next user pull anyway.

Closes #1369
2019-11-04 14:36:54 +01:00
rinpatch
8dd7c099a7 Merge branch 'bugfix/streamer-follows' into 'develop'
streamer: use direct object for filter checks when there is no valid child object in an activity

Closes #1291

See merge request pleroma/pleroma!1931
2019-11-03 17:09:57 +00:00
kaniini
74135e1318 Merge branch 'feature/omit-relay-user' into 'develop'
AdminAPI: Omit relay user from users list

Closes #1349

See merge request pleroma/pleroma!1924
2019-11-03 16:19:27 +00:00
kaniini
61bcd4595f Merge branch 'feature/fast_sanitize' into 'develop'
Switching to FastSanitize

See merge request pleroma/pleroma!1916
2019-11-03 16:18:19 +00:00
Ariadne Conill
4bf942583f streamer: use direct object for filter checks when there is no valid child object in an activity
We call Object.normalize/1 to get the child object for situations like Announce.
However, the check is flawed and immediately fails if Object.normalize/1 fails.
Instead, we should use the activity itself in those cases to allow activities which
never have a child object to pass through the filter.

Closes #1291
2019-11-03 09:05:12 -06:00
Maxim Filippov
1b83a0694a Fix moderation log crash 2019-11-01 19:13:29 +03:00
Maxim Filippov
743b622b7b Force password reset for multiple users 2019-11-01 18:45:47 +03:00
Maxim Filippov
d75934b0d0 Undo dialyzer fix 2019-11-01 15:14:43 +03:00
Maxim Filippov
ced9f92327 Fix count 2019-10-31 15:34:49 +03:00
Maxim Filippov
6f9d3d30fa AdminAPI: Omit relay user from users list 2019-10-31 02:26:02 +03:00
Maxim Filippov
59a149c69a Fix "the call ... will never return" warning 2019-10-31 02:25:15 +03:00
Mark Felder
fcea6a9d2c Merge branch 'develop' into feature/fast_sanitize 2019-10-30 17:51:15 -05:00
Egor Kislitsyn
61fc739ab8
Handle "Move" activity 2019-10-30 18:21:49 +07:00
kPherox
363e76d4da Fix duplicate recipients 2019-10-30 15:40:25 +09:00
rinpatch
ae59b38203 Rip out the rest of htmlsanitizeex 2019-10-30 09:20:13 +03:00
rinpatch
77cfb08b8c Remove commented-out code 2019-10-29 20:58:54 +03:00
kPherox
0c361eeb25
Add pending to handle incoming for Follow activity 2019-10-29 17:12:49 +09:00
rinpatch
08f6837065 Switch from HtmlSanitizeEx to FastSanitize 2019-10-29 01:18:08 +03:00
Egor Kislitsyn
4270861085
Merge branch 'develop' into feature/move-activity 2019-10-28 15:10:47 +07:00
lain
2480200759 Merge branch 'refactor/following-relationships' into 'develop'
Move following relationships to a separate table

Closes #1233

See merge request pleroma/pleroma!1814
2019-10-28 07:27:45 +00:00
Maxim Filippov
d56bc62275 Fix report parsing 2019-10-27 16:33:58 +03:00
Maxim Filippov
791bcfd90f Merge branch 'develop' into feature/store-statuses-data-inside-flag 2019-10-27 16:11:25 +03:00
Maxim Filippov
8eff05d4c6 Strip status data from Flag (when federating or closing/resolving report) 2019-10-27 16:05:32 +03:00
eugenijm
0580654485 Mark the conversations with the blocked user as read and update the blocking user's unread_conversation_count.
Since the conversations with the blocked user are invisible, they are excluded
from the blocking user's `unread_conversation_count`.
2019-10-26 02:29:18 +03:00
rinpatch
653054d301 Merge branch 'remove-unsed-info-fields-fn' into 'develop'
Remove unused Pleroma.User.info_fields/0

See merge request pleroma/pleroma!1882
2019-10-25 14:51:02 +00:00
Egor Kislitsyn
b777083f3f
Add also_known_as field to Pleroma.User 2019-10-25 19:14:18 +07:00
Egor Kislitsyn
dbee53c2df
Remove unused Pleroma.User.info_fields/0 2019-10-25 16:48:01 +07:00
stwf
2ab072f949 object fetcher error handling 2019-10-24 12:08:34 -04:00
Egor Kislitsyn
4c1dd55c48 Merge remote-tracking branch 'upstream/develop' into refactor/following-relationships 2019-10-24 14:55:36 +07:00
Maxim Filippov
b08b1d5d91 Store status data inside Flag activity 2019-10-23 21:27:22 +02:00
Ivan Tashkinov
c0246309a5 [#1304] Extra bullet-proofing. 2019-10-23 19:30:02 +03:00
Ivan Tashkinov
065e9fac12 [#1304] Adjusted User.Info references from Notification. 2019-10-23 17:31:02 +03:00
Ivan Tashkinov
8cc809e44e Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	lib/pleroma/notification.ex
2019-10-23 17:22:42 +03:00
Ivan Tashkinov
11cd994425 [#1304] Fixed null::jsonb handling in User.Info migration. 2019-10-23 17:15:48 +03:00
lain
1adafa0966 Credo fixes. 2019-10-23 12:18:05 +02:00
lain
97d5c79aa0 Add Pipeline module, test for federation. 2019-10-23 11:52:27 +02:00
Ariadne Conill
3f6a596922 activitypub: visibility: refactor is_public?() to use JSON-LD safe accessors 2019-10-22 20:50:46 -05:00
kaniini
6281e4795a Merge branch 'feature/push-subject-for-dm' into 'develop'
Direct messages should provide a distinct push notification subject

See merge request pleroma/pleroma!1864
2019-10-21 23:50:01 +00:00
rinpatch
6712b6e4de Merge branch 'fix/notifs-exclude-blocked-from-with-muted' into 'develop'
Do not include notifications from blocked users when with_muted is set

See merge request pleroma/pleroma!1869
2019-10-21 16:44:17 +00:00
rinpatch
2dbee29cf5 Do not include notifications from blocked users when with_muted is set
This is not what with_muted is for per documentation and it was agreed
on irc that this behavior doesn't make sense.
2019-10-21 19:27:38 +03:00
Ivan Tashkinov
7c7f90bc4f [#1304] Merged develop, handled User.Info.invisible. 2019-10-21 11:58:22 +03:00
Maksim Pechnikov
243719a965 Merge branch 'develop' into feature/masto_api_markers 2019-10-21 11:32:28 +03:00
Ivan Tashkinov
a11a7176d5 Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	lib/pleroma/user/info.ex
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/activity_pub/transmogrifier.ex
2019-10-21 11:05:09 +03:00
Egor Kislitsyn
c6fba62666
Fix Relay 2019-10-21 14:47:07 +07:00
Egor Kislitsyn
4ea1a61b00
Merge branch 'develop' into refactor/following-relationships 2019-10-21 14:19:15 +07:00
Ivan Tashkinov
ee04fbc35a [#1304]. Post-merge fixes. Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into 1304-user-info-deprecation
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/notification.ex
#	lib/pleroma/user.ex
#	lib/pleroma/user/info.ex
#	lib/pleroma/web/admin_api/admin_api_controller.ex
#	lib/pleroma/web/ostatus/handlers/follow_handler.ex
#	lib/pleroma/web/ostatus/ostatus.ex
#	lib/pleroma/web/salmon/salmon.ex
#	lib/pleroma/web/websub/websub.ex
#	test/web/admin_api/admin_api_controller_test.exs
#	test/web/federator_test.exs
#	test/web/mastodon_api/controllers/conversation_controller_test.exs
#	test/web/ostatus/ostatus_controller_test.exs
#	test/web/ostatus/ostatus_test.exs
#	test/web/salmon/salmon_test.exs
#	test/web/websub/websub_test.exs
2019-10-20 22:29:56 +03:00
Ivan Tashkinov
c6fdfbc4f1 Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/notification.ex
#	lib/pleroma/user.ex
#	lib/pleroma/user/info.ex
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/admin_api/admin_api_controller.ex
#	lib/pleroma/web/ostatus/handlers/follow_handler.ex
#	lib/pleroma/web/ostatus/ostatus.ex
#	lib/pleroma/web/salmon/salmon.ex
#	lib/pleroma/web/websub/websub.ex
#	test/web/admin_api/admin_api_controller_test.exs
#	test/web/federator_test.exs
#	test/web/mastodon_api/controllers/conversation_controller_test.exs
#	test/web/ostatus/ostatus_controller_test.exs
#	test/web/ostatus/ostatus_test.exs
#	test/web/salmon/salmon_test.exs
#	test/web/websub/websub_test.exs
2019-10-20 20:43:18 +03:00
Ivan Tashkinov
b4cbf0568b [#1304] Analysis issue fix. 2019-10-20 13:58:27 +03:00
Ivan Tashkinov
e8843974cb [#1304] Moved remaining fields from User.Info to User.
Misc. fixes / improvements.
2019-10-20 13:42:42 +03:00
Ariadne Conill
c9280b9730 rework to use properties instead of compound typing, per SocialCG 2019-10-19 23:21:37 +00:00
Ariadne Conill
ef659331b0 implement invisible support for remote users 2019-10-19 23:21:37 +00:00
Ariadne Conill
95871cb462 user: implement User.invisible?/1 2019-10-19 23:21:37 +00:00
Ariadne Conill
1469a084d4 relay: set invisible to true 2019-10-19 23:21:37 +00:00
Ariadne Conill
e7333db72a user info: add invisible field 2019-10-19 23:21:37 +00:00
Haelwenn
f01dbc450c Merge branch 'feature/mastofe-pwa' into 'develop'
MastoFE: Add PWA manifest.

See merge request pleroma/pleroma!1834
2019-10-19 20:11:58 +00:00
eugenijm
52ed2f8f2d Pleroma API: POST /api/v1/pleroma/conversations/read to mark all user's conversations as read 2019-10-19 15:24:06 +03:00
KokaKiwi
638457ba94 MastoFE: Add PWA manifest. 2019-10-19 12:15:14 +02:00
rinpatch
fd6d05dc45 Merge branch 'mix-emoji-task-pack-json' into 'develop'
For pleroma.emoji downloaded packs, generate pack.json instead

See merge request pleroma/pleroma!1748
2019-10-19 08:51:03 +00:00
Mark Felder
dcb23a85b6 Merge branch 'develop' into feature/push-subject-for-dm 2019-10-18 17:56:15 -05:00
Mark Felder
152caef51d Direct messages should provide a distinct push notification subject 2019-10-18 17:51:34 -05:00
Maxim Filippov
019147f115 Merge branch 'develop' into feature/relay-list 2019-10-18 18:35:58 +02:00
Ariadne Conill
44e64af5e7 object: containment: simplify the pattern match for OStatus testsuite hack 2019-10-18 15:39:15 +00:00
Ariadne Conill
e99fdfc32d object: containment: only allow OStatus references in test suite environment 2019-10-18 15:37:14 +00:00
Ariadne Conill
3c785b85a6 object: fetcher: fix up formatting 2019-10-18 14:50:10 +00:00
Ariadne Conill
bae96de273 activitypub: tag containment checks for better error tracing 2019-10-18 14:50:10 +00:00
Ariadne Conill
7295a05cee object: containment: also allow OStatus object IDs through when comparing origins 2019-10-18 14:50:10 +00:00
Ariadne Conill
a177f22e02 object: fetcher: improve error reporting 2019-10-18 14:50:10 +00:00
Ariadne Conill
bf2107743f object: containment: don't try to contain ostatus objects 2019-10-18 14:50:10 +00:00
Ariadne Conill
6f110fc04c object fetcher: fix up error handling 2019-10-18 14:50:09 +00:00
Ariadne Conill
48059c03c9 fix up some tests 2019-10-18 14:50:09 +00:00
Ariadne Conill
d379b48769 kill almost all of the OStatus module 2019-10-18 14:50:09 +00:00
Ariadne Conill
6a1f4c5145 federator: remove OStatus incoming document support 2019-10-18 14:50:09 +00:00
Ariadne Conill
835ad52378 remove Salmon module 2019-10-18 14:50:09 +00:00
Ariadne Conill
beb9861f9d router: disconnect Salmon 2019-10-18 14:50:09 +00:00
Ariadne Conill
a7b92bba68 webfinger: stop pulling Salmon data out of WebFinger 2019-10-18 14:50:09 +00:00
Ariadne Conill
c00ae10af8 feed: don't advertise salmon endpoint 2019-10-18 14:50:09 +00:00
Ariadne Conill
adb639db56 publisher: move remote_users() from Salmon module 2019-10-18 14:50:09 +00:00
Ariadne Conill
4f82e42e4e websub: remove entirely 2019-10-18 14:50:09 +00:00
Ariadne Conill
b16a460916 federator: remove websub stuff 2019-10-18 14:50:09 +00:00
Ariadne Conill
25b7ff56c3 application: don't start Federator.init/1 anymore 2019-10-18 14:50:09 +00:00
rinpatch
39e996528c Fix a migration wiping user info of users that don't have any mutes
And introduce safe_jsonb_set
2019-10-18 15:22:07 +03:00
Haelwenn (lanodan) Monnier
3c6fd0bb99
upload.ex: Remove deprecated configuration 2019-10-18 12:34:09 +02:00
Maxim Filippov
2473702be2 Merge branch 'develop' into feature/relay-list 2019-10-18 10:24:29 +02:00
kaniini
7511f3d192 Merge branch 'fix-streaming-with-sec-websocket-protocol' into 'develop'
Fix streaming websocket handshake with `Sec-WebSocket-Protocol`

See merge request pleroma/pleroma!1847
2019-10-18 04:42:02 +00:00
kaniini
733b73b71c Apply suggestion to lib/pleroma/web/mastodon_api/websocket_handler.ex 2019-10-18 04:36:37 +00:00
lain
203d61b950 Transmogrifier: Make proper use of the LikeValidator. 2019-10-17 19:35:31 +02:00
lain
66452f518f ObjectValidator: Rewrite LikeValidator with Ecto. 2019-10-17 18:36:52 +02:00
eugenijm
359dd1890e Mastodon API: Mark the conversation as read for the author when they send a new direct message 2019-10-17 16:49:39 +03:00
Maksim Pechnikov
66b5d0ff55 add Markers /api/v1/markers 2019-10-17 15:26:59 +03:00
Ivan Tashkinov
10ff01acd9 [#1304] Moved all non-mutes / non-blocks fields from User.Info to User. WIP. 2019-10-16 21:59:21 +03:00
lain
081e8206ab Transmogrifier: Use new ingestion pipeline for Likes. 2019-10-16 17:03:21 +02:00
lain
6e4f52f8a2 Introduce new ingestion pipeline structure, implement internal Likes with it. 2019-10-16 16:16:39 +02:00
lain
1bfdf57fc7 Merge branch 'user-search-experiments' into 'develop'
User search: Remove trigram and refactor the module

See merge request pleroma/pleroma!1850
2019-10-16 12:29:08 +00:00
21f0757b0d Merge branch 'feature/multiple-users-activation-permissions' into 'develop'
Ability to toggle activation status, permission group & delete multiple users

Closes admin-fe#39

See merge request pleroma/pleroma!1825
2019-10-16 12:14:47 +00:00
lain
6977cddff9 Merge branch 'benchmark-finishing' into 'develop'
Benchmark finishing

Closes #755

See merge request pleroma/pleroma!1848
2019-10-16 11:54:49 +00:00
rinpatch
0a5175ecbb Order fts results by trigram 2019-10-16 13:49:33 +03:00
rinpatch
c10ce113d4 User search: Remove trigram and refactor the module
- Remove trigram as it tends to rank garbage results highly, resulting
in it prioritized above fts, which gives actually decent results. ACKed
by kaniini and lain on irc.
- Remove a test for handling misspelled requests, since we no longer have
trigram
- Remove a test for searching users with `nil` display names, because it
is unrealistic, we don't accept usernames that are not >1 char strings
- Make rank boosting for followers/followees sane again, previous values
resulted in garbage matches getting on top just because the users are
followers/followees
2019-10-16 12:52:47 +03:00
Maxim Filippov
da0e4879bc DELETE /api/pleroma/admin/users now accepts nicknames array 2019-10-15 17:33:29 +02:00
Maxim Filippov
90d516d42b Store status data inside flag activity 2019-10-15 16:52:41 +02:00
Alexander
e7bb762ec2
don't stream in benchmark env 2019-10-15 15:16:17 +03:00
kPherox
5bd0717de2
Add Sec-WebSocket-Protocol to response header 2019-10-15 21:09:44 +09:00
Ekaterina Vaartis
fbe5a00475 For pleroma.emoji downloaded packs, generate pack.json instead 2019-10-15 09:53:28 +03:00
Egor Kislitsyn
1d46944fbd
Do not add follower_address to following for non local users 2019-10-14 13:50:43 +07:00
eugenijm
a97b642289 Mastodon API: Add exclude_visibilities parameter to the timeline and notification endpoints 2019-10-14 02:57:21 +03:00
lain
e3b4a3e96b Merge branch 'incoming-id-fixes' into 'develop'
Assorted transmogrifier fixes

See merge request pleroma/pleroma!1831
2019-10-13 15:37:49 +00:00
rinpatch
9bdbf0811b Make MediaProxy failure tracking less brutal
The current failure tracking mechanism will never request anything that
didn't respond with a success, 403, 404, or 5xx codes. This is causing
issues when using in real fediverse because of weird status codes
some software has and timeouts being frequent. This patch changes
failure tracking mechanism to only never request the url again if it
responded with 400, 204, or the body is too large, otherwise it can be
re-requested in 60 seconds.
2019-10-11 22:52:38 +03:00
Maxim Filippov
cc6875b582 Add GET /api/pleroma/admin/relay endpoint - lists all followed relays 2019-10-11 19:12:29 +03:00
Maxim Filippov
c0aca32dd0 Merge branch 'develop' into feature/multiple-users-activation-permissions 2019-10-11 15:59:35 +03:00
Maxim Filippov
aaa4252f41 Deprecate POST/DELETE /api/pleroma/admin/users/:nickname/permission_group/:permission_group instead of deleting it 2019-10-11 15:58:45 +03:00
lain
422aa6befe Ostatus DeleteHandler: Fix for new option format. 2019-10-11 12:53:09 +02:00
lain
37812740c4 Transmogrifier: Correctly save incoming ids for Accept/Reject. 2019-10-11 11:48:58 +02:00