Commit Graph

49 Commits

Author SHA1 Message Date
Dan Ungureanu
7d8c33a094 FIX: Include sub-sub-categories in new/unread counts (#8710)
The count used to be less than the real one because the topics in
sub-sub-categories and deeper were not taken into account.
2020-01-17 10:02:57 +00:00
Jarek Radosz
fe588cc7f8
DEV: Fix function prototype deprecations (#8681)
* DEV: Fix the function prototype observers deprecation

DEPRECATION: Function prototype extensions have been deprecated, please migrate from function(){}.observes('foo') to observer('foo', function() {}). [deprecation id: function-prototype-extensions.observes] See https://deprecations.emberjs.com/v3.x/#toc_function-prototype-extensions-observes for more details.

* DEV: Fix the function prototype event listeners deprecation

DEPRECATION: Function prototype extensions have been deprecated, please migrate from function(){}.on('foo') to on('foo', function() {}). [deprecation id: function-prototype-extensions.on] See https://deprecations.emberjs.com/v3.x/#toc_function-prototype-extensions-on for more details.

* DEV: Simplify `default as` imports

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2020-01-16 18:56:53 +01:00
David Taylor
784da19e4c
FIX: Cached new topic data should not be deleted after dismiss new (#8660)
43ddf60cdf introduced a new method for dismissing new topics in topic-tracking-state, which works on a per-category basis.

This commit removes the old mechanism, which was to delete all 'new' topics from the local tracking state, regardless of category.
2020-01-06 16:22:40 +00:00
Krzysztof Kotlarek
84ede5867c
FIX: category id in filterCategory (#8555)
Small regression was created here: https://github.com/discourse/discourse/commit/374534f00ee#diff-4af46675500edc092f9224ca5835a7ddR106

After that change `listFilter` is including `categoryId` like `c/cat/subcat/6/l/latest` instead of `c/cat/subcat/l/latest`

Therefore, `trackIncoming` function in topic-tracking-state couldn't properly filter new messages
2019-12-17 08:33:38 +11:00
Krzysztof Kotlarek
81c7d6a462
FIX: Muted tags are respected by TopicTrackingState (#8467)
When the tag is muted and topic contains that tag, we should not mark that message as NEW.

There are 3 possible settings which site admin can set.
remove_muted_tags_from_latest - always
It means that if the topic got at least one muted tag, we should not mark that topic as NEW

remove_muted_tags_from_latest - only muted
Similar to above, however, if at least one tag is not muted, the topic is marked as NEW

remove_muted_tags_from_latest - never
Basically, mute tag setting is ignored and all topics are set as NEW
2019-12-10 09:50:05 +11:00
Krzysztof Kotlarek
43ddf60cdf
FIX: When dismissing category inform via MessageBus (#8371)
When category is dismissed, `dismiss_new` message is sent to fronted to clean state.

In addition, I noticed that when old dismiss new button is clicked, no message is sent so I decided to kill two birds with one stone.
2019-11-25 06:17:31 +11:00
Vinoth Kannan
3bb7ad4be1
FEATURE: remove support for 'suppress_from_latest' category setting. (#8308) 2019-11-18 12:28:35 +05:30
Mark VanLandingham
f9894aec97 DEV: Remove Discourse.User and import instead 2019-11-13 15:34:30 -05:00
Mark VanLandingham
3c5df82590 DEV: Remove Discourse.Site in favor of import (#8344)
* DEV: Remove Discourse.Site in favor of importing Site

* Ran prettier
2019-11-13 12:13:47 -05:00
Robin Ward
afadf361b3 REFACTOR: idMap should be a private API 2019-11-12 10:53:22 -05:00
Robin Ward
f03edb36be REFACTOR: Remove Discourse.Model 2019-11-08 14:13:35 -05:00
Robin Ward
7ac2a55588 REFACTOR: Remove Discourse.Category constants 2019-11-08 13:31:00 -05:00
Mark VanLandingham
6275c05c0d
DEV: Move computed to discourseComputed (#8312) 2019-11-07 15:38:28 -06:00
Robin Ward
640a05c4ee REFACTOR: Remove Ember.get 2019-11-01 13:50:15 -04:00
Robin Ward
90f934a660 REFACTOR: Use a module for Ember.isEmpty 2019-11-01 13:50:15 -04:00
David Taylor
d4acd35466
FEATURE: Sync unread state live to topic lists (#7933) 2019-07-29 10:28:42 +01:00
Joffrey JAFFEUX
bfea922167
DEV: global s/this.get\("(\w+)"\)/this.$1 (#7592) 2019-05-27 10:15:39 +02:00
Joffrey JAFFEUX
d47bf8b6c4
SECURITY: updates lodash from 1.3.0 to 4.17.5 (#7546) 2019-05-16 10:34:19 +02:00
Joffrey JAFFEUX
1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01:00
Sam
912a7105d2 DEV: polyfill Object.values and use where needed
We now have polyfills for `values` IE and `entries` IE

This commit uses values where appropriate to eliminate an extra lookup
This simplifies the code a bit.

Followup to: 7f089f07a7
2018-11-28 10:07:05 +11:00
Joffrey JAFFEUX
7f089f07a7
FIX: better fix for #ca84c06 (#6684) 2018-11-27 16:12:07 +01:00
Joffrey JAFFEUX
ca84c06c59
FIX: revert to using _.each (#6683)
Should be replaced with Object.keys variation when reproducible
2018-11-27 15:55:56 +01:00
Joffrey JAFFEUX
9672c92045
DEV: removes _.each from codebase (#6629) 2018-11-20 14:46:58 +01:00
Joffrey JAFFEUX
4c8cfe0f29
DEV: removes _.include from codebase (#6620) 2018-11-19 12:08:54 +01:00
Joffrey JAFFEUX
2f7960bd2a
DEV: updates prettier and displays linters/prettifiers version in CI 2018-06-20 18:34:49 +02:00
Joffrey JAFFEUX
03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
Guo Xiang Tan
821f3d0c15 REFACTOR: Remove code duplication. 2018-03-06 17:37:53 +08: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
Régis Hanol
05a74d2534 FIX: navigation item counters weren't updating properly 2017-08-10 12:22:15 +02:00
Acshi Haggenmiller
26e8eed83b changed data.archetype typo to data.payload.archetype in topic_tracking_state.js.es6 2016-07-29 11:23:00 -04:00
Robin Ward
bba0fd0654 REFACTOR: PreloadStore 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
d5b54b0f52 FIX: Unread count was not showing up 2016-07-08 13:09:04 -04:00
Robin Ward
3c30fa628b
FIX: "Go Back" wasn't displaying properly most of the time 2016-05-31 10:51:50 -04:00
Robin Ward
559fa36c18
FEATURE: Topic timeline widget 2016-05-31 10:51:39 -04:00
Sam
594dc86c40 oops 2016-03-30 11:44:17 +11:00
Sam
fbdd9c0034 FIX: unread and new count not removing deleted topics on the fly
FIX: unread PMs interfering with unread count
2016-03-30 11:18:07 +11:00
Robin Ward
b49e9fb174 FIX: Load order of TopicTrackingState was off 2015-09-21 14:15:25 -04:00
Sam
f74c21d2e7 FIX: tracking of new/unread/latest in category/subcategory was broken 2015-09-21 10:36:20 +10:00
Sam
66ec6b6e17 FIX: not counting new/unread on categories 2015-09-16 17:41:53 +10:00
Neil Lalonde
637b110e76 use setter in topic-tracking-state or else get assertion error 2015-09-11 11:38:39 -04:00
Sam
335be272ff FEATURE: implement capping of new/unread
We cap new and unread at 2/5th of SiteSetting.max_tracked_new_unread

This dynamic capping is applied under 2 conditions:

1. New capping is applied once every 15 minutes in the periodical job, this effectively ensures that usually even super active sites are capped at 200 new items

2. Unread capping is applied if a user hits max_tracked_new_unread,
  meaning if new + unread == 500, we defer a job that runs within 15 minutes that will cap user at 200 unread

This logic ensures that at worst case a user gets "bad" numbers for 15 minutes and then the system goes ahead and fixes itself up
2015-09-07 12:03:17 +10:00
Robin Ward
8e776d0fd7 Move TopicTrackingState to injected object 2015-09-04 13:00:24 -04:00
Sam
f019f5a62d FIX: return 0 if we are unable to count unread/new topics 2015-09-04 10:33:16 +10:00
Régis Hanol
80041b874c FIX: don't show new topic notifications in homepag for suppressed categories 2015-09-03 19:18:46 +02:00
Sam
00e59bdc62 FIX: display warning when user is tracking too many topics
FEATURE: allow admins to bump up number of tracked topics if needed
using max_tracked_new_unread
2015-08-25 15:40:50 +10:00
Sam
f101408d03 FEATURE: on mobile display a rollup of unread and new on latest 2015-06-23 12:45:41 +10:00
Robin Ward
69851bc6cf Deprecates global use of Discourse.MessageBus
We can use DI for this, which makes it easier for plugins to subscribe
to the message bus.
2015-03-12 12:27:30 -04:00
Robin Ward
3d3b70f4bb Remove duplicated NotificationType globals 2015-02-27 10:33:39 -05:00