761e1e25f7
Remove tables incorrectly excluded in Upload.migrate_to_new_scheme
.
...
Follow up to 4a03b21f80dbba720f2e828687fe1eca661b138b.
2019-04-25 20:27:52 +08:00
84cfe30c1f
Use update_all instead of save to select and update particular columns
...
9ec6ef85b64fa6be8cdbe0c7367a5a2706ac6596
2019-04-25 11:56:57 +05:30
4a03b21f80
Exclude large tables when remapping in Upload.migrate_to_new_scheme
.
...
Those tables do not carry any information about uploads.
2019-04-25 11:55:48 +08:00
be88ac8b7e
Additional old Upload#url
format for Upload.migrate_to_new_scheme
.
2019-04-24 18:19:25 +08:00
9ec6ef85b6
Don't validate post when saving in Upload.migrate_to_new_scheme
.
2019-04-24 17:17:31 +08:00
3c9495b989
DEV: Put a mutex around Upload.migrate_to_new_scheme
.
...
This ensures that only one migration is running at any given point in
time across the instances.
2019-04-24 17:07:10 +08:00
55f406bb79
Follow up to 845b68f9abfad82226a4bd90ce3d7cecd1f99357.
2019-04-24 16:57:45 +08:00
845b68f9ab
Update possible upload url format for Upload.migrate_to_new_scheme
.
2019-04-24 16:26:54 +08:00
c811e59898
Avoid hardcoding db name in Upload.migrate_to_new_scheme
.
2019-04-24 15:25:24 +08:00
573ddcbbd0
Disable migrate_to_new_scheme once there is nothing to migrate.
2019-04-24 14:00:00 +08:00
3094a603b7
Follow up to 149411ec90ad443cc662b7ef307ce76f83a774e1.
2019-04-24 12:20:53 +08:00
149411ec90
PERF: Speed up Upload.migrate_to_new_scheme
by limiting remap scope.
...
Doing a `LIKE` on `Post#raw` and `Post#cooked` takes forever on large
sites.
2019-04-24 11:56:48 +08:00
914ada1c74
DEV: convert scheduled job EnsurePostUploadsExistence into a rake task
2019-04-09 02:07:35 +05:30
52c4711e80
DEV: Fix method that was incorrectly made private.
2019-04-03 12:37:50 +08:00
4037a2fd0b
FIX: Restrict scope of old scheme upload migration.
...
Some sites have external URLs that don't even match `%/uploads/%' and
some sites surprise me with URLs that contains the default path when it
is a site in a multisite cluster. We can't do anything about those.
2019-04-03 11:56:41 +08:00
feb731bffd
FIX: Regenerate optimized images instead of migrating from old scheme.
...
`OptimizedImage.migrate_to_new_scheme` was optimizing optimized images
which we don't need to do. Regnerating the optimized image is way easier.
2019-04-03 09:45:02 +08:00
d0a1922ad9
FIX: Upload.migrate_to_new_scheme
undefined error when external image fails to download.
2019-03-28 16:00:13 +08:00
161a3c3870
DEV: Don't optimize image when migrating to new scheme.
...
The image has already been uploaded, the migrate to new scheme job's is
just to correct the scheme and not the content of the upload.
2019-03-26 15:12:10 +08:00
0ac6a58b09
FIX: Skip validation when saving in Upload#migrate_to_new_scheme
.
2019-03-26 14:28:39 +08:00
40b03e717b
FIX: Upload#migrate_to_new_scheme
should not migrate system uploads.
2019-03-14 12:45:03 +08:00
b0c8fdd7da
FIX: Properly support defaults for upload site settings.
2019-03-13 16:36:57 +08:00
58b0e945bd
UX: Lightbox support for image uploader. ( #7034 )
2019-02-21 10:13:37 +08:00
95f263995d
FIX: Previous annotations were broken
2019-01-11 14:30:19 -05:00
a3839495e0
Update annotations
2019-01-11 12:19:43 -05:00
75dbb98cca
FEATURE: Add S3 etag value to uploads table ( #6795 )
2019-01-04 14:16:22 +08:00
303a535dba
PERF: automatic upload size calculation not persisted
...
Previously if upload had missing width and height we would calculate
on first use BUT we (me) forgot to save this to the database
This was particularly bad on home page cause category images (when old)
miss dimensions.
2018-12-26 17:19:29 +02:00
662cfc416b
FEATURE: Show a blurry preview when lazy loading images
...
This generates a 10x10 PNG thumbnail for each lightboxed image.
If Image Lazy Loading is enabled (IntersectionObserver API) then
we'll load the low res version when offscreen. As the image scrolls
in we'll swap it for the high res version.
We use a WeakMap to track the old image attributes. It's much less
memory than storing them as `data-*` attributes and swapping them
back and forth all the time.
2018-12-19 01:57:30 +08:00
e593d68beb
Use an options hash instead of boolean parameters
2018-12-19 01:57:30 +08:00
f8e6a37858
FIX: raise exception when getting dimensions of missing image
...
- follow-up on 0eacd45ab15cbd20ed9f444fd447886a7fc6dccb
2018-12-03 10:19:49 -05:00
0eacd45ab1
FIX: refactor ImageSizer.resize
...
reverts 140d9c2
2018-11-29 15:28:45 -05:00
140d9c2910
FIX: call ImageSizer only if width/height are available
2018-11-29 15:03:02 -05:00
44391ee8ab
FEATURE: Upload Site Settings. ( #6573 )
2018-11-14 15:03:02 +08:00
3e17ef0507
Merge pull request #6414 from techAPJ/user-field-unique-key
...
FEATURE: add external details to user fields
2018-09-20 22:29:39 +05:30
df45e82377
SECURITY: only allow picking of avatars created by self ( #6417 )
...
* SECURITY: only allow picking of avatars created by self
Also adds origin tracking to all uploads including de-duplicated uploads
2018-09-19 22:33:10 -07:00
72be638728
FEATURE: add external details to user fields
2018-09-20 08:10:51 +05:30
4a92c5b2d6
UploadRecovery
should recover attachments too.
2018-09-19 10:44:36 +08:00
3884e99e88
Add extra protection in Upload#get_from_url
.
...
In case the extension goes missing from the URL.
2018-09-12 00:12:14 -07:00
b3469bea2d
FIX: Uploads not being linked correctly to posts.
...
Regression due to 1f636c445b
.
2018-09-11 23:50:23 -07:00
e1b16e445e
Rename FileHelper.is_image?
-> FileHelper.is_supported_image?
.
2018-09-12 09:22:28 +08:00
04d26c65e2
Refactor Upload.get_from_url
to check length of sha1.
2018-09-10 10:10:39 +08:00
1f636c445b
PERF: Add fast path to find uploads before resorting to LIKE
query.
...
For a normal upload url
Before
```
Warming up --------------------------------------
264.000 i/100ms
Calculating -------------------------------------
2.754k (± 8.4%) i/s - 13.728k in 5.022066s
```
After
```
Warming up --------------------------------------
341.000 i/100ms
Calculating -------------------------------------
3.435k (±11.6%) i/s - 17.050k in 5.045676s
```
2018-09-06 14:44:24 +08:00
e1975e293f
FIX: when uploads are destroyed clear up avatar refs in user table
...
This also auto corrects twice daily when we ensure consistency
2018-08-31 14:46:42 +10:00
9ab1fb7dfc
FEATURE: correctly store width and height on uploads
...
Previously we used width and height for thumbnails, new code ensures
1. We auto correct width and height
2. We added extra columns for thumbnail_width and height, this is determined
by actual upload and no longer passed in as a side effect
3. Optimized Image now stores filesize which can be used for analysis, decisions
Also
- fixes Android image manifest as a side effect
- fixes issue where a thumbnail generated that is smaller than the upload is no longer used
2018-08-28 12:59:22 +10:00
9628c3cf97
FEATURE: automatically correct extension for bad uploads
...
This fixes with post thumbnails on the fly
2018-08-17 14:00:27 +10:00
796164b58c
FIX: automatically correct bad avatars on access
...
Also start relying on upload extension for optimized images
2018-08-16 16:32:56 +10:00
de92913bf4
FIX: store the topic links using the cooked upload url
2018-08-14 12:23:32 +02:00
0cd9e2acb9
fix build
2018-08-04 01:56:26 +02:00
bf4d98e89d
FIX: always store topic links using the upload url
2018-08-04 01:29:32 +02:00
875008522d
FIX: Discourse.S3BaseUrl
did not account for subfolder bucket names.
2018-07-06 15:53:57 +08:00
7163bf9323
FIX: Upload.get_from_url
not respective subfolder in s3 bucket names.
2018-07-06 11:37:11 +08:00