# Automatically set Topics to Watching after posting

**URL:** https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230
**Category:** Feature
**Created:** [October 17, 2014, 12:01pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230 "2014-10-17T12:01:48Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 17, 2014, 12:01pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/1 "2014-10-17T12:01:48Z")

</div>

We’ve had this come up multiple times now, several of our users want topics they post/interact with to be automatically set to Watching. You can get it automatically set to Tracking, but the only way to get Watching is by Watching a category (and that puts topics you didn’t interact with in that state too, so it isn’t a plausible solution).

Is there a reason this functionality doesn’t exist? Or does it exist and we have no idea how to set it up?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 17, 2014, 9:56pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/2 "2014-10-17T21:56:05Z")

</div>

Its basically a feature request, do not remember if it popped up before, but I can understand that some people on massive forums may want it.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [October 17, 2014, 9:59pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/3 "2014-10-17T21:59:37Z")

</div>

If you want to create a PR to add it, I suggest something like this:

> ### Other
> 
> When I post in a topic, set that topic to [Watched | Tracked | Regular]

default is Tracked.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 17, 2014, 10:08pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/4 "2014-10-17T22:08:03Z")

</div>

The wording for “Automatically track topics you enter” would likely need changed to reflect the selected value too, right? Just trying to outline the specifications in case someone with better knowledge of this area has time to work on it.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [October 17, 2014, 10:18pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/5 "2014-10-17T22:18:09Z")

</div>

No, this would only affect “I just posted in the topic” behavior, not “I entered the topic and read it” behavior.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 17, 2014, 10:34pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/6 "2014-10-17T22:34:42Z")

</div>

Ah, good point. Thanks.

---

<div class="post-metadata">

### Author: ![RyanReese](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryanreese/32/41766_2.png) [@RyanReese](https://meta.discourse.org/u/RyanReese)
#### Post date: [May 4, 2015, 12:35pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/7 "2015-05-04T12:35:56Z")

</div>

Bump - any progress on this?

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [May 4, 2015, 12:57pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/8 "2015-05-04T12:57:08Z")

</div>

I unfortunately, still do not have time to make this happen myself (plus my lack of ember/ruby would be difficult to overcome – especially since I’m stuck even in the ReplyGIF plugin).

We do have several users who are looking for this feature to exist. They desperately want to be able to have topics switch to Watching when the participate in them.

---

<div class="post-metadata">

### Author: ![s\_molinari](https://avatars.discourse-cdn.com/v4/letter/s/f14d63/32.png) [@s\_molinari](https://meta.discourse.org/u/s_molinari)
#### Post date: [May 4, 2015, 4:15pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/9 "2015-05-04T16:15:25Z")

</div>

I’d also very much like to see this enhancement. I am very certain it would raise the activity levels of the forums using Discourse too. Most of the other forum software like XenForo and IPB have this as standard for notifications too.

It was mentioned by Jeff above, that a PR should be started on Github. If we aren’t direct contributors to the software, is there another way to get this pushed forward? Like starting an issue on Github?

Scott

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 4, 2015, 6:30pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/10 "2015-05-04T18:30:17Z")

</div>

The spec is in [this post above](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/3) and yes that is good to work on whenever, by whoever wants to work on it..

---

<div class="post-metadata">

### Author: ![s\_molinari](https://avatars.discourse-cdn.com/v4/letter/s/f14d63/32.png) [@s\_molinari](https://meta.discourse.org/u/s_molinari)
#### Post date: [May 5, 2015, 9:15am UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/11 "2015-05-05T09:15:18Z")

</div>

Does that mean this enhancement is now on a roadmap or plan to be accomplished?

Scott

---

<div class="post-metadata">

### Author: ![anon82356247](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anon82356247](https://meta.discourse.org/u/anon82356247)
#### Post date: [June 7, 2016, 2:33am UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/12 "2016-06-07T02:33:43Z")

</div>

I’d like to see the same control (or a separate control) apply when a post is **liked** in a topic.  
Edit: And Ideally, the admin can set this control as a system default , overridable by the user.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [September 30, 2016, 7:01pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/13 "2016-09-30T19:01:21Z")

</div>

Took over a year to find time, but I just submitted a PR to allow users to set Watching or Tracking as their default when replying. **It defaults to Tracking**

[https://github.com/discourse/discourse/pull/4477](https://github.com/discourse/discourse/pull/4477)

Screenshots:

User preference page

 ![](https://global.discourse-cdn.com/meta/original/3X/4/2/421ed4c1687ae8bf6a217416316e5f6892991e87.png)

Admin user preference setting

 ![](https://global.discourse-cdn.com/meta/original/3X/b/9/b9f50374337eaf0a7c4803cc07ed7adaed9b2940.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 10, 2016, 5:59am UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/14 "2016-10-10T05:59:06Z")

</div>

I think this needs expanding per @cpradio’s PR. The wording is fine but the behavior need clarification.

- when default track
  - If I am watching a topic and post to it, does it become tracked (my call is no)
  - If I muted a topic and post to it, does it become tracked (my call is no)
  - If I explicitly set a topic to “normal” by changing it to “normal”, does ie become tracked (my call no)

Similar questions can be posed for “auto watch”.

Also, the 3 options may need a bit of refinement… the best options in my opinion are: (copy can be better)

“When I post in a topic, set topic to tracking”  
“When I post in a topic, set topic to watching”  
“When I post in a topic, leave notification state as is”

Also, perhaps this should be, when I _first_ post in a topic, so it only applies to first post in a topic, but that can get expensive so I am not 100% sure.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 10, 2016, 12:21pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/15 "2016-10-10T12:21:18Z")

</div>

@sam, this somehow seems handled already… I’m not sure how though.

Here are the tests I ran with my branch active

With User Preference as Watching

1. Set a Topic to Muted, Reply to it, state of Topic doesn’t change
2. Set a Topic to Tracking, Reply to it, state of Topic doesn’t change
3. Reply to a Topic where I haven’t read/seen, it changed to the state to Watching

With User Preference as Tracking

1. Set a Topic to Muted, Reply to it, state of Topic doesn’t change
2. Set a Topic to Tracking, Reply to it, state of Topic doesn’t change
3. Reply to a Topic where I haven’t read/seen, it changed to the state to Tracking

So something is handling this. When I get back, I’ll see if I can find exactly where it is being done.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 10, 2016, 1:20pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/16 "2016-10-10T13:20:51Z")

</div>

Okay, so it was right in front of my face the whole time.

> <https://github.com/cpradio/discourse/blob/6f1c31d777b5b8817baa29e396cc3c0d646e54fa/app/models/topic_user.rb#L40-L59>

`auto_notification` (which was renamed from `auto_track` – as I wanted it to be more generic) is what is called when someone posts in a topic that isn’t a staged user. The first thing it does is verify that the user didn’t already set a notification level for that topic. Specifically

```ruby
if TopicUser.where(user_id: user_id, topic_id: topic_id, notifications_reason_id: nil).exists?

```

If a user sets a notification level on a topic, `notifications_reason_id` won’t be nil. Therefore, the auto tracking/watching won’t be processed for those scenarios. It will only apply if the user didn’t force a specific state for the given topic.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 10, 2016, 8:05pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/17 "2016-10-10T20:05:24Z")

</div>

There is one edge case though, if you auto track when entering a topic it will not watch after posting

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 10, 2016, 8:24pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/18 "2016-10-10T20:24:03Z")

</div>

I’m not sure that is true.

By Auto Tracking are we talking about

 ![](https://global.discourse-cdn.com/meta/original/3X/3/1/31fe7f84605a1e20a998302e4bedd38ee9880606.png)

If so, here is what it did for me using Immediate and Watching (for when I reply).

 ![](https://global.discourse-cdn.com/meta/original/3X/a/d/adbf08fb52282c1553136ba20c92345fb38d3b87.gif)

It seems auto-track might not be setting a `notifications_reason_id` (if we’re talking about the same setting)

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [October 11, 2016, 3:26am UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/19 "2016-10-11T03:26:35Z")

</div>

This is now in Core and on Meta.

---

<div class="post-metadata">

### Author: ![dax](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dax/32/244677_2.png) [@dax](https://meta.discourse.org/u/dax)
#### Post date: [January 23, 2018, 6:00pm UTC](https://meta.discourse.org/t/automatically-set-topics-to-watching-after-posting/21230/20 "2018-01-23T18:00:36Z")

</div>


