Neil Lalonde
b2af1101d9
Version bump to v2.4.0.beta1
2019-06-17 20:49:28 -04:00
Penar Musaraj
4bbb43cb2b
DEV: pull plugin repos before linting them
2019-06-14 13:50:15 -04:00
Sam Saffron
ecb2fd8222
DEV: improve db:create to catch all cases
...
- No RAILS_ENV - create multisite / dev / test
- `test` RAILS_ENV - create multisite / test
2019-06-14 15:47:05 +10:00
Sam Saffron
a01488ae67
DEV: improve on rake db:create
...
Followup on 3af00a65
which broke build
2019-06-14 15:06:07 +10:00
Sam Saffron
3af00a65e6
FIX: site settings loading default values when no db
...
This fixes a condition where an intermittent db connection could cause
invalid site settings to be stored
It also removes a catch all we had.
Somewhere around Rails 5 `db:create` started wanting full environment
this is a problem for Discourse since it needs to boot up data from the
db.
This removes the catch all and surgically adds a db / redis bypass to
db:create task.
2019-06-14 14:21:07 +10:00
Guo Xiang Tan
eaa7527933
DEV: Switch `posts:inline_uploads` scope to be more generic.
2019-06-14 11:53:34 +08:00
Penar Musaraj
4182d8638c
Remove duplicate entry for discourse-yearly-review
2019-06-13 13:56:38 -04:00
Vinoth Kannan
35d6fff69e
PERF: use url instead of file key in temporary inventory table.
2019-06-13 22:03:58 +05:30
David Taylor
ed21128ee6
FIX: Do not change directory when decompressing S3 inventory
...
In sidekiq, jobs are run in multiple threads within the same process. `cd` affects the entire process, so can cause unexpected issues in other running jobs.
2019-06-13 17:13:50 +01:00
Penar Musaraj
66b15b9d87
DEV: support installing plugin gems in test images
...
- adds plugin:install_all_gems rake task
- adds UPDATE_ALL_PLUGINS env variable in docker:test
2019-06-13 09:58:57 -04:00
Guo Xiang Tan
9bce3d5e65
DEV: Multisite support for `rake posts:inline_uploads`.
2019-06-13 16:13:45 +08:00
Sam Saffron
215216df48
FIX: stop re-downloading backup maxmind
...
We omitted updating the mmdb_time which changed causing a constant
re-download of the maxmind db
2019-06-13 17:42:26 +10:00
Sam
fa2a5f6f56
FEATURE: SKIP_DB_AND_REDIS env var ( #7756 )
...
Sometimes we would like to create a base image without any DB access, this
assists in creating custom base images with custom plugins that already
includes `public/assets`
Following this change set you can run:
```
SPROCKETS_CONCURRENT=1 DONT_PRECOMPILE_CSS=1 SKIP_DB_AND_REDIS=1 RAILS_ENV=production bin/rake assets:precompile
```
Then it is straight forward to create a base image without needing a DB or
Redis.
2019-06-13 12:58:27 +10:00
Penar Musaraj
e47ca6633b
DEV: Fix plugin:update_all task
...
Reenable subtask so it loops through all plugins.
Only run for plugins that are git repositories.
2019-06-12 17:21:56 -04:00
Guo Xiang Tan
d49c193289
FIX: `posts:inline_uploads` rake task needs to bypass bump.
2019-06-12 09:13:31 +08:00
Bianca Nenciu
934adb14d2
FIX: On tag change notify only users watching the tag. ( #7707 )
2019-06-11 18:06:54 +03:00
Guo Xiang Tan
864222372f
Remove incorrectly committed byebug.
...
Follow up to 49b921147a
.
2019-06-11 16:33:49 +08:00
Guo Xiang Tan
49b921147a
FIX: Undefined method in `posts:inline_uploads`.
2019-06-11 16:28:41 +08:00
Guo Xiang Tan
40e67971f9
DEV: Add spec for `Email::Sender` for upload links in plain text emails.
2019-06-11 16:02:24 +08:00
Guo Xiang Tan
42ab016856
FIX: Use markdown for images and attachments in `Email::Receiver`.
2019-06-11 14:49:46 +08:00
Dan Ungureanu
a046f6ced5
FEATURE: Trigger Discourse events from authenticators. ( #7724 )
2019-06-11 11:28:42 +10:00
Guo Xiang Tan
06d974d55c
FEATURE: Add base62 sha1 to cooked data attribute
...
* FEATURE: Add base62 sha1 to data attribute in `Post#cooked`.
* FIX: Use `Upload#short_url` when quoting an image.
2019-06-11 11:15:45 +10:00
Neil Lalonde
62345a7f8d
Version bump to v2.3.0.beta11
2019-06-10 13:09:47 -04:00
Guo Xiang Tan
1cf3bf016c
Make rubocop happy.
2019-06-10 09:49:02 +08:00
Guo Xiang Tan
29259b46ae
DEV: Verbose mode for `posts:inline_uploads` rake task.
2019-06-10 08:59:11 +08:00
Vinoth Kannan
d74ee9dbce
DEV: skip S3 inventory records without correct multisite prefix.
2019-06-08 18:36:06 +05:30
Sam Saffron
1d76b7b7b5
PERF: fix N+A+lot query
...
reviewable_counts could be `{}` which is technically blank.
We wanted to check for nil here
2019-06-08 12:30:21 +10:00
Gerhard Schlager
19edc4abb8
FIX: English locale must not fall back to any other locale
2019-06-07 21:53:01 +02:00
Neil Lalonde
a08b2589d4
FIX: removing hidden tag bumps topic when all tags are removed
...
JS sends empty string to remove all tags.
2019-06-07 14:25:46 -04:00
Joffrey JAFFEUX
8cd13b22a1
DEV: allows smoke test to run on macOS ( #7735 )
2019-06-07 18:20:48 +02:00
David Taylor
e3a9a2d2dd
FIX: Avoid infinite loop if disk space is low
...
We now continue to enqueue the pull_hotlinked_images job for optimized images, even if disk space is low
2019-06-07 14:24:22 +01:00
David Taylor
65b0cafc03
FIX: Always schedule pull_hotlinked_images in cooked_post_processor
...
The job is now used to pull optimized images, and images from other sites on the same CDN. This needs to run even if download_remote_images is false
2019-06-07 13:08:23 +01:00
Sam Saffron
f88dced0b7
PERF: optimize lookup of reviewable info in post stream
...
This previously was a hot path in topic view. Avoids an expensive active
record operation and instead perform SQL directly which is far more
targeted and efficient
2019-06-07 18:12:30 +10:00
Dan Ungureanu
8bd815dab2
FIX: Permit new tags when allow_global_tags true. ( #7722 )
2019-06-07 15:45:16 +10:00
Régis Hanol
b1c5ea4289
FIX: use URI.regexp to find URLs in plain text
2019-06-07 01:26:06 +02:00
Vinoth Kannan
b7830680b6
DEV: use cdn url to download the external uploads to local.
2019-06-06 19:17:19 +05:30
Bianca Nenciu
f63b8bb79d
FIX: Periodically ensure consistency of categories. ( #7663 )
2019-06-06 11:30:52 +02:00
Penar Musaraj
f00275ded3
FEATURE: Support private attachments when using S3 storage ( #7677 )
...
* Support private uploads in S3
* Use localStore for local avatars
* Add job to update private upload ACL on S3
* Test multisite paths
* update ACL for private uploads in migrate_to_s3 task
2019-06-06 13:27:24 +10:00
Roman Rizzi
c3a38d2304
DEV: Make groups/new extensible by plugins ( #7642 )
...
* Expose a new plugin outlet. Pass group model to the group-member-dropdown so it can be accessed by plugins
* Added controller tests for group custom fields. update custom fields when updating a group
2019-06-06 12:05:33 +10:00
Robin Ward
f1d547c301
FEATURE: Show "in reply to" on the review queue
...
We now show if a queued or flagged post is a reply to another when in
the review queue. It's especially helpful for queued posts where
normally they are linked to the topic where they are created, and you
have no context about the reply.
Note that this will only apply to new queued posts going forward.
Previously queued posts will not show the "in reply to"
2019-06-05 12:34:41 -04:00
Gerhard Schlager
a77d8bee68
FIX: Use correct locale when translating without cache
...
follow-up to 6d8eb9c1
2019-06-05 14:19:56 +02:00
Sam Saffron
19e3b3b1bc
PERF: speed up topic poster lookups
...
During profiling looking up topic users popped up as a hot path, this
change more than halved the amount of work it does
It reduces object allocations and method calls and avoids repeate translation
of common terms
2019-06-05 18:28:36 +10:00
Sam Saffron
62141b6316
FEATURE: enable_performance_http_headers for performance diagnostics
...
This adds support for DISCOURSE_ENABLE_PERFORMANCE_HTTP_HEADERS
when set to `true` this will turn on performance related headers
```text
X-Redis-Calls: 10 # number of redis calls
X-Redis-Time: 1.02 # redis time in seconds
X-Sql-Commands: 102 # number of SQL commands
X-Sql-Time: 1.02 # duration in SQL in seconds
X-Queue-Time: 1.01 # time the request sat in queue (depends on NGINX)
```
To get queue time NGINX must provide: HTTP_X_REQUEST_START
We do not recommend you enable this without thinking, it exposes information
about what your page is doing, usually you would only enable this if you
intend to strip off the headers further down the stream in a proxy
2019-06-05 16:08:11 +10:00
Sam Saffron
6d8eb9c144
PERF: bypass slow locale lookups in various cases
...
Previously as soon as any override was defined we would regress to the slow
path for locale lookups. Additionally if `raise: true` was specified which
rails likes to add in views we would bypass the cache
The new design manages to use the fast path for many more cases
2019-06-05 14:30:25 +10:00
Daniel Waterworth
3407445831
FIX: Prevent deadlock ( #7691 )
...
Before the locking here was added, replying to a post and liking a post
at roughly the same time could cause a deadlock.
Liking a post grabs an update lock on the post and then on the topic (to
update like counts).
We now lock the replied to post before getting the topic lock so that we
can update the replied to post later without causing a deadlock.
2019-06-05 11:29:27 +10:00
Neil Lalonde
1cf0b549ab
FIX: don't send post edit notification when hidden tags are changed
...
Create a hidden revision so staff can see the changed, but don't send
notifications to non-staff.
2019-06-04 15:48:15 -04:00
Neil Lalonde
dd1a034e7b
Revert "FIX: don't send post edit notification when hidden tags are changed"
2019-06-04 15:48:15 -04:00
Gerhard Schlager
98a3e61a2d
FIX: Remapping URLs didn't affect upload site settings
2019-06-04 18:37:10 +02:00
Gerhard Schlager
f7a2648694
FEATURE: Migrate uploads to S3 during restore
2019-06-04 15:47:36 +02:00
Gerhard Schlager
fb121815a5
DEV: Allow rebaking oncooked posts of single site
2019-06-04 15:47:36 +02:00
Régis Hanol
9756e35956
REVERT: FIX: handle clicks counters in quotes
...
Not quite a full revert of 7696b92c8c
that isn't
actually required.
2019-06-04 11:59:44 +02:00
David Taylor
0508546fd2
FIX: Accept github theme urls with a trailing slash
2019-06-04 10:28:36 +01:00
Maja Komel
87d3b86484
FIX: better error message when user without permissions replies via email
2019-06-04 16:39:41 +08:00
Guo Xiang Tan
1991af2abb
DEV: Switch `InlineUploads` to a regexp based implementation.
2019-06-04 15:54:25 +08:00
Guo Xiang Tan
d93e5fb00d
DEV: Class that converts MD with old attachment links to new MD.
2019-06-04 15:54:25 +08:00
Arpit Jalan
af20d616de
FEATURE: new rake task to invalidate broken images in post
2019-06-04 12:40:51 +05:30
Sam Saffron
6300d978e2
FIX: correctly escape regex url
...
duplicate link detection could fail in certain cases
2019-06-04 16:21:03 +10:00
David Taylor
81dcadf788
DEV: Stop compiling themes during DB migration. Recompile on cdn change. ( #7676 )
...
This is an improved implementation for bc8b7b13
2019-06-03 16:38:02 +01:00
Penar Musaraj
16982d2a69
Update UI for wizard themes further reading step ( #7669 )
2019-06-03 10:47:17 -04:00
Robin Ward
f86a5bd5a9
FIX: Regression with finding reviewable counts on topics
...
This was a fairly serious regression on sites with large (mega) topics,
however it was limited to staff.
The issue here is the query was using filtered_post_ids which I'd
assumed was already windowed to the current page, when in fact it was
all the ids in the topic. This fix corrects it by using the correct
windowed collection.
2019-06-03 09:08:39 -04:00
David Taylor
5e61893cb2
FIX: Display generic descriptor for associated account with no info
2019-06-03 12:14:02 +01:00
David Taylor
7500eed4c0
FEATURE: Multi-file javascript support for themes ( #7526 )
...
You can now add javascript files under `/javascripts/*` in a theme, and they will be loaded as if they were included in core, or a plugin. If you give something the same name as a core/plugin file, it will be overridden. Support file extensions are `.js.es6`, `.hbs` and `.raw.hbs`.
2019-06-03 10:41:00 +01:00
Dan Ungureanu
c1e7a1b292
UX: Merge settings related to muted tags. ( #7656 )
2019-06-03 12:23:23 +10:00
Maja Komel
42809f4d69
FIX: use crawler layout when saving url in Wayback Machine ( #7667 )
2019-06-03 12:13:32 +10:00
Rafael dos Santos Silva
725588f835
FIX: migrate_to_s3 wasn't IAM profile aware
2019-06-01 12:09:46 -03:00
Andrew Schleifer
d9abfafd72
north_korea: swap name/alias
...
because it needs to match the filename
2019-05-31 23:05:07 -05:00
Robin Ward
743ce093a9
FIX: Use the full URL for reviewable content to make the API easier
2019-05-31 15:29:53 -04:00
David Taylor
03363d03e8
FEATURE: Load theme setting descriptions from theme locale files
...
Previously theme setting descriptions were defined in the `settings.yml` file like this:
```
setting_name:
default: "My Default Value"
description:
en: "English description"
fr: "French description"
```
This commit allows developers to store the localised descriptions in the theme locale files instead:
```
en:
theme_metadata:
description: Theme Description
settings:
setting_name: "The localised description for setting_name"
```
2019-05-31 14:49:59 +01:00
Arpit Jalan
388433ec06
DEV: remove unused method (rake task deleted in 6a274fd
)
2019-05-31 11:16:10 +05:30
Arpit Jalan
5c526e5abb
FEATURE: new rake task to watch all replied topics
2019-05-31 11:08:00 +05:30
Guo Xiang Tan
6a274fd2cd
DEV: Remove redundant rake task.
...
Onceoff job created in 028121b95b
2019-05-31 10:05:13 +08:00
Andrew Schleifer
cbaa9c4fca
harmonize korean aliases
2019-05-30 15:48:12 -05:00
Robin Ward
2e0a40007b
FIX: Category topics should not be deletable via review queue
2019-05-30 16:43:23 -04:00
Neil Lalonde
b4d1416076
Version bump to v2.3.0.beta10
2019-05-30 13:45:10 -04:00
Bianca Nenciu
8196af165d
FIX: Add Chromebook detection.
2019-05-30 16:29:51 +03:00
Joffrey JAFFEUX
2548d5b0e3
DEV: autospec chrome check was failing on macOS ( #7649 )
2019-05-30 12:09:01 +02:00
Sam Saffron
0ba4ea9718
DEV: bin/rake autospec not working when saving a js file
...
Frozen string issue
2019-05-30 16:09:45 +10:00
romanrizzi
2fa8df7cd2
New: can_see_groups? method for better perf
2019-05-30 08:45:20 +08:00
Dan Ungureanu
8728850452
FEATURE: Mute topics tagged with both muted and unmuted tags.
2019-05-30 07:58:17 +08:00
Arpit Jalan
23fdaf07f2
FIX: create system message in user selected locale
...
DEV: refactor `create_from_system_user` to use `create` method
2019-05-29 21:43:43 +05:30
Bianca Nenciu
227c45107d
FEATURE: Implement Onebox for posts including polls. ( #7539 )
2019-05-29 17:05:52 +02:00
Joffrey JAFFEUX
630e9814bc
datetime is not available at this point ( #7630 )
2019-05-29 14:06:32 +02:00
Joffrey JAFFEUX
6439004161
DEV: do not use STDERR to print tests timestamps ( #7629 )
2019-05-29 13:28:02 +02:00
Guo Xiang Tan
a3938f98f8
Revert changes to `FileStore::S3Store#path_for` in f0620e7118
.
...
There are some places in the code base that assumes the method should
return nil.
2019-05-29 18:39:07 +08:00
Joffrey JAFFEUX
5d47d1833b
DEV: prints timestamp at every docker:test commands ( #7628 )
2019-05-29 12:20:33 +02:00
Vinoth Kannan
e12ae453e9
FIX: verify the exitence of s3_object properly without db name
2019-05-29 15:10:36 +05:30
Vinoth Kannan
9a9a06e34b
DEV: add option to skip etag verification on 'migrate_to_s3' rake task
2019-05-29 14:16:36 +05:30
Guo Xiang Tan
a206da8e18
DEV: Mark `discourse-encrypt` plugin as official.
2019-05-29 10:20:46 +08:00
Guo Xiang Tan
f0620e7118
FEATURE: Support `[description|attachment](upload://<short-sha>)` in MD take 2.
...
Previous attempt was missing `post_uploads` records.
2019-05-29 09:26:32 +08:00
Penar Musaraj
a93aa5bbce
Add "further reading for themes" step to wizard
2019-05-29 08:28:03 +08:00
Penar Musaraj
7c9fb95c15
Temporarily revert "FEATURE: Support `[description|attachment](upload://<short-sha>)` in MD. ( #7603 )"
...
This reverts commit b1d3c678ca
.
We need to make sure post_upload records are correctly stored.
2019-05-28 16:37:01 -04:00
Vinoth Kannan
b3779dc377
DEV: rename 'uploads:missing' rake task into 'uploads:missing_files'.
...
To improve the readability.
2019-05-28 23:30:43 +05:30
Guo Xiang Tan
b1d3c678ca
FEATURE: Support `[description|attachment](upload://<short-sha>)` in MD. ( #7603 )
2019-05-28 11:18:21 -04:00
Penar Musaraj
42818b810e
Better handling of custom SVG sprites in themes when using S3
2019-05-28 10:58:19 -04:00
Ralph Rooding
04abf18194
Fixed typo in S3 rake task
2019-05-28 16:57:55 +08:00
Sam Saffron
3d2c3bd478
FIX: username suggester incorrectly skipping over whitelisted username
...
SSO uses a special param to username suggester that whitelists a username
due to previous work we amended our lookup logic and started ignoring this
whitelist.
The fix ensures we always respect it, and also improves on the original
implementation that forgot to normalize the username.
2019-05-28 16:48:46 +10:00
Sam Saffron
9a232e1a0a
FEATURE: use GIVE_UP=1 to inform rake posts:missing_uploads you are done
...
We need this give up for cases where uploads can not be recovered
This also improves the recovery routines
2019-05-28 14:44:59 +10:00
Sam Saffron
c780d36ddc
DEV: Correct posts:recover_uploads_from_index
...
Was creating a blank index file by mistake
2019-05-28 12:39:39 +10:00
Sam Saffron
3de8c58134
DEV: clean up backup maxmind path
...
This follows up on 6580025a
reuses a list and removes a map that was erronuously there.
2019-05-28 11:47:58 +10:00
Sam Saffron
769501c63a
FIX: exception which was meant to be ignored and logged was failing
...
Thanks to Darix!
2019-05-28 11:45:12 +10:00
Sam Saffron
7429700389
FIX: ensure we can download maxmind without redis or db config
...
This also corrects FileHelper.download so it supports "follow_redirect"
correctly (it used to always follow 1 redirect) and adds a `validate_url`
param that will bypass all uri validation if set to false (default is true)
2019-05-28 10:28:57 +10:00
Sam Saffron
e4e2acf148
FIX: rake maxminddb:get broke cause it required environment
2019-05-28 08:59:28 +10:00
Robin Ward
d95a68b837
FEATURE: When suspending a user, allow the Delete + Replies action
...
Previously you could only delete the post
2019-05-27 12:27:16 -04:00
Dan Ungureanu
6bd082feab
FIX: Update mapping between locales and Postgres dictionaries. ( #7606 )
2019-05-27 16:52:09 +03:00
Blake Erickson
373b8a2139
FIX: Consistently handle category param
...
See https://meta.discourse.org/t/api-post-to-posts-json-inconsistent-between-users/118571
for more info.
This commit removes a 5 year old temporary fix that is no longer needed.
bc1824a6ed (diff-d8c648926664f849aec050757bfcb6f9R72)
The web interface uses category_id when creating a topic so I think we
should unify on category_id when using the api.
2019-05-27 16:39:56 +08:00
Sam Saffron
6580025af9
FEATURE: add backup directory for mmdb files
...
This new `DISCOURSE_MAXMIND_BACKUP_PATH` can be used a secondary location
for maxmind db. That way a build machine, for example can cache it on the
host and reuse between builds.
Also per 5bfeef77
added proper error raising for download fails from
dedicated rake task
This also moves "refresh_maxmind_db_during_precompile_days" to a global
setting, it did not make sense in a site setting
2019-05-27 16:51:24 +10:00
Guo Xiang Tan
f54e4b71b1
DEV: Make `CookedPostProcessor#post_process_images` method private.
2019-05-27 11:28:37 +08:00
Dan Ungureanu
da39d66e83
DEV: Improve support for plugins. ( #7332 )
...
* DEV: Allow NewPostManager handlers handle PMs.
* DEV: Add custom fields topic option to PostCreator.
* DEV: Add topic_id to serializer data.
* DEV: Wrap topic title from notification item in a span.
2019-05-25 16:53:03 +03:00
Régis Hanol
d6aacadc4e
make 🤖 happy
2019-05-25 00:32:29 +02:00
Régis Hanol
4e5305cb67
FIX: catch proper exception
2019-05-25 00:14:54 +02:00
Michael Brown
5bfeef7705
FIX: warn instead of excepting if MaxMind DBs can't be downloaded ( #7600 )
2019-05-25 00:08:00 +02:00
Régis Hanol
3bc99e5372
FIX: gunzip the downloaded file
2019-05-25 00:02:23 +02:00
Michael Brown
14c7aa8829
FIX: gz_file might be nil here
2019-05-24 16:11:10 -04:00
Robin Ward
89b84651c3
Migrate score settings to use sensitivities
...
We hide scores so these settings no longer made sense.
2019-05-24 15:44:24 -04:00
Régis Hanol
82f162962f
DEV: use different MaxMindDB download endpoint
2019-05-24 20:11:24 +02:00
Régis Hanol
2f5938c3bf
DEV: use FileHelper to download MaxMindDB
2019-05-24 18:11:39 +02:00
Régis Hanol
8c9ffee3af
TEMP: log more information when failing to download db
2019-05-24 17:33:52 +02:00
Régis Hanol
9ed2c54e27
TEMP: log information when failing to download db
2019-05-24 17:26:04 +02:00
Osama Sayegh
e20c30987c
FEATURE: detect theme errors and catch them ( #7589 )
...
* FEATURE: detect theme errors and catch them
* Bump COMPILER_VERSION
* Feedback
* Override eslint no console for one line
* Can't use our ajax method
* remove emoji from translation file
2019-05-24 17:25:55 +03:00
Régis Hanol
a51e2271af
DEV: remove temporary rescue when downloading MaxMindDB
...
follow-up 8c8c925d1b
2019-05-24 15:13:19 +02:00
Gerhard Schlager
c1e9a70d59
FIX: Fallback locale was not available for extra translations
...
Translations from fallback locales were not sent to the client
for admin_js and wizard_js.
2019-05-24 11:38:26 +02:00
Régis Hanol
0e24cb0f78
DEV: don't skip discourse-calendar plugin specs
2019-05-24 11:35:22 +02:00
Sam Saffron
9ce06d53d1
DEV: improve upload recovery rake task
...
- Better error handling
- Automatically generates index file if missing
- Improved output
2019-05-24 13:36:03 +10:00
Guo Xiang Tan
791241e0b2
DEV: Fix rake task to delete old export topics.
2019-05-24 11:20:53 +08:00
Sam Saffron
76f7e90e23
FEATURE: rake posts:recover_uploads_from_index improvements
...
We now recover more smartly based on failed db remaps as well.
2019-05-24 12:38:38 +10:00
Régis Hanol
f9bb8dde3c
TEMP: output the error to STDERR
2019-05-23 16:55:04 +02:00
Régis Hanol
8c8c925d1b
TEMP: catch exception when failing to download MaxMindDB
2019-05-23 16:30:21 +02:00
Régis Hanol
cb3ddeca40
DEV: remove unnecessary requires
2019-05-23 16:01:40 +02:00
Sam Saffron
1059aafc55
FEATURE: rake task for recovery of uploads from an index file
...
`rake posts:recover_uploads_from_index`
Searches through all missing uploads in the cluster, if it finds one it
tries to find it in the "upload index file" and creates a new upload for
it.
2019-05-23 17:08:22 +10:00
Sam Saffron
7ce58df7bf
lint the file
...
somehow I did not notice this on save
2019-05-23 15:28:41 +10:00
Sam Saffron
a5ce9cb470
FEATURE: fix_relative_upload_links now multisite safety
...
This also finds `<img src="/uploads/xyz` HTML images in raw and corrects
them. Also handles some cross multisite recovery and provides better output
2019-05-23 15:09:16 +10:00
Sam Saffron
96e58125a7
FEATURE: rename task to posts:destroy_old_data_exports
...
Previously we were only catching one type of data export, the new job will
catch every csv export we have
Job is pretty safe as it filters on system user id / pm with a particular
slug
2019-05-23 15:02:56 +10:00
Sam Saffron
954293655f
FEATURE: rake posts:destroy_old_user_data_exports
...
Historically we would keep the user data export posts around but delete
the uploads.
This leaves a lot of broken uploads in the system.
This rake task allows us to clean up old mess.
2019-05-23 11:11:37 +10:00
Bianca Nenciu
631b16ef86
FIX: Fix build.
...
Follow-up to 25453eb
.
2019-05-22 17:39:44 +03:00
Bianca Nenciu
25453eb922
FIX: Avoid logging a warn for 404s.
2019-05-22 15:18:38 +03:00
Gerhard Schlager
e224100023
FIX: Don't convert :) into Emoji when emojis or emoji shurtcuts are disabled
2019-05-22 11:44:39 +02:00
Sam Saffron
e8799f0ba4
DEV: improve uploads:recover job so it stores a map of old to new sha
...
Previous attempt created broken images
2019-05-22 15:51:09 +10:00
Sam Saffron
ebcb571de7
FIX: allow upload recovery to recover uploads with sha mismatch
...
Filename on disk may mismatch sha of file in some old 1X setups. This will
attempt to recover file even if sha1 mismatches. We had an old bug that
caused this.
This also adds `uploads:fix_relative_upload_links` which attempts to replace
urls of the format `/upload/default/...` with `upload://`
2019-05-22 15:24:36 +10:00
Sam Saffron
f772ecc597
DEV: Correct missing output detailing failure
...
uploads:s3_migration_status was failing but not returning proper output
2019-05-22 12:58:54 +10:00
Guo Xiang Tan
5429c9b5e9
DEV: Fix incorrectly hardcoded value in rake task.
2019-05-22 09:01:25 +08:00
Sam Saffron
a9af77d650
PERF: ensure priority for rake rebake tasks is ultra low
...
Flooding the default queue with lots of jobs is never a good thing. This
reduces the risk of sidekiq going into a bad state post rebake
2019-05-22 10:31:49 +10:00
Sam Saffron
d6daa60d0a
FEATURE: multisite support for posts:rebake_uncooked_posts
2019-05-22 10:04:54 +10:00
Sam Saffron
a2428bd862
FEATURE: warn about sidekiq overload prior to migrating
...
Also makes pre-flight check ensure there is no giant backlog of posts that
need to be cooked
2019-05-22 10:04:33 +10:00
Sam Saffron
5fdc7b7ca2
Correct 59012fc0
...
Logic was flipped here by mistake, oops
2019-05-22 09:48:03 +10:00
Sam Saffron
73f178a634
FEATURE: posts:rebake_uncooked_posts to look at mismatching baked_version
...
also amends flagging onebox updates to set baked_version to nil
2019-05-22 09:43:31 +10:00
Sam Saffron
4f296608da
FEATURE: add uploads:s3_migration_status for looking at current status
...
Also a few minor cleanups and better progress reporting
2019-05-22 09:00:32 +10:00
Sam Saffron
59012fc0f7
PERF: mark posts for rebake vs forcing a rebake inline when migrating to s3
...
Rebaking posts can be expensive instead of blocking here simply mark posts
for rebake.
We can then work through them faster in other jobs, plus this should not
hold of a datacenter migration.
2019-05-22 08:39:25 +10:00
Vinoth Kannan
338b927f95
DEV: include local uploads while finding missing uploads
...
in rake task 'posts:missing_uploads'
2019-05-21 22:07:08 +05:30
Vinoth Kannan
7b82850f66
FIX: migrate_to_s3 task should remap attachment links too.
2019-05-21 21:58:11 +05:30
Sam Saffron
8360415453
FEATURE: big warning for uploads missing which can be very very slow on S3
2019-05-21 16:11:56 +10:00
Sam Saffron
cb86d8279a
FEATURE: add toggle for uploads:missing so it can skip external
...
Validating s3 uploads in uploads:missing can be very expensive, allow to
bypass.
2019-05-21 16:11:56 +10:00
Sam Saffron
f4d4f7871e
FEATURE: make posts:missing_uploads multisite friendly
...
Previously this rake job would only run on a single site which is a bit
misleading
This also adds `VERBOSE=1 rake posts:missing_uploads` that will provide a
full report of missing uploads
2019-05-21 12:45:51 +10:00
Sam Saffron
0f76e3090c
FIX: use tar -xzvf to extract maxmind vs Ruby wrappers
...
The tar/gz extractor in Ruby is somewhat buggy, instead rely on battle
tested `tar` and `gzip` Linux commands
2019-05-21 10:48:18 +10:00
Vinoth Kannan
2941c77abc
FIX: skip upload recovery if file not found in s3
2019-05-21 00:06:36 +05:30
David Taylor
0fbff66d97
DEV: Correct rake task syntax error
2019-05-20 17:43:30 +01:00
David Taylor
31902159af
DEV: Allow skipping failed migrations when running S3 migration
...
Use the SKIP_FAILED environment variable to skip failed sites. Use with caution - make sure you go back and re-run the failed migrations afterwards.
2019-05-20 17:25:56 +01:00
David Taylor
a15cca9a0f
DEV: Improve error message for posts:missing_uploads during S3 migration
2019-05-20 16:09:22 +01:00
Vinoth Kannan
2bfc0cf145
FIX: skip old scheme upload URLs while validating s3 uploads remap
2019-05-20 19:13:41 +05:30
Vinoth Kannan
9f43852609
FIX: remove the unwanted code.
2019-05-20 19:10:21 +05:30
David Taylor
41bc90dd3e
DEV: Add progress indicator for post rebake during s3 migration
...
Now that we run sidekiq jobs synchronously, this is important
2019-05-20 14:19:58 +01:00
David Taylor
77a06209cb
DEV: Skip S3 migration if all uploads are already migrated
...
This makes the task resumable in a multisite context
2019-05-20 14:17:37 +01:00
Gerhard Schlager
b788948985
FEATURE: English locale with international date formats
...
Makes en_US the new default locale
2019-05-20 13:47:20 +02:00
Vinoth Kannan
bc0c4b7253
FIX: should not migrate the system uploads to s3
2019-05-20 14:27:34 +05:30
Vinoth Kannan
be3fb85a04
DEV: add post migration checks and raise error if failed.
2019-05-20 14:18:28 +05:30
Sam Saffron
50e6ee55a9
DEV: add "WAIT_FOR_URL" env to smoke test
...
This allows you to wait up to N seconds for the smoke test url to come up
in some cases you want to kick off the smoke test prior to having the smoke
test env ready to accept connections
2019-05-20 17:23:09 +10:00
Sam Saffron
08371db0cc
FIX: ensure we don't queue any jobs during s3 migration
...
Previously we could flood sidekiq with jobs which is not ideal.
This ensures we are 100% done when the job is done.
2019-05-20 16:28:50 +10:00
Vinoth Kannan
2a7065c505
FIX: skip uploads without etag in s3 inventory check.
2019-05-20 00:09:52 +05:30
Régis Hanol
7696b92c8c
FIX: handle clicks counters in full quotes
2019-05-17 14:17:29 +02:00
David Taylor
ef660d5a3e
FIX: Return consistent character encodings when downloading S3 uploads
...
Net::HTTP always returns ASCII-8BIT encoding. File.read auto-detects the encoding. This leads to an encoding inconsistency between a fresh download, and a cached download. This commit ensures all downloaded files are treated equally, by always returning the cached version from the filesystem, even during initial download.
One symptom of this problem is during theme exports: https://meta.discourse.org/t/116907
Related ruby ticket: https://bugs.ruby-lang.org/issues/2567
2019-05-17 11:27:00 +01:00
David Taylor
105359e54a
FIX: Only delete theme folder if it has been created
...
If an exception is raised before the folder is created, then this `ensure` block is still run
2019-05-17 09:45:11 +01:00
Guo Xiang Tan
148bfc9be5
DEV: Simplify client and server side code to support removing tags.
...
Follow up to 834c86678f
.
2019-05-17 16:39:20 +08:00
David Taylor
5666316285
FEATURE: Display 'last updated' on dashboard, improve release notes link ( #7560 )
2019-05-17 15:42:45 +10:00
David Taylor
b5dd4478e5
FIX: Blocked watched words should apply to staff ( #7547 )
...
Having different behavior for staff and regular users can make it confusing for admins to understand how their configuration changes affect regular users
2019-05-16 15:19:41 +01:00
Joffrey JAFFEUX
9ce9d72e71
DEV: makes hidepassed default when running qunit ( #7558 )
...
Mostly useful when not running headless, but I endup doing it a lot when debugging, one less thing to check.
2019-05-16 14:37:01 +02:00
Vinoth Kannan
3172172b52
remove unused local variable
...
ec84c87ddb
2019-05-16 15:39:13 +05:30
Vinoth Kannan
ec84c87ddb
FIX: skip validation while recovering uploads from s3
...
TODO: add tests
2019-05-16 15:37:11 +05:30
Régis Hanol
5dd97d6d38
DEV: prevent already defined global warning
2019-05-16 11:32:10 +02:00
Joffrey JAFFEUX
4a9756ff3f
DEV: sets rack server to test env when using rake qunit:test ( #7554 )
2019-05-16 10:44:29 +02:00
Sam Saffron
cabc203885
Followup to a8fbb19e
...
Correct edge condition where no available names are found
- increase search space
- search for 10 extra names
2019-05-16 18:15:56 +10:00
Sam Saffron
a8fbb19e7c
FEATURE: allow a huge number of users to share common prefix
...
Previously username suggester would give up after 100 attempts at getting
a username and fallback to random string.
This amends the logic so we do all the work of figuring out a good username
in SQL and avoids a large amount of queries in cases where a lot of usernames
were used up.
This corrects an issue on sites with large numbers of anon users
2019-05-16 17:15:16 +10:00
Vinoth Kannan
40328f055e
FIX: retrieve original filename from s3 object's content disposition header
2019-05-16 09:47:22 +05:30
Guo Xiang Tan
dd49be27d3
DEV: Fix undefined variable.
...
Follow up to e8fafbc123
.
2019-05-16 11:28:48 +08:00
Régis Hanol
fd5c5e326f
FIX: remove full quote on direct replies when "typographed"
...
Use the cooked version of the post and the quote to compare their content in
order to take into account the "typographer" option of the markdown pipeline.
2019-05-15 17:49:29 +02:00
Vinoth Kannan
be0555cc17
FIX: Add bucket folder path only if not exists
2019-05-15 15:37:40 +05:30
Neil Lalonde
6f747c6b71
FIX: don't allow username to be changed to same as password
...
We were blocking user registrations with same username and password,
but allowing usernames to be changed to be same as password later.
Also disallow names to be the same as password.
2019-05-13 16:43:40 -04:00
David Taylor
5605dba85c
DEV: Automatically annotate plugin models alongside core models
2019-05-13 16:37:47 +01:00
David Taylor
750c125707
DEV: Include foreign keys in model annotations
2019-05-13 15:53:42 +01:00
Guo Xiang Tan
999fdb95db
DEV: Mark `discourse-login-with-amazon` as official plugin.
2019-05-13 16:13:20 +08:00
Gerhard Schlager
427cf295d9
DEV: Always require %{count} in French pluralized strings
2019-05-13 09:36:05 +02:00
Gerhard Schlager
6d44be5142
FIX: Catch InvalidPluralizationData exception in fallback locales
...
It shouldn't raise an exception when a pluralized string in a fallback locale is only partially translated.
2019-05-13 09:36:05 +02:00
Gerhard Schlager
a3e4f43a4d
DEV: Remove patch for I18n.exists?
...
It was merged upstream a long time ago
2019-05-13 09:36:05 +02:00
Gerhard Schlager
73015521e2
FIX: Correctly calculate fallback locale list
...
* English shouldn't fallback to any other locale
* Calculate fallback for default locale if it isn't English (useful for en_US)
* Reuse the fallback locale list when outputting translations to JavaScript
2019-05-13 09:36:05 +02:00
Sam Saffron
3fbab595d9
FEATURE: use the exact name provided by auth provider
...
Previously we would attempt to titleize it causing names like McDonald's
not to work as expected
2019-05-13 16:45:24 +10:00
Guo Xiang Tan
ba913a24db
Add steam login to official plugin list.
2019-05-13 12:39:35 +08:00
Guo Xiang Tan
c00dab89e4
Fix the build take 2.
2019-05-13 11:22:48 +08:00
Guo Xiang Tan
8c4caac2e4
Fix frozen string error in `plugin:install_all_official`.
2019-05-13 10:19:02 +08:00
Guo Xiang Tan
8165ceb320
Make rubocop happy.
2019-05-13 09:55:44 +08:00
Régis Hanol
888e68a163
FIX: When mutating a string to build a diff. Duplicate it first
...
Co-authored-by: Roman Rizzi <rizziromanalejandro@gmail.com>
2019-05-13 09:31:32 +08:00
Sam Saffron
982c4496ee
Correct some missing spots for frozen_string_literal
2019-05-13 09:31:32 +08:00
Sam Saffron
30990006a9
DEV: enable frozen string literal on all files
...
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.
Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00