Jarek Radosz
d407bcab36
FIX: Correctly escape category description text ( #8107 )
...
* FIX: Correctly escape category description text
This bug has been introduced in db14e10943
.
* Remove unnecessary `html_safe`
`Theme.lookup_field` already returns html-safe strings: 7ad338e3e6/app/models/theme.rb (L237-L242)
* Rename `description` where it's acutally `descriptionText`
2019-10-01 12:04:39 -04:00
Bianca Nenciu
8e133de831
FIX: Ensure suppressed categories do not produce any featured topics. ( #7863 )
2019-07-15 17:32:03 +03:00
Sam Saffron
333b5a19b2
FIX: do not include uncategorized_category_id in `topic_create_allowed` if posting in uncategorized is disabled
...
Previously users were still allowed to create topic via API even if
uncategorized was disabled.
Not 100% happy with all this special casing, but I guess we have to do
something.
This also splits up a mega spec now that we have fab! into a more easy to
understand structure (I hope)
2019-06-26 17:41:07 +10:00
Sam Saffron
ff3a1eae3a
FIX: ensure consistency should handle cases where a topic trashed
...
Followup to c05b6170
2019-06-07 14:57:56 +10:00
Sam Saffron
c05b617067
FIX: ensure_consistency was able to create corrupt category topics
...
- Correct create_category_definition to skip validations and use a
transaction, no longer able to create corrupt topics
- ensure_consistency now clears topic_id if pointing at deleted or missing
topic_id
- Stop creating category definition topics for uncategorized
2019-06-07 11:20:13 +10:00
Bianca Nenciu
5377d1672f
DEV: Fix linting issue.
2019-06-06 13:20:16 +03:00
Bianca Nenciu
f63b8bb79d
FIX: Periodically ensure consistency of categories. ( #7663 )
2019-06-06 11:30:52 +02:00
Sam Saffron
9be70a22cd
DEV: introduce new API to look up dynamic site setting
...
This removes all uses of both `send` and `public_send` from consumers of
SiteSetting and instead introduces a `get` helper for dynamic lookup
This leads to much cleaner and safer code long term as we are always explicit
to test that a site setting is really there before sending an arbitrary
string to the class
It also removes a couple of risky stubs from the auth provider test
2019-05-07 11:00:30 +10:00
Sam Saffron
3dc4ab905c
DEV: annotate models
...
(also looks like renaming of bigint(8) -> bigint in annotate
which seems fine)
2019-05-03 08:34:12 +10:00
Robin Ward
404b35bd04
FEATURE: Category Reviewable by Group
...
Allow a group to review content in a particular category.
2019-04-30 15:23:06 -04:00
Sam Saffron
45285f1477
DEV: remove update_attributes which is deprecated in Rails 6
...
See: https://github.com/rails/rails/pull/31998
update_attributes is a relic of the past, it should no longer be used.
2019-04-29 17:32:25 +10:00
Guo Xiang Tan
a7a5f90e20
Annotate models.
2019-04-05 17:13:12 +08:00
Guo Xiang Tan
d85240335b
Annotate models.
2019-04-02 13:19:14 +08:00
Maja Komel
88128f1ced
UX: show which groups are missing permissions for parent category ( #7252 )
2019-04-01 15:34:52 +11:00
Guo Xiang Tan
5e410dc5e0
FEATURE: Ability to exclude category from search results. ( #7194 )
...
This commit also adds `Category#search_priority` which sets the ground
work to enable prioritizing of posts for certain categories when searching.
2019-03-18 15:25:45 +08:00
Gerhard Schlager
f3c76ad482
FIX: Failed to detect existing category permalink
2019-03-14 13:42:05 +01:00
Maja Komel
fea5d4f3ec
FIX: any subcategory permissions are valid if everyone has access to parent category ( #7097 )
2019-03-04 14:49:26 +11:00
Maja Komel
39522659a6
FIX: validate parent category/subcategories permissions
...
See: https://meta.discourse.org/t/subcategories-do-not-inherit-permissions-from-parent-category/17174/23 for more details
This ensures users with access to child category can always at least see parent
2019-02-14 16:38:52 +11:00
Robin Ward
e75b240390
FIX: Some brittle tests with hardcoded ids
...
If we're going to use hardcoded ids, we should make sure the records are
not saved, or that the ID will not come up during normal use.
2019-02-01 11:44:37 -05:00
Robin Ward
95f263995d
FIX: Previous annotations were broken
2019-01-11 14:30:19 -05:00
Robin Ward
a3839495e0
Update annotations
2019-01-11 12:19:43 -05:00
Guo Xiang Tan
cb0f6d653b
DEV: Minor fixes to b63b399799
.
2019-01-10 09:38:22 +08:00
Saurabh Patel
b63b399799
DEV: remove uploaded_meta_id column from category ( #6725 )
...
* DEV: remove uploaded_meta_id column from category
* remove uploaded_meta part
2019-01-10 09:37:21 +08:00
Vinoth Kannan
2909e7fbdf
FIX: Subfolder path is missing in category permalinks after slug update
2018-12-21 09:29:54 +05:30
Saurabh Patel
9e3143445b
DEV:add uploaded_meta option in category for category meta image ( #6724 )
2018-12-07 16:24:07 +01:00
Guo Xiang Tan
978f0db109
SECURITY: Require groups to be given when inviting to a restricted category. ( #6715 )
2018-12-05 16:43:07 +01:00
Bianca Nenciu
172b3bf4d3
FIX: Fix broken theme field URLs. ( #6622 )
2018-11-23 16:11:05 +01:00
Vinoth Kannan
8430ea927e
FIX: Generate webhook payloads before destroy events ( #6325 )
2018-10-05 16:53:59 +08:00
David Taylor
19c9a6699a
FIX: Validate auto_close_hours category setting
...
This prevents server errors when the value is set too high
2018-09-26 16:04:49 +01:00
Kris
faf09bb8c8
Replacing default brown category color
2018-08-24 14:18:14 -04:00
Guo Xiang Tan
7a2bf8e368
Fix invalid query syntax when `CategoryCustomField#value` is blank.
2018-07-24 14:48:27 +08:00
Sam
a755ff7b35
FIX: not checking for 0 correctly
...
0.blank? == false
2018-07-19 07:45:26 +10:00
Sam
5adf5b527d
FEATURE: support filter_auto_bump_topics event
...
Use this event to filter the list of auto bumped topics.
EG:
on(:filter_auto_bump_topics) do |_category, filters|
filters.push(->(r) { r.where(<<~SQL)
NOT EXISTS(
SELECT 1 FROM topic_custom_fields
WHERE topic_id = topics.id
AND name = 'accepted_answer_post_id'
)
SQL
})
end
2018-07-18 10:56:09 +10:00
Sam
02628883d2
FEATURE: adjust autobump system
...
- We spread out bumping through the day, if you are bumping
4 topics then a topic will be bumped every 6 hours
- We add a small, bumping action at the bottom of the post to
denote a topic got bumped
2018-07-18 10:17:33 +10:00
Guo Xiang Tan
fe230f29cd
Update annotations.
2018-07-17 13:11:45 +08:00
Sam
91266cdabb
correct auto bump topic logic
2018-07-17 09:33:33 +10:00
Sam
ac0053f491
FEATURE: navigate to first post and auto bump category settings
...
### navigate_to_first_post_after_read setting for categories
When enabled on categories logged on users will return to OP after
reading the entire category. (useful for documentation categories)
### num_auto_bump_daily
Set a number of topics that will automatically bump daily on a category.
- Every 15 minutes we will check if any category has this setting
- Categories with the setting are shuffled
- We exclude pinned, closed, category description and archived topics
- Maximum of 1 topic for the list of categories is bumped till limit reached per category
- We always try to bump oldest first
- Limit is elastic using a RateLimiter that ensures that we only bump N per day
Also some minor organisation on category settings
Froze strings on category.rb
2018-07-16 18:10:35 +10:00
Guo Xiang Tan
214dac05de
Update annotations.
2018-07-16 14:19:07 +08:00
Kyle Zhao
2901691e87
FEATURE: per-category approval settings ( #5778 )
...
- disallow moving topics to a category that requires topic approval
2018-07-13 12:51:08 +10:00
Sam
db14e10943
SECURITY: category badges should HTML escape names
2018-06-28 18:15:07 +10:00
Sam
5f64fd0a21
DEV: remove exec_sql and replace with mini_sql
...
Introduce new patterns for direct sql that are safe and fast.
MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API
- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder
See more at: https://github.com/discourse/mini_sql
2018-06-19 16:13:36 +10:00
Robin Ward
fab59c66f0
FIX: Protection against dangling category group records
2018-06-04 15:43:26 -04:00
Guo Xiang Tan
467d91347a
Missing specs for `Group`, `Tag`, `Category` and `Flag` web hooks.
2018-05-21 17:29:58 +08:00
Arpit Jalan
9ca6ebe8fe
FEATURE: enforce tagging on categories
2018-04-11 07:15:24 +05:30
Vinoth Kannan
efb19dbdaf
Merge pull request #5705 from discourse/new_webhooks
...
FEATURE: Webhook for group and category events
2018-04-02 10:53:21 +05:30
Vinoth Kannan
e7407d0adc
FEATURE: Webhook for group and category events
2018-03-27 11:53:35 +05:30
Neil Lalonde
f2c060bdf2
FEATURE: option for tags in a tag group to be visible only to staff
2018-03-26 17:05:09 -04:00
Robin Ward
b9abd7dc9e
FEATURE: Shared Drafts
...
This feature can be enabled by choosing a destination for the
`shared drafts category` site setting.
* Staff members can create shared drafts, choosing a destination
category for the topic when it is published.
* Shared Drafts can be viewed in their category, or above the
topic list for the destination category where it will end up.
* When the shared draft is ready, it can be published to the
appropriate category by clicking a button on the topic view.
* When published, Drafts change their timestamps to the current
time, and any edits to the original post are removed.
2018-03-20 17:15:26 -04:00
Neil Lalonde
1093dacc03
FIX: bulk importers need to create category description topics
2018-03-07 12:10:22 -05:00
Gerhard Schlager
8e48b339fa
Drop unused tables ( #5630 )
2018-03-05 17:27:30 -05:00
Sam
2c25b9ae12
annotate
2018-03-05 11:06:45 +11:00
Sam
720e1965e3
FEATURE: add category suppress from latest
...
In the past we used suppress_from_homepage, it had mixed semantics
it would remove from category list if category list was on home and
unconditionally remove from latest.
New setting explicitly only removes from latest list but leaves the
category list alond
2018-02-22 09:56:35 +11:00
Guo Xiang Tan
226ace1643
Update annotations.
2018-02-20 14:28:58 +08:00
Arpit Jalan
daeb7694bc
update annotations
2017-12-05 21:03:20 +05:30
Gerhard Schlager
8f6d35aa59
FEATURE: category setting for mailinglist mirror
2017-11-17 15:29:14 +01:00
Guo Xiang Tan
d67f0b39ae
Update annotations.
2017-10-06 11:13:01 +08:00
Neil Lalonde
f5a2ed99b0
FIX: deleting category background images sometimes has no effect
2017-10-04 17:04:37 -04: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
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