rinpatch
e94ba05e52
Connection pool: Fix a possible infinite recursion if the pool is exhausted
2020-07-15 15:26:35 +03:00
rinpatch
7738fbbaf5
Connection pool: implement logging and telemetry events
2020-07-15 15:26:25 +03:00
rinpatch
0ffde499b8
Connection Pool: register workers using :via
2020-07-15 15:24:47 +03:00
rinpatch
ec9d0d146b
Connection pool: Fix race conditions in limit enforcement
...
Fixes race conditions in limit enforcement by putting worker processes
in a DynamicSupervisor
2020-07-15 15:17:27 +03:00
rinpatch
d08b157699
Connection pool: check that there actually is a result
...
Sometimes connections died before being released to the pool, resulting
in MatchErrors
2020-07-15 15:17:27 +03:00
rinpatch
fffbcffb8c
Connection Pool: don't enforce pool limits if no new connection needs to be opened
2020-07-15 15:17:27 +03:00
rinpatch
58a4f350a8
Refactor gun pooling and simplify adapter option insertion
...
This patch refactors gun pooling to use Elixir process registry and
simplifies adapter option insertion.
Having the pool use process registry instead of a GenServer has a number of advantages:
- Simpler code: the initial implementation adds about half the lines of code it deletes
- Concurrency: unlike a GenServer, ETS-based registry can handle multiple checkout/checkin
requests at the same time
- Precise and easy idle connection clousure: current proposal for closing idle connections in
the GenServer-based pool needs to filter through all connections once a minute and compare their
last active time with closing time. With Elixir process registry this can be done
by just using `Process.send_after`/`Process.cancel_timer` in the worker process.
- Lower memory footprint: In my tests `gun-memory-leak` branch uses about 290mb on peak load (250 connections)
and 235mb on idle (5-10 connections). Registry-based pool uses 210mb on idle and 240mb on peak load
2020-07-15 15:17:27 +03:00
Alex Gleason
0d004a9d04
Email admins when a new unapproved account is up for review
2020-07-14 20:31:20 -05:00
Alex Gleason
48983e9421
Merge remote-tracking branch 'upstream/develop' into by-approval
2020-07-14 18:56:40 -05:00
Alex Gleason
df3d1bf5e5
Add :approval_pending to User @type account_status
2020-07-14 18:56:36 -05:00
Alex Gleason
20d24741af
AdminAPI: Add PATCH /api/pleroma/admin/users/approve
endpoint
2020-07-14 18:02:44 -05:00
Alex Gleason
33f1b29b2c
AdminAPI: Filter users by need_approval
2020-07-14 14:29:03 -05:00
Alex Gleason
b750129da1
AdminAPI: Return approval_pending
with users
2020-07-14 13:47:05 -05:00
Maksim Pechnikov
1dd767b8c7
Include port in host for signatures
2020-07-14 21:44:08 +03:00
Mark Felder
777a7edc6b
Lint and fix test to match new log message
2020-07-14 13:15:37 -05:00
Mark Felder
37297a8482
Improve error messages
2020-07-14 13:12:16 -05:00
Alex Gleason
a1570ba6ad
AdminAPI: Return registration_reason
with users
2020-07-14 13:08:39 -05:00
3f65f2ea79
Merge branch 'feature/1922-media-proxy-whitelist' into 'develop'
...
Support for hosts with scheme in MediaProxy whitelist setting
Closes #1922
See merge request pleroma/pleroma!2754
2020-07-14 18:07:44 +00:00
63798e89de
Merge branch 'fix/scrubber-recompile-warnings-as-errors' into 'develop'
...
Fix in-db configuration in dev environment
See merge request pleroma/pleroma!2764
2020-07-14 18:05:36 +00:00
2909dc873b
Merge branch '1940-admin-token-oauthless-auth' into 'develop'
...
[#1940 ] Reinstated OAuth-less `admin_token` authentication
Closes #1940
See merge request pleroma/pleroma!2760
2020-07-14 16:48:26 +00:00
Ivan Tashkinov
124b4709dc
[ #1940 ] Added admin_token
param (as admin_api_params/0
) to existing Admin API OpenAPI operations.
2020-07-14 19:31:05 +03:00
246f49d685
Merge branch '1916-transmogrifier-skipping-oddities-in-address-fields' into 'develop'
...
Transmogrifier: filtering weirdness in address fields
Closes #1916
See merge request pleroma/pleroma!2762
2020-07-14 15:17:25 +00:00
rinpatch
e6ccc25565
Fix in-db configuration in dev environment
...
Previously, in-db configuration only worked when `warnings_as_errors`
was disabled because re-compiling scrubbers on application restart
created a warning about module conflicts. This patch fixes that
by enabling `ignore_module_conflict` option of the compiler at runtime,
and enables `warnings_as_errors` in prod since there is no reason
to keep it disabled anymore.
2020-07-14 13:16:54 +03:00
Haelwenn (lanodan) Monnier
858d9fc7e8
MRF Policies: Return a {:reject, reason} instead of {:reject, nil}
2020-07-14 11:04:16 +02:00
Ivan Tashkinov
9b225db7d8
[ #1940 ] Applied rate limit for requests with bad admin_token
. Added doc warnings on admin_token
setting.
2020-07-14 11:58:41 +03:00
Ivan Tashkinov
cf3f8cb72a
[ #1940 ] Reinstated OAuth-less admin_token
authentication. Refactored UserIsAdminPlug (freed from checking admin scopes presence).
2020-07-19 21:35:57 +03:00
Maksim Pechnikov
3062f86613
added generated pleroma.env
2020-07-14 09:05:34 +03:00
Alex Gleason
5ddf0415c4
Accept reason
in POST /api/v1/accounts and store in DB
2020-07-14 00:22:12 -05:00
=
b221b640a2
Transmogrifier: filtering weirdness in address fields
2020-07-13 22:43:21 +03:00
Mark Felder
80c21100db
Merge branch 'develop' into refactor/notification_settings
2020-07-13 13:32:21 -05:00
5d215fd81f
Merge branch 'config-behaviours-runtime' into 'develop'
...
Config/Docs: Expand behaviour suggestions modules at runtime
Closes #1941
See merge request pleroma/pleroma!2755
2020-07-13 15:45:25 +00:00
8f9ee694ed
Merge branch 'features/profile-fields-emojo' into 'develop'
...
user: Add support for custom emojis in profile fields
See merge request pleroma/pleroma!2741
2020-07-13 15:43:46 +00:00
63fef0c0fb
Merge branch 'chore/improve-database-config-docs' into 'develop'
...
Improve database config migration and add documentation
See merge request pleroma/pleroma!2756
2020-07-13 15:42:20 +00:00
Mark Felder
d1cd3f4ec0
Lint
2020-07-13 10:32:17 -05:00
Mark Felder
e1908a5270
Pick up env for both source and OTP installs
2020-07-13 08:39:56 -05:00
Haelwenn (lanodan) Monnier
ce243b107f
Use Logger.info for {:reject, reason}
2020-07-13 15:26:31 +02:00
Haelwenn (lanodan) Monnier
2aac92e9e0
Transmogrifier.fix_in_reply_to/2: Use warn for non-fatal fail to get replied-to post
2020-07-13 15:26:30 +02:00
Haelwenn
f918b6f86d
Merge branch '1937-renaming' into 'develop'
...
ActivityPub: Don't rename a clashing nickname with the same ap id.
Closes #1937
See merge request pleroma/pleroma!2748
2020-07-13 12:06:43 +00:00
Alex Gleason
bcfd38c8f3
Make a user unapproved when registering with account_approval_required
on
2020-07-12 22:55:37 -05:00
Alex Gleason
e4e5577818
Prevent unapproved users from logging in
2020-07-12 22:55:26 -05:00
Alex Gleason
51ab8d0128
Add account_approval_required
instance setting
2020-07-12 20:27:58 -05:00
Alex Gleason
a62f17da17
Add approval_pending
field to User
2020-07-12 20:27:14 -05:00
Mark Felder
46b123cded
Still allow passing the arg, but fallback to MIX_ENV
2020-07-12 10:59:12 -05:00
Mark Felder
133004e22d
Improve database config migration and add documentation
2020-07-12 10:38:07 -05:00
href
4347d2de5e
Config/Docs: Expand behaviour suggestions at runtime
2020-07-12 17:23:33 +02:00
Alexander Strizhakov
b376442325
MediaProxy whitelist setting now supports hosts with scheme
...
added deprecation warning about using bare domains
2020-07-12 12:41:40 +03:00
Maksim Pechnikov
62fc8eab0d
fix reset confirmation email in admin section
2020-07-11 07:20:35 +03:00
Mark Felder
b329f05ed6
Remove unused @types
2020-07-10 17:08:54 -05:00
Mark Felder
9e45672674
Add a moduledoc
2020-07-10 17:07:28 -05:00
Mark Felder
6167593881
Support Exiftool for stripping EXIF data
...
We really only want to strip location data anyway, and mogrify strips color profiles.
2020-07-10 16:46:26 -05:00
Mark Felder
3c0c1fd2ef
Merge branch 'develop' into issue/1790-updated-oban
2020-07-10 11:34:53 -05:00
ce9514000d
Merge branch 'proxy-range-and-chunk' into 'develop'
...
ReverseProxy: Streaming and disable encoding if Range
Closes #1860 and #1823
See merge request pleroma/pleroma!2749
2020-07-10 16:18:28 +00:00
Mark Felder
72b3dbf4d1
Credo line length complaint
2020-07-10 11:04:19 -05:00
href
a1dace088c
ReverseProxy: Streaming and disable encoding if Range
...
Fixes #1823
Fixes #1860
2020-07-10 17:23:11 +02:00
lain
93e494ec21
ActivityPub: Don't rename a clashing nickname with the same ap id.
2020-07-10 14:10:44 +02:00
lain
b39eb6ecc5
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information
2020-07-10 12:26:53 +02:00
Haelwenn
31a0ed5d01
Merge branch 'admin-api-user-credentials-for-remote-users-fix' into 'develop'
...
Admin API: fix `GET /api/pleroma/admin/users/:nickname/credentials` returning 404 when getting the credentials of a remote user while `:instance, :limit_to_local_content` is set to `:unauthenticated`
Closes admin-fe#107 and #1788
See merge request pleroma/pleroma!2554
2020-07-10 09:22:14 +00:00
lain
48f98a2748
Merge branch 'mix-tasks-improvement' into 'develop'
...
Mix tasks improvement
See merge request pleroma/pleroma!2723
2020-07-10 08:58:44 +00:00
Haelwenn
4ac6e6283f
Merge branch 'develop' into 'admin-api-user-credentials-for-remote-users-fix'
...
# Conflicts:
# CHANGELOG.md
2020-07-10 08:55:15 +00:00
Haelwenn
5ea6387572
Merge branch 'user-search-nickname-rank-boost' into 'develop'
...
Improved search results for localized nickname match
See merge request pleroma/pleroma!2733
2020-07-10 08:49:14 +00:00
Haelwenn (lanodan) Monnier
cc7153cd82
user: Add support for custom emojis in profile fields
2020-07-09 19:21:58 +02:00
Mark Felder
2b979cc90c
Add AdminFE reports URL to report emails
2020-07-09 11:55:40 -05:00
Alexander Strizhakov
79707e879d
cleap up
2020-07-09 19:13:16 +03:00
Alexander Strizhakov
d5fcec8315
fix for info after tag/untag user
2020-07-09 18:59:48 +03:00
Mark Felder
d23804f191
Use the Pleroma.Config alias
2020-07-09 10:53:51 -05:00
Mark Felder
49c4e24953
Merge branch 'develop' into fix/csp-for-captcha
2020-07-09 09:08:59 -05:00
lain
8ca1f3e8c6
Merge branch '1723-token-fixes' into 'develop'
...
AccountController: Return scope in proper format.
Closes #1723
See merge request pleroma/pleroma!2694
2020-07-09 13:10:05 +00:00
lain
f4469dc741
Merge branch 'features/favicons' into 'develop'
...
Add support for remote favicons
See merge request pleroma/pleroma!2261
2020-07-09 13:09:31 +00:00
Haelwenn
bdc7b60610
Merge branch '1925-muting-reblogs' into 'develop'
...
AccountController: Fix muting / unmuting reblogs.
Closes #1925
See merge request pleroma/pleroma!2732
2020-07-09 12:10:26 +00:00
eugenijm
c2be0da79f
Admin API: fix GET /api/pleroma/admin/users/:nickname/credentials
returning 404 when getting the credentials of a remote user while :instance, :limit_to_local_content
is set to :unauthenticated
2020-07-09 14:57:40 +03:00
Haelwenn
68036f5a3b
Merge branch 'follow-pipeline' into 'develop'
...
Handle `Follow` activities with the pipeline
See merge request pleroma/pleroma!2734
2020-07-09 10:32:24 +00:00
lain
6d688f14fa
Merge branch 'bugfix/status-deletion' into 'develop'
...
#1920 fix activity deletion
See merge request pleroma/pleroma!2721
2020-07-09 09:37:52 +00:00
Alexander Strizhakov
4cbafcef0c
load default config in mix tasks
2020-07-09 11:17:43 +03:00
Ivan Tashkinov
123352ffa1
Removed unused trigram index on users
. Fixed users_fts_index
usage.
2020-07-08 22:50:15 +03:00
lain
00e54f8fe7
ActivityPub: Remove follow
and fix issues.
2020-07-08 17:07:24 +02:00
lain
9dda8b5427
CommonAPI: Switch to pipeline for following.
2020-07-08 15:40:56 +02:00
Alexander Strizhakov
b28cc15459
don't restart pleroma in mix tasks
2020-07-08 15:58:47 +03:00
Alexander Strizhakov
72ad3a66f4
don't fully start pleroma in mix tasks
2020-07-08 15:58:47 +03:00
lain
172f4aff8e
Transmogrifier: Move following to the pipeline.
2020-07-08 14:30:53 +02:00
lain
29fa75d00d
Notification: For follows, notify the followed.
2020-07-08 14:29:29 +02:00
lain
7d0e2b3fdd
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into follow-pipeline
2020-07-08 13:23:07 +02:00
lain
cdc153db31
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into issue/1880
2020-07-08 13:21:58 +02:00
lain
6335b32aa8
Merge branch '1895-hashtag-timeline-restrict-unauthenticated-fix' into 'develop'
...
[#1895 ] Made hashtag timeline respect `:restrict_unauthenticated` instance setting
Closes #1895
See merge request pleroma/pleroma!2731
2020-07-08 10:55:03 +00:00
Ivan Tashkinov
704a383055
Improved search results for localized nickname match. Tweaked user search to rank nickname matches higher than name matches.
2020-07-08 13:14:18 +03:00
Ivan Tashkinov
a6495f4a68
[ #1895 ] credo fix.
2020-07-08 12:54:23 +03:00
lain
c0385cf47a
AccountController: Fix muting / unmuting reblogs.
2020-07-08 11:52:29 +02:00
Ivan Tashkinov
3f8370a285
[ #1895 ] Applied code review suggestion.
2020-07-08 12:36:44 +03:00
Maksim Pechnikov
e341f81785
fixed delete Like
activity in remove user
2020-07-08 09:06:23 +03:00
Haelwenn (lanodan) Monnier
31fef95e35
Add changelog and documentation
2020-07-08 06:29:24 +02:00
Haelwenn (lanodan) Monnier
312fc55f14
Add [:instances_favicons, :enabled] setting, defaults to false
2020-07-08 06:28:40 +02:00
Haelwenn (lanodan) Monnier
8c9df2d2e6
instance: Prevent loop of updates
2020-07-08 06:28:40 +02:00
Haelwenn (lanodan) Monnier
013e2c5057
Use instances table instead of Cachex
2020-07-08 06:28:39 +02:00
Haelwenn (lanodan) Monnier
6a679d80c9
Move get_favicon to Pleroma.Instances, use /
2020-07-08 06:28:39 +02:00
Haelwenn (lanodan) Monnier
f6d09fafee
Add support for remote favicons
2020-07-08 06:28:39 +02:00
Haelwenn
a8447c3803
Merge branch '1918-avatar-background-header-reset-2' into 'develop'
...
Resolve "Better support for resetting avatar/header/background"
Closes #1918
See merge request pleroma/pleroma!2729
2020-07-08 03:25:30 +00:00
Haelwenn
db13acf242
Merge branch 'fix/twitter-rich-media-preview' into 'develop'
...
Add "Bot" to User Agent to coerce Twitter into serving OGP <meta> tags.
Closes #1923
See merge request pleroma/pleroma!2730
2020-07-08 03:05:20 +00:00
lain
8939ff39e4
Merge branch 'remove-twitter-api' into 'develop'
...
Remove some TwitterAPI endpoints
See merge request pleroma/pleroma!2327
2020-07-07 18:26:07 +00:00
Ivan Tashkinov
3e08e77151
[ #1895 ] Made hashtag timeline respect :restrict_unauthenticated
instance setting.
2020-07-07 20:37:11 +03:00
Mark Felder
18438a9bf0
Add "Bot" to User Agent to coerce Twitter into serving OGP <meta> tags.
2020-07-07 11:21:05 -05:00
lain
c8dd973af5
AccountController: Remove unused update_?
routes.
...
These were not documented and are also not used anymore.
2020-07-07 16:53:20 +02:00
lain
59cf78e412
AccountController: Allow removal / reset of user images.
2020-07-07 16:53:03 +02:00
lain
9ad305209a
Merge branch 'bugfix/peertube-videos' into 'develop'
...
Fix getting videos from peertube
See merge request pleroma/pleroma!2728
2020-07-07 09:14:50 +00:00
Haelwenn
fa0fa4552f
Merge branch 'feature/1392-support-irreversible-filters' into 'develop'
...
Updates for Feature/1392 support irreversible filters
Closes #1392
See merge request pleroma/pleroma!2186
2020-07-07 08:23:49 +00:00
Haelwenn (lanodan) Monnier
fbb9743a70
Fix getting videos from peertube
2020-07-07 09:38:38 +02:00
Haelwenn
d81acb5f62
Merge branch 'description-limits' into 'develop'
...
Add limits to image descriptions
See merge request pleroma/pleroma!2724
2020-07-07 03:00:52 +00:00
Mark Felder
da4029391d
IO list, not concatenation
2020-07-06 11:28:08 -05:00
Mark Felder
65843d92c4
Simplify the logic
2020-07-06 10:59:41 -05:00
lain
a6a12b241f
FollowValidator: Add basic validation.
2020-07-06 15:57:19 +02:00
lain
28feba8af4
Preloaders: Remove status_net preloader
2020-07-06 12:24:45 +02:00
lain
1963e143c5
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remove-twitter-api
2020-07-06 12:15:59 +02:00
lain
158c26d7dd
StaticFE Plug: Use phoenix helper to get the requested format.
2020-07-06 12:11:10 +02:00
lain
ed4f9f6a29
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into 1507-static-fe-prioritize-json
2020-07-06 12:07:56 +02:00
lain
208baf157a
ActivityPub: Add new 'capabilities' to user.
2020-07-06 11:38:40 +02:00
lain
74b88c0a8b
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information
2020-07-06 11:27:06 +02:00
rinpatch
69f0b286f7
Merge branch '1915-dont-filter-announce-notifications' into 'develop'
...
Streamer: Don't filter out announce notifications.
Closes #1915
See merge request pleroma/pleroma!2719
2020-07-06 09:21:03 +00:00
lain
cc8b4e48d9
InstanceView: Add chat limit, description limit
2020-07-06 11:12:37 +02:00
lain
af7720237b
Upload: Restrict description length
2020-07-06 11:08:13 +02:00
Alexander Strizhakov
20c27bef40
renaming back and reject nil on create
2020-07-06 09:30:42 +03:00
Alexander Strizhakov
771748db1f
Apply suggestion to lib/pleroma/filter.ex
2020-07-06 09:30:41 +03:00
Alexander Strizhakov
6558f31cda
don't filter notifications for follow and move types
2020-07-06 09:30:41 +03:00
Sergey Suprunenko
8277b29790
Restrict thread statuses that contain user's irreversible filters
2020-07-06 09:30:39 +03:00
Sergey Suprunenko
5af1bf443d
Skip notifications for statuses that contain an irreversible filtered word
2020-07-06 09:28:22 +03:00
Sergey Suprunenko
4a8c26654e
Restrict statuses that contain user's irreversible filters
2020-07-06 09:28:21 +03:00
Alexander Strizhakov
480dfafa83
don't save tesla settings into db
2020-07-06 08:48:20 +03:00
Roman Chvanikov
fc1f34b851
Delete activity before sending response to client
2020-07-06 00:01:25 +03:00
Mark Felder
af612bd006
Ensure all CSP parameters for remote hosts have a scheme
2020-07-05 10:11:43 -05:00
lain
cf56655614
Streamer: Don't filter out announce notifications.
2020-07-04 17:11:37 +02:00
Mark Felder
e9a28078ad
Rename function and clarify that CSP is only strict with MediaProxy enabled
2020-07-03 17:18:22 -05:00
Mark Felder
eaa59daa4c
Add Captcha endpoint to CSP headers when MediaProxy is enabled.
...
Our CSP rules are lax when MediaProxy enabled, but lenient otherwise.
This fixes broken captcha on instances not using MediaProxy.
2020-07-03 17:06:20 -05:00
Mark Felder
4695bdd81b
Merge branch 'develop' into issue/1790-updated-oban
2020-07-03 10:36:41 -05:00
lain
c2a052a346
Merge branch 'features/mastoapi-2.9.0-status_text' into 'develop'
...
MastoAPI 2.9.0: status text on deletion
See merge request pleroma/pleroma!2690
2020-07-03 15:06:33 +00:00
lain
9a27ef47f1
Merge branch '1912-leading-trailing-space-search' into 'develop'
...
SearchController: Trim query.
Closes #1912
See merge request pleroma/pleroma!2717
2020-07-03 14:59:12 +00:00
lain
d3efb50262
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into features/mastoapi-2.9.0-status_text
2020-07-03 16:44:31 +02:00
lain
19fbfbb767
Merge branch '1892-exclude-bots-from-search-results' into 'develop'
...
[#1892 ] Exclusion of service actors from user search results
Closes #1892
See merge request pleroma/pleroma!2708
2020-07-03 14:38:22 +00:00
lain
945e75c8e8
SearchController: Trim query.
2020-07-03 16:36:55 +02:00
lain
e3b5559780
AccountController: Make setting accepts_chat_messages possible.
2020-07-03 15:54:25 +02:00
lain
4a7b89e372
ChatMessageValidator: Additional validation.
2020-07-03 15:13:27 +02:00
lain
3ca9af1f9f
Account Schema: Add accepts_chat_messages
2020-07-03 14:31:04 +02:00
lain
5c0bf4c472
ActivityPub: Ingest information about chat acceptance.
2020-07-03 13:58:34 +02:00
lain
26a7cc3f00
UserView: Add acceptsChatMessages field
2020-07-03 13:38:59 +02:00
lain
37fdb05058
User, Migration: Change accepts_chat_messages
to be nullable
...
This is to model the ambiguous state of most users.
2020-07-03 13:12:23 +02:00
lain
3250228be9
AccountView: Add 'accepts_chat_messages' to view.
2020-07-03 13:07:33 +02:00
lain
98bfdba108
User: On registration, set accepts_chat_messages
to true.
2020-07-03 12:47:05 +02:00
rinpatch
86151b23a6
Merge branch '1910-migration-fix' into 'develop'
...
Notification Backfill: Explicitly select the needed fields.
Closes #1910
See merge request pleroma/pleroma!2715
2020-07-03 10:44:19 +00:00
lain
59b426ebef
Notification Backfill: Explicitly select the needed fields.
...
Prevents a crashing migration when we change user fields.
2020-07-03 11:25:12 +02:00
Ivan Tashkinov
90764670dc
[ #1892 ] Excluded internal users (applications) from user search results, reinstated service actors in search results.
2020-07-03 11:02:15 +03:00
Mark Felder
8121e46f25
Merge branch 'develop' into activation-meta
2020-07-02 13:01:22 -05:00
Mark Felder
d44ec2bf4c
Remove camelCase from the keys
2020-07-02 12:55:08 -05:00
rinpatch
4c044f6225
Merge branch 'fetcher-fixes' into 'develop'
...
Don't fail fetching when the user in a replied-to message can't be fetched.
See merge request pleroma/pleroma!2711
2020-07-02 10:17:51 +00:00
lain
bad08f34ca
Credo fixes.
2020-07-02 09:57:31 +02:00