evazion
e79910431f
emails: validate that email addresses are deliverable.
...
Reject email addresses that known to be undeliverable during signup.
Some users signup with invalid email addresses, which causes the welcome
email (which contains the email confirmation link) to bounce. Too many
bounces hurt our ability to send mail.
We check that an email address is undeliverable by checking if the
domain has a mail server and if the server returns an invalid address
error when attempting to send mail. This isn't foolproof since some
servers don't return an error if the address doesn't exist. If the
checks fail we know the address is bad, but if the checks pass that
doesn't guarantee the address is good. However, this is still good
enough to filter out bad addresses for popular providers like Gmail and
Microsoft that do return nonexistent address errors.
The address existence check requires being able to connect to mail
servers over port 25. This may fail if your network blocks port 25,
which many home ISPs and hosting providers do by default.
2020-03-23 23:45:18 -05:00
evazion
27f10d53d6
Update ruby gems and yarn packages.
2020-03-23 01:48:59 -05:00
evazion
a45c7f46be
Interlink bans, ip bans, and user feedbacks pages.
...
* Make the bans, ip bans, ip addresses, and user feedbacks pages all
link to one another in the secondary links.
* Add quick search bars to the secondary links on these pages.
2020-03-23 01:48:59 -05:00
evazion
c24ae0a2a6
ip addresses: add secondary links.
2020-03-23 01:48:59 -05:00
evazion
f23df47c09
ip addresses: add ip address show page.
...
* Add IP address show page at /ip_addresses/1.2.3.4.
* Add "Details", "Ban IP", "Ban User" options to the /ip_addresses listing.
2020-03-23 01:48:59 -05:00
evazion
13dab1510c
ip addresses: add ip lookup api client.
2020-03-23 01:48:59 -05:00
evazion
6a0799fec0
posts: allow approvers to see uploader names.
2020-03-22 15:25:45 -05:00
evazion
8492979ecb
post policy: fix typo in is_note_locked.
2020-03-21 23:21:16 -05:00
evazion
f464163885
users: allow all users to use the posts per page setting.
2020-03-21 23:06:50 -05:00
evazion
88a8f459ed
comments: remove 10 comment votes per hour limit.
2020-03-21 23:06:47 -05:00
evazion
63f7311489
comments: allow new users to comment.
...
Remove the rule that users less than a week old can't leave comments.
2020-03-21 23:06:47 -05:00
evazion
aefbed57b8
pools: allow new users to remove posts from pools.
...
Remove the rule that users less than a week old can't remove posts from
pools.
2020-03-21 23:06:47 -05:00
evazion
92e4635af8
ip addresses: fix reference to CurrentUser inside visible.
2020-03-21 23:06:42 -05:00
evazion
94aff2c777
moderation reports: pass CurrentUser to visible explicitly.
...
This is for consistency with how `visible` works in other models.
2020-03-21 23:06:42 -05:00
evazion
2445e8b82f
favorites: convert user.hide_favorites? to pundit.
2020-03-21 23:06:42 -05:00
evazion
5bc82bf07b
users: remove user is not ip banned validation.
...
This is handled on the controller level now.
2020-03-21 23:06:42 -05:00
evazion
b21e1d219c
users: remove as_admin and as_current methods.
2020-03-21 23:06:42 -05:00
evazion
94d78287eb
bulk update request pruner: fix forum posts reference.
2020-03-21 23:06:42 -05:00
evazion
e4d63eb0da
post versions: fix index action when no versions exist.
...
Fix a nil dereference error during testing when no post versions exist.
2020-03-21 23:06:42 -05:00
evazion
41ab3c9f63
post versions: fix undo action.
2020-03-21 23:06:42 -05:00
evazion
ca27929249
tests: add more posts/show tests.
2020-03-21 23:06:42 -05:00
evazion
3656063a6b
tests: fix unit tests.
...
* Move old post archive tests to post version tests.
* Fix pool tests that assumed that multiple edits by the same user
weren't merged.
* Fix references to `is_active` and `notes` on artist model.
2020-03-21 21:07:35 -05:00
evazion
94ae10b1a6
tests: fix post and pool version tests helpers.
...
* Fix the pool version SQS service to always be mocked before every
test. Before we had to manually set it up before every test dealing
with pool versions.
* Fix it so that we reconnect to the post/pool version databases before
every test. Before using $ARCHIVE_DATABASE_URL to set the database url
failed because environment variables weren't loaded by dotenv yet when
connections were first established.
2020-03-21 19:28:10 -05:00
evazion
3cb2c10be8
Merge pull request #4349 from danbooru/refactor-pundit
...
Refactor authorization logic to use Pundit
2020-03-20 18:47:33 -05:00
evazion
d775c625bb
application controller: remove role_only! methods.
2020-03-20 18:03:50 -05:00
evazion
79e7b9308e
pundit: convert misc privilege checks in views to pundit.
2020-03-20 18:03:50 -05:00
evazion
7f742242e4
pundit: convert uploads to pundit.
2020-03-20 18:03:01 -05:00
evazion
d51b0dfe17
pundit: convert moderator/post/posts to pundit.
2020-03-20 18:03:01 -05:00
evazion
1344d4c161
pundit: convert moderator/dashboard to pundit.
...
Make it visible to everyone since there's no non-public information here.
2020-03-20 18:03:01 -05:00
evazion
a5418abb31
pundit: convert posts to pundit.
2020-03-20 18:03:01 -05:00
evazion
dd39913e55
pundit: convert post replacements to pundit.
2020-03-20 18:03:01 -05:00
evazion
3bb3c0b990
pundit: convert saved searches to pundit.
2020-03-20 18:03:01 -05:00
evazion
415d9591c5
pundit: convert post votes to pundit.
...
Side effects:
* The data-current-user-is-voter <body> attribute has been removed.
* {{upvote:self}} no longer works. {{upvote:<name>}} should be used instead.
2020-03-20 18:03:01 -05:00
evazion
33d81d0d1b
pundit: convert post flags to pundit.
2020-03-20 18:03:01 -05:00
evazion
ffae64f127
pundit: convert post versions to pundit.
2020-03-20 18:03:01 -05:00
evazion
ba0a5dda8a
pundit: convert post disapprovals to pundit.
2020-03-20 18:03:01 -05:00
evazion
84c654464d
pundit: convert post approvals to pundit.
2020-03-20 18:03:01 -05:00
evazion
cbee23f9ad
pundit: convert post appeals to pundit.
2020-03-20 18:03:01 -05:00
evazion
ab5432d149
pundit: convert pools to pundit.
2020-03-20 18:03:01 -05:00
evazion
83eae1bf11
pundit: convert passwords to pundit.
2020-03-20 18:03:01 -05:00
evazion
62835ac9fc
pundit: convert notes to pundit.
2020-03-20 18:03:01 -05:00
evazion
2c4c29b81a
pundit: convert favorite groups to pundit.
2020-03-20 18:03:01 -05:00
evazion
50fa674a3e
pundit: convert emails to pundit.
2020-03-20 18:03:01 -05:00
evazion
a440c56ed8
pundit: convert comment votes to pundit.
2020-03-20 18:03:01 -05:00
evazion
ce1133dd69
pundit: convert artist commentaries to pundit.
2020-03-20 18:03:01 -05:00
evazion
3d83c3154e
pundit: convert forum topic visits to pundit.
2020-03-20 18:03:01 -05:00
evazion
f1f489c40b
pundit: convert favorites to pundit.
2020-03-20 18:03:01 -05:00
evazion
cc2b4abd09
pundit: convert forum post votes to pundit.
2020-03-20 18:03:01 -05:00
evazion
be59e85d25
pundit: convert ip addresses to pundit.
2020-03-20 18:03:01 -05:00
evazion
92aeb8728f
pundit: convert ip bans to pundit.
2020-03-20 18:03:01 -05:00
evazion
9242bf522b
pundit: convert moderation reports to pundit.
2020-03-20 18:03:01 -05:00
evazion
480f39c34a
pundit: convert dmails to pundit.
2020-03-20 18:03:01 -05:00
evazion
15ba2f6cd7
tests: fix email delivery tests.
...
Setting deliver_later_queue_name inside config/application.rb broke
tests because assert_enqueued_email_with assumes that the deliver_later
queue is called `mailers`.
2020-03-20 18:03:00 -05:00
evazion
19817a6f85
pundit: convert modqueue to pundit.
2020-03-20 18:03:00 -05:00
evazion
3d72e62c77
pundit: convert bans to pundit.
2020-03-20 18:03:00 -05:00
evazion
ff1d71af2e
pundit: convert artists to pundit.
2020-03-20 18:03:00 -05:00
evazion
79a365abe0
pundit: convert bulk update requests to pundit.
2020-03-20 18:03:00 -05:00
evazion
b83c612246
pundit: convert delayed jobs to pundit.
2020-03-20 18:03:00 -05:00
evazion
4a36b99614
pundit: convert tag aliases / implications to pundit.
2020-03-20 18:03:00 -05:00
evazion
4bb036aff1
pundit: convert tags to pundit.
2020-03-20 18:03:00 -05:00
evazion
4cd0b2cbfe
pundit: convert user feedbacks to pundit.
...
Allow users to delete feedbacks they've given to other users, not just
mods.
2020-03-20 18:03:00 -05:00
evazion
565a6572a7
pundit: convert user name change requests to pundit.
...
Fix discrepancy between index action and show action. The index
action allowed members to see name changes for undeleted users, but the
show action didn't.
2020-03-20 18:03:00 -05:00
evazion
db63b6d44f
pundit: convert forum topics / forum posts to pundit.
...
Fix it being possible for users to delete or undelete their own forum
posts and topics, even if they were deleted by a mod.
2020-03-20 18:03:00 -05:00
evazion
b3ff08fedf
pundit: convert wiki pages to pundit.
2020-03-20 18:03:00 -05:00
evazion
5c6d26ea24
pundit: convert users to pundit.
2020-03-20 18:03:00 -05:00
evazion
a0c4617057
pundit: convert comments to pundit.
2020-03-20 18:03:00 -05:00
evazion
d8e4a26906
pundit: convert news updates to pundit.
2020-03-20 18:03:00 -05:00
evazion
1d16034144
pundit: add initial application policy.
2020-03-20 18:03:00 -05:00
evazion
d10925eb95
post query builder: fix deprecated raw sql warning.
2020-03-20 17:55:08 -05:00
evazion
bb9ee6e394
uploads: remove dead "Force update" link for mods.
2020-03-20 17:55:08 -05:00
evazion
ca2d25c042
reltags: remove mark inactive button from artist urls.
...
In related tags, remove the (X) button next to artist urls for marking
them as inactive. This was broken because it didn't record the change
to the is_active flag in the artist history.
2020-03-20 17:55:08 -05:00
evazion
4d49bf053f
tests: fix only param test.
2020-03-20 17:53:59 -05:00
evazion
8aac108e6b
tests: fix password reset tests.
2020-03-20 17:53:59 -05:00
evazion
2d260f509d
tests: remove upload tags test.
2020-03-20 16:33:00 -05:00
evazion
c2b2349472
Merge pull request #4339 from BrokenEagle/version-reports
...
Add alternate version comparisons
2020-03-20 16:32:28 -05:00
evazion
2bc99a813c
Merge pull request #4320 from BrokenEagle/note-dimension-percentages
...
Convert notes to use percentages instead of exact coordinates
2020-03-20 16:26:02 -05:00
evazion
31424ce545
twitter: add test for video thumbnails ( #4262 ).
2020-03-20 16:19:07 -05:00
evazion
31ee88796c
Merge pull request #4346 from BrokenEagle/fix-twitter-video-links
...
Allow video thumbnails as direct Twitter images
2020-03-20 16:17:15 -05:00
evazion
9a3b855cf6
bulk update requests: fix reference to title attribute.
...
Also remove non-nullable and default options from migration. The column
didn't originally have these options so they shouldn't be added if the
migration is reverted.
2020-03-20 16:08:20 -05:00
evazion
09f021daf7
Merge pull request #4341 from BrokenEagle/bur-fixes
...
Various BUR fixes
2020-03-20 15:58:27 -05:00
evazion
844bacb890
Merge pull request #4342 from BrokenEagle/fix-blacklist-with-children
...
Only count unique post IDs for blacklist menu
2020-03-20 15:48:01 -05:00
evazion
f7175d3b12
emails: fix migrate emails fix script.
2020-03-18 15:11:32 -05:00
evazion
e70eb0221e
emails: fix deliver_later mails not being sent.
...
By default, mails sent by deliver_later are added to the `mailers` job
queue. These mails weren't being sent because workers were only
configured to process the `default` queue.
2020-03-18 15:10:59 -05:00
evazion
d211264239
emails: add show endpoint.
2020-03-18 03:46:01 -05:00
evazion
f34f740c54
Fix #4338 : meta description of pools lists "pages" instead of "posts"
2020-03-18 03:38:12 -05:00
evazion
96085f17dd
Fix #4334 : db:migrate hangs.
...
Possible fix for #4334 . Running fix scripts inside migrations is bad practice.
2020-03-18 03:32:40 -05:00
evazion
ef43b276b3
Update ruby gems and yarn packages.
2020-03-18 03:31:45 -05:00
evazion
c2360919c4
tests: fix parse_query test.
2020-03-18 03:09:14 -05:00
evazion
7d028f67e9
structure.sql: resynchronize.
2020-03-18 03:09:08 -05:00
evazion
8253df84d9
forum: make status labels into clickable filters.
...
* Make it so that you can click the stickied / locked / deleted icons or
the new / approved / pending / rejected labels to filter topics by
that status.
* Replace the `mod_only` search param with `is_private`.
2020-03-16 21:23:27 -05:00
evazion
95d65b25e2
forum: add back 'new' label, move status labels to right-side column.
...
Also prevent long usernames from wrapping.
Fixes #4332 .
2020-03-16 21:22:27 -05:00
evazion
93a60eebed
ip bans: forbid all non-GET actions for ip banned users.
...
Previously only actions that were marked member_only or above were
subject to IP ban restrictions. This meant that certain actions that
weren't marked member_only, like creating new accounts, could still be
done by IP banned users.
Now IP banned users can't do any non-GET actions, which means they're
not allowed to even login to their accounts.
2020-03-16 15:35:46 -05:00
evazion
ea96295940
autocomplete: fix autocomplete returning empty tags.
...
Fix regression caused by 57ba5c59 . Autocomplete implicitly relied on
Tag.search filtering out nonempty tags by default.
2020-03-16 15:35:08 -05:00
evazion
9389fee726
forum: fixup broken tests.
...
Fix tests broken by recent addition of BUR status indicators.
2020-03-16 14:33:52 -05:00
evazion
4b30e644bb
Update ruby gems and yarn packages.
2020-03-14 21:17:58 -05:00
evazion
0f0e7cedf3
dmails: fixup exceptions when verifying dmail keys.
...
Fix show action throwing exceptions when viewing a dmail without a dmail key.
2020-03-14 21:09:25 -05:00
evazion
dc1742321d
dmails: send email notifications in background job.
2020-03-14 21:06:29 -05:00
evazion
0ef9d6e417
emails: send welcome mail on signup.
2020-03-14 19:18:28 -05:00
evazion
d860fab7f5
emails: send verification mail when user changes address.
2020-03-14 18:32:00 -05:00
evazion
167fe51a8a
emails: move edit email flow to emails controller.
2020-03-14 17:42:47 -05:00