evazion
01eda51020
tests: add webm/mp4 upload tests.
2018-04-06 19:56:17 -05:00
evazion
e7eee185f7
Fix #3607 : Webm / mp4 uploads broken.
2018-04-06 19:55:26 -05:00
evazion
a03270dbf1
Add about:userscripts to site map.
2018-04-05 16:52:46 -05:00
evazion
9b62b78183
Fix #3601 : Broken URLs in /posts.atom feed.
2018-04-05 16:46:23 -05:00
evazion
a432980f85
Fix "wrong number of arguments (given 3, expected 2)" in Post#file_url.
2018-04-05 15:33:47 -05:00
evazion
8e457c7331
Disable user:<name> blacklists (temp fix for #3596 ).
2018-04-05 14:38:44 -05:00
evazion
084fcd91ed
Only generate tagged filenames for URLs on post show pages ( #3597 ).
...
Don't generate tagged filenames for urls in the data attributes on
thumbnails, or in the /posts.json api.
2018-04-05 14:20:37 -05:00
evazion
14977397fb
Fix "ArgumentError - wrong number of arguments" during tagging.
2018-04-05 13:27:37 -05:00
evazion
c19a1b83a9
Fix #3573 : commentary: add source citation when fetching cross-site.
2018-03-31 17:20:20 -05:00
evazion
f15f2cbb81
Fix #3581 : Mod Dashboard: exclude or mark deleted comments.
2018-03-31 13:14:41 -05:00
evazion
8fd9d374ca
Fix #3583 : Copying notes should copy tags to destination.
2018-03-31 12:58:56 -05:00
evazion
8e7ad9eb97
Post#copy_notes_to: wrap in transaction.
2018-03-31 11:44:49 -05:00
evazion
04ecca6a06
Fix #3591 : DeviantArt commentaries: strip embedded image/text thumbs.
2018-03-31 11:27:14 -05:00
evazion
75cc1421a3
Fix #3590 : Superfluous space added on certain autocompletions.
...
Bug: searching for /wiki_pages?search[title]=touhou%20 didn't find the
'touhou' wiki. The space wasn't stripped when the title was normalized.
2018-03-30 22:24:34 -05:00
evazion
80219a0ccf
commentaries: replace <img> tags with dtext links ( #3586 )
...
Replace <img> tags with dtext links, unless the <img> tag is already
inside an <a> tag.
Also strip Unicode spaces from DeviantArt commentaries.
2018-03-30 21:42:51 -05:00
evazion
b185efbb5f
tumblr commentaries: include asker's name in ask posts ( #3586 ).
2018-03-30 21:42:51 -05:00
evazion
74d46708c7
INSTALL.debian: bump ruby version to 2.5.1 ( 4ff5af626).
2018-03-30 18:58:18 -05:00
evazion
fd055a894b
DanbooruImageResizer: workaround libvips-8.4 incompatibility.
2018-03-29 21:41:22 -05:00
evazion
c0c41dd369
uploads: add limits on max image dimensions.
2018-03-29 19:24:41 -05:00
evazion
be0c2cfcfa
posts: fix incorrect large_file_url for animated_gifs.
...
For animated_gif posts, large_file_url was returning
"/data/sample-$md5.jpg" instead of "/data/$md5.gif".
2018-03-28 19:17:15 -05:00
evazion
dc9b7e5bda
Fix #3582 : Switch from ImageMagick to libvips
2018-03-28 17:15:57 -05:00
evazion
619a2055fe
tests: add storage manager tests.
2018-03-20 19:49:58 -05:00
evazion
d089be9f8a
tests: fix upload tests.
2018-03-20 19:49:58 -05:00
evazion
41a4ff15cd
posts: remove unused file path / url methods.
...
* Remove file_path_for, cropped_file_url (dead code)
* Remove complete_preview_file_url (preview_file_url now returns absolute links)
* Remove `file_name` (only used for Download link in sidebar)
2018-03-20 19:49:55 -05:00
evazion
b7f7187f63
posts: use storage manager to delete files.
2018-03-20 19:49:06 -05:00
evazion
f0bf1bc66e
posts: use storage manager to backup files.
...
* Perform backups synchronously inside `distribute_files` instead of
asynchronously in `queue_backup`. Asynchronous backups assumed that
files are stored on the local filesystem, which isn't true in general.
* Remove obsolete backup service classes.
2018-03-20 19:49:06 -05:00
evazion
6d0d1a3ce9
posts: use storage manager to build file urls.
2018-03-20 19:49:06 -05:00
evazion
c76463f34d
uploads: use storage manager to distribute files.
...
Refactors the upload process to pass around temp files, rather than
passing around file paths and directly writing output to the local
filesystem. This way we can pass the storage manager the preview /
sample / original temp files, so it can deal with storage itself.
* Change Download::File#download! to return a temp file.
* Change DanbooruImageResizer and PixivUgoiraConverter to accept/return
temp files instead of file paths.
* Change Upload#generate_resizes to return temp files for previews and samples.
* Change Upload#generate_resizes to generate ugoira .webm samples
synchronously instead of asynchronously.
2018-03-20 19:49:06 -05:00
evazion
60dcfbfbdd
uploads: autotag animated_gif/png during upload.
...
Move animated_gif / animated_png autotagging to take place during
uploading, instead of during tag editing. We can't generally assume the
file will be present on the local filesystem after uploading.
2018-03-20 19:49:06 -05:00
evazion
2286ccfca8
uploads: clean up process_upload.
...
* Remove `initialize_status` (status already defaults to pending in database)
* Remove `has_dimensions?` (always returns true)
* Remove `async_conversion?` (dead code)
* Remove `validate_file_exists` (unneeded checks)
* Simplify `calculate_dimensions`
* Merge `file_header_to_content_type` with `content_type_to_file_ext` (content type isn't used elsewhere)
2018-03-20 19:49:06 -05:00
evazion
b0c7d9c185
Add storage managers (local, sftp, s3, hybrid).
2018-03-20 19:49:06 -05:00
evazion
8a012d4c91
Remove unused mobile mode code ( #3206 ).
...
Mobile mode was removed in 31e36cf .
2018-03-20 02:29:06 -05:00
evazion
44c604521e
Fix #3572 : Install script installs wrong ruby version.
2018-03-20 02:21:43 -05:00
evazion
5113aec937
artist finder: fix bogus matches for nijie.
2018-03-03 11:26:15 -06:00
evazion
feaad0bbd0
nginx.conf: fix inconsistent client_max_body_size.
2018-02-27 18:22:37 -06:00
evazion
5ad06a4034
Fix #3552 : Upload filesize limits can be bypassed.
...
* Change `http_get_streaming` to write the output file directly,
instead of taking a callback.
* Track the filesize as the download progresses and abort when it
exceeds the limit.
* Don't save the Content-Type (it's not used anywhere).
2018-02-27 18:22:34 -06:00
evazion
9b89f0f54c
Fix #3518 : Don't prune mod actions.
2018-02-27 18:15:53 -06:00
evazion
78aba1c5b1
Fix #3554 : approving BUR with nil forum_post_id doesn't update forum.
...
Wrap `approve!` and `reject!` in transactions so that if there's an
error in approving or rejecting a BUR, it leaves the BUR's status
unchanged instead of updating the BUR but not updating the forum.
2018-02-24 15:04:57 -06:00
evazion
2b8767d7f4
BulkUpdateRequest#approve!: don't swallow exceptions.
...
Rescue `AliasAndImplicationImporter::Error` instead of `Exception`.
2018-02-24 14:37:02 -06:00
evazion
c9eee7e4d4
Fix #3528 : Prevent CloudFlare from altering images.
2018-02-24 13:42:00 -06:00
evazion
b859a1f714
downloads: add tests for untested sites.
2018-02-24 13:42:00 -06:00
evazion
e48b75c261
downloads: rewrite url in download!, not http_get_streaming.
...
Refactor Downloads::File#http_get_streaming to just download the given
url, not rewrite it.
Don't clobber @source or @data in `#size` either.
2018-02-24 11:23:27 -06:00
evazion
7157251657
Upgrade to jquery-2.2.4 ( #3548 ).
2018-02-24 10:43:12 -06:00
evazion
3fefb73e90
Fix #3561 : Tumblr: support answer posts.
2018-02-24 10:31:59 -06:00
evazion
c482175050
Fix #3558 : Autocomplete: negated metatags aren't completed.
...
Fix Danbooru.Autocomplete.parse_query to strip prefixes off of
metatags.
2018-02-19 23:57:46 -06:00
evazion
d8e195d168
autocomplete: unify autocomplete options.
...
Use a single set of default options so that autocomplete behaves
the same way everywhere.
2018-02-18 19:22:46 -06:00
evazion
4754daf594
autocomplete: unify menu item rendering.
...
* Use `Danbooru.Autocomplete.render_item` for all menu item rendering.
Fixes usernames not being colorized when completing mentions, and post
counts not being shown when completing pools on the /pools page.
* Make the /pools page autocomplete pool names the same way that the
pool:<name> metatag does. Previously autocomplete on the /pools page
listed most recently updated pools first; now it lists largest pools first.
2018-02-18 19:22:46 -06:00
evazion
962842815d
autocomplete: move artist/pool/wiki autocompletion to autocomplete.js.
...
* Move all autocomplete code to autocomplete.js.
* Mark autocompleted fields with `data-autocomplete="<type>"` attributes,
instead of hardcoding input field IDs in the javascript.
2018-02-18 19:22:17 -06:00
evazion
a058a77c07
ApplicationHelper#search_field: accept html attributes on <input> field.
...
Rewrite `search_field` to allow setting `data-*` attributes on the <input> field.
2018-02-18 18:34:18 -06:00
evazion
4bc5cc8ccd
bulk update requests: allow admins to edit forum topic/post ids ( #3554 ).
2018-02-18 13:08:53 -06:00
evazion
f07aa1b170
bulk update requests: convert to strong params.
2018-02-18 12:12:12 -06:00
evazion
263fd0eef1
Fix #3528 : Prevent CloudFlare from altering images.
2018-02-17 11:43:27 -06:00
evazion
1eff41a6f9
downloads: rewrite url in download!, not http_get_streaming.
...
Refactor Downloads::File#http_get_streaming to just download the given
url, not rewrite it.
Don't clobber @source or @data in `#size` either.
2018-02-17 11:11:50 -06:00
evazion
9aa0af82ba
Upgrade to jquery-1.12.4; add jquery-migrate plugin ( #3548 ).
2018-02-15 21:38:16 -06:00
evazion
0e259bd4f6
autocomplete: fix issues with Enter key.
...
* Disable autoFocus. This means that the first item in the autocomplete
menu isn't automatically selected.
* Add Tab keybinding, to make the Tab key work as normal with autoFocus disabled.
* Fix the Enter key to 1) insert the selected tag when inside the
autocomplete menu, and 2) submit the search as normal when not inside
the autocomplete menu.
2018-02-14 22:09:14 -06:00
evazion
b877c037b2
autocomplete: factor out insert_completion function.
2018-02-14 20:23:37 -06:00
evazion
f0754c21f5
autocomplete: make enter key submit on exact match.
2018-02-13 10:52:43 -06:00
evazion
ab86c2049f
autocomplete: factor out parse_query function.
2018-02-13 10:36:20 -06:00
evazion
e8ab5cdc4c
Fix pool version ordering.
...
Pool version IDs aren't in the right order; order by updated_at instead.
2018-02-08 16:53:02 -06:00
evazion
84a0a89f4b
Fix #3539 : Open redirect vulnerabilities.
2018-02-07 19:52:52 -06:00
evazion
583520b97c
pagination helpers: convert to strong params.
2018-02-07 18:07:45 -06:00
evazion
cf27de2ec9
Fix #3532 : Make Enter key accept current tag during autocomplete.
...
Previously we patched the jqueryui-autocomplete library in order to
customize how the Tab and Enter keys behaved. Specifically, we wanted to
prevent the Tab key from moving the focus out of the tag input box, and
we wanted to prevent the Enter key from submitting the page when editing tags.
These things can achieved without patching the library by using
`event.preventDefault` and `event.stopImmediatePropagation` to prevent
other event handlers from running after these keys trigger the
`autocompleteselect` event.
2018-02-06 19:11:01 -06:00
evazion
f2a7d3c41a
/janitor_trials, /ip_bans: fix default ordering.
2018-02-04 16:48:35 -06:00
evazion
dac095f318
/user_feedbacks: change default order to created_at.
...
Order by created_at instead of by id because old feedbacks aren't in id order.
2018-02-04 16:43:00 -06:00
evazion
d4298ea493
Fix #3527 : Bookmarklet timeouts for Members.
2018-02-01 17:35:20 -06:00
evazion
5ea61c6921
/bans: fix undefined ordering when no params are passed.
...
Fixes the /bans listing being ordered randomly by default.
2018-01-28 15:38:12 -06:00
evazion
100c1d2828
Fix #3523 : Feedback notification dmails should include the text of the feedback.
2018-01-28 14:32:38 -06:00
evazion
64186c004f
Add pbs.twimg.com to artist finder blacklist.
...
ref: https://danbooru.donmai.us/forum_topics/14938 .
2018-01-26 18:30:18 -06:00
evazion
f8a5620768
Partial fix for #3514 : Handle https://twitter.com/i/web/status/:id URL.
2018-01-23 23:07:21 -06:00
evazion
2833239fa0
Fix #3513 : Missing rating error causes weird behavior in tag list on upload page.
...
Fix bug in the double submit prevention from #2789 . Rather than
unbinding the enter key on submit, have the enter key click the submit
button instead. This avoids form submission when the submit button is disabled.
2018-01-21 11:55:24 -06:00
evazion
46b0f9e6d6
Update dotenv.
...
dotenv-2.2.1 no longer loads .env.local in the test environment. Load it
manually for backwards compatibility.
2018-01-20 19:04:48 -06:00
evazion
074a4be38f
Update gems.
2018-01-20 19:04:48 -06:00
evazion
a923a64220
tests: fix pixiv profile image test.
2018-01-20 14:51:05 -06:00
evazion
53f7207716
tests: remove bad_id pixiv test.
2018-01-20 14:50:44 -06:00
evazion
57c4d2a54f
related tag calculator: fix unstable sorting of related tags.
...
Fix this test failure:
1) Failure:
RelatedTagCalculatorTest#test_: A related tag calculator should convert a hash into string format.
[test/unit/related_tag_calculator_test.rb:65]:
Expected: "aaa 3 bbb 3 ccc 2 ddd 1"
Actual: "bbb 3 aaa 3 ccc 2 ddd 1"
The related tag string didn't use a stable sort. Sort first by tag
count, then by tag name.
2018-01-20 14:33:36 -06:00
evazion
e596a7fd0f
tests: fix <char>_(cosplay) alias test.
2018-01-20 14:26:16 -06:00
evazion
83ab90d495
tests: fix tag removal warning tests.
2018-01-20 13:59:21 -06:00
evazion
2deefcc090
Fix exception when viewing /favorite_groups while logged out.
...
Also fixes a test failure in the favgroups controller tests.
2018-01-20 13:47:41 -06:00
evazion
e47c983cfd
tests: fix pawoo tags test.
2018-01-20 13:25:13 -06:00
evazion
c29785268d
tests: fix iqdb controller test ( #3479 ).
2018-01-20 13:22:05 -06:00
evazion
ce06736374
tests: fix timestamp comparison in artist notes saving test.
...
Equality test failed due to microsecond level differences. Truncate to
seconds to avoid this.
2018-01-20 13:08:40 -06:00
evazion
3d09ce5e55
tests: fix status:active test for #3472 .
2018-01-20 12:50:30 -06:00
evazion
989854b3dd
Fix #3507 : Include ban length in feedback.
2018-01-17 19:53:49 -06:00
evazion
7a0fb0f5d3
Fix #3500 : Redirect API endpoints with md5 query param to correct format.
2018-01-14 20:36:57 -06:00
evazion
88f4a56890
Fix #3497 : Invalid DText denial of service attack.
2018-01-14 16:14:18 -06:00
evazion
4f543671a2
tests: move test/helpers to test/test_helpers.
...
The Rails convention is for test/helpers to be used for testing the view
helpers in app/helpers. We were using it to store certain utility
methods instead. Move these to test/test_helpers so that test/helpers
can be used for its intended purpose.
2018-01-14 16:11:15 -06:00
evazion
7c8cfc1e31
Fix #3492 : Add corrupted_image to list of default removed tags for replacements.
2018-01-03 17:44:59 -06:00
evazion
f710710cbb
PostSets::Post#hide_from_crawler?: hide all metatag searches from crawlers.
2017-12-31 12:27:05 -06:00
evazion
f9ffa2b47a
Fix #3484 : /posts: don't show wiki tab for metatags.
2017-12-31 12:25:17 -06:00
evazion
89b523bdae
Fix #3480 : NoMethodError error when adding artist tag to post.
2017-12-30 16:07:52 -06:00
evazion
3e936748c0
Fix #3468 : Approval queue should not show one's own uploads or previous approvals.
2017-12-28 19:36:37 -06:00
evazion
1ca2497015
Fix #3474 : Spurious email notifications.
2017-12-28 18:50:08 -06:00
evazion
857fa24697
Fix #3473 : Validation warnings for no artist/copyright are still shown on upload failure.
2017-12-28 18:19:28 -06:00
evazion
d8eef6ef2b
Fix #1563 : Warn users attempting to upload with very few tags.
2017-12-27 15:04:00 -06:00
evazion
ad74d9e75a
Fix #3464 : CurrentUser.ip_addr isn't set for anonymous users.
2017-12-27 13:34:20 -06:00
evazion
1fc2284874
/users/new: show error message when account signup fails.
2017-12-27 13:34:20 -06:00
evazion
32ac09ee48
Add test for registering sock puppet accounts.
2017-12-27 13:33:57 -06:00
evazion
48b67967b5
Fix #3457 : Timeout when fetching source data from NicoSeiga.
2017-12-27 13:08:14 -06:00
evazion
e34754c65c
Possible fix for #3460 : Timeout in update_last_ip_addr.
...
Set the user's statement timeout as soon as possible, before updating
anything in the database.
2017-12-27 12:42:11 -06:00
evazion
952b5f9245
Fix bogus artist finder matches for http://www.nicovideo.jp/user/1234 .
2017-12-26 14:31:42 -06:00