Penar Musaraj
dfcc2e7ad8
Revert "FEATURE: Send notification when member was accepted to group. ( #7503 )"
...
This reverts commit 42c82d544e
.
2019-05-27 15:19:59 -04:00
Bianca Nenciu
42c82d544e
FEATURE: Send notification when member was accepted to group. ( #7503 )
2019-05-27 17:28:41 +03:00
Sam Saffron
624184560e
PERF: improve performance of publish_notifications_state
...
User.publish_notifications_state is called every time a notification is
created, this can become a very critical code path.
On some heavy notification related sites this can be a major CPU user on PG
This index makes it much cheaper to publish notification state, cause a
simple index lookup does the trick.
2019-05-14 16:02:55 +10:00
Sam Saffron
30990006a9
DEV: enable frozen string literal on all files
...
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.
Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Robin Ward
3ceff0a92a
FEATURE: Send the user a notification when their post is approved
2019-04-15 16:20:16 -04:00
Guo Xiang Tan
aa2cc4ab31
FIX: Liked notification consolidation has to account for user like frequency setting.
2019-01-17 14:33:23 +08:00
Guo Xiang Tan
f06b773d25
FIX: Don't show liked consolidated notification when frequency is never.
2019-01-16 17:08:59 +08:00
Guo Xiang Tan
ebe65577ed
FEATURE: Consolidate likes notifications. ( #6879 )
2019-01-16 10:40:16 +08:00
Guo Xiang Tan
214dac05de
Update annotations.
2018-07-16 14:19:07 +08: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
Guo Xiang Tan
754458e6a2
PERF: Minor but we can just pass a hash to `where`.
...
```
Warming up --------------------------------------
4 x .where 1.040k i/100ms
1 x .where 1.677k i/100ms
Calculating -------------------------------------
4 x .where 10.321k (± 5.2%) i/s - 52.000k in
5.053803s
1 x .where 17.117k (± 3.8%) i/s - 85.527k in
5.004107s
Comparison:
1 x .where: 17117.1 i/s
4 x .where: 10321.3 i/s - 1.66x slower
```
2018-05-28 16:41:38 +08:00
Régis Hanol
5b2e7c8d10
fix the build
2018-05-26 03:11:10 +02:00
Régis Hanol
338d39265a
FIX: don't publish notifications_state when user has been deleted
2018-05-26 02:27:54 +02:00
Régis Hanol
d23229df85
Let's use the same method
2018-05-26 02:16:53 +02:00
Régis Hanol
f988fa31aa
FIX: ensure 'notifications_state' is up to date after creating a notification
2018-05-26 02:09:48 +02: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
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
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Guo Xiang Tan
e888369f51
UX: Don't send emails for discobot notifications.
2017-06-12 17:00:27 +09:00
Neil Lalonde
7821400141
FEATURE: staff can set a timer to remind them about a topic
2017-05-16 14:49:50 -04:00
Régis Hanol
8fe0bbb238
REFACTOR: improve Notification.ensure_consistency SQL query readability
2017-04-24 23:00:27 +02:00
Guo Xiang Tan
6057e17ae7
Fix weird test failure.
2017-03-20 12:06:37 +08:00
Guo Xiang Tan
a567e6bec9
FIX: Publish notification state in `after_commit` hook.
...
`after_save` is still wrapped in a transaction and
we were getting intermittent failures with notifications
state not being published.
2017-03-20 11:38:34 +08:00
Sam
019f1a1d06
UserEmailObserver is now removed
...
no big surprises here was pretty straightforward
after_commit semantics sure are weird though
2016-12-22 16:46:53 +11:00
Guo Xiang Tan
8c6d8c85db
Stop showing first notification prompt once user sees the notification.
2016-11-17 09:44:00 +08:00
Guo Xiang Tan
98c1e0832c
FIX: Track first notification read using Redis.
2016-11-16 16:20:38 +08:00
Sam
75f3f7fcbd
FEATURE: clean API method for reading a single notification
2016-09-16 16:14:15 +10:00
Robin Ward
2005565c9c
Server side code for Watching First Post Only
2016-07-07 11:21:50 -04:00
Sam
332e05b73d
omit likes if notify likes is set to never
2016-03-06 09:21:38 +11:00
Sam
3c072cdfc9
Merge branch 'master' of github.com:discourse/discourse
2016-02-24 13:53:43 +11:00
Régis Hanol
8d1da9cedd
FEATURE: keep original title when sending email notifications about a PM
2016-02-23 01:34:16 +01:00
Sam
32c681c96b
annotate models
2016-02-23 10:33:53 +11:00
Sam
dd6ebde824
FIX: Always ensure notifications are treated as read once clicked
...
UX: improve messaging so notifications list is far more stable
PERF: improve performance of notifcation lookup queries
- Add feature "SetTransientHeader" that allows shipping info to server
in the next Ajax request
- remove local storage hack used for notifications
- amend lookupStale to return hydrated objects, move logic into store
- stop magically clearing various notifications (likes, invitee accepted, group_summary, granted badge)
2016-02-15 19:29:47 +11:00
Régis Hanol
12051f79a8
FIX: don't send empty email notifications for small_actions
2016-02-01 19:12:10 +01:00
Sam Saffron
a764cc3a42
FEATURE: by default users track a group (as opposed to watch)
...
FEATURE: a rollup counting number of messages in the group inbox to tracking users
2016-01-27 21:38:33 +11:00
Sam
1bb485fca5
FIX: when a user got multiple replies to a topic, emails were missing
2016-01-27 12:20:08 +11:00
Arpit Jalan
97e4f7f6d3
Enums that are used in tables need to be stable
2016-01-08 20:43:11 +05:30
Sam Saffron
bfcb0a52bb
correct previous commit
2016-01-06 20:36:09 +11:00
Sam Saffron
9f4efed03a
PERF: don't publish notification state unless it changed
2016-01-06 20:36:09 +11:00
Régis Hanol
e89d8e796e
FIX: group messages notifications
...
Prevent double notifications when watching a group
Make sure mentions/quotes/replies in a group message shows up
2015-12-18 16:32:53 +01:00
Guo Xiang Tan
cca0896b9e
FIX: Update all does not trigger callbacks.
2015-12-17 00:07:04 +08:00
Sam
ad3dd161e7
FEATURE: first class group mentions built in
...
If you allow a group to be mentioned it can be mentioned with the @ symbol.
Keep in mind as a safety mechanism max_users_notified_per_group_mention is set to 100
2015-11-30 17:08:43 +11:00
Sam
c1ecd6f4ce
update annotations
2015-09-18 10:41:10 +10:00
Sam
1f31435a7b
correct handling of data hash parsing
2015-09-04 13:34:21 +10:00
Sam
9f88d6e252
fix regression in visible notification detection
2015-06-23 06:14:22 +10:00
Régis Hanol
5a77f62181
PERF: poor SQL performances when counting notifications
2015-06-22 14:40:03 +02:00
Sam
37dfb1b4b5
FEATURE: support for custom notification types
...
used by solved plugin
2015-06-15 14:18:03 +10:00
Arpit Jalan
8c2d7dcaac
FEATURE: invite existing user to a topic
2015-04-03 15:00:04 +05:30
Sam
67f404d281
FIX: remove notifications on deleted topics from the stream
2015-02-19 12:40:00 +11:00
Robin Ward
4f6b9815ae
FEATURE: List moderator warnings on admin dashboard
2014-09-08 13:25:02 -04:00
Robin Ward
334e21a03a
Revert "Revert "FEATURE: Can create warnings for users via PM""
...
This reverts commit 1c7559380c
.
2014-09-08 11:11:56 -04:00
Robin Ward
1c7559380c
Revert "FEATURE: Can create warnings for users via PM"
...
This reverts commit b0bfc1f93f
.
2014-09-08 10:38:59 -04:00
Robin Ward
b0bfc1f93f
FEATURE: Can create warnings for users via PM
2014-09-08 10:27:06 -04:00
Sam
414c6d191f
FIX: remove nullable dates post upgrade to Rails 4
2014-08-27 15:19:25 +10:00
Sam
b1d5f4440b
Annotate models
2014-05-28 12:30:57 +10:00
Robin Ward
b1d2aba0f3
Clean up notifications if a user can't see a topic
2014-05-26 13:26:46 -04:00
Sam
e06da1821d
BUGFIX: notifications were not updated correctly live
...
- missing notifications when multiple replies in topic (till refresh)
- not cleared properly on click
2014-05-23 11:34:34 +10: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
Vikhyat Korrapati
89f45901bc
Create notification when badge is granted.
2014-04-17 01:58:01 +05:30
Sam
862a6696c0
Correct annotations
...
allow longer usernames (up to 60)
2014-04-15 15:53:48 +10:00
Régis Hanol
6373de550f
update annotations
2014-04-08 17:35:44 +02:00
Sam
24667cedee
FEATURE: notify users when linked
...
Extract out PostAlerter from observer
Track outgoing post links correctly
Notify users they are linked when linked
2014-03-18 15:22:53 +11:00
Sam
c0686a6dc6
BUGFIX: regression, not handling nil count for recent report
2014-02-14 07:21:19 +11:00
Sam
bf957513ec
correctly handle empty case
2014-02-13 17:27:50 +11:00
Sam
e8aa85d783
FEATURE: unread pms go in front of notification report
...
also refactor fat controller
2014-02-13 17:27:50 +11:00
Stephan Kaag
89b621d31a
Refactor update_all statements in order to prevent deprecation warnings in Rails 4
2013-07-02 18:36:47 +02:00
Sam
ca2dee52db
moved comments to the bottom, they are way less intrusive there
2013-05-24 12:48:32 +10:00
Sam
2cd95bc649
lets try out annotations
2013-05-24 12:35:14 +10:00
Sam
04b8cd5c95
consistency check, need to also ensure delete cleans stuff up, maybe make notifications trashable
2013-05-16 17:50:14 +10:00
Sam
e9ebadb414
Nuke message_bus_observer move to service class and classes
...
Secure all messages triggered by post creation and all user actions so they don't leak
(meaning, if you have a browser open and secure topics are created you will only get them if you are allowed to see them)
2013-05-16 15:03:16 +10:00
Gosha Arinich
0c99dea153
introduce Enum
2013-03-01 21:16:36 +03:00
Gosha Arinich
6e5399d544
minor cleanup, using AR querying DSL over raw SQL in some places
2013-02-28 21:54:12 +03:00
Sam Saffron
77a2d8ccc4
fixed a pile of notification craziness
...
addes some tests around post timings
2013-02-25 18:42:42 +11:00
Jakub Arnold
61654ab8f0
Fix all the trailing whitespace
2013-02-07 16:45:24 +01:00
Robin Ward
21b5628528
Initial release of Discourse
2013-02-05 14:16:51 -05:00