Commit Graph

237 Commits

Author SHA1 Message Date
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
Guo Xiang Tan
bc3e43b496 FIX: Topic timers being incorrectly trashed!.
https://meta.discourse.org/t/temporary-timed-closure-of-topic-not-re-opening-topic/67877
2017-08-22 15:23:09 +09:00
Erick Guan
1146772deb Fix: unlinked topic search model (#5044) 2017-08-15 11:46:57 -04:00
Guo Xiang Tan
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Neil Lalonde
55b61e9bea rename topic_status_update to topic_timer 2017-05-11 18:27:53 -04:00
Guo Xiang Tan
04016f0dec Support Ruby 2.4. 2017-04-15 12:29:00 +08: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
Guo Xiang Tan
34b7bee568 FEATURE: Allow admin to auto reopen at topic.
* This commit also introduces a `TopicStatusUpdate`
  model to support other forms of deferred topic
  status update in the future.
2017-03-31 11:14:18 +08:00
Arpit Jalan
3378e2d49f FIX: update topic fancy title when updating category name 2017-03-26 12:29:53 +05:30
Neil Lalonde
11ce73b8ed FEATURE: category setting for default top period 2017-03-22 16:54:18 -04:00
Guo Xiang Tan
e8fc8f0bb6 Update annotations. 2017-03-22 14:26:53 +08:00
Neil Lalonde
22f197c153 FEATURE: subcategory list style: boxes with featured topics 2017-03-16 11:54:45 -04:00
Neil Lalonde
6d7e968e30 FEATURE: box-style rendering of sub-categories 2017-03-13 15:25:52 -04:00
Neil Lalonde
262016604d FEATURE: each category can control how many topics to show on categories page 2017-03-01 15:12:57 -05:00
Sam
c531f4ded5 remove rails-observers
Rails yanked out observers many many years ago, instead the functionality
was yanked out to a gem that is very lightly maintained.

For example: if we want to upgrade to rails 5 there is no published gem

Internally the usage of observers had quite a few problem.

The series of refactors renamed a bunch of classes to give us more clarity
and removed some magic.
2016-12-22 16:46:53 +11:00
Sam
0a78ae739d Remove SearchObserver, aim is to remove all observers
rails-observers gem is mostly unmaintained and is a pain to carry forward
new implementation contains significantly less magic as a bonus
2016-12-22 13:13:14 +11:00
Joe Buhlig
87251fded7 FEATURE: Category setting to make all topics wikis
FEATURE: Category setting to make all topics wikis
2016-12-19 06:42:18 -06:00
Guo Xiang Tan
4a1340b14e Update annotations. 2016-12-12 22:59:40 +08:00
Guo Xiang Tan
9a800107cb FIX: Associate category logo and background to uploads record. 2016-12-12 17:37:28 +08:00
Régis Hanol
f4688f74db FIX: emoticons stop summary from being updated 2016-12-07 23:05:14 +01:00
Guo Xiang Tan
f812415c52 Update annotations. 2016-11-24 10:13:03 +08:00
Arpit Jalan
82bdfb9832 FIX: update category permalink if record already exists 2016-11-17 21:58:19 +05:30
Neil Lalonde
9ef1688a76 FEATURE: per-category default topic list sort order 2016-11-01 12:18:41 -04:00
Robin Ward
1f5325e3f0 FIX: Only validate uploaded URLs if they change 2016-09-08 12:06:18 -04:00
Erick Guan
9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
Régis Hanol
eb953c0904 FIX: /categories page on mobile 2016-08-19 01:47:00 +02:00
Régis Hanol
6d1d7b7c8f UX: new /categories layout 2016-08-17 23:23:16 +02:00
Robin Ward
2891f230d1 SECURITY: Make sure uploaded_urls have corresponding upload records 2016-07-28 13:54:17 -04:00
Robin Ward
cf5b756b1a SECURITY: Cross-Site Scripting in Category and Group Settings 2016-07-28 11:57:59 -04:00
Sam
83f80341b3 FIX: topic id cache should be a multi process cache 2016-07-28 10:20:14 +10:00
Neil Lalonde
fa9d8bd8bd FIX: category settings shouldn't limit tag input size 2016-07-19 12:30:02 -04:00
Sam
1c964bf730 PERF: cache category topic ids 2016-07-19 12:34:54 +10:00
Robin Ward
2005565c9c Server side code for Watching First Post Only 2016-07-07 11:21:50 -04:00
Régis Hanol
800081f606 FIX: staged users weren't able to reply in restricted categories 2016-06-26 19:25:45 +02:00
Neil Lalonde
a49ace0ffb FEATURE: ability to restrict tags to categories using groups 2016-06-07 15:36:20 -04:00
Neil Lalonde
f3f6c2f98f FEATURE: tag groups 2016-06-06 14:18:48 -04:00
Neil Lalonde
c3ceb6ef7d FIX: tags created from category modal need to be normalized as usual 2016-06-01 17:05:24 -04:00
Neil Lalonde
deb93044b4 FEATURE: new tags can be created from the "edit category" modal when defining the set of permitted tags 2016-05-31 17:27:22 -04:00
Neil Lalonde
6796b15857 FEATURE: restrict tags to be used in a category 2016-05-30 16:56:33 -04:00
Arpit Jalan
7151c16c79 FEATURE: create permalink when category slug is changed 2016-04-27 17:34:03 +05:30
Sam
8ba57c0ffd FIX: restrict moderators from creating/editing topics in readonly categories
In the past moderators had blanket access to all categories they were allowed
to see. This tightens down the restriction.
2016-04-13 15:59:38 +10:00
Arpit Jalan
ff12b5bf57 FIX: newly created categories were not showing up 2016-03-14 23:17:02 +05:30
Régis Hanol
031146a821 FIX: ensure email in address insn't used it both Groups & Categories 2016-03-08 20:52:04 +01:00
Régis Hanol
f7432d8ec9 FEATURE: add support for multiple incoming emails for groups & categories 2016-02-24 19:47:58 +01:00
Sam
32c681c96b annotate models 2016-02-23 10:33:53 +11:00
Guo Xiang Tan
a055c37939 Merge pull request #3956 from tgxworld/fix_clashing_slug
FIX: Clashing category slug.
2016-01-18 10:15:13 +08:00
Guo Xiang Tan
c60e360c90 FIX: Clashing category slug. 2016-01-13 15:32:29 +08:00
Régis Hanol
e2744fc19f FIX: adding the 'contains_messages' column back 2016-01-12 12:06:51 +01:00
Régis Hanol
8049dfdfda CLEANUP: remove 'contains_messages' leftover 💩 2016-01-12 11:29:26 +01:00
Sam Saffron
c2e45c8377 Update annotate and annotate models 2016-01-11 17:30:56 +11:00
Arpit Jalan
bfd21461df FIX: proper regex for category slug validation 2016-01-07 12:06:45 +05:30
Guo Xiang Tan
c1dbf5c1c4 FEATURE: Autolinking to category using hashtags. 2016-01-05 00:12:24 +08:00
Sam
6246dd0aa2 PERF: memoize to avoid N+1 query in category page 2015-10-02 12:35:47 +10:00
Sam
55c0f6a20c PERF: avoid method_missing 2015-10-02 12:27:38 +10:00
Sam
181ab89485 PERF: introduce fragment caches in site serializer 2015-09-28 16:50:24 +10:00
Sam
aefedfafea PERF: increase caching of category descriptions 2015-09-28 16:50:24 +10:00
Guo Xiang Tan
f39b9124b6 FEATURE: Log staff actions for Category changes. 2015-09-18 10:53:08 +08:00
Sam
c1ecd6f4ce update annotations 2015-09-18 10:41:10 +10:00
Régis Hanol
d34f42d2f7 FIX: hide category column in topic list only when the current category has no children 2015-09-02 23:46:04 +02:00
Sam
f533276507 FIX: do not publish all categories when a category changes.
minor fixes to UI, still needs more work for live refresh of category listing
2015-07-10 12:09:43 +10:00
Sam
fdbcc31a9c Merge pull request #3461 from fantasticfears/slug
FIX: category custom slug can't be set when generation method is none
2015-05-15 14:59:35 +10:00
Sam
e6f73a1c80 PERF: optimise front page category security lookup query 2015-05-14 12:19:22 +10:00
Erick Guan
4c00eef8b5 FIX: category custom slug can't be set when generation method is none 2015-05-13 16:54:19 +08:00
Erick Guan
a48dd1cc28 store the slug as the title is, only sanitize the slug
and prettify code
2015-05-05 18:33:16 +08:00
Erick Guan
b772ff6e13 FEATURE: add slug geneartion options 2015-05-05 18:08:30 +08:00
Sam
803feefd54 MessageBus handles readonly redis now, no need to wrap it 2015-05-04 12:21:00 +10:00
Neil Lalonde
1b250f1e01 FIX: crawler pages and RSS had broken links for sites deployed to a subfolder with relative_url_root 2015-04-30 12:46:26 -04:00
Robin Ward
5b3f99aa50 Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
Régis Hanol
7b8c7ff3ef FIX: sub-categories with the same name had the same background image 2015-02-12 18:21:07 +01:00
Robin Ward
114cc1c851 FIX: We missed some references to /category/xyz in the ruby code base. 2015-01-07 11:47:01 -05:00
Erick Guan
1e166d89ff support setting category slug 2014-12-30 03:14:54 +08:00
Jason W. May
18a00d2dd7 remove commented-out code 2014-12-17 08:59:05 -08:00
Jason W. May
efa872e426 optional custom value for category slug (create and update) 2014-12-03 16:23:59 -08:00
Sam
6bed4e1bf0 add allowed_ips to api_keys
update annotations
2014-11-20 14:53:15 +11:00
Sam
c98d0a8eb6 Revert "Revert "PERF: use distributed cache for site text and category slugs""
This reverts commit 65e7cd1d1d.
2014-11-12 10:01:41 +11:00
Sam
65e7cd1d1d Revert "PERF: use distributed cache for site text and category slugs"
This reverts commit a97f2eee05.
2014-11-12 10:01:07 +11:00
Sam
a97f2eee05 PERF: use distributed cache for site text and category slugs 2014-11-12 09:44:44 +11:00
Sam
b2af49251d PERF: remove superflous queries from initial page loads
stop doing expensive work to figure out discourse style sheet
2014-11-11 15:32:44 +11:00
Sam
e20e6b4524 PERF: stop using jQuery to sanitize strings 2014-10-22 15:48:18 +11:00
Régis Hanol
5754e8dd0f FEATURE: auto-close topics based on last post 2014-10-10 18:21:44 +02:00
Kamil Bielawski
bf679f1626 FIX: destroy CategoryGroup when Category or Group is destroyed 2014-08-31 22:10:38 +02:00
Neil Lalonde
99d26cef1a FIX: uncategorized counts were always 0. topics_year, topics_month, topics_week, topics_day 2014-08-27 15:58:32 -04:00
Sam
414c6d191f FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
Neil Lalonde
5454c1ed24 Updated model anotations 2014-08-22 13:01:44 -04:00
Neil Lalonde
1445ad61da FIX: case-insensitive category lookup when creating topics 2014-08-18 11:07:49 -04:00
Robin Ward
22de2edae7 FIX: Allow a search for a parent slug when a child exists with the same
name.
2014-08-13 15:24:28 -04:00
Robin Ward
74d9293ca9 FIX: Allow duplicate slugs when the parent category is not the same 2014-08-13 14:45:25 -04:00
Neil Lalonde
e40e9351f6 FIX: don't allow same category name with different case 2014-08-12 11:40:33 -04:00
Robin Ward
6ba5f715f3 FIX: There was an error renaming the Uncategorized topic 2014-07-25 16:36:34 -04:00
Robin Ward
ffa84d9bb4 If you rename a category, also rename the category definition topic. 2014-07-18 13:59:54 -04:00
Neil Lalonde
01a68f8cc7 Emails are case insensitive 2014-07-16 10:22:01 -04:00
Robin Ward
c6df00a5cc FIX: You shouldn't be able to add a parent to Uncategorized 2014-07-15 15:19:39 -04:00
Sam
45ca83328d Annotate 2014-07-15 11:29:44 +10:00
Sam
9a9ad9bda8 FEATURE: Badge progress
- Refactor model so it stores backfill query
- Implement autobiographer
- Remove sample badge
- Correct featured badges to only include a badge once
2014-07-03 17:29:44 +10:00
Robin Ward
952426d358 FEATURE: Uploaded images to categories are shown when browsing 2014-06-30 14:14:00 -04:00
Catrin
772a304fc2 dropdown on categorypage 2014-05-29 18:18:27 -04:00
Sam
b1d5f4440b Annotate models 2014-05-28 12:30:57 +10:00
Robin Ward
7900c7bd2f Allow multiple subcategories with the same name 2014-05-26 15:33:51 -04:00
Louis Rose
1574485443 Perform the where(...).first to find_by(...) refactoring.
This refactoring was automated using the command: bundle exec "ruby refactorings/where_dot_first_to_find_by/app.rb"
2014-05-06 14:41:59 +01:00
Benjamin Kampmann
0cf07d41ae Move Concern from lib into app/models. refs #2279 2014-04-29 19:26:43 +02:00