Commit Graph

863 Commits

Author SHA1 Message Date
Ryan Mulligan f3f7dd02d1 safely call html_safe on category description
The `categories.description` column is not modified as "not null", so it is possible for the description to be nil. This changes the code not call html_safe on nil.
2017-07-25 11:40:02 -07:00
Benjamin Elijah Griffin 4f77ca72a3 Stop Rails from escaping the HTML in this description. 2017-07-24 17:15:15 -07: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
Neil Lalonde 3ebd8838af FEATURE: cross-domain tracking for Google universal analytics 2017-07-13 15:21:44 -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 Saffron ee470b5317 remove old markdown engine work-in-progress 2017-07-12 17:44:40 -04:00
Guo Xiang Tan 7b35c55a1e FIX: Display Google search form when 404 page is rendered by Ember. 2017-06-29 14:37:24 +09:00
Neil Lalonde eee00b5bb5 UX: include a link to change email preferences at the bottom of summary emails as an alternative to unsubscribing 2017-06-26 12:27:22 -04:00
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
hosnas 4d62f41fbc RTL digest emails
Allows RTL digest emails. 
For this to work, I have done the following major additions:
1- adding appropriate direction to body and tables
2- making text-direction compatible with rtl
3- making float, padding, and margin tags compatible with rtl
2017-06-16 15:20:20 +04:30
Neil Lalonde 0b41046238 don't force SiteSetting.title into meta title tag 2017-06-12 13:50:50 -04:00
Arpit Jalan 6e37f09b19 UX: add email to '/email/unsubscribed' page 2017-06-10 09:51:12 +05:30
Jeff Atwood 5ff986129a copyedit to unsubscribe email 2017-06-09 00:27:24 -07:00
Arpit Jalan 1c0bbcd580 UX: show user email when unsubscribing 2017-06-09 09:20:24 +05:30
Leo McArdle 59922ce0a4 FEATURE: remove table wrapping posts in notification emails 2017-05-16 10:37:53 -04:00
Pat David aa009dd2b5 Add @embeddable_css_class from embed_controller 2017-05-11 15:16:16 -04:00
Guo Xiang Tan 71a266b673 Remove daily mailing mode option as it doesn't scale.
https://meta.discourse.org/t/daily-updates-option-for-mailing-list-mode/45029/14?u=tgxworld
2017-05-05 12:21:50 +08:00
Robin Ward b381372184 Use Ember.js for the `/u/account-created` path so we can add controls 2017-05-03 11:18:01 -04:00
Guo Xiang Tan 982e3d04f6 PERF: Allow memory to be freed instead of fetching all the objects into memory at once.
```
MemoryProfiler.report do
  Jobs::UserEmail.new.execute(type: :mailing_list, user_id: user.id)
end.pretty_print
```

Before:
```
Total allocated: 180096119 bytes (1962025 objects)
Total retained:  2194 bytes (16 objects)

allocated memory by gem
-----------------------------------
  66979096  activerecord-4.2.8
  43507184  nokogiri-1.7.1
  43365188  mail-2.6.4
   5960201  activesupport-4.2.8
   5056267  discourse/lib
   4835284  rack-mini-profiler-0.10.1
   3825817  arel-6.0.4
   2186088  i18n-0.8.1
   1719330  discourse/app
```

After:
```
Total allocated: 161935975 bytes (1473940 objects)
Total retained:  2234 bytes (17 objects)

allocated memory by gem
-----------------------------------
  45430264  activerecord-4.2.8
  43568627  nokogiri-1.7.1
  43430754  mail-2.6.4
  11233878  rack-mini-profiler-0.10.1
   5260825  activesupport-4.2.8
   5054491  discourse/lib
   2186088  i18n-0.8.1
   1822494  arel-6.0.4
```
2017-05-03 17:01:57 +08:00
Guo Xiang Tan f5b11cb429 PERF: Don't allocate extra array. 2017-05-02 11:54:23 +08:00
Robin Ward 30ebaf6b6a Update FontAwesome to 4.7.0 2017-04-26 15:16:30 -04:00
Robin Ward cd4f0393a8 Add a title tag to the search results page 2017-04-26 15:02:07 -04:00
Robin Ward bf9c4a7828 FEATURE: secure_email site setting to prevent data going out in email 2017-04-26 13:05:56 -04:00
Sam dfe3c162cc move stylesheet after js 2017-04-20 12:34:50 -04:00
Sam bbed29ba57 correct font preloading 2017-04-20 11:18:37 -04:00
Robin Ward 8b8ee2ad61 Pass a context in when using a HTML builder 2017-04-18 12:35:35 -04:00
Sam b43d2e42f4 missing spots 2017-04-17 12:30:20 -04:00
Sam 81ebe853d1 missed a few spots 2017-04-17 12:05:23 -04:00
Sam 5dd752877e FEATURE: try adding some preload hints for chrome 2017-04-17 11:52:43 -04:00
Arpit Jalan fe29fe71c5 FIX: embedding comments was broken 2017-04-14 08:14:22 +05:30
Sam 3f4f0b32a9 FIX: path wizard showing with no style 2017-04-13 15:22:39 -04:00
Sam a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Arpit Jalan b3761653b3 FIX: render emoji in title tag on topic page 2017-04-11 00:25:22 +05:30
Neil Lalonde 3957540dd1 FIX: convert emoji to unicode in topic titles in emails 2017-04-10 13:15:25 -04:00
Arpit Jalan f960505359 FIX: translate badge metadata title 2017-04-06 09:57:52 +05:30
Aashaka Shah 402eaaa773 FEATURE: add og tags to metadata in individual badges page 2017-04-06 09:32:53 +05:30
Robin Ward 17f2974d0a SECURITY: Confirm new administrator accounts via email 2017-04-04 15:59:01 -04:00
Robin Ward 14410b71fb Convert server side paths to use `/u/` 2017-03-30 10:23:24 -04:00
Robin Ward 45a257815a Convert front end paths from `/users/` to `/u/` 2017-03-30 10:23:24 -04:00
Robin Ward 2fedf1c668 FIX: jQuery include was incorrect for `finish-installation` 2017-03-27 10:29:25 -04:00
Robin Ward 874e8900af Display email address in SSO error message. 2017-03-21 15:37:46 -04:00
Robin Ward aeaf5075bf Custom errors for when Email is invalid via SSO 2017-03-21 15:23:38 -04:00
Robin Ward 52d78294cc Render a layout when there's an SSO error 2017-03-21 15:23:38 -04:00
Arpit Jalan 801b5838e1 FIX: do not show faq/guidelines page to anonymous users for private forums 2017-03-08 16:00:49 +05:30
Arpit Jalan 090236b15b FIX: do not show about page to anonymous users for private forums 2017-03-08 13:15:44 +05:30
Neil Lalonde ca20cb9941 FEATURE: subcategories can be discovered by web crawlers on page 1 of the parent category topics list 2017-03-02 15:06:56 -05:00
Neil Lalonde 7496f373cd add headline itemprop to DiscussionForumPosting for crawlers 2017-03-02 12:35:50 -05:00
Blake Erickson 80858bae2c FEATURE: further restrict downloading of backups
- send email to logged in admin when they press the "download" button
- show pop-up that email was sent
- create email template
- require a valid token to download backup
2017-03-01 08:28:34 -07:00
Guo Xiang Tan 0e8c849572 UX: "See more" on not found page should redirect to /top. 2017-02-27 13:33:19 +08:00
Arpit Jalan 068ce19ae2 FEATURE: linked topics should be rendered under posts for crawlers 2017-02-21 12:43:24 +05:30
Neil Lalonde aa2c527c60 Remove "From" from every post in Popular Posts section of summary emails 2017-02-20 11:04:12 -05:00
Neil Lalonde d0fbb27f3e FEATURE: new invite acceptance page, where username can be chosen and password can be set 2017-02-15 16:51:57 -05:00
Sam 07b9c351a4 Merge pull request #4705 from vinothkannans/dev
new: server plugin outlet for indexable robots.txt
2017-02-13 11:18:51 -05:00
Vinoth Kannan 08c14dd689 new: server plugin outlet for indexable robots.txt 2017-02-13 17:31:10 +05:30
Vinoth Kannan 1b43c209eb 'Article' to 'DiscussionForumPosting' schema type
topic => https://meta.discourse.org/t/invalid-article-schema/57037
Replacing '[Article](https://schema.org/Article)' schema type with '[DiscussionForumPosting](https://schema.org/DiscussionForumPosting)'
2017-02-11 18:44:40 +05:30
Neil Lalonde a5dfcddc6c FIX: crawler view of paginated content should have link elements in head for next and previous pages 2017-02-07 16:11:12 -05:00
Neil Lalonde ece979efd1 add tags to webcrawler view of a topic in an ItemList 2017-02-06 18:12:48 -05:00
Neil Lalonde c4e10f2a9d FEATURE: redesign the change password page to use javascript and validations 2017-02-03 16:09:24 -05:00
Neil Lalonde ae671355da FIX: add /tags routes to robots.txt 2017-02-03 11:57:00 -05:00
Arpit Jalan 9dd09e453b FEATURE: add explicit confirmation button to accept the invite 2017-01-25 15:50:30 +05:30
cpradio d0a3dc10d8 FIX: RSS Language should use a dash/hypen instead of underscore 2017-01-14 14:24:21 -05:00
Neil Lalonde d9146de080 FIX: an image can be shown twice in summary emails 2017-01-09 13:27:43 -05:00
Guo Xiang Tan 98df6db0eb FIX: Respect site setting to hide username in mailing list summary. 2017-01-09 12:18:30 +08:00
Jeff Atwood 878af4c8b1 add tiny bit of space to email summary 2017-01-03 15:45:29 -08:00
Rafael dos Santos Silva d3fb724578 Merge pull request #4632 from xfalcox/native-app-banner
FEATURE: Opt-in native Discourse app install banner
2017-01-03 16:32:24 -02:00
Rafael dos Santos Silva d7c8c2d5e3 FEATURE: Opt-in native Discourse app install banner on Android/iOS 2017-01-03 15:50:45 -02:00
Neil Lalonde b72014423e FIX: summary email wrong background colour above popular posts 2017-01-03 11:05:54 -05:00
Neil Lalonde 0f484e11fe FIX: Popular Posts heading in summary emails was a different style than other headings 2016-12-29 15:33:53 -05:00
Neil Lalonde 67347432b7 Remove unread counts from last section of summary email, and rename it "New for you" 2016-12-28 14:06:01 -05:00
Neil Lalonde f3b4a889b2 FIX: remove extra space to the right of avatars in summary emails 2016-12-28 13:56:46 -05:00
Neil Lalonde 3256620d5d FIX: some blank topics and posts in summary email because they're images 2016-12-19 16:21:31 -05:00
Robin Ward e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Sam 0599bd0154 FEATURE: add referrer never tag to password reset page 2016-12-19 11:01:58 +11:00
Sam 30e0154e5d SECURITY: fix reflected XSS with safe_mode param
(only applies to beta and master)
2016-12-19 10:11:51 +11:00
Robin Ward ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward 76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward 21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Neil Lalonde f01f95d62d FEATURE: new settings to customize some colors in emails 2016-12-15 14:43:53 -05:00
Neil Lalonde 62ba5ea33f Name before username in summary email 2016-12-15 14:43:52 -05:00
Neil Lalonde a26c3fe2b6 FIX: truncate long topic titles in summary email 2016-12-14 12:59:01 -05:00
Robin Ward 03bc6f70f9 Better error messages when embedding fails 2016-12-13 14:38:05 -05:00
Neil Lalonde 17bc42fe85 FIX: box style category badges in emails, and shrink text and some spacing in summary email 2016-12-09 16:59:54 -05:00
Neil Lalonde a7ee72649d FIX: add back support for customizing header in summary email 2016-12-06 12:40:42 -05:00
Neil Lalonde 1f50fcd613 FIX: digest customizations for above/below popular topics were sometimes not being shown 2016-12-06 12:35:02 -05:00
Erick Guan 52763f5115
FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
Neil Lalonde 9db3685823 fix another case of double user name in digest 2016-12-02 13:31:12 -05:00
Neil Lalonde fa395bb43c fix colour bug in summary email 2016-12-02 10:33:12 -05:00
Neil Lalonde 8a0cf1b90e FIX: if username and name are the same, don't show both in summary emails 2016-12-01 12:17:23 -05:00
Jeff Atwood 61bcc98c0e slightly tighten spacing on digests 2016-11-30 17:13:01 -08:00
Neil Lalonde 8cd30cdc8b FIX: respect the enable_names setting, and fix cases when html is invalid 2016-11-30 17:58:07 -05:00
Jeff Atwood 3f3a0d7b14 make counts fixed width for digest/summary 2016-11-29 17:21:51 -08:00
Neil Lalonde 4d52682267 FIX: wrong font of site title in summary email 2016-11-29 17:12:11 -05:00
Neil Lalonde a187932126 Counts at top of summary email are links 2016-11-29 17:10:25 -05:00
Neil Lalonde 4e0958051e FIX: don't try to show svg's in summary email 2016-11-28 14:35:59 -05:00
Jeff Atwood fc68a7f0c6 tighten spacing on digest "new in" 2016-11-27 10:19:23 -08:00
Jeff Atwood 9b363d6df7 tighten spacing on digest email 2016-11-27 10:03:34 -08:00
Jeff Atwood e77dbbacea no vendor specific formatting in digest emails 2016-11-27 09:49:15 -08:00
Neil Lalonde af4f2d000a FIX: translation missing messages in digest when showing more than 5 popular topics 2016-11-25 16:37:06 -05:00
Neil Lalonde 9d5ac320f4 FIX: dates in digest email wrapping when they should have plenty of space on one line 2016-11-25 16:29:01 -05:00
Neil Lalonde 655b8a0540 move topic.image_url to same row as avatar in digest email 2016-11-25 15:41:22 -05:00
Neil Lalonde 96daf5431f digest: don't show stats with 0. try to show new posts and new users counts. 2016-11-24 16:28:24 -05:00
Neil Lalonde 4efb3069e2 FIX: exception in digest email when last_read_post_number is nil 2016-11-23 17:51:57 -05:00
Neil Lalonde 71e4fe9c85 FIX: consistent rendering of categories in digest emails 2016-11-21 17:33:19 -05:00
Neil Lalonde 7d37c2b919 FIX: digest email has broken images in popular topics section 2016-11-21 12:33:48 -05:00
Neil Lalonde 47be1a8be9 FIX: digest email: put topic title and category in the same column in the "New in ... you follow" section 2016-11-21 12:33:48 -05:00
Neil Lalonde dffefcaa6a FIX: links in digest with href="#" 2016-11-21 12:33:48 -05:00
Sam e2c87da42a FEATURE: Add basic support for Safe Mode
In Safe Mode all JS extensions and site customizations are disabled.

To access Safe Mode visit `sitename.org/safe-mode`
2016-11-21 16:46:14 +11:00
Jeff Atwood 18156719bd downsize digest heading font a tad 2016-11-20 01:52:12 -08:00
Neil Lalonde 45f368126f FEATURE: New summary/digest email design 2016-11-18 14:03:42 -05:00
Sam f4c754b389 FEATURE: split JavaScript application bundle, so plugins live in own file
This adds plugin.js and plugin_third_party.js files
2016-11-15 11:43:13 +11:00
Rafael dos Santos Silva 24227af9e8 Adds some styling for crawler view 2016-11-14 18:32:59 -02:00
Sam 115c454002 FIX: if prioritizing names in ux choose name over username in email 2016-11-14 11:09:24 +11:00
Robin Ward 19e2eec219 Allow step 0 to resend the confirmation email 2016-10-21 11:34:19 -04:00
Robin Ward c03d25f170 FEATURE: Configure Admin Account
Adds a "Step 0" to the wizard if the site has no admin accounts where
the user is prompted to finish setting up their admin account from the
list of acceptable email addresses.

Once confirmed, the wizard begins.
2016-10-19 11:27:56 -04:00
Sam f4f5524190 FEATURE: user API now contains scopes so permission is granular
previously we supported blanket read and write for user API, this
change amends it so we can define more limited scopes. A scope only
covers a few routes. You can not grant access to part of the site and
leave a large amount of the information hidden to API consumer.
2016-10-14 16:05:42 +11:00
Rafael dos Santos Silva 41d2620d06 Add some styling to print redux version 2016-10-12 14:00:05 -03:00
Sam 6031e692f0 Merge pull request #4366 from xfalcox/print
Print Support
2016-10-11 11:47:20 +11:00
Sam 80fc54a16c Merge pull request #4398 from xfalcox/fix-tags-for-crawlers
FIX: Tags on topic crawler view
2016-10-11 11:43:40 +11:00
Rafael dos Santos Silva 03ec480c65 Removes UI for print, adds CTRL+P shortcut 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva acc70cc3de SiteSetting, admin passtrough, CSS, hide on mobile 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva 70c68f0a7c Open print dialog automatically 2016-09-26 20:44:50 -03:00
Rafael dos Santos Silva 108e3fdf97 FIX: Hide full names on /about for crawlers when names are disabled 2016-09-26 16:31:39 -03:00
Robin Ward 3d621767cc FIX: Wizard didn't work with subfolders 2016-09-22 14:39:36 -04:00
Robin Ward af83c8dc14 Upload Logos Step 2016-09-22 09:52:19 -04:00
Robin Ward 9f12b571ef Wizard: Server Side Validation + Finished Step 2016-09-22 09:52:19 -04:00
Robin Ward 3a4615c205 Wizard: Step 1 2016-09-22 09:48:58 -04:00
Robin Ward 0471ad393c Scaffold for new Wizard - Rails / Ember / Tests 2016-09-22 09:48:58 -04:00
Robin Ward 6070939daa Support for other i18n bundles 2016-09-22 09:48:58 -04:00
Daniel Marquard 5968f39d7e Allow for search engine updates 2016-09-19 22:25:54 -04:00
Daniel Marquard d77deaa185 Firefox needs "title" OpenSearch parameter 2016-09-19 22:21:42 -04:00
Daniel Marquard 222ef942ee Well formed OpenSearch/XML
1 of 2 changes for OpenSearch to better support Firefox.
2016-09-19 22:12:43 -04:00
Sam fe7883eeea UX: don't allow user scaling in mobile view
on iOS 10 behavior of zoom restriction has changed.

This does not disable zooming on iOS 10 but it DOES stop it from randomly
zooming when you are composing
2016-09-15 07:36:16 +10:00
Sam 39e6cbc442 FIX: disable double submission which invalidates nonce 2016-09-04 16:05:25 +10:00
Neil Lalonde 2f68be2c5c FEATURE: custom html and text can be added to summary emails 2016-08-23 16:06:02 -04:00
Sam 691f739f11 better error handling
push notifications imply read access, no need for a special permission
2016-08-23 16:48:00 +10:00
Arpit Jalan a39929d12e FEATURE: add opengraph and twitter meta tags on every page 2016-08-21 22:08:49 +05:30
Neil Lalonde a1363feec8 FIX: don't show post withdrawn by author in summary emails 2016-08-19 12:11:36 -04:00
Régis Hanol 6d1d7b7c8f UX: new /categories layout 2016-08-17 23:23:16 +02:00
Rafael dos Santos Silva 16f04d96d4 FIX: Tags on topic crawler view
- Remove tag object id
- Remove duplicate tag list
- Don't display tags when tagging is disabled
2016-08-17 01:28:31 -03:00
Sam b7cea24d76 FEATURE: more user API flow, support key creation 2016-08-16 17:06:52 +10:00
Neil Lalonde d38727efb7 FIX: Google Universal Analytics was tracking two page views on first page view 2016-08-02 12:55:02 -04:00
Robin Ward 215eae9972 FIX: Add a `title` to the groups pages 2016-07-25 14:24:43 -04:00
Neil Lalonde ba637e40b6 FEATURE: Google Tag Manager Universal Analytics support 2016-07-14 16:35:20 -04:00
Jeff Atwood 1386f9c8c9 make the activate account button a btn-primary 2016-07-14 03:40:55 -07:00
Sam Saffron f369d492b3 FEATURE: stop linking to last post in crawler view
This only makes stuff harder for google AND does not even function correctly
2016-07-12 21:11:33 +10:00
Robin Ward bba0fd0654 REFACTOR: PreloadStore to ES6 2016-07-11 12:57:05 -04:00
Robin Ward 25d6915cac Migrate discourse.js to ES6 2016-07-11 12:57:05 -04:00
Robin Ward a546395397 REFACTOR: Migrate markdown functionality in ES6 2016-07-11 12:57:05 -04:00
Robin Ward f7c303c82e FIX: If there's no `window.opener` use the localStorage method for login 2016-07-08 14:45:34 -04:00
Robin Ward 72560b5260 UX: Apply the category class on initial page load 2016-07-04 12:11:12 -04:00