Commit graph

1322 commits

Author SHA1 Message Date
c4e9c4bc95 extend custom runtime system (#108)
Reviewed-on: AkkomaGang/akkoma#108
2022-07-24 16:42:43 +00:00
0c542e58aa Remove instrumentors (#98)
Reviewed-on: AkkomaGang/akkoma#98
2022-07-21 11:32:17 +00:00
0f132b802d purge chat and shout endpoints 2022-07-21 11:29:28 +01:00
07ea4d73e1 update mastofe paths (#95)
Reviewed-on: AkkomaGang/akkoma#95
2022-07-20 20:13:50 +00:00
729f45ccd2 purge ldap authenticator (#92)
Reviewed-on: AkkomaGang/akkoma#92
2022-07-20 12:49:13 +00:00
dc9f66749c remove all endpoints marked as deprecated (#91)
Reviewed-on: AkkomaGang/akkoma#91
2022-07-20 12:00:58 +00:00
a2b384d572 document scrobbling purge 2022-07-19 17:22:02 +01:00
99ced95d3b bump version 2022-07-15 16:31:28 +01:00
d2a185c013 Documentation updates for stable release (#73)
Reviewed-on: AkkomaGang/akkoma#73
2022-07-15 12:27:16 +00:00
a59fe8ba2d Add support for musl11 build (#71)
Reviewed-on: AkkomaGang/akkoma#71
2022-07-14 10:59:21 +00:00
82fa766ed7 Remove precompiled javascript (#55)
Reviewed-on: AkkomaGang/akkoma#55
2022-07-08 13:03:18 +00:00
bc6bfe383f Add configurable theme color (#53)
Reviewed-on: AkkomaGang/akkoma#53
2022-07-06 20:00:43 +00:00
a9c82b62f2 Fixes for elasticsearch 8 (#52)
Reviewed-on: AkkomaGang/akkoma#52
2022-07-06 18:57:00 +00:00
sfr
058bf96798 implement Move activities (#45)
Reviewed-on: AkkomaGang/akkoma#45
Co-authored-by: sfr <sol@solfisher.com>
Co-committed-by: sfr <sol@solfisher.com>
2022-07-04 16:29:39 +00:00
Ilja
661d0ba481 Also use actor_type to determine if an account is a bot in antiFollowbotPolicy 2022-06-29 20:47:44 +01:00
Tusooa Zhu
6e8123a330 Add changelog 2022-06-29 20:47:09 +01:00
064c36274c Purge gopher frontend 2022-06-27 17:31:16 +01:00
e6cd61619f Purge SSH frontend (#23)
Reviewed-on: AkkomaGang/akkoma#23
2022-06-27 11:32:06 +00:00
883036b245 update changelog 2022-06-22 17:10:55 +01:00
502382da45 cherry-pick security from upstream 2022-06-22 16:25:05 +01:00
d15d55eda2 update changelog 2022-06-21 08:35:05 +01:00
0f5bea2465 Add emoji_url to notifications to allow rendering
Ref #5
2022-06-12 13:35:14 +01:00
0d012ebea1 Revert "Merge branch 'remove/mastofe' into 'develop'"
This reverts commit 6b3842cf50, reversing
changes made to 6b1282a829.
2022-01-08 21:44:37 +00:00
Alex Gleason
5f87472cdf
Update CHANGELOG.md 2021-12-28 15:14:09 -06:00
Alex Gleason
326575d5b7
Merge remote-tracking branch 'origin/develop' into finch 2021-12-27 11:31:15 -06:00
cd1041c3a4 API: optionally restrict moderators from accessing sensitive data 2021-12-27 02:27:48 +03:00
Lain Soykaf
7ed2258979 Update changelog 2021-12-26 17:00:09 +01:00
Alex Gleason
db2bf55e9b
Merge remote-tracking branch 'origin/develop' into notice-routes 2021-12-25 19:57:53 -06:00
Alex Gleason
d9746ae4cb Merge branch 'from/develop/tusooa/2802-propagate-reject' into 'develop'
Handle Reject for already-accepted Follows properly

Closes #2766 and #2802

See merge request pleroma/pleroma!3568
2021-12-23 16:00:16 +00:00
Alex Gleason
3f8fc34593
Merge remote-tracking branch 'origin/develop' into moderators 2021-12-19 12:55:36 -06:00
Tusooa Zhu
538d5ac210
Add changelog for https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3568 2021-12-17 16:47:48 -05:00
efc28812b8 Add changelog entry 2021-11-17 00:39:10 +01:00
lain
e2772d6bf1 Merge branch 'block-behavior' into 'develop'
Configurable block visibility, fixes #2123

Closes #2123

See merge request pleroma/pleroma!3242
2021-11-15 14:27:59 +00:00
lain
6e3df11693 Merge branch 'instance-deletion' into 'develop'
AdminAPI: endpoint to delete all content from a remote instance

See merge request pleroma/pleroma!3483
2021-11-15 14:24:13 +00:00
lain
6aff3d3204 Merge branch 'fix-object-deletion-timeout' into 'develop'
Fix Activity.delete_all_by_object_ap_id/1 timeout so users can be deleted

Closes #2704

See merge request pleroma/pleroma!3479
2021-11-15 13:21:42 +00:00
Haelwenn
92a8ff59aa Merge branch 'from/develop/tusooa/add-remove-emails' into 'develop'
Allow users to remove their emails if instance does not need email to register

See merge request pleroma/pleroma!3522
2021-10-06 05:44:44 +00:00
Haelwenn
6b3842cf50 Merge branch 'remove/mastofe' into 'develop'
Remove MastoFE from Pleroma, fixes #2625

Closes #2625

See merge request pleroma/pleroma!3392
2021-09-07 16:41:53 +00:00
Tusooa Zhu
198250dcef
Allow users to remove their emails if instance does not need email to register 2021-09-05 21:27:02 -04:00
Haelwenn (lanodan) Monnier
28a17c2dc7
Merge branch 'release/2.4.1' into chores/2.4.1-develop 2021-08-28 18:49:04 +02:00
Haelwenn (lanodan) Monnier
7372609c5b
Release 2.4.1 2021-08-28 18:32:21 +02:00
someone
cc4f20b130
mix pleroma.database set_text_search_config now runs concurrently and infinitely
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3514
2021-08-28 18:29:43 +02:00
Ilja
20084329ea
Selecting MRF policies didn't work as intended any more
* Policies were put under a new module (Pleroma.Web.ActivityPub.MRF.Policy instead of Pleroma.Web.ActivityPub.MRF), but this wasn't changed in the Pleroma.Web.ActivityPub.MRF @mrf_config_descriptions
* I don't have a unit test to prevent similar problems in the future because I don't find a proper way to do it
    * The descriptions in the unit tests are defined in the unit tests, so if someone changes module names in the code, the tests wont see it
    * The list is generated in Pleroma.Docs.Generator.list_behaviour_implementations, but I can't do a check in the when clause of the function to see if the provided module is a behaviour or not.

Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3509
2021-08-28 18:27:58 +02:00
Tusooa Zhu
bd0eb1c675
Make activity search properly use GIN indexes
The original approach to search in GIN indexes is to use
`to_tsvector(text)` in the WHERE clause of the query. According to
postgres docs [pdoc], this method does not make use of the index,
while `to_tsvector(config, text)` does. This commit changed the
query to use the two-argument `to_tsvector()`.

[pdoc]: https://www.postgresql.org/docs/12/textsearch-tables.html

To obtain the search config in use, we make a query to the db first.
The `::regconfig::oid` hack is needed because Postgrex does not support
regconfig type directly [postgrexbug]. I use the conversion from and to
`oid` instead of `text` because I tested in the actual DB and querying
using the conversion via `text` is slow just as the one-argument
`to_tsvector()` variant.

[postgrexbug]: https://github.com/elixir-ecto/postgrex/issues/502

Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3519

Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2758
2021-08-28 18:26:04 +02:00
Ilja
53b0dd4ecc
List available frontends also when no static/frontends folder is present yet
* To see what front ends are installed, it ls static/frontends. When this folder doesn't exists yet, it will return an empty array.
* Installing still works since the folder is created during installation already

Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3510
2021-08-28 18:23:49 +02:00
09c42ce13e
Add Admin-FE menu for StealEmojiPolicy
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3512
2021-08-28 18:21:59 +02:00
Tusooa Zhu
a80cb58ac1
Add changelog for !3519 2021-08-27 22:31:22 -04:00
Alex Gleason
01175ef498
Streamer: fix crash in MastodonAPI.StatusView
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3508
2021-08-13 17:58:03 +02:00
Haelwenn (lanodan) Monnier
27e1e4c742
Activity.Search: fallback on status resolution on DB Timeout
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3507
2021-08-13 17:57:50 +02:00
Alex Gleason
e117551169
AdminAPI: hotfix for nil report objects
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3504
2021-08-13 17:57:39 +02:00
Haelwenn (lanodan) Monnier
bb2d5879cc
maybe_notify_subscribers: Don't create notifications from ingested replies
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3505
2021-08-13 17:57:19 +02:00
Haelwenn (lanodan) Monnier
0e2aebd036
TwitterAPI: Make change_email require body params instead of query
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3503
2021-08-13 17:57:11 +02:00
Haelwenn (lanodan) Monnier
3961422f85
TwitterAPI: Make change_password require body params instead of query
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3503
2021-08-13 17:56:59 +02:00
Haelwenn (lanodan) Monnier
8baaa36a16
ObjectAgePolicy: Fix pattern matching on published
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3500
2021-08-13 17:56:46 +02:00
kPherox
34606d609d
fix: stream out Create Activity
Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3499
2021-08-13 17:54:51 +02:00
rinpatch
7afabe1cc6 Merge branch 'bugfix/status-search-fallback' into 'develop'
Activity.Search: resolve status on DB Timeout

Closes #2566

See merge request pleroma/pleroma!3507
2021-08-13 12:09:39 +00:00
Haelwenn (lanodan) Monnier
6455b967ec
Activity.Search: fallback on status resolution on DB Timeout 2021-08-12 10:35:32 +02:00
Haelwenn
3ca39ccf69 Merge branch 'bugfix/subscriptions-replies' into 'develop'
maybe_notify_subscribers: Normalize Object to check inReplyTo presence

Closes #2732

See merge request pleroma/pleroma!3505
2021-08-11 18:50:39 +00:00
Haelwenn (lanodan) Monnier
436fac3bac
maybe_notify_subscribers: Don't create notifications from ingested messages 2021-08-11 20:49:38 +02:00
Haelwenn
901204df22 Merge branch 'poll-notification' into 'develop'
MastodonAPI: Support poll notification

See merge request pleroma/pleroma!3484
2021-08-09 10:02:37 +00:00
Haelwenn
6384d78035 Merge branch 'simple_policy_reasons_for_instance_specific_policies' into 'develop'
Simple policy reasons for instance specific policies

See merge request pleroma/pleroma!3314
2021-08-09 09:37:59 +00:00
Sean King
1841bd8383 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remove/mastofe 2021-08-06 08:08:20 -06:00
matildepark
469405b7b2
CHANGELOG.md: Fix instances of 2020 being actually 2021 2021-08-06 08:42:27 +02:00
Ilja
cd706c0335
improve changelog entry 2021-08-06 07:59:54 +02:00
Ilja
9418424048
Add transparency_exclusions also to the breaking changes 2021-08-06 07:59:53 +02:00
Ilja
506bf16363
Change docs
* ./configuration/mrf.md
  * Change example
* ./configuration/cheatsheet.md
  * Change descriptions to include that a reason is given
* CHANGELOG.md
  * Add as breaking change
2021-08-06 07:59:53 +02:00
Alex Gleason
e311c60923
CHANGELOG: moderator abilities 2021-08-05 11:11:27 -05:00
Haelwenn (lanodan) Monnier
79e993cae5
Release 2.4.0 2021-08-01 08:26:39 +02:00
Alex Gleason
3d8ce61fe5
CHANGELOG: fixed JSON error rendering 2021-07-27 08:30:38 -05:00
Alex Gleason
85d71d4f1d
CHANGELOG: Support poll notification type 2021-07-18 11:49:25 -05:00
Alex Gleason
c4efe0d2d6
CHANGELOG: instance deletion 2021-07-17 15:05:20 -05:00
3f58213646 Merge branch 'admin-api-users-sort' into 'develop'
AdminAPI: sort new users at the top

Closes #2709

See merge request pleroma/pleroma!3481
2021-07-14 14:39:14 +00:00
Alex Gleason
117b3edf54
CHANGELOG: AdminAPI return date with users 2021-07-14 09:03:44 -05:00
Alex Gleason
5681a007d7
CHANGELOG: AdminAPI users sort 2021-07-13 22:48:32 -05:00
Alex Gleason
65514484cc
CHANGELOG: fixed user deletion database timeout 2021-07-12 16:59:54 -05:00
Haelwenn (lanodan) Monnier
6dc78f5f6f
AP C2S: Remove restrictions and make it go through pipeline 2021-07-12 06:49:41 +02:00
Sean King
5d279a22b1 Merge develop branch upstream 2021-07-10 11:04:16 -06:00
64d009693e Update Linkify to fix crash on posts with a URL we failed to parse correctly 2021-07-08 12:33:17 -05:00
Alex Gleason
310ef6b70d
Deletions: change User.purge/1 to defp, add CHANGELOG entry 2021-06-30 12:25:20 -05:00
d12e62c0b6 Add new Twittercard/OGP changes 2021-06-09 11:56:54 -05:00
8443f82247 Update scope of AnalyzeMetadata features 2021-06-08 12:56:03 -05:00
9a357d63f0 Update CHANGELOG.md 2021-06-07 20:07:59 +00:00
10abbf13ba Update CHANGELOG.md 2021-06-07 20:07:27 +00:00
84f42b92f0 Merge branch 'develop' into 'fix/prune-hashtags'
# Conflicts:
#   CHANGELOG.md
2021-06-07 20:06:36 +00:00
4ca380490f Update CHANGELOG.md 2021-06-07 20:05:18 +00:00
c31338abe6 Update CHANGELOG.md 2021-06-07 20:04:27 +00:00
eb150e7d88 Document OTP 24 support so we remember to add it to the official release notes / announcement 2021-06-04 15:50:10 -05:00
Sean King
dc4814f0cd
Fix merge conflicts with upstream 2021-06-04 14:42:44 -06:00
Haelwenn
0c56f9de0d Merge branch 'tests/openapi-everywhere' into 'develop'
Put OpenAPI ~everywhere in tests

See merge request pleroma/pleroma!3324
2021-06-04 18:53:09 +00:00
Mark Felder
d6432a65da Move shout configuration from :instance, update docs and changelog 2021-06-01 11:49:46 -05:00
Mark Felder
ff00b354fa Rename the non-federating Chat feature to Shout 2021-06-01 11:49:14 -05:00
359ded086c Merge branch 'simplepolicy-announce-leak' into 'develop'
SimplePolicy: filter nested objects, fixes #2582

Closes #2582

See merge request pleroma/pleroma!3376
2021-05-28 19:05:13 +00:00
cd4352a86f Missing entry for pinned posts federation from MR !3312 2021-05-27 12:20:21 -05:00
05d678c070 Expose user email address to user/owner; not publicly. 2021-05-20 12:50:43 -05:00
2d7f6ce6fb Clarify AttachmentMetadata changes 2021-05-18 16:46:51 -05:00
c64cbee26c Fixed checking for Upload Filter required commands 2021-05-18 16:28:21 -05:00
9b6b5ac196 Rename upload filter to AnalyzeMetadata 2021-05-18 15:33:33 -05:00
Alex Gleason
5a57b025c7
Changelog: attachment meta 2021-05-12 20:15:33 -05:00
Alex Gleason
cea44b6b3e
Merge remote-tracking branch 'upstream/develop' into simplepolicy-announce-leak 2021-05-07 12:40:45 -05:00
Alex Gleason
b15c4629ff
CHANGELOG: notice routes 2021-05-05 14:51:29 -05:00
745375bdcf Merge branch 'dont-crash-email-settings' into 'develop'
Don't crash so hard when email settings are invalid

Closes #2606

See merge request pleroma/pleroma!3400
2021-05-04 13:30:00 +00:00
Alex Gleason
90770e0841
CHANGELOG: don't crash so hard when email settings are invalid 2021-05-03 14:43:34 -05:00
Alex Gleason
dca87c5e7b
CHANGELOG: markdown 2021-05-01 11:28:06 -05:00
Alex Gleason
20878c7f99
CHANGELOG: SimplePolicy embedded objects are now checked 2021-04-30 14:22:02 -05:00
Alex Gleason
8c1d6e8839
CHANGELOG: Return OAuth token id 2021-04-29 12:20:46 -05:00
Alex Gleason
762be6ce10
Merge remote-tracking branch 'upstream/develop' into block-behavior 2021-04-29 11:14:32 -05:00
d7a71a275a Fixed pleroma.user delete_activities mix task. 2021-04-22 10:15:50 -05:00
Sean King
2780cdd4e7
Add CHANGELOG entry 2021-04-19 16:06:19 -06:00
Sean King
a787fed8f7
Move changelog around 2021-04-16 15:50:17 -06:00
Sean King
bf9c4f5289
Add note about Mastodon FE being removed from Pleroma in changelog 2021-04-15 23:39:33 -06:00
0a7c2a32ba Merge branch 'develop' into 'fix/notifsettings-breaking-login'
# Conflicts:
#   CHANGELOG.md
2021-04-15 14:59:26 +00:00
861f192852 Document fixed ability to save ConcurrentLimiter settings in ConfigDB 2021-04-13 14:39:44 -05:00
9fbcdc15b1 Validate custom instance thumbnail set via AdminAPI produces correct URL 2021-04-13 10:52:53 -05:00
31ce8a3730 Fix CHANGELOG entry meant for next release 2021-04-01 10:15:01 -05:00
765f0907df Document user login failure fix for NULL notification_settings 2021-04-01 10:07:57 -05:00
7eab98d5c8 Document new FollowBot MRF 2021-03-30 11:10:44 -05:00
Alexander Strizhakov
ad907254fb changelog entry 2021-03-23 12:40:49 -05:00
rinpatch
f930e83fa2 Merge branch 'fix/remove_auto_nsfw' into 'develop'
Remove sensitive setting #nsfw

See merge request pleroma/pleroma!3223
2021-03-19 08:48:22 +00:00
Haelwenn (lanodan) Monnier
a22c53810b
Remove deprecated /api/qvitter/statuses/notifications/read 2021-03-15 06:47:07 +01:00
Ivan Tashkinov
946e0aab49 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-10 07:48:50 +03:00
Haelwenn
7f413139fb Merge branch 'openapi/admin/user' into 'develop'
Add OpenAPI spec for AdminAPI.UserController

See merge request pleroma/pleroma!3355
2021-03-10 03:24:40 +00:00
Ivan Tashkinov
92526e0230 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-07 11:34:39 +03:00
lain
10f402af6d Changelog: Re-add application support 2021-03-03 15:35:25 +01:00
lain
c5352e90be Changelog, mix: merge in stable 2021-03-03 13:56:40 +01:00
Egor Kislitsyn
3aae5231b2
Add OpenAPI spec for AdminAPI.UserController 2021-03-02 20:49:17 +04:00
lain
7d790bb27b Changelog: Remove application support line. 2021-03-02 14:42:11 +01:00
Ivan Tashkinov
882dd46843 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-02 08:26:30 +03:00
lain
9f71b63c2d Update changelog 2021-03-01 21:12:26 +01:00
808e15b264 Document user agent leak fix 2021-03-01 21:05:58 +01:00
8a563efdd8 Update CHANGELOG.md 2021-02-28 18:46:03 +00:00
lain
6a71aa535b Merge branch 'admin-api-versioning' into 'develop'
Pleroma APIs versioning

Closes #2509

See merge request pleroma/pleroma!3335
2021-02-28 16:22:22 +00:00
lain
e6a14e1cd1 Merge branch 'feat/client_app_details' into 'develop'
Support application field

See merge request pleroma/pleroma!3311
2021-02-28 16:17:34 +00:00
Haelwenn (lanodan) Monnier
3bc7d12271
Remove sensitive-property setting #nsfw, create HashtagPolicy 2021-02-27 21:26:17 +01:00
Ivan Tashkinov
8f88a90ca3 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/config.ex
2021-02-23 13:58:35 +03:00
eugenijm
c1d63bbd9a Reroute /api/pleroma to /api/v1/pleroma 2021-02-21 13:26:23 +03:00
e31274f51d Revert changelog entry that leaked from another branch. 2021-02-20 17:07:12 -06:00
1cb417bce6 Document HeifToJpeg and its requirement of libheif's heic-convert tool 2021-02-20 14:32:14 -06:00
Alexander Strizhakov
1e6c27181e
expires_in in scheduled status params 2021-02-18 14:59:22 +03:00
rinpatch
6d66fadea7 Remove :auth, :enforce_oauth_admin_scope_usage
`admin` scope has been required by default for more than a year now
and all apps that use the API seems to request a proper scope by now.
2021-02-17 20:47:38 +03:00
Haelwenn
e7b1f0f5f4 Merge branch 'feat/chat-list-pagination' into 'develop'
Chats: Introduce /api/v2/pleroma/chats which implements pagination

Closes #2140

See merge request pleroma/pleroma!3325
2021-02-17 15:36:59 +00:00
rinpatch
158f9f18ee Merge branch 'remove-conversation-api' into 'develop'
Add API endpoint to remove a conversation

Closes #2488

See merge request pleroma/pleroma!3321
2021-02-17 15:14:27 +00:00
rinpatch
d7ad288c84 Chats: Introduce /api/v2/pleroma/chats which implements pagination
Also removes incorrect claim that /api/v1/pleroma/chats supports
pagination and deprecates it.

Closes #2140
2021-02-17 16:03:24 +03:00
Egor Kislitsyn
cf6d3db58f
Add API endpoint to remove a conversation 2021-02-15 21:48:13 +04:00
Shpuld Shpuldson
0c73935de1 update changelog to mention change of avatar 2021-02-15 15:52:36 +02:00
Ivan Tashkinov
349b8b0f4f [#3213] rescue around potentially-raising Repo.insert_all/_ calls. Misc. improvements (docs etc.). 2021-02-13 22:01:11 +03:00
4b979538bc Document the application metadata is now retained as part of the post. 2021-02-11 15:10:53 -06:00
Ivan Tashkinov
5992382cf8 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/mix/tasks/pleroma/database.ex
#	lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-11 19:31:57 +03:00
6e90b79d63 Lint 2021-02-08 16:40:27 -06:00
593c0851d9 Merge branch 'develop' into 'new-user-emails' 2021-02-08 16:01:50 -06:00
Haelwenn
a5bee1bf35 Merge branch 'feat/mrf-noemptypolicy' into 'develop'
MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.

See merge request pleroma/pleroma!3309
2021-02-08 21:49:20 +00:00
55a13fc360 MRF NoEmptyPolicy: Deny posts from local users if there is no content or only mentions.
Helps prevent accidental button mashes from submitting incomplete posts
2021-02-08 15:32:47 -06:00