Commit Graph

7643 Commits

Author SHA1 Message Date
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
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
BrokenEagle
9e16c01285 Allow video thumbnails as direct Twitter images 2020-03-20 20:59:37 +00:00
evazion
09f021daf7 Merge pull request #4341 from BrokenEagle/bur-fixes
Various BUR fixes
2020-03-20 15:58:27 -05:00
BrokenEagle
052c039ce8 Only count unique post IDs for blacklist menu 2020-03-19 18:35:41 +00:00
BrokenEagle
09445cb28b Drop unused BUR title column 2020-03-18 23:16:43 +00:00
BrokenEagle
c16ad4f126 Add additional checks for BURs on forum topics 2020-03-18 23:05:12 +00: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
BrokenEagle
429667e664 Remove upload tags report
- Use the current comparison type for post versions instead
- Also add the note versions as a report
- No other versions are meaningful as reports since it is expected
  for them to be modified by other users, or they don't have version
  numbers as is the case with artist commentaries
2020-03-17 18:31:21 +00:00
BrokenEagle
e23ee170f5 Add alternate comparison types to versions
- The types are:
-- Previous: The default and the previously used type
-- Subsequent: Compares against the next version
-- Current: Compares against the current version
- Allow switching between comparison types in index and diff views
-- Have links vary depending upon current comparison type
2020-03-17 18:31:20 +00:00
BrokenEagle
a95e57d938 Move more logic to the helper modules
- Diff view changes
-- Only show pool description changes in diff view
-- Conditionally render diff link when applicable values are changed
-- Conditionally show diff view sections when values are changed
- Show renames on index view
-- There is plenty of space
-- This wasn't shown at all for wikis
-- Having to navigate to an alternate page is unwieldy for pools
- Show "posts" as a status on pools
-- This is so all changes among versions are quantified as a status
- Standardize diff/index titles
2020-03-17 18:31:20 +00: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
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
evazion
3dbdce3ae3 mod reports: fix exception when reporting forum posts. 2020-03-12 21:23:57 -05:00
evazion
258f4a8b95 users: move emails to separate table.
* Move emails from users table to email_addresses table.
* Validate that addresses are formatted correctly and are unique across
  users. Existing invalid emails are grandfathered in.
* Add is_verified flag (the address has been confirmed by the user).
* Add is_deliverable flag (an undeliverable address is an address that bounces).
* Normalize addresses to prevent registering multiple accounts with the
  same email address (using tricks like Gmail's plus addressing).
2020-03-12 21:18:53 -05:00
evazion
41304d6add forum: fix topics with no BURs being marked as approved. 2020-03-11 21:54:17 -05:00
evazion
cc2172a925 forum: fix exception in forum_topics/new.
Caused by including is_read? in html_data_attributes. updated_at is nil
for new topics.
2020-03-11 21:06:04 -05:00
evazion
1f20ac2665 tags: fix value_for regex. 2020-03-11 02:09:59 -05:00
evazion
e81161bca5 forum: adjust BUR status label colors (again).
* Indicate unread topics in bold instead of with a "NEW" label.
* Use pills for labels.
2020-03-11 00:01:56 -05:00
evazion
f917595554 forum: adjust BUR status label colors. 2020-03-10 23:11:41 -05:00
evazion
6fecf5db0e BURs: remove old single alias/implication pruning code.
* Rename TagChangeRequestPruner to BulkUpdateRequestPruner.
* Remove old code for pruning individual alias / implication requests.
2020-03-10 21:23:46 -05:00
evazion
be585060f4 BURs: don't add [APPROVED] / [REJECTED] tags to titles. 2020-03-10 21:02:12 -05:00
evazion
0e7632ed8a aliases/implications: remove forum topic updating code.
Remove code for updating forum topics when an alias or implication is
approved or rejected. This code was only used when approving single
alias or implication requests. This is no longer used now that all
alias/implication requests are done through BURs.
2020-03-10 20:55:20 -05:00
evazion
6504d44223 forum: change BUR counts to status labels.
Use pending / approved / rejected status labels in front of the topic
title instead of a BUR count column. This is to make the forum listing
easier to visually scan for resolved vs unresolved topics.

Labels are only added for topics in the Tags category. This is a hack to
avoid labels on megathreads that have had BURs mistakenly attached to them.

[APPROVED] and [REJECTED] labels are stripped from thread titles to make
the titles cleaner. This is a hack until these titles can be fixed.
2020-03-10 20:13:11 -05:00
evazion
134a06722a forum: use icons to indicate sticky/locked/deleted/restricted status. 2020-03-10 19:04:56 -05:00
evazion
0317033d58 Revert "Return the actual sample size used for related tag calculations"
This reverts commit be0bb42ba9.
2020-03-09 22:18:57 -05:00
evazion
cb11d818b1 artist versions: fixup is_active reference. 2020-03-09 14:40:22 -05:00
evazion
5625458f69 users: refactor password reset flow.
The old password reset flow:

* User requests a password reset.
* Danbooru generates a password reset nonce.
* Danbooru emails user a password reset confirmation link.
* User follows link to password reset confirmation page.
* The link contains a nonce authenticating the user.
* User confirms password reset.
* Danbooru resets user's password to a random string.
* Danbooru emails user their new password in plaintext.

The new password reset flow:

* User requests a password reset.
* Danbooru emails user a password reset link.
* User follows link to password edit page.
* The link contains a signed_user_id param authenticating the user.
* User changes their own password.
2020-03-08 23:18:15 -05:00
evazion
f25bace766 users: refactor change password page.
* Fix users being redirected back to the change password page after
  successfully changing their password.
* Move passwords controller out of /maintenance/ namespace.
* Add tests.
2020-03-08 23:18:08 -05:00
evazion
c30ba8d5bc users/edit: fix Advanced settings section being shown by default. 2020-03-08 14:24:38 -05:00
evazion
f2d7e42d89 Merge pull request #4301 from BrokenEagle/forum-topic-bur-indicators
Add BUR counters to forum topics index
2020-03-07 23:04:19 -06:00
evazion
a1ddba4929 Merge pull request #4325 from BrokenEagle/related-tag-enhancements
Related tag enhancements
2020-03-07 22:38:24 -06:00
BrokenEagle
ffc57b6cfa Use alternate iterators which have better performance 2020-03-07 08:13:14 +00:00
BrokenEagle
8c1f6020ba Adjust how blacklist classes get added
- Rename class for links as it was a misnomer
2020-03-07 08:13:14 +00:00
BrokenEagle
161e776cf7 Add utility regexp split function for non-whitespace words 2020-03-07 08:13:14 +00:00
BrokenEagle
d1aed303fd Fix blacklist code executing muliple times
- When enabling/disabling all, it was executing on every single blacklist line
- When starting out disabled, it was executing several times
2020-03-07 08:13:13 +00:00
BrokenEagle
d84150b232 Fix posts not being processed by blacklist after post updates
- Blacklisting individual posts was moved into its own function
- Fixed Javascript variables being leaked into the user environment
- Fixed post qTips being orphaned by replacements by destroying them first
- Moved edit form check into post success to avoid repeating post check
2020-03-07 08:13:08 +00:00
evazion
1a2c082b86 search: support negated wildcards in post searches.
* Support negated wildcards in searches (e.g. "holding -holding_*")
* Raise wildcard limit to matching 25 tags regardless of user level.
* Fix wildcards potentially matching empty tags.
* Fix wildcard tags being sorted by post count only, and therefore not
  having a stable ordering when tags have equal post counts.
* Fix sidebar to calculate wildcards tags the same way the search does.
2020-03-06 23:23:38 -06:00
evazion
967d398c8e search: move query parsing code from tag model to post query builder. 2020-03-06 23:23:38 -06:00
evazion
2e0ad42eca pagination: fix page count timeouts not being cached.
Bug: if there was a timeout when calculating the page count, the timeout
wouldn't be cached, so we would hit multiple timeouts trying to
calculate the page count multiple times.
2020-03-06 23:23:38 -06:00