Commit Graph

290 Commits

Author SHA1 Message Date
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
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
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
Arpit Jalan
b354099252 FEATURE: add custom open graph tag for ignoring canonical url 2017-08-15 19:24:20 +05:30
Guo Xiang Tan
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Robin Ward
574681dc47 FIX: Show emoji in inline oneboxes 2017-07-21 14:24:48 -04:00
Neil Lalonde
3ebd8838af FEATURE: cross-domain tracking for Google universal analytics 2017-07-13 15:21:44 -04:00
Robin Ward
6ab4692431 FEATURE: Add a user's primary group class name to the body tag 2017-06-15 14:25:39 -04:00
Joffrey JAFFEUX
299339a373 Fixes emoji name to code missing tones 2017-06-13 14:10:26 -04:00
Robin Ward
2efe0442bf FIX: Messed up i18n key 2017-04-27 11:45:59 -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
Robin Ward
8b8ee2ad61 Pass a context in when using a HTML builder 2017-04-18 12:35:35 -04:00
Robin Ward
1363988cd7 Support for an HTML builder that can create dynamic HTML 2017-04-17 17:32:55 -04:00
Sam
5dd752877e FEATURE: try adding some preload hints for chrome 2017-04-17 11:52:43 -04:00
Sam
def7348777 FIX: display custom sections with default theme
also cleans up mechanism for previewing themes, cleans up naming,
gets rid of old janky "preview_style", secures local theme key
2017-04-14 13:35:12 -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
028eb8c05a FIX: render emoji in topic title 2017-04-10 23:36:30 +05:30
Neil Lalonde
0551b3f5ee FEATURE: replace emoji with unicode in title and description meta tags 2017-02-22 16:24:13 -05:00
Neil Lalonde
9ec000407f FIX: tags shouldn't be listed as breadcrumbs in web crawler view 2017-02-06 17:35:54 -05:00
Robin Ward
962c32edf5 Merge pull request #4597 from ibnesayeed/urdu-support
RTL direction assigned to Urdu language
2016-12-22 11:39:44 -05:00
Neil Lalonde
a65281d5ea FIX: better support for featured link topics in summary emails 2016-12-19 17:05:49 -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
Sam
30e0154e5d SECURITY: fix reflected XSS with safe_mode param
(only applies to beta and master)
2016-12-19 10:11:51 +11:00
Sawood Alam
77ef730f20
RTL direction assigned to Urdu language 2016-12-10 18:57:48 -05:00
Erick Guan
52763f5115
FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
Sam
8a98d617df correct headers and add better caching 2016-12-05 15:11:07 +11:00
Sam
39a524aac8 FEATURE: brotli cdn bypass for assets
Allow CDNS that strip out brotli encoding to use brotli regardless
2016-12-05 13:57:09 +11:00
Neil Lalonde
4e0958051e FIX: don't try to show svg's in summary email 2016-11-28 14:35:59 -05:00
Neil Lalonde
db4b3a7aa4 FIX: show emoji in digest emails 2016-11-22 12:37:22 -05:00
Neil Lalonde
7d37c2b919 FIX: digest email has broken images in popular topics section 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
Neil Lalonde
45f368126f FEATURE: New summary/digest email design 2016-11-18 14:03:42 -05:00
Sam
115c454002 FIX: if prioritizing names in ux choose name over username in email 2016-11-14 11:09:24 +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
Neil Lalonde
f3eb58092d FIX: twitter card meta tags use wrong urls on subfolder installs 2016-10-05 15:14:51 -04:00
Arpit Jalan
332cc2bb95 FEATURE: new twitter_summary_large_image_url setting 2016-09-19 18:43:33 +05:30
Neil Lalonde
2f68be2c5c FEATURE: custom html and text can be added to summary emails 2016-08-23 16:06:02 -04:00
Arpit Jalan
f6bd114b5e FEATURE: fall back to apple_touch_icon_url if default_opengraph_image_url is not present 2016-08-22 15:30:05 +05:30
Arpit Jalan
a39929d12e FEATURE: add opengraph and twitter meta tags on every page 2016-08-21 22:08:49 +05:30
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
Neil Lalonde
37162e476b FIX: remove gtm_ua_domain_name setting because it's preferable to configure it in Google Tag Manager settings 2016-08-02 14:54:35 -04:00
Neil Lalonde
ba637e40b6 FEATURE: Google Tag Manager Universal Analytics support 2016-07-14 16:35:20 -04:00
Robin Ward
a546395397 REFACTOR: Migrate markdown functionality in ES6 2016-07-11 12:57:05 -04:00
Robin Ward
72560b5260 UX: Apply the category class on initial page load 2016-07-04 12:11:12 -04:00
James Kiesel
7a6bc3f1d7 Apply notification styles to mailing list email manually (#4283)
* Apply notification styles to mailing list email manually

* Fix failing spec
2016-06-21 20:42:30 +05:30
James Cook
c0e25b5a9a Replace certain uses of 'gsub' with 'tr' or 'chomp' for a speed
improvement
2016-06-10 22:08:37 -05:00
Neil Lalonde
f13470b96b Use db schema for tags instead of plugin store and custom fields 2016-05-26 14:29:48 -04:00
Régis Hanol
c012b18601 FIX: sending email wasn't working anymore when a plugin used 'reduce_cooked' (cc @gdpelican) 2016-05-21 20:13:00 +02:00
James Kiesel
feffe23cc5 FEATURE: More granular mailing list mode (#4068)
* Rearrange frontend to account for mailing list mode

* Allow update of user preference for mailing list frequency

* Add mailing list frequency estimate

* Simplify frequency estimate; disable activity summary for mailing list mode

* Remove combined updates

* Add specs for enqueue mailing list mode job

* Write mailing list method for mailer

* Fix linting error

* Account for stale topics

* Add translations for default mailing list setting

* One query for mailing list topics

* Fix failing spec

* WIP

* Flesh out html template

* First pass at text-based mailing list summary

* Add user avatar

* Properly format posts for mailing list

* Move make_all_links_absolute into Email::Styles

* Apply first_seen_at to user

* Send mailing list email summary hourly based on first_seen_at

* Branch and test cleanup

* Use existing mailing list mode estimate

* Fix failing specs
2016-05-21 15:17:54 +02:00
Neil Lalonde
e5918c7d00 FEATURE: Merge tagging plugin into core 2016-04-27 11:58:53 -04:00
Guo Xiang Tan
4419d50780
Fix build. 2016-04-14 17:22:26 +08:00
Régis Hanol
379bfac36d Merge pull request #4010 from riking/patch-sitelinks
FEATURE: Add /search discovery
2016-04-14 10:35:13 +02:00
Robin Ward
e91379916b
FIX: Provide the ability to reduce cooked content
This allows us to strip polls from the group posts page.
2016-04-13 13:25:18 -04:00
Guo Xiang Tan
4e7e4cee7d PERF: Rendering crawler's template is expensive. 2016-04-07 16:28:31 +02:00
Arpit Jalan
f9d1a2554d FIX: do not allow SVG image as digest logo 2016-04-02 17:27:06 +05:30
Kane York
f2ddd44712 FEATURE: Add /search discovery
The opensearch.xml results in a "site search engine" being added to
Chrome, while the sitelinks search tag results in "Search this website"
being added to Google Search.
2016-03-28 15:07:59 -07:00
Robin Ward
233aa2ab2f FIX: If we're using the crawler layout, don't skip on mobile 2016-03-16 14:35:58 -04:00
Arpit Jalan
dde91a54dc SECURITY: strip HTML tags in topic title in email digest 2016-03-08 20:24:24 +05:30
scossar
0a396583ed set locale for anonymous from header
set locale on signup

update spec

add locale option
2016-02-26 13:45:00 -08:00
Joe Buhlig
6763a9923a Added tertiary color to digest
Added hash to color in helper

Added anchor_color to topic and site name links

Styled the unsubscribe link
2016-02-22 07:02:21 -06:00
Arpit Jalan
850838147a add Twitter labels only if both properties are present 2016-01-07 16:48:05 +05:30
Arpit Jalan
2a819546ae add Twitter label meta tags only if value is present 2016-01-07 14:30:13 +05:30
David McClure
7654c855b4 UX: replace 💚 with ❤️ in slack unfurling 2015-12-28 17:46:00 -05:00
Arpit Jalan
6ef1537ee0 FEATURE: better unfurling of Discourse topics on Slack 2015-12-28 19:10:19 +05:30
Robin Ward
5e93140f85 FEATURE: Can override any translation via an admin interface 2015-11-27 11:35:19 -05:00
Arpit Jalan
290708ca53 FIX: use absolute URL for open graph image tags 2015-11-03 01:26:39 +05:30
Régis Hanol
37c5909a31 FIX: use the first image in the first post in the topic as opengraph image
FEATURE: new 'default_opengraph_image_url' setting
2015-10-15 11:00:47 +02:00
Régis Hanol
73e345fe8f FIX: unescape emojis in digests 2015-10-15 09:59:29 +02:00
Neil Lalonde
dd0a7107a8 FIX: canonical urls for category and topic pages was wrong when deployed to subfolder 2015-10-01 12:24:07 -04:00
Robin Ward
be17b3e04f FIX: Strip lightbox metadata from embedding comments 2015-08-21 15:22:50 -04:00
Arpit Jalan
5fd6c693d0 UX: show Vimeo links in embedded comments 2015-08-11 10:31:04 +05:30
Sam
df8d47bdb6 FEATURE: fix a:visited for anon in topic list 2015-07-23 17:16:29 +10:00
Sam Saffron
5db768b69f FEATURE: improve no-js topic list information
- Provide links to pages
- Provied link to last topic
2015-06-10 00:28:20 +10:00
Sam Saffron
56b4826b9f FEATURE: plugin filter for topic categories breadcrumb 2015-06-03 19:06:55 +10:00
Sam Saffron
89b475e538 FEATURE: clean up microdata breadcrumb
* do not include any breadcrumb for uncategorized
* do not include the work "Categories" as a breadcrumb
2015-06-03 18:17:45 +10:00
Robin Ward
92cddfa598 Basic support for server side plugin outlets 2015-06-02 14:28:12 -04:00
Sam
45bdd23689 FEATURE: support user local switching to RTL correctly
FEATURE: support RTL in multisite
2015-05-20 15:56:54 +10:00
Arpit Jalan
23fd16850a FIX: include youtube link in embedded comments 2015-05-01 18:34:45 +05:30
Robin Ward
2562b61448 normalize_name is a better name for this. 2015-04-24 10:35:18 -04:00
Robin Ward
388f51eed7 FIX: Bring email username logic in line with front end 2015-04-22 16:26:57 -04:00
Robin Ward
5c7d6e0a3c FIX: Don't display names on emails if display_name_on_posts is false
Note that `enable_names` was always respected.
2015-04-22 16:15:23 -04:00
Robin Ward
65bfa574ce Add userId to GA tracking 2015-04-07 13:10:33 -04:00
Régis Hanol
33879e1311 Merge pull request #3199 from fantasticfears/seo
FEATURE: add microdata prop and more links for crawler
2015-04-06 11:18:34 +02:00
Robin Ward
8513045381 Include user title in email notifications 2015-03-23 14:12:11 -04:00
Erick Guan
c955907f60 FEATURE: add microdata prop and more links for crawler
- add microdata based on schema.org
- add breadcrumb on the top of topic
- add navigations link on the bottom of every pages
- add category description on the category list
2015-03-16 22:52:10 +08:00
Robin Ward
3ad12d44f3 Use a mixin for the path function to DRY it up 2015-03-09 15:24:16 -04:00
Sam
f5af4768eb FEATURE: add clean support for running Discourse in a subfolder
To setup set DISCOURSE_RELATIVE_URL_ROOT to the folder you wish
2015-03-09 13:14:29 +11:00
Régis Hanol
1b2381d5a0 FIX: only remove custom CSS in admin on first load 2015-03-02 23:31:04 +01:00
Robin Ward
bcb0346595 FIX: Support text only logos when activating account. 2015-02-25 11:36:06 -05:00
Régis Hanol
cd423f4a43 use the view instead 2015-02-20 18:21:19 +01:00
Robin Ward
d6fa248093 UX: Update 404 page category badge to use centralized helper and style 2015-01-28 14:56:38 -05:00
Robin Ward
d06d050eb7 UX: When oneboxing a topic, use the stripe category badge 2015-01-23 15:12:42 -05:00
Robin Ward
350554e198 UX: Change category badge style to use stripes 2015-01-20 14:56:06 -05:00
Jeff Atwood
cd3703e441 remove image opengraph tags 2014-12-24 00:30:55 -08:00
Robin Ward
72efcc8e86 UX: Make category link text black in digest emails 2014-12-09 11:28:45 -05:00
Jeff Atwood
003d32babe decrease size of cat color stripe in digests a bit 2014-11-29 03:58:44 -08:00
Robin Ward
37a3e956b6 UX: Link categories in digest emails 2014-11-28 13:44:40 -05:00
Robin Ward
bfe2021859 UX: In digest email lists of topics, show striped version of category
badge
2014-11-07 17:00:09 -05:00
Régis Hanol
a5616146eb FIX: remove meta data from lightbox in both excerpt (html & text) 2014-11-05 20:37:00 +01:00
Sam
aa9b3bb35a FEATURE: allow long polling to go to a different url
Added the site setting long_polling_base_url , this allows you
to farm long polling to a different server.

This setting is very important if a CDN is serving dynamic content.
2014-10-24 13:38:38 +11:00
Jeff Atwood
f959bf7d93 make sure categories don't wrap in email digests 2014-10-23 10:53:31 -07:00
Robin Ward
bc53d48bd7 Renaming site contents to site text 2014-09-24 16:08:14 -04:00
Eyal Levin
e0c2f3df3a Enable RTL direction in emails. 2014-08-27 14:38:03 +03:00
Akshay
b4e38e5646 updated checks of environment with Rails.env by Rails.env methods 2014-08-18 15:36:47 +05:30
Robin Ward
ee40a95e58 FIX: Don't return protocol relative URLs for open graph images - we
can't be sure our site supports what protocol a remote site is
requesting.
2014-08-07 12:59:19 -04:00
Robin Ward
6783565d8f Revert "Enable RTL direction in emails." 2014-08-06 15:30:07 -04:00
Eyal Levin
f8c99a35d0 Enable RTL direction in emails. 2014-08-06 15:27:15 +03:00
M Smart
0d9e2b5df5 Move the scripts helper into a better place. 2014-07-22 20:14:57 -04:00
Robin Ward
eafde36228 FIX: If a site has no logo, don't show a broken image in the digest. 2014-07-21 14:18:32 -04:00
Eyal Levin
d7139555e5 Add RTL support. 2014-07-10 19:36:19 +03:00
Sam
5032c96486 FIX: disable x accl redirect for CDN assets
We need to keep headers in tact
2014-07-10 16:32:46 +10:00
Arpit Jalan
223bbc3da3 FEATURE: include topic context in topic invite 2014-07-09 21:23:20 +05:30
Sam
832a730e36 BUGFIX: re-enable CDN js debugging in a robust way
May be disabled if needed via site setting
2014-05-19 08:46:28 +10:00
Régis Hanol
3a0b23191c TEMP: disable CORS when using CDN 2014-05-16 15:11:12 +02:00
Sam
f34862d195 FEATURE: get window.onerror working for CDNs 2014-05-15 12:59:26 +10:00
Robin Ward
64faee0935 Break down new topic counts by category if a digest contains many. 2014-04-17 16:42:40 -04:00
Robin Ward
2341118570 Add categories to the first topics in the email digest 2014-04-17 15:22:19 -04:00
Robin Ward
87682f7539 FIX: Don't include image meta data when embedded in an email 2014-04-17 12:32:51 -04:00
Robin Ward
9d1855f92f Always use lower case URLs, fix date formatting and add full date title 2014-03-23 15:22:02 -04:00
Robin Ward
3fbb2cd728 Improve date displaying on embedded comments 2014-03-20 13:25:17 -04:00
Robin Ward
84e608079b Ability to customize the logo in digest emails 2014-03-18 15:56:17 -04:00
Robin Ward
23066edbe1 FIX: undefined method error for some digests. 2014-02-21 16:25:19 -05:00
Robin Ward
d95887c57d CHANGE: We now include the _escaped_fragment_ support by default, but
only if the crawler check fails. It is a fallback for non-google search
engines that support the Ajax crawling API.
2014-02-20 17:02:26 -05:00
Robin Ward
d3b2f87f8e In email digests, try to get longer excerpts if we don't have enough
characters from the first paragraph.
2014-02-13 16:11:01 -05:00
Robin Ward
88e1fadd0f Merge pull request #1863 from ecuk/analytics
Google Universal Analytics
2014-01-27 12:33:17 -08:00
Robin Ward
1609950781 FIX: Missing module name 2014-01-27 15:11:51 -05:00
Eric Carlson
bc033283c6 Google Universal Analytics 2014-01-25 17:42:25 -07:00
Robin Ward
659b95178a FIX: Removed Rails.logger. Sigh. 2014-01-22 17:09:57 -05:00
Robin Ward
2d15c82b26 FIX: Digest styling for oneboxes 2014-01-22 15:30:44 -05:00
Robin Ward
39c6e48aa5 FEATURE: Return only the first paragraph of text in HTML digests, unless
there is only one post. In that case return everything. Remove
dependency on 'html_truncator'
2014-01-22 12:37:37 -05:00
Sam
177983afe6 BUGFIX: mobile ui was being cached for anon views 2014-01-09 14:08:42 +11:00
Sam
9738c4ff48 FEATURE: backport a minimal String#scrub
BUGFIX: invalid byte sequence in email would explode all processing
2013-12-30 14:05:25 +11:00
Neil Lalonde
1f0a59584b Revert "Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations." 2013-12-18 14:47:22 -05:00
Neil Lalonde
58e5d532c5 Revert "Got rid of buggy yepnope spaghetti, however mobile detection really should be driven from the server." 2013-12-18 14:47:12 -05:00
Sam
8ccab6d140 Got rid of buggy yepnope spaghetti, however mobile detection really should be driven from the server. 2013-12-13 15:17:05 +11:00
Neil Lalonde
5171a23a9c Re-apply with fixes: Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations. 2013-12-11 11:19:22 -05:00
Neil Lalonde
2596f7dec2 Revert "Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations." 2013-12-09 16:28:11 -05:00
Neil Lalonde
ca5d4d5e54 Stop using user agent to detect mobile devices. Use a media query and yepnope to load the appropriate css and customizations. 2013-12-09 13:28:42 -05:00
Robin Ward
3da2285ef1 FIX: Missing styles in HTML digest emails 2013-11-29 12:21:36 -05:00
Robin Ward
8c8645f158 FIX: Code and Emoticon formatting in HTML emails. 2013-11-28 17:21:14 -05:00
Régis Hanol
31fd5b85bc FIX markdown hotlinked images were not properly pulled 2013-11-20 13:10:08 +01:00
Régis Hanol
07cbf8f4e3 do not customize the admin section 2013-11-14 16:41:16 +01:00
Sam
415d4df648 work around bust encodings passed in to method 2013-11-05 13:40:39 +11:00
Neil Lalonde
07d08b81c7 Show mobile view as default for nexus 7 tablet 2013-09-23 17:13:29 -07:00
Neil Lalonde
0fafe124db Add enable_mobile_theme site setting. Uncheck it to disable the mobile theme. 2013-09-17 11:25:37 -04:00
Neil Lalonde
8de91e3789 Also put a class on html element for desktop view 2013-09-13 14:54:57 -04:00
Robin Ward
7d9a84b496 New User Education goes through a server side ComposerMessages check. Composer message for users
who don't have avatars.
2013-09-13 12:23:53 -04:00
Neil Lalonde
cc2acafc9a Enable mobile view. Use local storage to remember whether you chose mobile or desktop view. Mobile device detection needs to be replaced with a better solution. 2013-09-10 16:44:17 -04:00
Sam
bcf0203497 fix encoding bug 2013-09-10 16:01:36 +10:00
Neil Lalonde
a3f3b086f3 Don't show mobile view unless mobile_view=1 param is used. Still more work to do. 2013-09-05 16:28:57 -04:00