Commit Graph
100 Commits
Author SHA1 Message Date
evazion c50ad41792 nginx.danbooru.conf: fix X-Forwarded-Proto.
Sending `http` is wrong, it causes a redirect loop if HSTS is enabled.
2018-04-19 00:45:55 -05:00
evazion 909c9aad5a Fix user id cache expiration.
Use a delayed job instead of a HTTP request to invalidate the user id
cache on both servers.
2018-04-19 00:45:51 -05:00
evazion e16ae00efc Fix hardcoded http:// urls. 2018-04-19 00:45:10 -05:00
evazion 83b96b4f3f Fix #3652: URL addons stripped when comments are created/edited. 2018-04-18 23:58:35 -05:00
evazion 5082a25321 uploads.js: fix call to $.unique (deprecated as of jQuery 3.0) 2018-04-18 19:02:17 -05:00
evazion 7d295a11d0 fixup! Fix #3654: Deviantart commentaries fail fetching. 2018-04-18 19:01:33 -05:00
evazion c4ae2bd2fa Fix #3654: Deviantart commentaries fail fetching. 2018-04-18 18:44:56 -05:00
evazion 9cafffd20a /user_upgrade/new: fix broken account upgrade link.
ref: https://danbooru.donmai.us/forum_posts/145267
2018-04-18 10:34:41 -05:00
evazion 0f883e7009 Fix #3649: Replace highlighting of "photoshop" with "third-party_edit" in modqueue. 2018-04-17 17:19:18 -05:00
evazion 17aabaca29 modqueue: move quality warning tags into config file. 2018-04-17 17:15:06 -05:00
evazion 41eba9d6b4 Move stylesheets/erb/* to stylesheets/specific/erb/*. 2018-04-17 16:55:52 -05:00
evazion 9b6136fb55 Fix missing parameter exception in /user_feedbacks/new.
ref: https://danbooru.donmai.us/forum_topics/9127?page=233#forum_post_145227
2018-04-17 10:23:55 -05:00
evazion e49e6f49bb Fix #3641: Can't add tags via Add Commentary dialog. 2018-04-16 12:12:28 -05:00
evazion 2c46191f99 artists: fix edit form fields not being prefilled.
* Fix the artist URLs field not being prefilled when clicking
  "Create new artist" in the "Fetch source data" box.

* Fix the artist name field not being prefilled when clicking
  "Create new artist entry" on the /artists/show_or_new?name=<name> page.
2018-04-14 21:26:45 -05:00
evazion d42ef7d7dc Fix #3642: Issues with sequential pagination.
As of Rails 5, overriding `to_a` on an ActiveRecord collection does
nothing. We need to override `records` instead.

ref: https://github.com/rails/rails/commit/cdd45fa09d76f7c16ccbb6682e672a44f82174a0
2018-04-14 10:56:20 -05:00
evazion 074b66bf27 pagination: prefer extending over `extend.
The `extending` method is the preferred way to add methods to an ActiveRecord collection.

* http://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-extending
* https://ruby-doc.org/core-2.5.0/Object.html#method-i-extend
2018-04-14 10:56:16 -05:00
evazion d2e2b3d2b1 pagination: add paginator tests. 2018-04-14 10:56:16 -05:00
evazion 5c94c0cefe Fix #3640: Can't undo votes. 2018-04-13 22:50:13 -05:00
evazion d66df41b58 Revert "common.js: show error on ajax failures." (#3640)
This reverts commit ad66b8abc9.
2018-04-13 22:50:03 -05:00
evazion 302994e5d9 Fix #3639: Favorite count pixiv tags aren't skipped by translated tags. 2018-04-13 22:39:52 -05:00
evazion 28cd633210 Fix #3637: Bookmarklet fails on artstation for some posts. 2018-04-13 11:18:09 -05:00
evazion 76792431be Fix #3636: Tag similarity on autocomplete no longer working. 2018-04-13 00:37:47 -05:00
evazion bca483cefd Fix #3628: Retry button is displayed for failed uploads that cannot succeed even if retried 2018-04-12 22:14:06 -05:00
evazion e4096460eb Fix #3622: Approval links on mod queue have same ID attribute. 2018-04-12 21:48:09 -05:00
evazion 611dacfd22 modqueue: remove dead "approve all" / "hide all" code (disabled since #2446). 2018-04-12 21:43:42 -05:00
evazion af02113e3c /wiki_pages/new: fix "param is missing or the value is empty: wiki_page" 2018-04-12 21:31:34 -05:00
evazion bc0488df26 Fix #3631: Can no longer edit existing notes. 2018-04-12 18:31:07 -05:00
evazion af9a09c2cb Fix #3626: Artist creation page doesn't autocomplete the name anymore. 2018-04-12 16:23:59 -05:00
evazion ad1ed5a510 Fix #3623: Changes to existing notes aren't being saved. 2018-04-12 14:52:50 -05:00
evazion 159b0e8a22 tests: add daily & weekly maintenance tests. 2018-04-11 22:33:28 -05:00
evazion 4233d2149f Fix delete_all / destroy_all calls. 2018-04-11 22:33:11 -05:00
evazion ab25e73cd7 deviantart: replace html scraper with api client (#3260). 2018-04-09 20:53:14 -05:00
evazion 2d6b7177de deviantart: add api client. 2018-04-09 20:53:06 -05:00
evazion 40827442c7 Fix #3614: IQDB: don't index placeholder thumbnails. 2018-04-08 12:15:24 -05:00
evazion 2cbec785ea Fix #3613: Broken preview images for flash files. 2018-04-08 11:49:30 -05:00
evazion 5f930630e5 danbooru_default_config.rb: allow setting boolean options in env vars.
Allow setting e.g. `aws_s3_enabled?` with DANBOORU_AWS_S3_ENABLED="true"
in the .env file.
2018-04-08 11:24:53 -05:00
evazion 4097305e52 StorageManager::Hybrid#open_file: fix typo. 2018-04-07 21:06:38 -05:00
evazion ad66b8abc9 common.js: show error on ajax failures.
Make `link_to ..., remote: true` ajax requests display an error notice on failure.
2018-04-07 18:04:43 -05:00
evazion 8de20d2b36 Iqdb::Download.find_similar: raise on iqdb errors.
* Raise an error on iqdb errors instead of returning no matches.
* Include the iqdb api response in the error response.
2018-04-07 18:03:10 -05:00
evazion b88a66dd30 Iqdb::Download.find_similar: simplify error handling.
Raise errors immediately to avoid deeply nested if-else statements.
2018-04-07 18:03:10 -05:00
evazion d8142a6c21 iqdb_queries_controller.rb: simplify show / check actions.
* Combine create_by_post + create_by_url. Rename to find_similar.
* Move iqdb enabled check to find_similar.
2018-04-07 18:03:01 -05:00
evazion 1b14545d0d Fix #3603: Unable to view images on Hijiribe/Sonohara when Danbooru domain is blocked. 2018-04-06 21:25:14 -05:00
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