Commit Graph

4702 Commits

Author SHA1 Message Date
Robin Ward e980322ed6 Allow hbs widgets to access their parent state 2017-09-28 15:19:44 -04:00
Robin Ward 34f98f362f Add a plugin hook to specify a class on the body of the document 2017-09-28 13:17:09 -04:00
Robin Ward 07e84a3afa FIX: Hack our title retriever so that it parses YouTube URLs 2017-09-28 09:30:22 -04:00
OsamaSayegh ab68379abb Use `PostDestroyer` to delete topics when performing bulk operation (#5202)
* Use `PostDestroyer` to delete topics when performing bulk operation

This PR should fix this bug: https://meta.discourse.org/t/bulk-deletion-of-topics-not-logged/50407?u=osama

* failing test
2017-09-28 14:22:49 +02:00
Sam 8ecf313a81 FIX: correctly raise errors when downloads fail
This corrects an issue where we are hitting Gravatar for 404 over and over

Also ensures file download properly reports errors
2017-09-28 16:35:43 +10:00
Guo Xiang Tan 426d2178c3 Fix undefined variable in `TopicCreator`. 2017-09-28 12:25:42 +08:00
Guo Xiang Tan 3e6bf38394 Merge pull request #5207 from tgxworld/try_travis_fix
Fix randomly failing test.
2017-09-28 10:56:05 +08:00
Guo Xiang Tan d4388f54a2 FIX: Use exact patht to ensure we always redirect with the right format. 2017-09-28 10:29:41 +08:00
Sam b80320da5e no verbose logging for failed downloads of gravatars 2017-09-28 11:32:26 +10:00
Régis Hanol 165b388158 fix indentation 2017-09-28 01:07:43 +02:00
Régis Hanol 3a75242c38 add more logs to pull hotlinked images 2017-09-28 01:00:13 +02:00
Robin Ward 3e13becf33 A safe way to create class variables in a multisite environment.
This should allow plugins to set class variables that will not
stomp on other plugins.
2017-09-27 13:00:47 -04:00
Guo Xiang Tan 5324c01209 FIX: Don't raise an error if reading from URL timeout. 2017-09-27 14:53:22 +08:00
Robin Ward 460ed3c8cf Revert "Allow `NotFound` to specify an optional `Location` for the resource"
This reverts commit 4ae66c9e01.
2017-09-26 12:58:24 -04:00
Robin Ward 4ae66c9e01 Allow `NotFound` to specify an optional `Location` for the resource 2017-09-26 09:10:18 -04:00
Guo Xiang Tan 367fb1c524 FIX: Onebox fails on encoded URL.
https://meta.discourse.org/t/onebox-breaks-if-theres-chinese-text-in-url/67364
2017-09-26 18:34:54 +08:00
Guo Xiang Tan c25730935e FIX: Do not include non-human users on suspected users list.
https://meta.discourse.org/t/discobot-is-a-suspect-user/70558
2017-09-26 15:04:08 +08:00
Guo Xiang Tan c06b782cab PERF: Reduce number of topics to filter while querying for unread. 2017-09-26 12:36:52 +08:00
Robin Ward 81f2b38b78 FIX: Don't include flags on non-human users 2017-09-25 16:15:48 -04:00
Robin Ward d1ebc62065 The ability to display errors on flagging actions. 2017-09-25 12:28:01 -04:00
Robin Ward 561fa7d0cd FEATURE: Site Setting to hide suspension reason on the public profile 2017-09-25 12:25:14 -04:00
Robin Ward d7c37d9369 Add front end service for staff controls 2017-09-25 12:25:14 -04:00
Robin Ward 5cf50f0034 Adjust flagged posts to use the store 2017-09-25 12:25:14 -04:00
Robin Ward 5e69217793 Add filtering support to flags 2017-09-25 12:25:14 -04:00
Robin Ward 40eba8cd93 FEATURE: View flags grouped by topic 2017-09-25 12:25:14 -04:00
Guo Xiang Tan 9540b952fd Fix broken condition in PostgresqlFallbackAdapter. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 23b787e0a6 Require dependency otherwise it causes Sidekiq to lock up in development. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 5be5def217 PERF: Bypass AR and just use raw SQL. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
Gerhard Schlager e08b5feb8a improved status output during auto-closing and ignore deleted topic timers 2017-09-21 10:58:09 +02:00
Gerhard Schlager 26d10370c6 Adds a rake task for applying auto-close to old topics 2017-09-20 15:49:53 +02:00
Régis Hanol 8ed318c4fe display 'similar to' earlier when composing a post 2017-09-16 01:03:29 +02:00
Régis Hanol 32972de2d7 Version bump to v1.9.0.beta10 2017-09-16 00:55:41 +02:00
Guo Xiang Tan 1a9762a9c0 Fixed private group messages being exposed in suggested topics.
Revert "Revert "PERF: Avoid unnecessary expensive joins if possible.""

This reverts commit d9714c21c8.
2017-09-15 23:40:53 +08:00
Gerhard Schlager 6e04f05173 that shouldn't have been there... 2017-09-15 17:33:31 +02:00
Gerhard Schlager d51eee4dbc FIX: don't try to send a rejection message when the sender was not detected 2017-09-15 17:30:02 +02:00
Gerhard Schlager a2187b0acd FIX: better error handling for incoming emails 2017-09-15 17:30:02 +02:00
Guo Xiang Tan d9714c21c8 Revert "PERF: Avoid unnecessary expensive joins if possible."
This reverts commit f3fadf41b7.

* This ended up exposing group pms to users that are not part
  of a group.
2017-09-15 22:22:07 +08:00
Arpit Jalan 041ace5d3b new rake task to defer all flags 2017-09-15 16:42:58 +05:30
Régis Hanol 797936d2c5 FIX: don't leak whisper count in user card 2017-09-14 20:08:16 +02:00
Robin Ward 8c2d6118ff Remove some of the last few `fa-icon` helpers 2017-09-14 11:20:36 -04:00
Neil Lalonde f698de0bbf Version bump to v1.9.0.beta9 2017-09-14 11:08:22 -04:00
Guo Xiang Tan de46d59a94 Remove comment that is no longer relevant. 2017-09-14 19:57:50 +08:00
Guo Xiang Tan 195982fd41 PERF: Remove N+1 query when generating posters summary. 2017-09-14 12:07:35 +08:00
Guo Xiang Tan f3fadf41b7 PERF: Avoid unnecessary expensive joins if possible.
```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_groups tg
    JOIN group_users gu ON gu.user_id = 13455 AND gu.group_id =
tg.group_id
    WHERE gu.group_id IN (47)
  )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (32852,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.277 ms
Execution time: 71.577 ms

```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN (
  SELECT * FROM topic_allowed_groups _tg
  LEFT JOIN group_users gu
  ON gu.user_id = 13455
  AND gu.group_id = _tg.group_id
  AND gu.group_id IN (47)
) tg ON topics.id = tg.topic_id
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (32852)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (tg.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.191 ms
Execution time: 0.129 ms
2017-09-14 11:18:58 +08:00
Régis Hanol 0096ee40da FIX: only show participants the user can see 2017-09-13 17:14:03 +02:00
Guo Xiang Tan 28148197d6 PERF: Avoid `NOT IN (<subquery>>` which can get really slow.
```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics" LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND
tu.user_id = 13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_users
    WHERE user_id = 13455
   )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (2,1995,8307,17621,22980,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at
DESC LIMIT 5;
```

Planning time: 1.196 ms
Execution time: 21.176 ms

```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN topic_allowed_users ta ON topics.id = ta.topic_id AND
ta.user_id = 13455
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (2,1995,8307,17621,22980,-10)
LEFT JOIN topic_allowed_groups tg ON topics.id = tg.topic_id AND
tg.group_id IN (-10)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (ta.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL OR tg.topic_id IS NOT NULL)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 5;
```

Planning time: 1.792 ms
Execution time: 2.546 ms
2017-09-13 22:28:33 +08:00
Gerhard Schlager 31ecb4fecf FIX: Handle incoming emails without email address in From header (#5177) 2017-09-12 22:35:24 +02:00
Guo Xiang Tan 07bfe3d053 FIX: Use a distrbuted cache for site locale. 2017-09-12 19:36:17 +08:00
Arpit Jalan 18142d8abf new rake task to bake uncooked posts 2017-09-12 12:40:18 +05:30
Neil Lalonde c12a53449c FIX: output css for category backgrounds only if uploads have a url 2017-09-11 17:10:30 -04:00
Robin Ward 717ed75fc4 Add warning when plugins changed by `tmp` was not removed 2017-09-08 13:38:46 -04:00
Guo Xiang Tan 2db47f98cd Avoid allocating an extra array. 2017-09-08 14:07:24 +08:00
Guo Xiang Tan 0f2a303f00 Remove irrelevant comment. 2017-09-08 14:07:24 +08:00
Guo Xiang Tan 5d4221fbe1 PERF: Avoid calling expensive `PostGuardian#can_see_post?` multiple times.
Before

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 19
  75: 19
  90: 21
  99: 27
topic:
  50: 56
  75: 62
  90: 64
  99: 99
timings:
  load_rails: 1262
ruby-version: 2.4.1-p111
rss_kb: 198432
pss_kb: 136612
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_9877: 327892
pss_kb_9877: 263671
rss_kb_9946: 325468
pss_kb_9946: 261671
rss_kb_10153: 326456
pss_kb_10153: 262657
```

After

```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
  50: 18
  75: 18
  90: 20
  99: 28
topic:
  50: 41
  75: 42
  90: 46
  99: 49
timings:
  load_rails: 1201
ruby-version: 2.4.1-p111
rss_kb: 187936
pss_kb: 123596
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_26478: 342360
pss_kb_26478: 276696
rss_kb_26547: 340368
pss_kb_26547: 275930
rss_kb_26747: 338964
pss_kb_26747: 274466
```
2017-09-08 14:07:24 +08:00
Régis Hanol 657440b8be FIX: consecutive_visits query wasn't properly setting 'granted_at' (3rd time's a charm) 2017-09-07 18:41:56 +02:00
Guo Xiang Tan 58321d0783 PERF: Remove `Object#present?` check introduced in e0d5d9670a. 2017-09-07 21:36:27 +08:00
David Taylor 7d350d0d75 Revert plugin js changes (#5139)
* Revert "Add disabled_plugins to preloadstore for login_required anonymous users (#5134)"

This reverts commit b840170f8d.

* Revert "Do not load javascripts for disabled plugins (#5103)"

This reverts commit a14ab48829.
2017-09-07 15:15:29 +02:00
Guo Xiang Tan e0d5d9670a Fix the build. 2017-09-07 18:41:44 +08:00
Guo Xiang Tan 3e123b1a39 PERF: Use `pluck` instead of enmurating through all the records. 2017-09-07 17:24:23 +08:00
Guo Xiang Tan 4d840d10db PERF: Reduce number of Redis hits per requests. 2017-09-07 13:34:27 +08:00
Régis Hanol db920673dc FIX: consecutive_visits query wasn't return only the first result per user 2017-09-07 01:08:28 +02:00
Régis Hanol 8a935a4b5f FEATURE: new badges when visiting the forum for 10, 100 and 365 consecutive days 2017-09-06 22:35:08 +02:00
David Taylor a14ab48829 Do not load javascripts for disabled plugins (#5103)
* Do not load javascript for disabled plugins

* Appease rubocop
2017-09-06 10:06:47 +02:00
Robin Ward db929e58fc FIX: Don't allow staff to approve users with unverified emails 2017-09-04 12:55:39 -04:00
Robin Ward cb56dcdf2e FIX: Use proper `iconNode` when compiling virtual dom templates 2017-09-01 11:20:33 -04:00
Robin Ward dffb1fc4ee FEATURE: Use Glimmer compiler for widget templates
Widgets can now specify a template which is precompiled using Glimmer's
AST and then converted into our virtual dom code.

Example:

```javascript
createWidget('post-link-arrow', {
  template: hbs`
    {{#if attrs.above}}
      <a class="post-info arrow" title={{i18n "topic.jump_reply_up"}}>
        {{fa-icon "arrow-up"}}
      </a>
    {{else}}
      <a class="post-info arrow" title={{i18n "topic.jump_reply_down"}}>
        {{fa-icon "arrow-down"}}
      </a>
    {{/if}}
  `,

  click() {
    DiscourseURL.routeTo(this.attrs.shareUrl);
  }
});
```
2017-09-01 09:28:16 -04:00
Sam Saffron 7f8a90ef63 remove non english comment 2017-08-31 17:00:37 -04:00
Robin Ward 48e95f01fc Version bump to v1.9.0.beta8 2017-08-31 14:54:44 -04:00
Robin Ward e7885c20cb Add reloadable support for patching in an avatar lookup 2017-08-30 14:24:03 -04:00
Guo Xiang Tan df9d662dab FIX: Use `CASCADE` when dropping function. 2017-08-30 15:54:27 +08:00
Guo Xiang Tan 54ad436258 Revert "FIX: Drop function first before removing trigger."
This reverts commit d229969afa.
2017-08-30 15:38:09 +08:00
Guo Xiang Tan d229969afa FIX: Drop function first before removing trigger. 2017-08-30 15:33:25 +08:00
Sam c705159d22 Remove email column from user table 2017-08-29 11:50:56 -04:00
Bianca Nenciu 6bc74ceb50 Split alias levels in mentionable and messageable levels. (#5065)
* Split alias levels in mentionable and messageable levels.

* Fixed some tests.

* Set messageable level to everyone by default.

* By defaults, groups are not mentionable or messageable.

* Made staff groups messageable by the system.
2017-08-28 12:32:08 -04:00
Sam 552fbd3c8d lint 2017-08-28 12:25:34 -04:00
darix 4b5724ec02 Extend config/version.rb with more informations (#5061)
This gives installations not using git checkouts
to provide all the informations needed for the
internal version checks and version display in
the dashboard.

The build:stamp rake task was extended to also
add the new informations.
2017-08-28 12:24:56 -04:00
Bianca Nenciu bb3a5910d7 Support for sending PMs to email addresses (#4988)
* Added support for sending PMs to email addresses.

* Made changes after review.

* Added settings validator.

* Fixed tests.
2017-08-28 12:07:30 -04:00
Arpit Jalan 4623b46b0b rescue error when remapping permalinks 2017-08-28 20:43:40 +05:30
Sam 6e1809ce32 add a debugging task for running all schedules 2017-08-25 12:19:34 -04:00
Neil Lalonde 2c56f8df7c FEATURE: show tags in search results 2017-08-25 11:52:59 -04:00
Sam fef08c6fee FEATURE: rake db:stats
Basic rake task to provide db stats like largest tables, row count and size
2017-08-25 10:29:04 -04:00
Arpit Jalan 70f7a0ca1a new rake task to remap old phpbb links 2017-08-25 15:09:11 +05:30
Robin Ward 0b58848895 FIX: Category badge style of none was causing errors when rendering 2017-08-24 13:45:32 -04:00
Sam fdc5c080ea FIX: bump default max for int site settings to a much higher number
(close to long int)
2017-08-24 10:16:41 -04:00
Guo Xiang Tan 7c15b27a90 Merge pull request #5073 from xrav3nz/extract-github-avatar
FEATURE: import Github profile picture
2017-08-23 16:18:46 +09:00
Kyle Zhao 5868508e98 GH#retrieve_avatar: simplify conditional and restructured testing 2017-08-22 23:46:50 -04:00
Guo Xiang Tan 49ddc98b38 Merge pull request #5066 from davidtaylorhq/docker-lint-changes
Docker lint SINGLE_PLUGIN
2017-08-23 09:56:15 +09:00
Kyle Zhao 49f0119c12 FEATURE: import Github profile picture 2017-08-22 20:23:47 -04:00
Sam bcf7dc38c2 FEATURE: server side support for upload:// markdown
This allows uploads to be specified using short sha1 hash instead of full
URL

Client side change is pending
2017-08-22 11:46:23 -04:00
David Taylor ed6e1c3825 Combine docker:lint and docker:test into one command 2017-08-22 13:47:29 +01:00
Guo Xiang Tan 2d4d76472d FIX: Broken suspect user lists.
https://meta.discourse.org/t/server-error-code-500/68404
2017-08-22 11:16:55 +09:00
David Taylor a3f5878ec9 Use `if`, not `unless` 2017-08-18 22:12:20 +01:00
David Taylor 7704e8246b Allow SINGLE_PLUGIN environment variable to be used 2017-08-18 22:04:35 +01:00
David Taylor ea43f50f6d Add documentation for new ENV variables 2017-08-18 22:03:09 +01:00
Sam aeedecd27c correct erratically failing spec 2017-08-18 15:10:37 -04:00
David Taylor d65570a8a1 Preparation for using chrome for qunit in docker images (#5062)
Move use_chrome option to ENV variable
Rewrite script to work with node 6 (current LTS version used in discourse_docker)
Add node stuff to gitignore
2017-08-18 14:08:58 -04:00
Guo Xiang Tan 8ecf383c55 Extract linter in `docker:test` Rake task into `docker:lint`. 2017-08-18 12:22:01 +09:00
Sam a83bd537f4 FIX: exception in excerpt parser for null nodes 2017-08-17 16:13:30 -04:00
Neil Lalonde df5142493c Version bump to v1.9.0.beta7 2017-08-17 15:59:29 -04:00
Guo Xiang Tan 0e656ff213 FIX: Can't reset AR schema cache due to versions table. 2017-08-17 19:27:35 +09:00
Guo Xiang Tan 2157079d09 Add Plugin API to register a category custom field. 2017-08-17 15:59:57 +09:00
Régis Hanol 55f449edc5 FIX: reloading issues with classes 2017-08-16 23:00:52 +02:00
Robin Ward f9ff06b9d4 Allow ENV variable to force polling 2017-08-16 12:59:38 -04:00
Neil Lalonde 0daeefc977 Version bump to v1.9.0.beta6 2017-08-16 12:49:25 -04:00
Robin Ward c8220e11f9 Better formatting for CSS errors 2017-08-16 11:48:07 -04:00
David Taylor c981edfa20 Add option to run qunit tests in headless chrome (#5054) 2017-08-16 07:42:42 -04:00
Erick Guan 6e59149a77 FIX: rebuild index when engine replaced (#5021) 2017-08-16 07:38:34 -04:00
Guo Xiang Tan b77aa29e71 Merge pull request #5013 from LeoMcA/alternate-emails-phase-1.5
FIX: add additional email to tests and clean up resulting mess
2017-08-16 16:19:28 +09:00
Guo Xiang Tan 86adc8d717 Fix typo. 2017-08-16 13:06:47 +09:00
Guo Xiang Tan 0b2d65f77a Include the site setting file path for which a default value is missing. 2017-08-16 11:42:08 +09:00
Guo Xiang Tan ed851dbfff FIX: Avoid publishing a gigantic payload.
* Certain sites have way too many categories.
2017-08-16 11:38:30 +09:00
Erick Guan 1646bc0031 FIX: fails loud if default setting is not set
Noted:
- `push_api_secret_key` is set in initializer. Shimed with ''
- `default_theme_key` is set in seeding. Shimed with ''
2017-08-15 12:07:25 +02:00
Joffrey JAFFEUX 506572bf04 FIX: display emojis (set, custom and native) in bio excerpt 2017-08-15 10:05:09 +02:00
Arpit Jalan 7e9b2289bd UX: make 404 page look better on dark theme 2017-08-15 12:15:56 +05:30
Neil Lalonde dd665c62f2 FIX: staff count on invites step of wizard should only include real users 2017-08-14 22:17:41 -04:00
Leo McArdle 0ef7a969f2 Some more HTML to Markdown fixes (#5046)
* FIX: handle spaces better within emphasis tags in html_to_markdown

* FIX: handle line breaks at beginning of emphasis tags in html_to_markdown
2017-08-14 22:13:24 +02:00
Neil Lalonde 6fcb530b56 UX: setup wizard won't offer pre-existing users with reserved usernames 2017-08-14 15:31:57 -04:00
Régis Hanol 89e919ec42 UX: keep emojis in excerpts in flag queue 2017-08-14 15:16:47 +02:00
Arpit Jalan 2f3f5477b0 UX: fix category badge style on 404 page 2017-08-14 16:26:25 +05:30
Robin Ward 5ed809a15b FIX: Reloading issues with classes 2017-08-13 13:19:50 -04:00
Régis Hanol 51ef36abb4 Add a bunch of reload-friendly class variables accessors plugin APIs 2017-08-12 04:21:02 +02:00
Régis Hanol 75e4f7f896 Shorten some very long lines
Prevent warnings from already defined constants when reloading
2017-08-12 04:18:04 +02:00
Neil Lalonde c924975086 FIX: wizard should only include human admins and system user as the site contact username options 2017-08-11 15:29:07 -04:00
Guo Xiang Tan 59423b693b Merge pull request #5035 from nbianca/remove_spork
Remove Spork dependency.
2017-08-11 09:52:16 +09:00
Bianca Nenciu 1c079bec33 Remove Spork dependency. 2017-08-10 22:54:52 +01:00
Guo Xiang Tan f7d3702454 FIX: Return 404 if API access is invalid. 2017-08-10 18:27:01 +09:00
Robin Ward dc15e48334 FIX: You can't cache the files here, plugin translations won't work 2017-08-09 17:28:11 -04:00
Régis Hanol 04460ecac5 'add_to_serializer' should define the 'include_' method by default 2017-08-09 22:22:18 +02:00
Robin Ward 53e6ccf17b Allow reloading of translation keys for plugins in development mode 2017-08-09 13:58:20 -04:00
Robin Ward f11253dcb6 Allow plugin patches to reload in development mode 2017-08-09 12:30:27 -04:00
Guo Xiang Tan a1f60cfcb8 Fix incorrect test migration. 2017-08-10 00:20:07 +09:00
Robin Ward 7b3631454d FIX: In development mode on OSX, plugin stylesheets were not reloading
It seems to be due to symlinks in the plugins folder. Watching
the individual plugins seems to fix the issue rather than the entire
plugin folder.
2017-08-09 11:06:27 -04:00
Rafael dos Santos Silva 5324c9817f FIX: Title prettify shoundn't downcase all non-ascii titles 2017-08-08 14:03:24 -03:00
Joffrey JAFFEUX 6cd8203686 FIX: allows onebox to force GET hosts returning wrong headers on HEAD 2017-08-08 11:44:27 +02:00
Guo Xiang Tan 2c39743d5d Introduce multisite tests for better coverage. 2017-08-08 12:58:22 +09:00
Guo Xiang Tan 764957dfc4 Merge pull request #5030 from tgxworld/fix_defaults_cache_cross_talk
FIX: SiteSettings defaults cache leaking across multisite.
2017-08-07 17:07:31 +09:00
Guo Xiang Tan 22a1db7b8a FIX: Make `DbProvider#table_exits?` work with multisite. 2017-08-07 16:37:42 +09:00
Guo Xiang Tan c5850422f0 FIX: SiteSettings defaults cache leaking across multisite. 2017-08-07 15:16:57 +09:00
Guo Xiang Tan 412fa78b1f FIX: `default_locale` cross talk in multisite setup. 2017-08-07 11:14:28 +09:00
Guo Xiang Tan 3f24ed2b3e Can't revert due to incompatibility of new site setting types.
Revert "Revert "FEATURE: Site settings defaults per locale""

This reverts commit 439fe8ba24.
2017-08-07 10:43:09 +09:00
Guo Xiang Tan 439fe8ba24 Revert "FEATURE: Site settings defaults per locale"
This reverts commit 468a8fcd20.
2017-08-07 10:31:50 +09:00
Régis Hanol ecbeaed0bc fix weird indentation 2017-08-04 17:28:25 +02:00
Régis Hanol c76161787c eager load more tables for the topic_view 2017-08-04 17:23:53 +02:00
Leo McArdle 99527af38a FIX: show rejected emails with unrecognized errors (#5026)
Although 407a23663d will send rejection
messages for unrecognized errors, sometimes processing the email will
raise an error which has a blank message.

This commit:

1. Shows rejected emails which have already been processed and contain
   a blank error in /admin/email/rejected

2. Replaces new blank error messages with the error type
2017-08-04 16:20:44 +02:00
Arpit Jalan c0a2d9e671 Make rubocop happy 2017-08-04 12:30:35 +05:30
Arpit Jalan 687b05750b add Permalinks support for vBulletin bulk import script 2017-08-04 12:23:11 +05:30
Arpit Jalan 2d909f7894 new phpBB PostgreSQL bulk import script 2017-08-03 21:21:58 +05:30
Guo Xiang Tan 8cc8010564 Maintain backwards compatibility before `Jobs::MigrateUploadExtensions` runs. 2017-08-03 11:56:55 +09:00
Guo Xiang Tan a47e297508 Merge pull request #5019 from tgxworld/more_resiliency_to_readonly_redis
Fix Redis command errors when trying to start app with a readonly Redis.
2017-08-03 06:34:36 +09:00
Leo McArdle 65d5cd7239 FIX: generate valid markdown from <br></b> in an email (#5022)
* FIX: generate valid markdown from <br></b> in an email

* FIX: don't generate markdown for empty <strong> or <em> tags in emails
2017-08-02 23:02:59 +02:00
Sam f6bc572fb8 FEATURE: option to enable inline oneboxes for all domains
Also, change to prefer title over open graph which is often way too sparse
2017-08-02 14:27:31 -04:00
Robin Ward 582ae9ab8d Add some more debugging information when a plugin can't find a gem 2017-08-02 14:00:18 -04:00
Erick Guan 468a8fcd20 FEATURE: Site settings defaults per locale
This change-set allows setting different defaults for different locales. 

It also:

- Adds extensive testing around site setting validation

- raises deprecation error if site setting has the default property based on env

- relocated site settings for dev and tests in the initializer

- deprecated client_setting in the site setting's loading process

- ensure it raises when a enum site setting being set

- default_locale is promoted to `required` category.

- fixes incorrect default setting and validation

- fixes ensure type check for site settings

- creates a benchmark for site setting

- sets reasonable defaults for Chinese
2017-08-02 12:24:19 -04:00
Guo Xiang Tan 9bc3038728 Fix Redis command errors when trying to start app with a readonly Redis. 2017-08-02 21:33:56 +09:00
David Taylor ea032d8372 Improve source code linting for continuous integration (#5017)
* Add rubocop linting to docker:test rake task

* Add eslint JS listing to plugin files, and add SKIP_LINT variable

* Fix failing ‘polls’ plugin eslint

Using eslint-disable-line, as is done in core qunit tests such as `acceptance/group-logs-test.js.es6`

* Add plugin test eslint to travis config

* Merge some eslint lines
2017-08-02 11:33:29 +09:00
Sam 97fa64d846 FIX: non tag/category # searches should be passed through 2017-08-01 18:15:14 -04:00
Sam 71ad3a48c2 Correct flaky distributed cache test
make distributed cache more testable
2017-08-01 16:11:48 -04:00
Neil Lalonde a870137845 Version bump to v1.9.0.beta5 2017-08-01 14:32:24 -04:00
Guo Xiang Tan 7d5b6e2b3c Disable MessageBus's keepalive when Redis is readonly. 2017-08-01 23:07:52 +09:00
Neil Lalonde 1fdf2e4d4b badly resolved conflicts 2017-07-31 20:28:16 -04:00
Neil Lalonde fa3c240e8b Merge pull request #4981 from dmacjam/fix_limited_search_results
FIX: limited search results
2017-07-31 20:23:57 -04:00
Leo McArdle 836dee1120 FIX: add additional email to tests and clean up resulting mess 2017-07-31 22:27:29 +00:00
Neil Lalonde 7c1d7fb423 Merge branch 'master' into fix_limited_search_results 2017-07-31 15:55:31 -04:00
Erick Guan f1eccd113c Replace rmmseg gem for cppjieba_rb since better dictionary (#5006)
* Rename locale to ts config in search module to make it clear

* Replace rmmese-cpp for cppjieba_rb
2017-07-31 15:28:48 -04:00
Neil Lalonde 83011045c8 fix rubocop offenses 2017-07-31 11:59:16 -04:00
Neil Lalonde 5d528f0d15 Merge pull request #4958 from dmacjam/search_posts_by_filetype
FEATURE: Search posts by filetype
2017-07-31 11:55:34 -04:00
Neil Lalonde 4a5907b116 Merge branch 'master' into search_posts_with_images 2017-07-31 10:44:41 -04:00
Arpit Jalan b059a0f789 extract url escaping to a dedicated class method and improved tests 2017-07-29 22:16:51 +05:30
Arpit Jalan 1fe553873c FIX: preserve fragment identifier when escaping url 2017-07-29 17:22:45 +05:30
Joffrey JAFFEUX da5e7dc876 FIX: Pull last emoji-db revision
This commit will add new images in some sets and fix a bug where
🤦‍♂️ was using :person_facepalming: image which is in fact
represented as a woman in most sets.
2017-07-29 13:12:45 +02:00
Robin Ward 43fd90b2da Remove serve_public_dir -- it's not needed 2017-07-28 13:44:38 -04:00
Robin Ward 5ae79697b8 Remove unused `register_theme` code, expose `serve_public` 2017-07-28 11:47:25 -04:00
Guo Xiang Tan 5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Neil Lalonde 68b3dd43ce fix intermittent failing tests, some watched word refactoring 2017-07-27 12:27:01 -04:00
Robin Ward 5cfc2d8972 Run wizard specs in docker:test 2017-07-27 11:29:18 -04:00
Blake Erickson 6fc5ece628 FIX: onebox for dropbox video links not working
add dropbox to the list of ignore redirects for onebox links
2017-07-26 14:37:54 -06:00
Sam 2d41c5ed3c missing bracket 2017-07-26 13:11:08 -04:00
David Taylor 2c6ed64ebe Spawn a new rake process to run tests, so that LOAD_PLUGINS gets re-checked (#5001) 2017-07-26 12:54:56 -04:00
Neil Lalonde 24cb950432 FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block 2017-07-26 11:01:09 -04:00
Neil Lalonde ea0e90b2b0 Merge branch 'master' into search_posts_with_images 2017-07-26 10:15:55 -04:00
David Taylor febd7621ea Qunit plugin rake tasks (#4985)
* Allow running specific plugin tests using ENV variables

* Add a `rake plugin:qunit` task to match the existing `rake plugin:spec` task

* Improve docker.rake to allow running specific plugin qunit tests

* Purge cache before and after qunit tests

* Stop module auto-loader trying to auto-load tests

* Use URL query parameters to pass config into Qunit, avoiding caching issues

* Oops, searchParams doesn’t work in phantomJS. Parse the URL manually.

* Escape ampersands before passing URL to phantomJS, otherwise multiple parameters go wrong
2017-07-26 09:07:46 -04:00
Guo Xiang Tan e3ac6585bd FIX: Search by topic_id should not be restricted by `SiteSetting.min_search_term_length`. 2017-07-26 09:52:39 +09:00
Guo Xiang Tan 96267f0845 Merge pull request #4960 from discourse/category-description-error
FIX: Explicit error when category description post is bad
2017-07-26 08:54:22 +09:00
Neil Lalonde d8c27e3871 Merge branch 'master' into search_posts_by_filetype 2017-07-25 14:41:20 -04:00
Sam 400a55eca3 Merge pull request #4995 from davidtaylorhq/qunit-warmup
Improve “server warmup” check for qunit rake task
2017-07-25 11:39:32 -04:00
David Taylor 4ad864892b Improve “server warmup” check for qunit rake task 2017-07-25 16:31:30 +01:00
Sam 283d42d6f3 FEATURE: allow bisect and rspec seed 2017-07-25 11:09:51 -04:00
Régis Hanol c7c93e7159 FEATURE: new 'strip image metadata' site setting 2017-07-25 11:48:39 +02:00
Guo Xiang Tan 8a362a1c3c Reset ActiveRecord cache after dropping columns. 2017-07-25 15:36:30 +09:00
Guo Xiang Tan dd932217ca Fix docker tests not loading plugins. 2017-07-25 15:27:09 +09:00
Sam 04eac9f14a lets attempt to get these specs working! 2017-07-24 18:35:20 -04:00
Sam f67e715ef1 comment out specs that break others
will check in a fixed spec tomorrow
2017-07-24 17:28:24 -04:00
Sam f97fb7b70c tighten time to stop schedueler 2017-07-24 15:19:54 -04:00
Sam 0c47153808 clean up stop semantics 2017-07-24 15:17:48 -04:00
Sam c08a7aee8f clean up skipped tests
tighter connection handling in scheduler
2017-07-24 15:06:24 -04:00
Sam 66ef7976ea FIX: don't re-scheduler correctly scheduled daily tasks 2017-07-24 14:30:43 -04:00
Guo Xiang Tan d940166a89 Re-enable skipped `Scheduler::ScheduleInfo` test. 2017-07-25 00:03:03 +09:00
Guo Xiang Tan e82efc7b03 Fix `SiteSetingExtension` specs to coerce int to string. 2017-07-24 22:54:42 +09:00
Régis Hanol d792e81372 don't pollute test suite with warning message from readonly Redis 2017-07-24 10:22:32 +02:00
Guo Xiang Tan 1b0750d7ef Merge pull request #4983 from tgxworld/group_owners_can_invite_users_to_groups
Group owners can invite users to groups
2017-07-24 16:21:19 +09:00
Sam 440b95a6f3 correctly return all v8 data as opposed to just one context 2017-07-21 16:37:19 -04:00
Robin Ward 2f8f2aa1dd FEATURE: Whitelists for inline oneboxing 2017-07-21 15:41:47 -04:00
Rafael dos Santos Silva 89ef5d36a9 FIX: Explicit error when category description post is bad 2017-07-21 16:07:29 -03:00
Régis Hanol fff5e2c3a5 Merge pull request #4984 from LeoMcA/unrecognized-error-email
FEATURE: send rejection email for unrecognized errors
2017-07-21 20:40:18 +02:00
Robin Ward 574681dc47 FIX: Show emoji in inline oneboxes 2017-07-21 14:24:48 -04:00
Leo McArdle 407a23663d FEATURE: send rejection email for unrecognized errors 2017-07-21 18:26:52 +01:00
Sam e1ce47a901 Pass the full CommonMark spec 2017-07-21 13:20:52 -04:00
Guo Xiang Tan 2a17f1ccd7 FIX: Group owners should be able to invite users to their groups.
https://meta.discourse.org/t/group-owner-cannot-send-an-invite-to-a-group/60617/12
2017-07-21 23:48:25 +09:00
David Taylor 62604e9297 Allow docker test rake task to be used for single plugins (#4973)
* Allow docker test rake task to be used for single plugins
2017-07-21 09:59:54 +09:00
Robin Ward d2490cbbb8 Test failures for Inline Onebox 2017-07-20 16:01:16 -04:00
Robin Ward 3882722195 FEATURE: Inline (Mini) Oneboxing
see:
https://meta.discourse.org/t/mini-inline-onebox-support-rfc/66400?source_topic_id=66066
2017-07-20 15:38:04 -04:00
Sam e7c170bb00 test v8 heap stats and aggregate all 2017-07-20 13:23:48 -04:00
Jakub Macina e5ee4ccc48 Add pagination and checking for more results to search. 2017-07-20 18:12:34 +02:00
Jakub Macina 7b40de5ac4 Add attribute to grouped search results for more available posts. 2017-07-20 18:07:13 +02:00
Guo Xiang Tan ac9c8ccf3b Fix broken specs. 2017-07-20 13:17:45 +09:00
Guo Xiang Tan 30ec87fcb5 Expose `PrettyText.v8` heap_stats in stats socket. 2017-07-20 13:10:56 +09:00
Guo Xiang Tan 0edb0018ff Dispose of heap when we reset the context. 2017-07-20 13:10:56 +09:00
Leo McArdle d0b027d88d FEATURE: phase 1 of supporting multiple email addresses 2017-07-20 11:22:27 +09:00
Sam 0b9f39a406 Add options to skip core and install official plugins 2017-07-19 12:17:18 -04:00
Sam 6e3b2cc860 warmup prior to running tests 2017-07-19 12:04:16 -04:00
Sam bf0d70e820 improve comments 2017-07-19 12:04:16 -04:00
Joffrey JAFFEUX 6de258d4cf FEATURE: Introduces new emoji-picker 2017-07-19 16:48:23 +02:00
Sam b92e181390 FEATURE: rake plugin:install_all_official
use this task to quickly install all official plugins
GIT_WRITE=1 to enable write access to repos (discourse staff only)
2017-07-18 12:09:27 -04:00
Guo Xiang Tan b534778f46 FIX: Escape URL before attempting to resolve it. 2017-07-18 10:04:24 +09:00
Guo Xiang Tan 089a1bd3be Specify the error that we want to ignore instead of rescuing all errors. 2017-07-18 09:55:52 +09:00
Robin Ward 29d529020b UX: Allow site settings to display as textareas if they like 2017-07-17 16:38:26 -04:00
Robin Ward 21e02d6969 Include the `search_log_id` in search results 2017-07-17 12:10:32 -04:00
Sam Saffron d0c5205a52 Feature: Change markdown engine to markdown it
This commit removes the old evilstreak markdownjs engine.

- Adds specs to WhiteLister and changes it to stop using globals
    (Fixes large memory leak)
- Fixes edge cases around bbcode handling
- Removes mdtest which is no longer valid (to be replaced with
    CommonMark)
- Updates MiniRacer to correct minor unmanaged memory leak
- Fixes plugin specs
2017-07-17 11:41:34 -04:00
Régis Hanol 9e03fae26c FIX: internal oneboxing wasn't working when login was required 2017-07-17 17:33:10 +02:00
Jakub Macina bdbde02d2c Fix user is nil in populate posts. 2017-07-15 15:39:21 +02:00
Robin Ward 97e211f837 FEATURE: Log Search Queries 2017-07-14 14:30:58 -04:00
Sam 79a084dd58 Revert "remove old markdown engine work-in-progress"
This reverts commit ee470b5317.
2017-07-12 18:10:51 -04:00
Sam bcbb9f208d Revert "Integrate new engine, correct old specs"
This reverts commit f1b38ba4fb.
2017-07-12 18:10:07 -04:00
Sam f1b38ba4fb Integrate new engine, correct old specs
corrects edge cases with

- full quotes
- [url] with nested tags
- engine overrides
- onebox applying to non http srcs
2017-07-12 17:44:40 -04:00
Sam Saffron ee470b5317 remove old markdown engine work-in-progress 2017-07-12 17:44:40 -04:00
Jakub Macina 677267ae78 Add onceoff job for uploads migration of column extension. Simplify filetype search and related rspec tests. 2017-07-12 17:19:27 +02:00
Sam 98e03b04b5 Don't depend on imports for md extensions 2017-07-11 16:48:25 -04:00
Bianca Nenciu 06366b5379 latest.json: last topic from first page appears on the second page as well. 2017-07-11 13:59:37 -04:00
Guo Xiang Tan 45f4ce379e Fix broken specs. 2017-07-11 13:16:48 +09:00
Guo Xiang Tan b605d5d61b FIX: Translation should return overrides first before attempting to fallback.
https://meta.discourse.org/t/errors-after-migrating-to-a-new-version-1-9-0-beta3/65709/14?u=tgxworld
2017-07-11 12:51:12 +09:00
Sam 3d32460e1c Merge pull request #4964 from davidtaylorhq/plugin_spec_filter
For rake plugin:spec, only load ruby files ending in _spec.rb
2017-07-10 13:22:41 -04:00
Neil Lalonde 890a99232d Version bump to v1.9.0.beta4 2017-07-10 11:45:43 -04:00
Régis Hanol 1c12dd529f FIX: fix orientation even for small JPEGs 2017-07-10 16:35:23 +02:00
David Taylor 0b222493f6 For rake plugin:spec, only load ruby files ending in _spec.rb
This matches the default behaviour of rspec
2017-07-10 12:06:37 +01:00
Guo Xiang Tan 2255724637 UX: Add validator for `SiteSetting#sso_overrides_email`. 2017-07-10 10:08:55 +09:00
Robin Ward f1a6449e4b SECURITY: Remove disposable invite feature 2017-07-07 20:24:39 -04:00
Blake Erickson fcfc895167 FIX: new sign-ups via google are added to groups
This fix ensures that users that are signing up via google oauth are
automatically added to any groups.

A similar fix will probably need to be added to other oauth providers.
2017-07-07 14:08:58 -06:00
Neil Lalonde a509146ea5 FIX: support non-english tags in tag input field 2017-07-07 14:48:08 -04:00
Arpit Jalan c47658c7c5 FIX: first @mention/#hashtag is not a hyperlink in Twitter onebox
https://meta.discourse.org/t/first-mention-is-not-a-hyperlink-in-twitter-onebox/65665
2017-07-07 21:50:15 +05:30
Guo Xiang Tan a4399c2eab FIX: Translation overrides were not cached by locale properly. 2017-07-07 12:28:00 +09:00
Robin Ward 198f308f7b Remove unused module transpiler 2017-07-06 17:17:56 -04:00
Arpit Jalan 5b67cd1937 Merge pull request #4956 from techAPJ/pm-recipients
FEATURE: new site setting to limit message recipients
2017-07-06 22:57:33 +05:30
Arpit Jalan 7cffbc8ba8 FEATURE: new site setting to limit message recipients
New site setting `max_allowed_message_recipients` to limit message
recipients

https://meta.discourse.org/t/one-of-my-users-just-group-messaged-100-other-user-with-a-spam-offer/65612/7?u=techapj
2017-07-06 22:52:49 +05:30
Jakub Macina 8c445e9f17 Fix backend code for searching by a filetype as a combination of uploads and topic links. Add rspec test for extracting file extension in upload. 2017-07-06 19:19:31 +02:00
Jakub Macina f0a674d620 Add extraction of upload extension. Add rspec test for search of post
with upload by extension.
2017-07-06 19:16:07 +02:00
Joffrey JAFFEUX 6fd44b1efd FIX: s/google_blob/google_classic 2017-07-06 09:05:15 +02:00
Robin Ward 754c1e5438 Upgrade to Babel 6 2017-07-05 15:25:23 -04:00
Robin Ward 2f480e21a0 Stop using Babel source gem, which is no longer updated 2017-07-05 14:19:16 -04:00
Joffrey JAFFEUX fcc50edeef FIX: do not override 🦗 with :cricket_bat_and_ball: 2017-07-05 18:51:25 +02:00
Neil Lalonde 06d814264a Version bump to v1.9.0.beta3 2017-07-05 12:21:53 -04:00
Joffrey JAFFEUX 0d6712b365 FIX: prevent thumbsup/down to appear in custom emojis 2017-07-05 17:38:55 +02:00
Arpit Jalan 59e5911b02 Merge pull request #4951 from jjaffeux/fix-emojis-not-reloaded
FIX: ensure we clear emoji cache before recompilation
2017-07-05 14:50:22 +05:30
Régis Hanol 599c681358 update highlight.js to 9.12.0 2017-07-05 11:12:10 +02:00
Joffrey JAFFEUX 0a478905b9 FIX: ensure we clear emoji cache before recompilation 2017-07-05 10:36:06 +02:00
Guo Xiang Tan 02094517e9 Stop rescuing `nil` which is a really bad thing to do. 2017-07-05 10:22:31 +09:00
Sam 43ecfb016a Merge pull request #4950 from jjaffeux/use-emoji-db
FEATURE: emoji generation now uses emoji-db
2017-07-04 09:01:13 -04:00
Joffrey JAFFEUX 92e7dc6edc FIX: regression with woman_shrugging emoji 2017-07-04 14:47:24 +02:00
Joffrey JAFFEUX a71c75367e FEATURE: emoji generation now use emoji-db
- unicode 10
- emoji 5.0
- support for google_blob and facebook_messenger sets
2017-07-04 14:08:47 +02:00
Arpit Jalan c243861b17 FIX: do not show "Send Activation Email" button if `must_approve_users` setting is enabled
https://meta.discourse.org/t/error-when-pressing-send-activitation-email-when-must-approve-users-setting-is-enabled/65408
2017-07-04 14:00:50 +05:30
Guo Xiang Tan a7a8ccb100 Merge pull request #4948 from tgxworld/fix_translation_fallback_not_using_overrides
FIX: Translation fallback was not using fallback's translation override.
2017-07-04 09:08:22 +09:00
Sam 845170bd6b FEATURE: add support for group visibility level
There are 4 visibility levels

- public (default)
- members only
- staff
- owners

Note, admins and group owners ALWAYS have visibility to groups

Migration treated old "non public" as "members only"
2017-07-03 15:26:57 -04:00
Sam c79418d334 DEV: Move RTL into lib where it belongs 2017-07-03 15:26:57 -04:00
Guo Xiang Tan 52e654b3ac FIX: Translation fallback was not using fallback's translation override.
https://meta.discourse.org/t/discobot-falling-back-to-site-locale-is-not-using-customized-copies/65140
2017-07-03 14:52:27 +09:00
Sam e9fcd348f2 allow watcher to re-trigger specs on markdown change 2017-06-30 12:16:20 -04:00
Arpit Jalan e7b9b1312e FEATURE: remove all invites
https://meta.discourse.org/t/remove-all-invitations-button-for-the-admin-panel/65207
2017-06-29 22:30:10 +05:30
David Taylor 9294826f31 Allow inclusion of elided text from emails when sending to a category… (#4844)
* Allow inclusion of elided text from emails when sending to a category address
2017-06-29 13:03:14 +09:00
Sam cfbda863e8 implement unicode emoji replacements 2017-06-28 13:47:30 -04:00
Robin Ward b93edc9945 FIX: Make sure censored words are on boundaries in topic titles 2017-06-28 13:13:40 -04:00
Sam 5897ae945a FIX: stop using inline quote for local onebox 2017-06-27 10:57:38 -04:00
Régis Hanol aa69f78fed let's not use progressing rendering on images 2017-06-26 23:19:48 +02:00
Robin Ward db485ae0da FIX: Support for skipping redirects on certain domains (like steam) 2017-06-26 15:38:43 -04:00
Régis Hanol ecec23fae4 FIX: automatic PNG to JPG conversion wasn't working 2017-06-26 14:21:47 +02:00
Arpit Jalan fba9bbb18c FIX: reset likes in user directory
Reset likes to 0 when `posts:delete_all_likes` task is ran
2017-06-26 11:22:41 +05:30
Guo Xiang Tan 7ed9fbb415 FIX: Use default parameter in method. 2017-06-26 11:14:13 +09:00
Sam da5ccd2000 correctly hunt for console.log 2017-06-23 15:24:20 -04:00
Sam a5295591b8 FEATURE: post_process_cooked event 2017-06-23 14:35:46 -04:00
Arpit Jalan 03d7ec8777 FEATURE: new rake task to delete all likes 2017-06-23 22:30:01 +05:30
Sam 234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Joffrey JAFFEUX 7c68949e04 Emoji ordering
This commit uses
http://www.unicode.org/emoji/charts/emoji-ordering.html to generate an
automatic ordering of emojis. We also don't have to maintain a full
emoji list for groups but only sub sections.
2017-06-23 17:51:13 +02:00
Régis Hanol a9c0df0b58 FIX: always try to convert PNG to JPG when pasting an image 2017-06-23 12:13:48 +02:00
Régis Hanol b7e6620109 FIX: 'uploads:migrate_from_s3' rake task 2017-06-23 10:15:11 +02:00
Régis Hanol 94cee37edd FIX: uploads:recover_from_tombstone rake task 2017-06-22 17:00:05 +02:00
Régis Hanol 6e5c59e5ec FIX: image orientation wasn't properly working 2017-06-22 16:53:49 +02:00
Régis Hanol 66920cfafd Merge pull request #4938 from LeoMcA/ses-fix
FEATURE: setting to only use the key when finding the related post of…
2017-06-22 16:15:57 +02:00
Régis Hanol ca539854c8 FIX: use 'jpg' instead of 'jpe' extension for 'image/jpeg' content type 2017-06-22 12:53:56 +02:00
Guo Xiang Tan 80e348d226 PERF: Speed up slow tests in our test suite.
Before

```
Finished in 7 minutes 23 seconds (files took 4.15 seconds to load)
7145 examples, 0 failures, 10 pending
```

After

```
Finished in 6 minutes 12 seconds (files took 4.41 seconds to load)
7145 examples, 0 failures, 10 pending
```
2017-06-22 11:23:31 +09:00
Neil Lalonde 8fd915a11a Revert "FIX: add path to cookies so sessions on the same domain but different subfolders don't log each other out" 2017-06-21 16:18:24 -04:00
Robin Ward aaaa93c216 FIX: Full page search was removing advanced search terms 2017-06-21 15:51:15 -04:00
Arpit Jalan 6796de8bf2 FIX: replace site_name with email_prefix in subject when use_site_subject is true 2017-06-21 21:15:49 +05:30
Neil Lalonde 1b3501b39b FIX: discourse hub calls 2017-06-20 17:15:59 -04:00
Jakub Macina f87d32ac6d Add backend code for searching by filetypes. 2017-06-20 21:20:06 +02:00
Neil Lalonde 1716747810 FIX: add path to cookies so sessions on the same domain but different subfolders don't log each other out 2017-06-20 13:30:36 -04:00
Guo Xiang Tan 8dbe2c3ec4 FIX: Incorrect way to use Excon in `DiscourseHub`. 2017-06-20 08:32:45 +09:00
Jakub Macina bf002e0873 Add extraction of image_url for oneboxed images. Fix search by images filter name. 2017-06-19 15:18:02 +02:00
Leo McArdle 5e0efb3410 FEATURE: setting to only use the key when finding the related post of an email reply
this fixes email-in threading problems when using a SMTP server which modifies the message_id
header, like Amazon SES
2017-06-19 12:22:44 +01:00
Guo Xiang Tan 7ea288140d Allow multiple host when restricting Sidekiq queues. 2017-06-19 14:45:51 +09:00
Guo Xiang Tan 48fb19d9e4 Fix hash style. 2017-06-19 07:51:06 +09:00
Guo Xiang Tan 3d1a7a02f7 Fix typo. 2017-06-19 07:49:32 +09:00
Alberto Aguirre 170a554747 FIX: version check
api.discourse.org server apparently does not like GET
requests that have a port number in the headers Host entry

Additionally fix the actual GET query; it should use query
parameters not a body.
2017-06-18 04:56:15 -05:00
Guo Xiang Tan a6450f7377 REFACTOR: Allow `delete_removed_posts_after` SiteSetting to be bypassed. 2017-06-16 12:27:51 +09:00
Guo Xiang Tan d82dbd565b FIX: Remove dependency on `rest-client`. 2017-06-16 09:42:41 +09:00
Guo Xiang Tan b5ec241716 FIX: Validate interpolation keys used in translation overrides.
https://meta.discourse.org/t/discobot-translation-missing-error/64429/6?u=tgxworld
2017-06-16 08:54:48 +09:00
Robin Ward 7366f334b0 FIX: Try a GET for error code 409 too -- (Medium posts) 2017-06-15 15:09:59 -04:00
Sam bdb848b4f3 Split the theme_key so we extract the key from seq 2017-06-15 14:09:44 -04:00
Neil Lalonde eb9f306e64 FIX: fail to send email notification if post has img tag with no src attribute 2017-06-15 10:36:19 -04:00
Sam ac1f84d3e1 SECURITY: theme key should be an anon cache breaker 2017-06-15 09:36:27 -04:00
Guo Xiang Tan 8f48c20598 Merge pull request #4931 from jjaffeux/fixes-woman-shrugging-conversion
Fixes woman_shrugging name conversion
2017-06-15 15:52:28 +09:00
Joffrey JAFFEUX f1750be2be Fixes woman_shrugging name conversion 2017-06-15 08:26:29 +02:00
Guo Xiang Tan b70d4da858 FIX: Only invite admins when automatic backup fails. 2017-06-15 14:04:22 +08:00
Neil Lalonde b98a930364 Merge pull request #4896 from dmacjam/multiple-tags-logical-and-search
FEATURE: Advanced search supports logical AND of multiple tags
2017-06-14 14:39:23 -04:00
Joffrey JAFFEUX 95e1843d33 Improves native emoji conversion 2017-06-14 17:42:52 +02:00
Régis Hanol 1ceb64500f Merge pull request #4926 from jjaffeux/fixes-mouse-three
Uses computer_mouse as base name
2017-06-14 14:55:48 +02:00
Joffrey JAFFEUX 252c811dae Uses computer_mouse as base name 2017-06-14 11:10:09 +02:00
Régis Hanol 485de2fcc3 Merge pull request #4924 from jjaffeux/cook-toned
adds tones to woman_cook and man_cook
2017-06-14 09:25:48 +02:00
Régis Hanol 493ab9d10e Merge pull request #4923 from jjaffeux/fixes-automobile-emoji-not-displayed
Fixes automobile being an alias now
2017-06-14 09:25:10 +02:00
Joffrey JAFFEUX 44e152d750 adds tones to woman_cook and man_cook 2017-06-14 08:35:11 +02:00
Guo Xiang Tan f6060bfbf6 Invite admins to automatic backups failure topic.
https://meta.discourse.org/t/if-automatic-backup-fails-there-should-be-a-warning/64461
2017-06-14 15:01:11 +09:00
Joffrey JAFFEUX 03f3612884 Fixes automobile being an alias now 2017-06-14 07:50:36 +02:00
Guo Xiang Tan 5ce8d7a8c5 Log all errors during clean up as well. 2017-06-14 11:03:50 +09:00
Robin Ward 009f0921dc FEATURE: Whitelist hosts for internal crawling 2017-06-13 12:59:54 -04:00
Sam 826f332766 Merge pull request #4901 from jjaffeux/emoji-5.0
Emoji next
2017-06-13 11:12:41 -04:00
Régis Hanol 5d63a7f4a6 FIX: pull hotlinked images even when they have no extension 2017-06-13 13:27:05 +02:00
Régis Hanol 54e8fb0d89 FEATURE: new 'allow_staff_to_upload_any_file_in_pm' site setting 2017-06-12 22:41:29 +02:00
Robin Ward a3729b51eb FIX: Always allow the host the forum is hosted on 2017-06-12 13:22:51 -04:00
Neil Lalonde eaeae0ac31 Version bump to v1.9.0.beta2 2017-06-12 12:48:24 -04:00
Guo Xiang Tan eab3562864 Merge pull request #4905 from tgxworld/strip-zero-width-chars-from-search-term
FIX: Strip zero-width characters from search terms.
2017-06-12 18:01:02 +09:00
Guo Xiang Tan e888369f51 UX: Don't send emails for discobot notifications. 2017-06-12 17:00:27 +09:00
Jakub Macina 76712da166 Add backend code for searching posts with images. 2017-06-09 10:30:21 +02:00
Robin Ward 602e4d0da4 FIX: Return `nil` when the `reply_key` is missing 2017-06-08 14:28:48 -04:00
Jay Pfaffman 83110a1a81 FIX: allow tar to finish if files change during backup 2017-06-07 13:31:02 -07:00
Guo Xiang Tan 684b05f510 FIX: Strip zero-width characters from search terms. 2017-06-07 18:19:47 +09:00
Guo Xiang Tan d4d0aa8ca7 Minor fixes for https://github.com/discourse/discourse/pull/4845. 2017-06-07 10:03:19 +09:00
Guo Xiang Tan da736f70a4 Merge pull request #4845 from vinothkannans/download-onebox-images
FEATURE: pull onebox images
2017-06-07 09:55:04 +09:00
Robin Ward 0de5d01d79 FIX: Onebox wasn't using correct uri 2017-06-06 16:39:15 -04:00
Robin Ward 369bb78f8e FIX: Support for cookies in onebox redirects 2017-06-06 15:02:11 -04:00
Robin Ward 53b95f009f FIX: If HEAD is not supported, try GET. Also set cookies 2017-06-06 13:53:49 -04:00
Vinoth Kannan 209383faab FEATURE: pull onebox images 2017-06-06 18:51:58 +05:30
Joffrey JAFFEUX ea6b6c817f always run the tests 2017-06-05 19:01:52 +02:00
Joffrey JAFFEUX 05f8b5b72e white_sun_small_cloud is an alias 2017-06-05 15:31:24 +02:00
Joffrey JAFFEUX b0d5b57fdb remove spec warning 2017-06-05 15:23:15 +02:00
Joffrey JAFFEUX 613f6895a6 white_sun_small_cloud is an old alias 2017-06-05 15:23:08 +02:00
Joffrey JAFFEUX 64336a8c75 Emoji 5.0 support 2017-06-05 14:06:23 +02:00
Arpit Jalan a1ebd67237 Revert "FEATURE: new setting to prioritize open topics in search" 2017-06-03 01:54:35 +05:30
Arpit Jalan b8a87a0996 FEATURE: new setting to prioritize open topics in search 2017-06-03 00:33:53 +05:30
Jakub Macina eaec35d230 Fix tag related advanced search tests into one context. Fix dynamic locale and select clause in search by all tags. Fix separator for all tags to plus sign. 2017-06-02 12:39:07 +02:00
Régis Hanol 062158a25e FIX: PNG-to-JPEG conversion should only be done to images with at least 1 megapixels 2017-06-01 23:12:37 +02:00
Régis Hanol 832d621b48 FIX: automatic PNG-to-JPEG conversion should use a default white background 2017-06-01 23:10:36 +02:00
Robin Ward 88ee054e14 FIX: Restrict wizard staff count to human users 2017-06-01 11:20:32 -04:00
Guo Xiang Tan 2ee144c27f FEATURE: Add DiscourseEvent trigger when a user logs in.
* Also adds a event trigger when user logs in for the first time.
2017-06-01 17:44:49 +09:00
Guo Xiang Tan bd486100c0 Remove stubs on DiscourseEvent in tests. 2017-06-01 16:21:00 +09:00
Guo Xiang Tan 13c6695d65 Revert "Load posts in batches while indexing problem posts."
This reverts commit ce57ff9fcf.

Limit is ignored with `find_each`.
2017-06-01 11:15:27 +09:00
Neil Lalonde 82ed51450e Version bump to v1.9.0.beta1 2017-05-31 16:39:57 -04:00
Jakub Macina 3eebcccbf2 Add searching by all tags using postgres full-text search. 2017-05-31 16:36:15 +02:00
Guo Xiang Tan 137f91d1cf PERF: N+1 query when searching with tags enabled. 2017-05-31 08:14:09 +09:00
Guo Xiang Tan ce57ff9fcf Load posts in batches while indexing problem posts. 2017-05-31 07:54:49 +09:00
Guo Xiang Tan 0f2148be9b Make it clear which service is triggering the exception. 2017-05-31 06:38:38 +09:00
Sam 435d4d51a4 add support for controller tests 2017-05-30 17:33:01 -04:00
Gerhard Schlager 8299e7e8c3
Add new, experimental version of mbox importer 2017-05-29 20:59:18 +02:00
Sam b839493fea PERF: Limit new messages in suggested for PMs
unlimited the query will hunt for ancient old PMs which is very
expensive
2017-05-26 11:00:31 -04:00
Sam 0aed2533ac Revert unread optimisation, has too many edge cases 2017-05-26 09:04:13 -04:00
Sam 29fac1ac18 PERF: improve performance of unread queries
Figuring out what unread topics a user has is a very expensive
operation over time.

Users can easily accumulate 10s of thousands of tracking state rows
(1 for every topic they ever visit)

When figuring out what a user has that is unread we need to join
the tracking state records to the topic table. This can very quickly
lead to cases where you need to scan through the entire topic table.

This commit optimises it so we always keep track of the "first" date
a user has unread topics. Then we can easily filter out all earlier
topics from the join.

We use pg functions, instead of nested queries here to assist the
planner.
2017-05-25 15:07:30 -04:00
Robin Ward 0a08c18a14 FIX: Don't rate limit gravatar downloads 2017-05-24 13:54:26 -04:00
Robin Ward cdbe027c1c Refactor `FileHelper` to use keyword arguments. 2017-05-24 13:54:26 -04:00
Sam 405fd9c15d Merge pull request #4870 from tgxworld/fix_cleanup_sockets_servers
FIX: Ensure we clean up socket servers.
2017-05-24 12:33:34 -04:00
Sam 3aa3c915e7 detect dead qunit 2017-05-24 12:24:34 -04:00
Sam fcc523c320 Merge pull request #4872 from mcmcclur/add-httrack
Update crawler_detection.rb
2017-05-24 11:49:28 -04:00
Sam f12490eae0 FIX: order:latest not working for search within topic
FEATURE: use 'l' as a shorthand for order:latest
2017-05-24 11:24:41 -04:00
Robin Ward 3b0cbf7013 FIX: Always allow downloads from CDN 2017-05-23 16:32:54 -04:00
Robin Ward f101e052e6 FIX: Roll back file_helper changes, relative URLs were broken 2017-05-23 15:50:48 -04:00
Robin Ward b81e7be9a1 FEATURE: Rate limit how often we'll crawl a destination IP 2017-05-23 15:03:04 -04:00
Robin Ward 36e477750c FIX: Use same code path for downloading images 2017-05-23 14:51:30 -04:00
Robin Ward e5e7a15a85 SECURITY: Never crawl by IP 2017-05-23 13:07:18 -04:00
Robin Ward 93a5fc62bf FEATURE: A site setting to prevent crawling on private IP blocks 2017-05-23 11:56:06 -04:00
Sam 35bb4ae995 FIX: wizard was not showing up if more than 1 system user 2017-05-23 11:09:50 -04:00
Régis Hanol 9dddb81cf6 FIX: remove memoization on class method used in a job 2017-05-22 23:35:41 +02:00
Blake Erickson 4e8beda332 Merge pull request #4866 from JaredReisinger/admin-user-pagination
Add pagination to /admin/users/list API
2017-05-22 15:12:59 -06:00
Robin Ward b8d78b33c6 FIX: Other content types like images are fine 2017-05-22 16:51:37 -04:00
Robin Ward 4c690f7089 Use `FinalDestination` to ensure public redirects for onebox 2017-05-22 16:42:49 -04:00
Robin Ward b23fc2bf84 Helper to find the final destination for a URL 2017-05-22 15:52:41 -04:00
Neil Lalonde 02fb86916f Version bump to v1.8.0.beta13 2017-05-22 13:49:35 -04:00
Régis Hanol a7f337fa93 FIX: CDN wasn't properly applied to category background images when using S3 2017-05-22 18:37:01 +02:00
Guo Xiang Tan 604aaf8686 FIX: N+1 query in suggested topics list. 2017-05-22 18:05:38 +08:00
Robin Ward 908433a7a0 SECURITY: Validate the `entity` when downloading a CSV 2017-05-19 16:00:51 -04:00
Robin Ward 28f486cb7a FIX: Regular users shouldn't be able to invite to PMs if disabled 2017-05-19 12:57:21 -04:00
Régis Hanol 4fb335f1f0 FIX: don't process the same incoming email more than once 2017-05-18 16:43:07 +02:00
Régis Hanol 13e489b4ca replace the upload type whitelist with a sanitizer 2017-05-18 12:13:13 +02:00
Régis Hanol 80435cf2af Add mutex around incoming email processing 2017-05-18 01:09:51 +02:00
Guo Xiang Tan 0306863d71 Fix the build on travis. 2017-05-17 21:35:22 +08:00
Régis Hanol a1b8a3b52b FIX: supports bare <li> when converting html to markdown 2017-05-17 15:05:11 +02:00
Guo Xiang Tan b0e4555a86 Allow Basic Authentication to be set in smoke test. 2017-05-17 19:24:43 +08:00
Guo Xiang Tan 4b3b54da70 Make sure we log the backtrace as well. 2017-05-17 16:31:53 +08:00
Sam 6a1f579c6e FIX: don't search for plugins in nested subdirectories 2017-05-16 17:28:56 -04:00
Jared Reisinger 645f648ea7 Merge remote-tracking branch 'upstream/master' into admin-user-pagination 2017-05-16 13:36:47 -07:00
Sam 6ddd8d9166 FIX: when entering topics "tracking" would not be set
There was a timing issue when subscribing to messages for topics.

Old flow:

- We generate JSON for topic
- We subscribe to messages for topic

New flow:

- We keep track of last id in the topic message bus channel
- We generate JSON
- We subscribe to messages for topic starting at saved message id

This ensures that there is complete overlap for message consumption
and that there are no cases where an update may go missing due to timing
2017-05-16 15:04:21 -04:00
Neil Lalonde 7821400141 FEATURE: staff can set a timer to remind them about a topic 2017-05-16 14:49:50 -04:00
mcmcclur a307ad6517 Update crawler_detection.rb
Add HTTrack to the list of detected crawlers so that Discourse will serve vanilla HTML per https://meta.discourse.org/t/a-basic-discourse-archival-tool/62614/25
2017-05-16 11:17:05 -04:00
Leo McArdle 59922ce0a4 FEATURE: remove table wrapping posts in notification emails 2017-05-16 10:37:53 -04:00
Robin Ward 31f27006e1 FIX: We can download protocol relative urls 2017-05-15 15:32:55 -04:00
Neil Lalonde 025fca607e Version bump to v1.8.0.beta12 2017-05-15 11:47:50 -04:00
Jared Reisinger 1dcd61fa34 Add pagination to /admin/users/list API
Prior to this, only the first 100 active/new/etc. users were available
via the `/admin/users/list` API.  This change adds support for a
`page=#` querystring parameter so that *all* of the users can be
retrieved.  Requests for pages past the last user result in an
empty-list response; requests for negative pages (or zero) just return
the first page.

Added tests to cover pagination.
2017-05-12 13:28:35 -07:00
Neil Lalonde 8b9799507c fix deploy problems due to renamed table 2017-05-12 15:17:25 -04:00
Sam 47ce674798 PERF: bypass wizard check after 15 topics are created 2017-05-12 10:18:43 -04:00
Neil Lalonde 55b61e9bea rename topic_status_update to topic_timer 2017-05-11 18:27:53 -04:00
Sam 52ae63d5d7 FIX: when searching PMs also search group PMs
Users belonging to a group could not search for PMs unless explicitly added
to the PM unless admin
2017-05-11 15:59:03 -04:00
Régis Hanol b2b10c0f3c FIX: these should not have been class variables 2017-05-11 10:03:28 +02:00
Régis Hanol 9641d2413d REFACTOR: upload workflow creation into UploadCreator
- Automatically convert large-ish PNG/BMP to JPEG
- Updated fast_image to latest version
2017-05-11 00:16:57 +02:00
Sam 7d9b5514ba FIX: correctly invalidate theme css cache on scheme change 2017-05-10 15:47:11 -04:00
Sam bc0b9af576 FEATURE: support uploads for themes
This allows themes to bundle various assets
2017-05-10 15:47:11 -04:00
Sam f709899a1d Allow theme field object model to support uploads 2017-05-10 15:46:42 -04:00
osamasayegh 2f8b1e33f4 FEATURE: bulk relist 2017-05-10 14:53:54 -04:00
Neil Lalonde 5be7a2dad4 FIX: invalid html in notification emails when template has been customized 2017-05-10 14:01:26 -04:00
Robin Ward b57b635d30 FIX: Extract `div` tags within `span`s 2017-05-09 12:33:54 -04:00
Robin Ward addc85cd08 FIX: Don't let users edit wiki posts unless they can reply 2017-05-08 16:23:11 -04:00
Robin Ward 009e120e13 FIX: Don't raise an error when the img attribute cannot be found 2017-05-08 15:35:31 -04:00
Robin Ward 96c59c5b82 FIX: Don't notify or return flags on system users 2017-05-08 13:13:35 -04:00
Sam Saffron 1dc55bcc5b attempt to handle one more multisite edge case 2017-05-05 13:51:26 -04:00
Robin Ward 1b526ebd91 FIX: Catch broken pipe errors 2017-05-04 15:50:35 -04:00
Sam 7a15b44ac3 rename on_remove, on_drop 2017-05-04 14:03:17 -04:00
Sam 6a6eed4ed2 DEV: column dropper class for cleaner removal of superflous columns
Also fixes issues during deploy cause target column was renamed in
theme_fields
2017-05-04 10:15:41 -04:00
Guo Xiang Tan 4101db8b36 FIX: Invalid creation of `Theme` in wizard builder. 2017-05-04 11:44:23 +08:00
Régis Hanol bf322281e3 Improve handling of inlined images in incoming emails 2017-05-03 23:02:02 +02:00
Régis Hanol 768c63c103 Add 'keep_cid_imgs' option to HTML to Markdown converter to improve incoming email parsing 2017-05-03 23:01:55 +02:00
Régis Hanol e38014772b FIX: skip hidden <img> (no tracking for you) 2017-05-03 19:40:34 +02:00
Régis Hanol c8044c6956 FIX: skip hidden nodes when converting from HTML to Markdown 2017-05-03 19:34:03 +02:00
Régis Hanol bff36de130 FIX: HtmlToMarkdown should not convert empty/bad <img> tags 2017-05-03 18:29:25 +02:00
Régis Hanol c880af8120 FIX: properly trim whitespaces (including those pesky &nbsp; html entities) 2017-05-03 18:04:31 +02:00
Sam 342ef5f81a FEATURE: out-of-the-box dark/light user selectable themes 2017-05-03 11:31:33 -04:00
Régis Hanol edbf12622b FIX: HtmlToMarkdown should not convert empty/bad <a> tags 2017-05-03 16:42:37 +02:00
Guo Xiang Tan 90cd35c496 PERF: Reduce allocated memory when generating mailing list email.
Before: 10590714 bytes
After: 5303394 bytes
2017-05-03 16:59:44 +08:00
Sam f5f4c36795 Increase autospec qunit timeout to 600 seconds
Correct it so it refocuses on correct runner after running a test
JS tests can not focus on line so skip in vim mode
2017-05-02 16:02:14 -04:00
Sam 946f25098f Refactor theme fields so they support custom theme defined vars
This paves the way to allowing themes to specify uploads and so on.
2017-05-02 16:02:14 -04:00
Sam ba9339b8d7 FIX: missing image-url helper 2017-05-01 15:32:02 -04:00
Sam 556ef4cfbd FIX: case sensitive unconditional add of exact match in user search 2017-05-01 14:37:16 -04:00
Sam a5fc51a967 improve QUNIT support for autospec 2017-05-01 13:50:28 -04:00
Robin Ward b99aedeccc Merge pull request #4838 from vinothkannans/fix/read
FIX: 'read' filter in top menu showing new topics
2017-05-01 11:21:13 -04:00
Régis Hanol 2d22173b81 Merge pull request #4846 from cfstras/transfer-encoding-8bit
Fix reply-by-mail for 8-bit transfer encodings
2017-05-01 15:27:50 +02:00
Sam Saffron dafc4ec906 qunit runner in autospec has been a mess, opening moves to get it working 2017-04-30 19:45:29 -04:00
Claus Strasburger e9bb9a167b Fix reply-by-mail for 8-bit transfer encodings
The mail class seems to handle mails sent with Content-Transfer-Encoding: 8bit
somewhat weirdly: It decodes them (to utf-8), changes the raw source to base64,
and does not modify the Content-Type:charset= header.

This leads to Discourse trying the message encoding (in my example ISO-8859-1)
first, and if that does not contain any unparseable characters, it uses that.
Sadly, in ISO-8859-1, every byte sequence is valid.

Fix this by always trying to decode as UTF-8 first. The probability of someone
using another encoding that cleanly (but wrongly) decodes as UTF-8 should be
fairly low.
2017-04-30 23:30:40 +02:00
Vinoth Kannan 1241660c2c FIX: 'read' filter in top menu showing new topics 2017-04-29 14:37:45 +05:30