Daniel Waterworth
ad44243a57
Removed unused let blocks ( #7446 )
...
The bodies of these blocks were never evaluated.
2019-04-29 15:08:56 +08:00
Gerhard Schlager
a7bc1ecbae
FEATURE: Add support for Unicode usernames and group names
...
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2019-04-23 13:00:27 +02:00
Daniel Waterworth
bf313c1b68
DEV: User email test optimization ( #7405 )
2019-04-23 17:49:05 +08:00
Tarek Khalil
442fb2facb
FEATURE: Remove ignore feature SiteSetting and enable ignore by default ( #7349 )
2019-04-10 12:54:59 +02:00
David Taylor
3987691b5e
DEV: Correct specs which had exceptions raised in jobs
2019-04-08 16:00:33 +01:00
Maja Komel
ca33d091b3
FIX: don't trigger notifications when changing category/tags of unlisted topics ( #7323 )
2019-04-05 15:06:38 +02:00
Robin Ward
1bce97a596
FIX: Allow queued posts from deleted users to be rejected
2019-04-03 11:40:46 -04:00
Guo Xiang Tan
d8704c11ca
PERF: Better use of index when queueing a topci for search reindex.
...
Also move `Search::INDEX_VERSION` to `SearchIndexer` which is where the
version is actually being used.
2019-04-02 09:53:37 +08:00
Guo Xiang Tan
2a69ab4a4c
FIX: Keep alt
and title
in lightbox when indexing for search.
...
Follow up to cfd507822f
2019-04-01 16:20:33 +08:00
Guo Xiang Tan
16215f9d3b
DEV: Correct spec added in cfd507822f
.
...
Remove stub.
2019-04-01 10:32:25 +08:00
Guo Xiang Tan
cfd507822f
PERF: Improve quality of PostSearchData#raw_data
. ( #7275 )
...
This commit fixes the follow quality issue with `PostSearchData#raw_data`:
1. URLs are being tokenized and links with similar href and characters
are being duplicated in the raw data.
`Post#cooked`:
```
<p><a href=\"https://meta.discourse.org/some.png \" class=\"onebox\" target=\"_blank\" rel=\"nofollow noopener\">https://meta.discourse.org/some.png </a></p>
```
`PostSearchData#raw_data` Before:
```
This is a test topic 0 Uncategorized https://meta.discourse.org/some.png discourse org/some png https://meta.discourse.org/some.png discourse org/some png
```
`PostSearchData#raw_data` After:
```
This is a test topic 0 Uncategorized https://meta.discourse.org/some.png meta discourse org
```
2. Ligthbox being included in search pollutes the
`PostSearchData#raw_data` unncessarily.
From 28 March 2018 to 28 March 2019, searches for the term `image` on
`meta.discourse.org` had a click through rate of 2.1%. Non-lightboxed images are not included in indexing for search yet we were indexing content within a lightbox. Also, search for terms like `image` was affected we were using `Pasted image` as the filename for
uploads that were pasted.
`Post#cooked`
```
<p>Let me see how I can fix this image<br>\n<div class=\"lightbox-wrapper\"><a class=\"lightbox\" href=\"https://meta.discourse.org/some.png \" title=\"some.png\" rel=\"nofollow noopener\"><img src=\"https://meta.discourse.org/some.png \" width=\"275\" height=\"299\"><div class=\"meta\">\n<svg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"><use xlink:href=\"#far-image\"></use></svg><span class=\"filename\">some.png</span><span class=\"informations\">1750×2000</span><svg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"><use xlink:href=\"#discourse-expand\"></use></svg>\n</div></a></div></p>
```
`PostSearchData#raw_data` Before:
```
This is a test topic 0 Uncategorized Let me see how I can fix this image some.png png https://meta.discourse.org/some.png discourse org/some png some.png png 1750×2000
```
`PostSearchData#raw_data` After:
```
This is a test topic 0 Uncategorized Let me see how I can fix this image
```
In terms of indexing performance, we now have to parse the given HTML
through nokogiri twice. However performance is not a huge worry here since a string length of 194170 takes only 30ms
to scrub plus the indexing takes place in a background job.
2019-04-01 10:14:29 +08:00
Guo Xiang Tan
daeda80ada
FIX: Don't index posts with empty Post#raw
for search. ( #7263 )
...
* DEV: Remove unnecessary join in `Jobs::ReindexSearch`.
* FIX: Don't index posts with empty `Post#raw` for search.
2019-04-01 10:06:27 +08:00
Robin Ward
b58867b6e9
FEATURE: New 'Reviewable' model to make reviewable items generic
...
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.
Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Penar Musaraj
51e08feb7e
DEV: Refactor icons used in lightbox HTML
...
Uses <svg> elements instead of hacky CSS pseudoelements
Adds a migration to mark posts with lightboxes as needing a rebake
2019-03-22 11:52:06 -04:00
Tarek Khalil
a31a35b334
FEATURE: Ignored user notification behaviour should be as a muted user ( #7227 )
2019-03-21 12:15:34 +01:00
Tarek Khalil
1dd0fa0c4e
REFACTOR: Move redundant ignored user check into guardian ( #7219 )
...
* REFACTOR: Move redundant ignored user check into guardian
2019-03-20 19:55:46 +00:00
Tarek Khalil
5852e86226
FEATURE: Only allow TL2 Users to ignore other users ( #7212 )
2019-03-20 15:02:33 +01:00
Tarek Khalil
3b59ff0d02
[FEATURE] Disallow ignoring self, admins or moderators users ( #7202 )
2019-03-20 11:18:46 +01:00
Guo Xiang Tan
d808f36fc4
FIX: Reindex post for search when post is moved to a different topic.
...
* This is causing certain posts to appear in searches incorrectly as `PostSearchData#raw_data` contains the outdated title, category name and tag names.
2019-03-19 17:19:14 +08:00
Penar Musaraj
9334d2f4f7
FEATURE: add more granular user option levels for email notifications ( #7143 )
...
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by
* `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`)
* `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
2019-03-15 10:55:11 -04:00
Robin Ward
fa5a158683
REFACTOR: Move queue_jobs
out of SiteSetting
...
It is not a setting, and only relevant in specs. The new API is:
```
Jobs.run_later! # jobs will be thrown on the queue
Jobs.run_immediately! # jobs will run right away, avoid the queue
```
2019-03-14 10:47:38 -04:00
Guo Xiang Tan
b0c8fdd7da
FIX: Properly support defaults for upload site settings.
2019-03-13 16:36:57 +08:00
Bianca Nenciu
c6ed86220e
FIX: Notify on tag change. ( #7119 )
2019-03-12 18:09:34 +01:00
Robin Ward
d1d9a4f128
Add new run_jobs_synchronously!
helper for tests
...
Previously if you wanted to have jobs execute in test mode, you'd have
to do `SiteSetting.queue_jobs = false`, because the opposite of queue
is to execute.
I found this very confusing, so I created a test helper called
`run_jobs_synchronously!` which is much more clear about what it does.
2019-03-11 16:58:35 -04:00
Tarek Khalil
d6eb892b04
FEATURE: Account for ignored_users
when merging two users ( #7142 )
...
* FEATURE: Account for `ignored_users` when merging two users
## Why?
This is part of the [Ability to ignore a user feature](https://meta.discourse.org/t/ability-to-ignore-a-user/110254/8 ).
When we merge two users, we need to account for merging their list of `ignored_users` too.
2019-03-11 13:53:59 +00:00
David Taylor
fc7938f7e0
REFACTOR: Migrate GoogleOAuth2Authenticator to use ManagedAuthenticator ( #7120 )
...
https://meta.discourse.org/t/future-social-authentication-improvements/94691/3
2019-03-07 11:31:04 +00:00
Tarek Khalil
0a9a11094d
FEATURE: Save ignored usernames in user preferences ( #7117 )
...
* FEATURE: Save ignored usernames in user preferences
2019-03-06 11:21:58 +00:00
Joffrey JAFFEUX
703c724cf3
REFACTOR: Migrate InstagramAuthenticator to use ManagedAuthenticator ( #7081 )
2019-03-04 14:54:28 +01:00
Arpit Jalan
a960cbd97f
fix the build ❤️
2019-02-18 10:00:17 +05:30
Arpit Jalan
7cb194f2db
Add more specs for word watcher service.
2019-02-18 09:55:16 +05:30
Arpit Jalan
99c6db21e6
FEATURE: allow blocking emojis ( #7011 )
...
https://meta.discourse.org/t/blocking-emojis-wont-work/105853
2019-02-15 20:55:48 +05:30
Robin Ward
bc3efab816
FIX: When disagreeing with a flag that silenced a user, unsilence them
...
Previously it would unhide their post but leave them silenced.
This fix also cleans up some of the helper classes to make it easier
to pass extra data to the silencing code (for example, a link to the
post that caused the user to be silenced.)
This patch also refactors the auto_silence specs to avoid using
stubs.
2019-02-08 08:50:50 -05:00
Robin Ward
e5a81aeb6e
REFACTOR: Remove stubbed methods in tests
2019-02-04 15:06:00 -05:00
Gerhard Schlager
1e98929501
FIX: Email domain whitelist prevented user anonymizing
...
FIX: Secondary email addresses were not deleted during anonymizing
2019-01-30 15:14:36 +01:00
Gerhard Schlager
f8ded9cec9
FIX: Changing owner of small action post failed
...
Small action posts for invites (CC from email) have a blank raw and revising of posts with blank raw didn't work anymore.
2019-01-19 13:38:45 +01:00
Guo Xiang Tan
b4c2d49b0c
DEV: Consolidate and remove duplicated liked notifications tests.
2019-01-17 11:14:17 +08:00
Sam
1022d69101
DEV: lint spec file
...
We were defining a lot of unused vars, this made my linter upset so
I prefixed them with _
2019-01-17 12:41:28 +11:00
Guo Xiang Tan
78748f1501
DEV: Refactor tests for notification when liking a post.
...
Tests were covering the same code path so I'm consolidating it.
2019-01-14 11:43:09 +08:00
Régis Hanol
88e861e895
FIX: prevent error when badge has already been awarded
2019-01-04 15:17:54 +01:00
Sam
59c56bd20f
DEV: anonymizing should not delete uploads
...
We have another job for upload deletion cause uploads may be shared
2018-12-13 16:43:48 +11:00
David Taylor
160d29b18a
REFACTOR: Migrate TwitterAuthenticator to use ManagedAuthenticator ( #6739 )
...
No changes to functionality. TwitterAuthenticator goes from 136 lines to 24, and all twitter-specific logic elsewhere has been deleted 🎉
2018-12-07 15:39:06 +00:00
Bianca Nenciu
41e184280d
FEATURE: Remove full quotes of direct replies. ( #6729 )
2018-12-07 13:07:11 +01:00
Sam
82e45f5485
FIX: method extraction caused push notifications to include incorrect post
...
Previously the push notification code path was not tested for notification
collapsing. This happens if you get multiple replies to a topic you are
watching.
2018-12-05 16:40:10 +11:00
Sam
aa97f6fdba
FEATURE: disable notifications for small actions that are whispers
...
Previously we would notify on small actions if they were whispers
this inconsistently lead to all sorts of problems including
- collapsed "N replies" after assign
- empty push notifications
New behavior adds an api to explicitly send push notifications as well
if needed: create_notification_alert
2018-12-04 17:54:42 +11:00
David Taylor
208005f9c9
REFACTOR: Migrate FacebookAuthenticator to use ManagedAuthenticator
...
Changes to functionality
- Removed syncing of user metadata including gender, location etc.
These are no longer available to standard Facebook applications.
- Removed the remote 'revoke' functionality. No other providers have
it, and it does not appear to be standard practice in other apps.
- The 'facebook_no_email' event is no longer logged. The system can
cope fine with a missing email address.
Data is migrated to the new user_associated_accounts table.
facebook_user_infos can be dropped once we are confident the data has
been migrated successfully.
2018-11-30 11:18:11 +00:00
Arpit Jalan
059e36a6ff
FIX: log name changes only when the name is actually updated
2018-11-30 15:30:46 +05:30
Gerhard Schlager
5640166b27
FIX: Notify only invited users about mentions in PMs
2018-11-26 22:42:56 +01:00
Guo Xiang Tan
a57baeec2a
Fix the build.
2018-11-22 16:37:24 +08:00
Guo Xiang Tan
d298f00046
DEV: Improve specs to be more specific about what has changed.
2018-11-22 10:10:07 +08:00
Guo Xiang Tan
e28af0429c
DEV: Improve tests to be more specific.
2018-11-13 15:02:46 +08:00
Maja Komel
27e732a58d
FEATURE: allow multiple secrets for Discourse SSO provider
...
This splits off the logic between SSO keys used incoming vs outgoing, it allows to far better restrict who is allowed to log in using a site.
This allows for better auditing of the SSO provider feature
2018-10-15 16:03:53 +11:00
Sam
550e108a8c
FEATURE: only export settings that changed via rake task
2018-10-08 11:54:52 +11:00
Neil Lalonde
dc1e7bb645
UX: when admin is deleted, make it clear in staff action logs when records belong to a deleted user and show their username in the details
2018-10-02 13:46:54 -04:00
Régis Hanol
4481836de2
FEATURE: new 'search_ignore_accents' site setting
2018-09-17 10:42:30 +02:00
Régis Hanol
30619c244c
FIX: don't index urls to local files
2018-09-13 18:53:53 +02:00
David Taylor
84fc7abb73
FIX: Allow rake destroy:topics
to delete topics in sub-categories
2018-09-10 12:52:14 +01:00
Gerhard Schlager
797cbf8653
FIX: Remove user fields when anonymizing user
2018-09-07 00:02:56 +02:00
Gerhard Schlager
b8fc699164
FIX: Detect {{foo}} as interpolation key
2018-09-05 00:47:39 +02:00
Guo Xiang Tan
8dc1463ab3
Enable Lint/ShadowingOuterLocalVariable
for Rubocop.
2018-09-04 10:16:42 +08:00
Sam
9b7cab589a
FIX: revert diacritic stripping
...
See more details in test case and at: https://meta.discourse.org/t/discourse-should-ignore-if-a-character-is-accented-when-doing-a-search/90198/16?u=sam
2018-08-31 11:46:55 +10:00
James Kiesel
a4001c1ea0
FEATURE: Pop revise modal on post edited notification ( #6287 )
...
* Add revision number to notification url
* Pop modal on route change
* Add semicolon
* Ensure modal pops even when navigating within a topic
* Ensure modal pops when visiting from other page
* Fix eslint errors
* Fix prettier errors
* Add callback for notification item click
* Remove stray revisionUrl function
* Rename to afterRouteComplete
2018-08-24 09:13:07 -04:00
Osama Sayegh
e0cc29d658
FEATURE: themes and components split
...
* FEATURE: themes and components split
* two seperate methods to switch theme type
* use strict equality operator
2018-08-24 11:30:00 +10:00
Régis Hanol
bc7b530b0a
FIX: remove diacritics instead of transliterating
2018-08-24 00:38:44 +02:00
Régis Hanol
2fcf2b899e
FIX: remove diacritics when tokenizing html for search
2018-08-23 17:13:52 +02:00
Bianca Nenciu
975a72ab7a
FEATURE: Make links indexable. ( #6285 )
2018-08-20 10:39:19 +10:00
Osama Sayegh
865cb3feb9
FIX: allow selecting site's default theme from preference
2018-08-10 14:12:02 +03:00
Osama Sayegh
0b7ed8ffaf
FEATURE: backend support for user-selectable components
...
* FEATURE: backend support for user-selectable components
* fix problems with previewing default theme
* rename preview_key => preview_theme_id
* omit default theme from child themes dropdown and try a different fix
* cache & freeze stylesheets arrays
2018-08-08 14:46:34 +10:00
Guo Xiang Tan
919e8db686
FIX: Check for group name availability should skip reserved usernames.
2018-08-01 11:09:33 +08:00
David Taylor
eda1462b3b
FEATURE: List, revoke and reconnect associated accounts. Phase 1 ( #6099 )
...
Listing connections is supported for all built-in auth providers. Revoke and reconnect is currently only implemented for Facebook.
2018-07-23 16:51:57 +01:00
Vinoth Kannan
84ab825e41
FEATURE: Webhook for user destroyed event ( #6124 )
2018-07-23 13:19:49 +05:30
Maja Komel
368d4e8eae
FIX: notify staff about whispers in watched categories ( #6128 )
2018-07-21 11:20:21 +02:00
OsamaSayegh
decf1f27cf
FEATURE: Groundwork for user-selectable theme components
...
* Phase 0 for user-selectable theme components
- Drops `key` column from the `themes` table
- Drops `theme_key` column from the `user_options` table
- Adds `theme_ids` (array of ints default []) column to the `user_options` table and migrates data from `theme_key` to the new column.
- Removes the `default_theme_key` site setting and adds `default_theme_id` instead.
- Replaces `theme_key` cookie with a new one called `theme_ids`
- no longer need Theme.settings_for_client
2018-07-12 14:18:21 +10:00
Maja Komel
ec3e6a81a4
FEATURE: Second factor backup
2018-06-28 10:12:32 +02:00
Arpit Jalan
f1d1207725
FIX: improve context when user deletes self
2018-06-18 11:36:22 +05:30
Gerhard Schlager
89bbc94331
Add spec for a26889a
2018-06-11 18:43:56 +02:00
Gerhard Schlager
150ae21489
FEATURE: Log user merge in staff logs
2018-06-11 18:43:56 +02:00
Gerhard Schlager
2564a8285d
REFACTOR: Run some parts of user anonymizing in background job
2018-06-08 15:50:07 +02:00
Gerhard Schlager
cf038cf72a
FEATURE: Remove more PII during user anonymizing
...
Removes
* invite if the user was invited
* email tokens
* incoming emails
* email log entries
* raw emails from posts
2018-06-08 15:50:07 +02:00
Sam
89ad2b5900
DEV: Rails 5.2 upgrade and global gem upgrade
...
This updates tests to use latest rails 5 practice
and updates ALL dependencies that could be updated
Performance testing shows that performance has not regressed
if anything it is marginally faster now.
2018-06-07 14:21:33 +10:00
Arpit Jalan
36f9af4fa4
minor optimizations for post rejected logs
2018-06-02 09:44:55 +05:30
Arpit Jalan
89eca87f16
FEATURE: add staff action log for post rejections
2018-06-01 21:48:27 +05:30
Gerhard Schlager
b970b072f6
FIX: User merge should not fail when primary email address is missing
...
The merge process might move all email addresses of the source user to the target user. Destroying the source user failed in that case.
2018-06-01 16:23:21 +02:00
Guo Xiang Tan
7fc8a36529
DEV: Take 2 Queue jobs in tests by default.
...
On my machine this cuts the time taken to run our test suite
from ~11mins to ~9mins.
2018-05-31 16:23:23 +08:00
Guo Xiang Tan
56e9ff6853
Revert "DEV: Queue jobs in tests by default."
...
Too risky for now
This reverts commit be28154d3b
.
2018-05-31 15:34:46 +08:00
Guo Xiang Tan
2b783997fa
Refactor tests to complete assertions within a single it
block.
2018-05-31 15:05:47 +08:00
Guo Xiang Tan
be28154d3b
DEV: Queue jobs in tests by default.
2018-05-31 14:45:47 +08:00
Gerhard Schlager
ed2ae3cb0a
FIX: Load post revisions in correct order
2018-05-28 11:25:24 +02:00
Gerhard Schlager
20b94bc714
FIX: Extraction of quoted posts failed in some cases
...
* It stored only oneboxed "quotes" when [quote] and links to topics or posts were mixed.
* Revising a post didn't add or remove records from the quoted_posts table.
2018-05-25 12:00:17 +02:00
Sam
720a12ce76
correct time dependent spec
2018-05-25 14:26:05 +10:00
Guo Xiang Tan
755b511b5c
PERF: Destroy collapsed notifications in 1 query instead of 3.
2018-05-25 12:01:36 +08:00
Guo Xiang Tan
ad9e0d6bea
Merge pull request #5848 from OsamaSayegh/fix-social-login-groups
...
FIX: apply automatic group rules when using social login providers
2018-05-23 08:17:42 +08:00
OsamaSayegh
f6d412465b
FIX: apply automatic group rules when using social login providers
2018-05-23 02:26:07 +03:00
Gerhard Schlager
95db5f0c8c
FIX: Do not replace wrong avatars when renaming user
2018-05-22 13:41:51 +02:00
Sam
661d89f489
skip erratic spec
2018-05-22 09:42:50 +10:00
Guo Xiang Tan
aae5575d33
Remove spec file that was accidentally added.
2018-05-21 17:35:55 +08:00
Guo Xiang Tan
bf84037f79
FIX: Payload for webhooks should be current as of the time the event was triggered.
...
https://meta.discourse.org/t/group-category-tag-user-deleted-webhooks-not-firing/87752
2018-05-21 17:29:58 +08:00
Gerhard Schlager
ae6236d090
FIX: Changing owner of deleted reply didn't work
2018-05-16 17:03:09 +02:00
Gerhard Schlager
74c4af279a
Improvements to user renaming
...
* don't update search index if post belongs to deleted topic
* log errors instead of crashing when updating post or revision fails
* update mentions even when the href attribute is missing
* run the background job with low priority
* replace username in all notifications
* update `action_code_who` used by small action posts
2018-05-15 21:05:51 +02:00
Gerhard Schlager
2e1b5bc8d3
FIX: Transaction in UserAnonymizer prevented avatar from updating
2018-05-15 20:47:58 +02:00
Gerhard Schlager
c67c2dc638
FIX: Username update should ignore revisions without raw
2018-05-14 15:22:42 +02:00
Gerhard Schlager
8232aba743
FIX: Update search index after renaming user within posts
2018-05-14 13:20:30 +02:00
Gerhard Schlager
02cb84847c
FIX: Update avatar in oneboxed posts when renaming user
2018-05-14 13:20:29 +02:00
Gerhard Schlager
49392fb105
FIX: Anonymizing user didn't replace uploaded avatar in posts
2018-05-14 13:20:29 +02:00
Gerhard Schlager
2e67998319
Improvements for user renaming ( #5810 )
...
* FEATURE: Update avatars in posts and revisions when user gets renamed
* FIX: Replace username in deleted posts when user gets renamed
* FEATURE: Replace username in notifications when user gets renamed
FEATURE: Update mentions and quotes when user gets merged
2018-05-08 10:02:43 -04:00
Jeff Wong
91b31860a1
Feature: Push notifications for Android ( #5792 )
...
* Feature: Push notifications for Android
Notification config for desktop and mobile are merged.
Desktop notifications stay as they are for desktop views.
If mobile mode, push notifications are enabled.
Added push notification subscriptions in their own table, rather than through
custom fields.
Notification banner prompts appear for both mobile and desktop when enabled.
2018-05-04 15:31:48 -07:00
Robin Ward
05dddcb2fd
Add an event that is triggered when a user is anonymized
2018-05-02 12:25:29 -04:00
Gerhard Schlager
3be3c50c7e
FEATURE: Rename user in mentions and quotes
...
Co-authored-by: Robin Ward <robin.ward@gmail.com>
2018-05-01 13:49:14 -04:00
Robin Ward
079caf08d6
FIX: leftover debug statement
2018-04-30 14:41:11 -04:00
Robin Ward
e21a4ce1dd
FEATURE: Support anonymizing a user's IP addresses
2018-04-30 14:09:03 -04:00
Neil Lalonde
f7c4c71409
FIX: title selector needs to flag whether title comes from badge or not
2018-04-26 16:51:11 -04:00
Sam
6676bbd38b
FEATURE: index YouTube titles in search
...
Previously we omitted the titles for videos that YouTube provided
2018-04-26 15:46:52 +10:00
Gerhard Schlager
ec29869350
FIX: Merging users failed when PM was sent to source and target user
2018-04-24 11:08:29 -04:00
Arpit Jalan
0a442977b3
FEATURE: add staff action log for post approvals
2018-04-23 11:28:44 +05:30
Guo Xiang Tan
9eabf7c02c
Fix randomly failing specs due to SearchLog cache.
2018-04-23 10:10:10 +08:00
Maja Komel
3d99726981
FIX: set notification level when changing post owner ( #5616 )
...
FIX: do not notify last post editor if they mention themself
2018-04-16 11:48:06 +02:00
Gerhard Schlager
f042a9529b
FIX: users shouldn't get notifications about mentions from system users
...
(unless the mentioned users are participants in a PM with the system user)
2018-04-12 16:19:44 +02:00
Sam
bf2955cd98
stablize spec
2018-04-11 15:45:27 +10:00
Gerhard Schlager
62aacce8f4
FEATURE: Notify flaggers when flagged post is edited by author
2018-04-09 16:45:33 +02:00
Guo Xiang Tan
142571bba0
Remove use of rescue nil
.
...
* `rescue nil` is a really bad pattern to use in our code base.
We should rescue errors that we expect the code to throw and
not rescue everything because we're unsure of what errors the
code would throw. This would reduce the amount of pain we face
when debugging why something isn't working as expexted. I've
been bitten countless of times by errors being swallowed as a
result during debugging sessions.
2018-04-02 13:52:51 +08:00
Blake Erickson
31ce955487
Add destroy rake task
...
Adds several rake tasks to delete users, topics, pm's and site stats so
that you can have a fresh site but maintain site settings and category
structure.
2018-03-30 18:32:21 -06:00
Neil Lalonde
73c1d3e7fe
FIX: tag notification preferences were being cleared when other preferences were changed
2018-03-29 15:08:32 -04:00
Blake Erickson
25bf5278e0
Add a couple more tests for site settings import
2018-03-23 15:14:54 -06:00
Blake Erickson
9fdf139235
Add tests for Site Settings import/export
...
- extracted out site settings rake task to a class
- added tests for import and export of site settings
2018-03-23 14:55:17 -06:00
Arpit Jalan
d96c1058a2
FEATURE: add staff action log for 'restore topic'
2018-03-21 18:04:13 +05:30
Neil Lalonde
5ce8177662
FIX: unable to delete user belonging to a group that grants a trust level
2018-03-14 15:12:11 -04:00
Gerhard Schlager
dc77cce8d9
FIX: Create notifications for mentions in PMs
2018-03-09 11:04:29 +01:00
Gerhard Schlager
07649cd42d
FIX: email_domains_whitelist prevented creation of anonymous users
2018-03-06 18:14:53 +01:00
Guo Xiang Tan
1365bab0d7
FEATURE: Live updates for user's messages page.
...
https://meta.discourse.org/t/group-inbox-messages-not-updated-for-new-posts/38189
2018-03-06 18:15:21 +08:00
Robin Ward
0f66a99eb2
Setting to prevent logging details when anonymizing
2018-03-05 14:38:18 -05:00
Gerhard Schlager
79590e4bec
FIX: Merging users shouldn't add more than 1 secondary email
2018-03-01 17:50:13 +01:00
Gerhard Schlager
a7c50039de
FIX: Allow changing post owner even when topic validations fail
2018-03-01 17:31:58 +01:00
Gerhard Schlager
7a2183e8ab
FEATURE: rake task for merging users
2018-03-01 12:28:12 +01:00
Gerhard Schlager
fffd1a6602
FIX: Associated Instagram account was missing at some places
2018-03-01 12:26:40 +01:00
Gerhard Schlager
c22e56499a
FIX: Allow changing post owner even when validations fail
2018-02-27 15:46:20 +01:00
Sam
86d12bd44b
FEATURE: search within title using in:title
...
Also
- Significantly improved search ranking, title is treated most strongly
- Adds tag names to the index
- Run search re-indexer more aggressively
- Re-index topic and all posts on category change
2018-02-20 14:41:21 +11:00
Robin Ward
7348513848
FIX: Include post in staff action logs when silencing a user
2018-02-13 15:59:10 -05:00
Maja Komel
1c27d93dcf
anonymous shadow users are approved on creation if must_approve_users is enabled ( #5569 )
2018-02-13 01:58:38 -05:00
Arpit Jalan
7cda3a37af
rename 'private_email_time_window_seconds' to 'personal_email_time_window_seconds'
2018-02-01 13:25:29 +05:30
Arpit Jalan
1f6adbea5c
FEATURE: log private message views
2018-01-29 08:08:08 +05:30
Neil Lalonde
8f21c96ea5
FIX: don't downcase watched words on input since it can break the watched_words_regular_expressions setting
2018-01-09 16:51:59 -05:00
Arpit Jalan
ef4c6c67ba
fix the build
2017-12-23 14:42:40 +05:30
Robin Ward
77f90876d3
REFACTOR: Track manual locked user levels separately from groups
2017-11-27 11:23:44 -05:00
Robin Ward
d755c9c90f
FIX: Allow regular expressions to specify boundaries
2017-11-17 14:13:44 -05:00
Gerhard Schlager
d47fa6653b
do not notify staged users about posts withing mailinglist mirror category
2017-11-17 15:29:14 +01:00
Robin Ward
971e302ff2
FEATURE: Support an end date for user silencing
2017-11-14 13:20:19 -05:00
Robin Ward
1f14350220
Rename "Blocked" to "Silenced"
2017-11-10 14:10:27 -05:00
Gerhard Schlager
0ccefb0365
make RuboCop happy
2017-11-10 17:57:28 +01:00
Gerhard Schlager
31e2385316
FEATURE: do not send notification emails to users who are included in the To and CC header of an incoming email
2017-11-10 17:44:20 +01:00
Neil Lalonde
18d65fe7e5
FIX: post counts in user stats when changing post owner
2017-11-02 18:05:23 -04:00
Guo Xiang Tan
e91a631978
REFACTOR: DRY up code and add better test coverage.
2017-10-23 11:16:14 +08:00
Guo Xiang Tan
79de10b212
FEATURE: Allow users to disable new PMs.
...
https://meta.discourse.org/t/is-it-possible-to-disable-private-messaging-for-a-specific-user/46391
2017-10-19 12:32:55 +08:00
Gerhard Schlager
c0bb97b5cb
FIX: delete staged users when the incoming email is rejected
2017-10-11 16:17:01 +02:00
Robin Ward
41c3941c4c
FEATURE: Support regular expressions for watched words
2017-09-27 15:48:57 -04:00
Robin Ward
7578d8fc44
Add a DiscourseEvent
for when a topic is closed
2017-09-27 14:00:53 -04:00
Guo Xiang Tan
4e5e7dc736
FIX: Fix ActiveRecord API that was removed in Rails 5.1.
2017-09-25 16:16:37 +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
Gerhard Schlager
87b4246c14
FIX: notify about whispered reply
2017-09-19 15:51:10 +02:00
Sam
50203794e6
FIX: staged users should get emails on must_approve_users sites
2017-08-28 17:32:07 -04:00
Bianca Nenciu
6bc74ceb50
Split alias levels in mentionable and messageable levels. ( #5065 )
...
* Split alias levels in mentionable and messageable levels.
* Fixed some tests.
* Set messageable level to everyone by default.
* By defaults, groups are not mentionable or messageable.
* Made staff groups messageable by the system.
2017-08-28 12:32:08 -04:00
Erick Guan
6e59149a77
FIX: rebuild index when engine replaced ( #5021 )
2017-08-16 07:38:34 -04:00
Guo Xiang Tan
b77aa29e71
Merge pull request #5013 from LeoMcA/alternate-emails-phase-1.5
...
FIX: add additional email to tests and clean up resulting mess
2017-08-16 16:19:28 +09:00
Bianca Nenciu
117417848e
Remove like on change of ownership. ( #5038 )
2017-08-11 09:55:00 +02:00
Leo McArdle
836dee1120
FIX: add additional email to tests and clean up resulting mess
2017-07-31 22:27:29 +00:00
Guo Xiang Tan
4620dfe92d
FEATURE: Add group settngs to allow users to leave a group freely.
...
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
2017-07-28 15:00:25 +09:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Neil Lalonde
24cb950432
FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block
2017-07-26 11:01:09 -04:00
Régis Hanol
d67fe4c674
FIX: block all emails associated to a user when destroying their record
2017-07-25 17:44:46 +02:00
Sam Saffron
045a2abcec
FEATURE: remove the timecop gem
...
We should only have one way of mocking time, misuse of timecop
was causing build stability issues
2017-07-24 12:11:10 -04:00
Guo Xiang Tan
c12edda766
Use Timecop.freeze
instead of Timecop.travel
.
2017-07-24 15:40:57 +09:00
Guo Xiang Tan
86dbd76191
Fix random spec failure due to ordering.
2017-07-24 15:25:07 +09:00
Leo McArdle
ddc0134b48
add DiscourseEvent triggers necessary to update a user's permissions before they're notified
2017-07-21 11:03:54 -04:00
Leo McArdle
d0b027d88d
FEATURE: phase 1 of supporting multiple email addresses
2017-07-20 11:22:27 +09:00
Guo Xiang Tan
13f3de4bf6
Nuke all SiteSetting.stubs
from our codebase.
2017-07-07 15:09:14 +09:00
Guo Xiang Tan
d82dbd565b
FIX: Remove dependency on rest-client
.
2017-06-16 09:42:41 +09:00
Guo Xiang Tan
b5ec241716
FIX: Validate interpolation keys used in translation overrides.
...
https://meta.discourse.org/t/discobot-translation-missing-error/64429/6?u=tgxworld
2017-06-16 08:54:48 +09:00
Guo Xiang Tan
238a156300
FIX: TopicTimestampChanger
should not allow timestamps in the future.
2017-05-22 16:03:49 +08:00
Guo Xiang Tan
4382a0bb07
Rename PostTimestampChanger
-> TopicTimestampChanger
.
2017-05-22 15:01:33 +08:00
Sam
e1dd543a93
FEATURE: allow users to select theme on single device
2017-05-15 12:48:16 -04:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04:00
Sam
946f25098f
Refactor theme fields so they support custom theme defined vars
...
This paves the way to allowing themes to specify uploads and so on.
2017-05-02 16:02:14 -04: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
Robin Ward
40cee37bcc
FIX: Don't insert topic status messages unless the status changes
2017-04-07 17:10:43 -04:00
Sam Saffron
48d9c69117
remove confusing comment
2017-04-05 08:46:35 -04:00
Sam Saffron
cd39049262
SECURITY: do not send push notifications to suspended users
2017-04-05 08:28:24 -04:00
Robin Ward
a649014adf
Add spec for validation on group mention updater
2017-04-04 11:22:39 -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
Sam
74dbe877d8
test for side effect without mock
2017-03-20 16:15:23 -04:00
Arpit Jalan
d5bcc70e9c
FIX: grant trust level when bulk adding users to group
2017-03-06 14:39:53 +05:30
Arpit Jalan
e27b1b98d1
FIX: handle new user when logging name change
2017-03-01 13:43:57 +05:30
Arpit Jalan
6661cebff8
FIX: do not log duplicate username changes
2017-02-28 01:32:00 +05:30
Arpit Jalan
b32d3d66e5
FEATURE: log all username and name changes
2017-02-28 00:23:27 +05:30
Sam
783bac9ff7
less stubbing for better clarity and robustness
2017-02-13 14:34:15 -05:00
Sam
ff49f72ad9
FEATURE: per client user tokens
...
Revamped system for managing authentication tokens.
- Every user has 1 token per client (web browser)
- Tokens are rotated every 10 minutes
New system migrates the old tokens to "legacy" tokens,
so users still remain logged on.
Also introduces weekly job to expire old auth tokens.
2017-02-07 09:22:16 -05:00
Robin Ward
496682c442
Merge pull request #4662 from tgxworld/fix_localized_group_name_change
...
Fix localized group name change
2017-01-26 10:50:00 -05:00
Neil Lalonde
6b93b09404
FIX: when blocking a user results in hiding their posts, only hide posts made in the last 24 hours
2017-01-19 15:56:22 -05:00
Guo Xiang Tan
706b4f6b9f
FEATURE: Remap group mentions when group name has been changed.
2017-01-18 13:39:34 +08:00
Robin Ward
86c52c72f6
FIX: Deleting a user was not deleting their directory items
2017-01-16 11:46:52 -05:00
Guo Xiang Tan
e3b6f9b8ae
FIX: Do not update user stats like counts for private messages.
2017-01-16 11:07:53 +08:00
Guo Xiang Tan
38496985ef
Fix syntax error.
2017-01-12 10:03:37 +08:00
Guo Xiang Tan
23d4435af1
Oops.
2017-01-12 09:56:20 +08:00
Guo Xiang Tan
515f50e42e
FEATURE: Log admin action when readonly mode is changed.
2017-01-12 09:41:02 +08:00
Neil Lalonde
b177827841
more specs for staff action logging
2017-01-11 11:41:21 -05:00
Guo Xiang Tan
d10fe51b72
Fix broken specs since all urls will be oneboxed.
2017-01-06 10:05:51 +08:00
Guo Xiang Tan
f1beef43a8
Merge pull request #4618 from tgxworld/fix_invalid_emails
...
FIX: Don't allow invalid email to be saved.
2016-12-30 07:11:48 +08:00
Sam
d28d8a1f85
FIX: order by op_likes leads to broken browsing
2016-12-27 19:08:54 +11: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
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
Sam
2f6a4cc6de
remove UserActionObserver, replace with after_save and service
...
interestingly there was some left over dead code from when stars
existed in the topic_users table
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
Guo Xiang Tan
13c6191e89
FIX: Don't allow invalid email to be saved.
2016-12-21 17:47:11 +08:00
Guo Xiang Tan
05f55dbc10
FEATURE: Group logs.
2016-12-12 17:29:54 +08:00
Régis Hanol
6edd3c347c
FIX: automatically disable digests when enabling mailing list mode
2016-11-28 15:52:35 +01:00
Guo Xiang Tan
f824afb4d3
FEATURE: Allow date_of_field column to be updated.
2016-11-17 15:16:58 +08:00
Sam
aaf947356b
correct regression where notifications scope is not pushing to push server
2016-10-14 22:52:39 +11:00
Sam
f4f5524190
FEATURE: user API now contains scopes so permission is granular
...
previously we supported blanket read and write for user API, this
change amends it so we can define more limited scopes. A scope only
covers a few routes. You can not grant access to part of the site and
leave a large amount of the information hidden to API consumer.
2016-10-14 16:05:42 +11:00
Sam
3ad8616f44
Merge pull request #4476 from xfalcox/localize-badge-notifications
...
FIX: Properly localize badge notification on batch grant
2016-10-12 15:16:35 +11:00
Rafael dos Santos Silva
48fa1f141f
Add specs for localized notifications on backfilled badges
2016-10-11 19:15:36 -03:00
Sam
89daa43754
FEATURE: remap emojis back for push notifications and desktop alerts
2016-10-11 13:03:48 +11:00
cpradio
6f1c31d777
Add notification level user preference when replying to a topic
2016-09-30 14:58:07 -04:00
Robin Ward
c94e6f1b96
Add locale step
2016-09-22 09:52:19 -04:00
Neil Lalonde
06eb256d0a
FIX: blocking users should never hide all posts if they are trust level 1 or higher
2016-09-12 11:58:10 -04:00
Sam
340874d345
FIX: post notifications in JSON so we properly support arrays and so on
2016-09-04 15:51:16 +10:00
Sam
4fe52c8cbe
FEATURE: backend support for pushing notifications to clients
2016-08-26 12:47:10 +10:00
Arpit Jalan
4a2f0e772c
add specs for post ownership change without revision
2016-08-20 01:27:48 +05:30
Robin Ward
4061725a95
FIX: Don't ever grant badges when they're disabled
2016-08-19 15:16:37 -04:00
Robin Ward
3d62e5dd98
SECURITY: XSS issue on Admin users list
2016-08-05 12:01:16 -04:00
Sam
9018de39ed
FEATURE: allow shipping bio markdown via SSO
...
- Also adds site setting for sso_overrides_bio to disable bio editing by end users
2016-08-01 15:29:28 +10:00
Robin Ward
c279889191
FIX: Watching First Post in groups was working incorrectly
2016-07-21 15:05:10 -04:00
Robin Ward
09be741820
FIX: Don't alert on new posts in a topic unless it's a new record
2016-07-19 15:57:05 -04:00
Guo Xiang Tan
d55da4fe1b
Revert "Revert "Update rails.""
...
This reverts commit 4d27d7e1d3
.
2016-07-18 11:00:23 +08:00
Robin Ward
4d27d7e1d3
Revert "Update rails."
...
This reverts commit 898ec43989
.
2016-07-15 16:35:57 -04:00
Guo Xiang Tan
898ec43989
Update rails.
2016-07-15 13:18:30 +08:00
Sam
4161ee210a
FEATURE: improved tag and category watching and tracking
...
- present tags watched on the user prefs page
- automatically watch or unwatch old topics based on watch status
New watching and tracking logic takes care of handling old topics
(either with or without read state)
When you watch a topic you now watch historically
Also removes confusing warnings from user.
2016-07-08 12:58:30 +10:00
Robin Ward
2005565c9c
Server side code for Watching First Post Only
2016-07-07 11:21:50 -04:00
Robin Ward
83e46cc302
FIX: Restrict changing ownership to one topic
2016-06-17 14:20:14 -04:00
Neil Lalonde
d62f2b4d67
UX: rename setting num_flags_to_block_new_user to num_spam_flags_to_block_new_user
2016-06-15 13:19:06 -04:00
Neil Lalonde
1c9519636c
FEATURE: new users can be blocked from posting if enough TL3 users flag their posts
2016-06-15 10:51:34 -04:00
Robin Ward
0396b14b70
FEATURE: New "First Onebox" badge
2016-04-12 15:31:14 -04:00
Sam
72849e65de
FIX: when granting old badges that are bronze, do not notify
2016-04-12 22:08:38 +10:00
Sam
a130cb8305
FEATURE: move more urgent emails notifications to critical queue
...
Move signup, admin login and password change email notifications
to critical queue
2016-04-07 14:39:01 +10:00
Sam
f9e5c49350
FIX: blue notification instead of green for replies/mentions in PMs
2016-03-22 14:28:14 +11:00
Régis Hanol
f15d463eb8
FIX: user 'UserBlocker' when blocking a new user
2016-03-18 12:16:37 +01:00
Sam
c2fa314684
test username actually changes
2016-03-18 12:32:09 +11:00
jeremylan
1c7a0cb514
Updated test to check for Site Setting full_name_required
...
Added context and new test to check for correct user anonymizing depending on full_name_required Site Setting
2016-03-18 09:43:48 +11:00
Sam Saffron
e947c3b9ec
correct for earlier versions of ruby
2016-03-17 09:25:48 +11:00
Sam Saffron
8577b7e2cc
FIX: setting owner on topic should not bump topic
2016-03-17 08:32:56 +11:00
Sam Saffron
b300d60086
FIX: when changing owner of last post user list on topic incorrect
2016-03-16 23:49:54 +11:00
Régis Hanol
2747e14b4c
FEATURE: hide elided part of incoming emails behind a [details] tag
2016-03-09 18:51:54 +01:00
Neil Lalonde
091e7ef3ca
FIX: when a post is edited by someone other than the original author and a mention is added, the mention notification is from the person who edited
2016-03-08 15:26:12 -05:00
Sam
af577a5854
FEATURE: like notification frequency of never
2016-03-06 09:12:59 +11:00
Sam Saffron
8b1772ac0f
FIX: if user undos like, and relikes notify
...
FEATURE: roll up likes for notify on all likes
2016-03-04 22:56:27 +11:00
Sam
5a6c34fb8a
regression, unable to edit posts
2016-03-03 16:00:14 +11:00
Guo Xiang Tan
9d24a00f2e
Merge pull request #4055 from tgxworld/fix_topic_view_not_working_in_redis_readonly
...
FIX: Topic view not working when Redis is readonly.
2016-03-03 08:48:31 +08:00
Guo Xiang Tan
5f8e20aa1d
FIX: Topic view not working when Redis is readonly.
2016-03-03 08:26:45 +08:00
Neil Lalonde
c1aea91d63
FEATURE: More digest email frequency options. Digests can be sent as often as every 30 minutes.
2016-03-02 15:43:47 -05:00
Sam Saffron
5f4075a6cf
FEATURE: users can select how frequently they are notified on likes
...
- first time
- first time and daily (default)
- always
2016-03-02 23:16:52 +11:00
Sam Saffron
820a435af8
FEATURE: add "email in-reply-to user option"
...
We no longer include previous replies as "context", instead
we include and excerpt of the post being replied to at the bottom
of notifications, this information was previously missing.
Users may opt in to emailing previous replies if they wish
or opt out of "in-reply-to" which makes sense in some email clients that
are smarter about displaying a tree of replies.
2016-02-26 00:05:59 +11:00
Guo Xiang Tan
e7cfbfeabb
FIX: Array#first
with block will return the first element if nothing matches.
2016-02-24 22:34:40 +08:00
Robert Riemann
9c39647cd2
fix: support for hyphens in group name
...
The group mention @ORG-team triggers notifications for the group @ORG. This fix changes the RegExp, so that the group name is correctly extracted.
see: https://meta.discourse.org/t/group-mentions-that-begin-with-the-same-characters-may-be-incorrect/39892/12?u=rriemann
2016-02-23 23:55:31 +01: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
f0e942f647
PERF: move 3 more option columns out of the user table
2016-02-18 16:57:22 +11:00
Sam
3829c78526
PERF: shift most user options out of the user table
...
As it stands we load up user records quite frequently on the topic pages,
this in turn pulls all the columns for the users being selected, just to
discard them after they are loaded
New structure keeps all options in a discrete table, this is better organised
and allows us to easily add more column without worrying about bloating the
user table
2016-02-17 18:08:25 +11:00
Sam Saffron
4099823efe
FIX: batch badge assigner was not including full info in notification
...
(missing drilldown link in notification)
2016-02-01 18:27:07 +11:00
Arpit Jalan
cf1bd35fc6
FIX: while changing site text, old and new values can be nil
2016-01-18 20:56:14 +05:30
Sam
cba76db53b
FIX: if people link own post, watchers not notified
2015-12-31 10:51:58 +11:00
Arpit Jalan
4c967d11b4
FEATURE: log site text changes
2015-12-18 19:42:06 +05:30
Guo Xiang Tan
8b6b3cf858
FIX: Admin logging should not log permissions if none has been set.
2015-12-06 15:29:13 +08:00
Andy Waite
3e50313fdc
Prepare for separation of RSpec helper files
...
Since rspec-rails 3, the default installation creates two helper files:
* `spec_helper.rb`
* `rails_helper.rb`
`spec_helper.rb` is intended as a way of running specs that do not
require Rails, whereas `rails_helper.rb` loads Rails (as Discourse's
current `spec_helper.rb` does).
For more information:
https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files
In this commit, I've simply replaced all instances of `spec_helper` with
`rails_helper`, and renamed the original `spec_helper.rb`.
This brings the Discourse project closer to the standard usage of RSpec
in a Rails app.
At present, every spec relies on loading Rails, but there are likely
many that don't need to. In a future pull request, I hope to introduce a
separate, minimal `spec_helper.rb` which can be used in tests which
don't rely on Rails.
2015-12-01 20:39:42 +00:00
Sam
d1a5d8ea62
FEATURE: show group mentions and topics in groups page
2015-12-01 16:52:43 +11: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
Neil Lalonde
84342ecdef
FIX: anonymized user's preferences should have system assigned avatar chosen
2015-11-27 14:37:30 -05:00
Robin Ward
d65ec1af2e
Rename ninja_edit_window
to editing_grace_period
:'(
2015-11-24 14:28:42 -05:00
Guo Xiang Tan
d9fe78da20
FIX: Topic#last_posted_at was not being set when changing topic timestamp.
2015-10-20 10:12:52 +08:00
Robin Ward
eacd75bcf8
SECURITY: Unread post notifications should respect whispers
2015-10-19 16:32:10 -04:00
Guo Xiang Tan
f39b9124b6
FEATURE: Log staff actions for Category changes.
2015-09-18 10:53:08 +08:00
Neil Lalonde
354a3f9638
add test for auth_token being cleared by user anonymizer, which it already does
2015-09-10 11:17:48 -04:00
Sam
262f561a87
FEATURE: relax username rules to allow - and . and leading _
...
This relaxes our very strict username rules to allow for some long asked for requests
- leading _ is now allowed
- . is allowed except for trailing char and confusing extensions like .gif .json
- dash (-) is now permitted
2015-09-02 12:13:44 +10:00
Arpit Jalan
10b8e43a92
FIX: send new email activation token if the original token expired
2015-08-24 12:00:00 +05:30
Sam
94f05a40de
FIX: when destroying users we were leaving drafts behind
2015-08-24 16:05:08 +10:00
Guo Xiang Tan
89f4ebfb36
Fix timestamp comparison in tests.
...
Follow up to 58190c92e9
.
2015-08-22 10:12:02 +08:00
Guo Xiang Tan
c7a21b7c23
FEATURE: Allow admin to change timestamp of topic.
2015-08-17 00:00:05 +08:00
Sam
5ee4d3ba8c
FIX: log post deletion even if user is deleted.
2015-08-14 13:57:02 +10:00
Sam
5ab7f7e88d
FIX: double like notification
...
If you got a like -> edit/quote/etc -> like you would get a
double notification
2015-06-19 12:31:36 +10:00
Neil Lalonde
3a67c02c7a
FIX: change topic creator wasn't removing the topic from the previous creator's activity stream
2015-05-29 17:39:36 -04:00
Sam
1e4c7dfbe7
FIX: invalid plan generation when % in query on badge definition UI
2015-05-28 16:06:22 +10:00
Régis Hanol
d4974b7093
FIX: anonymous mode don't work when names are required
2015-05-15 14:20:15 +02:00
Arthur Neves
b8cbe51026
Convert specs to RSpec 2.99.2 syntax with Transpec
...
This conversion is done by Transpec 3.1.0 with the following command:
transpec
* 424 conversions
from: obj.should
to: expect(obj).to
* 325 conversions
from: == expected
to: eq(expected)
* 38 conversions
from: obj.should_not
to: expect(obj).not_to
* 15 conversions
from: =~ /pattern/
to: match(/pattern/)
* 9 conversions
from: it { should ... }
to: it { is_expected.to ... }
* 5 conversions
from: lambda { }.should_not
to: expect { }.not_to
* 4 conversions
from: lambda { }.should
to: expect { }.to
* 2 conversions
from: -> { }.should
to: expect { }.to
* 2 conversions
from: -> { }.should_not
to: expect { }.not_to
* 1 conversion
from: === expected
to: be === expected
* 1 conversion
from: =~ [1, 2]
to: match_array([1, 2])
For more details: https://github.com/yujinakayama/transpec#supported-conversions
2015-04-25 11:18:35 -04:00
Robin Ward
151b559e4c
FIX: If you delete a user, delete their queued posts as well.
2015-04-24 16:04:44 -04:00
Sam
4bfca12b11
FEATURE: anonymous_account_duration_minutes , cycle anon accounts after N minutes from last post
...
fixes it so anon users can not like stuff
2015-04-08 12:30:02 +10:00
Sam
f5d89169e2
FEATURE: initial implemenation of anonymous posting mode
2015-04-07 18:05:31 +10:00
Sam
14741b5dac
FIX: only ONE user on site could have a list of muted users
2015-03-31 10:16:23 +11:00
Sam
92e371f0b3
FEATURE: civilized mute
...
Allow user to mute all notifications generated by specific users
2015-03-24 11:55:22 +11:00
Neil Lalonde
2585962552
fix spec that can fail when comparing timestamps. I only care that it isn't null.
2015-03-11 16:51:29 -04:00
Neil Lalonde
dece5a351a
more fixes for post ownership change and user deletion
2015-03-11 15:54:20 -04:00
Neil Lalonde
608647d02f
FEATURE: Anonymize User. A way to remove a user but keep their topics and posts.
2015-03-10 11:59:08 -04:00
Neil Lalonde
35c58c1b00
FIX: after changing post owner, profile pages still showed previous owner and incorrect topic and post counts
2015-03-03 14:15:11 -05:00
Neil Lalonde
1bf4f34049
FIX: topic and post counts are not updated when ownership of a post is changed
2015-03-02 12:13:21 -05:00
Sam
b760d22460
PERF: avoid expensive order by random for suggested topics
2015-02-25 17:19:12 +11:00
Robin Ward
4e64d16a47
FEATURE: Allow plugins to log staff actions
2015-02-05 15:26:34 -05:00
Robin Ward
b2e2a99898
FIX: Don't raise an error when trying to log nothing
2014-12-15 14:14:12 -05:00
Robin Ward
cb0e7a5724
For performance reasons, use delete_all
when removing a user's email logs
2014-11-28 14:20:43 -05:00
Régis Hanol
4e735e8aab
FIX: roll up staff action wasn't working
2014-11-27 01:12:56 +01:00
David McClure
efc4109902
update specs to remove deprecation warnings
2014-11-07 06:05:44 -08:00
Régis Hanol
e7f251c105
LOTS of changes to properly handle post/topic revisions
...
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Régis Hanol
10094a0bcd
FIX: resolve flags as good when deleting a spam user
2014-10-20 16:59:06 +02:00
Sam
f834a5fe4e
correct spec
2014-10-09 22:27:34 +11:00
Sam
0e7be81e60
FIX: badge granted titles were not being revoked when badge was revoked
2014-10-08 10:26:18 +11:00
Régis Hanol
98b6b9821a
FEATURE: log topic/post deletions from staff members
2014-10-01 17:40:13 +02:00
Régis Hanol
de76b512c1
fix most deprecations in the specs (still some left)
2014-09-25 17:44:48 +02:00
Neil Lalonde
d6a562658a
FIX: update user preferences was failing if custom_fields is blank string
2014-09-17 13:09:39 -04:00
Sam
7f3797b635
FEATURE: Nice Topic, Good Topic and Great Topic badges
...
Note we will revoke all old badges post badges that went to post #1
and instead get topic badges
2014-09-11 12:36:37 +10:00
Sam
59d04c0695
Internal renaming of elder,leader,regular,basic to numbers
...
Changed internals so trust levels are referred to with
TrustLevel[1], TrustLevel[2] etc.
This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
Neil Lalonde
d273374f1a
FIX: before nuking a user, do a real count of posts instead of relying on user_stat record
2014-08-18 12:07:29 -04:00
Sam
1baa55fe45
FIX: preview bust when no params
2014-08-13 12:25:56 +10:00
Sam
22cd259687
FIX: remove faulty "ensure consistency" badge job
2014-08-11 09:21:06 +10:00
Sam
f20c5a02c7
amend test
2014-08-08 10:02:43 +10:00
Sam
5d9eefbfed
FIX: don't notify on link reflections
2014-07-29 15:40:05 +10:00
Régis Hanol
bddffa7f9a
FEATURE: flag dispositions normalization
...
All flags should end up in one of the three dispositions
- Agree
- Disagree
- Defer
In the administration area, the *active* flags section displays 4 buttons
- Agree (hide post + send PM)
- Disagree
- Defer
- Delete
Clicking "Delete" will open a modal that offer to
- Delete Post & Defer Flags
- Delete Post & Agree with Flags
- Delete Spammer (if available)
When the flag has a list associated, the list will now display 1
response and 1 reply and a "show more..." link if there are more in the
conversation. Replying to the conversation will NOT give a disposition.
Moderators must click the buttons that does that.
If someone clicks one buttons, this will add a default moderator message
from that moderator saying what happened.
The *old* flags section now displays the proper dispositions and is
super duper fast (no more N+9999 queries).
FIX: the old list includes deleted topics
FIX: the lists now properly display the topic states (deleted, closed,
archived, hidden, PM)
FIX: flagging a topic that you've already flagged the first post
2014-07-28 19:28:07 +02:00
Sam
0f9678fe49
FIX: faster update of all badges
...
Introduced badge triggers, introduced concept of badge that happens due to a post but has the post hidden
Delta badge grant happens once a minute, backed by redis
2014-07-23 11:46:07 +10:00
Neil Lalonde
939e8505a9
Remove hub username integration
2014-07-16 12:25:24 -04:00
Sam
e32e96dabb
FEATURE: new badges
...
- Pay it forward renamed to first like
- First flag
- First share
2014-07-09 12:17:39 +10:00
Sam
81682b74b7
Feature: Paying it forward badge
2014-07-08 14:26:53 +10:00
Sam
0f25bbeaf7
FEATURE: Editor badge
2014-07-07 17:55:40 +10:00
Sam
4a25c86d61
FIX: correct duplicate granting
2014-07-05 18:32:06 +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
Sam
bc44bfcdf2
Work in progress backfill for like badges
2014-07-01 22:01:15 +10:00
Vikhyat Korrapati
23983efeea
Don't grant multiple_grant badges multiple times for the same post.
2014-06-28 00:32:09 +05:30
Vikhyat Korrapati
3ba65af19e
Add like-based system badges.
2014-06-19 17:10:43 +05:30
Sam
56dcd00570
BUGFIX: trust_level_0 group not including trust_level_1
...
BUGFIX: manual trust level change not adding user to groups
BUGFIX: system not in correct trust level groups
2014-06-17 10:52:02 +10:00
Andrew Bezzub
9ffd173873
move bio to UserProfile from User
2014-06-13 14:55:32 -04:00
Andrew Bezzub
7db31adf35
move website from User to UserProfile
2014-06-06 21:54:32 -07:00
Vikhyat Korrapati
8c2ec4c52a
Get rid of update_badges mocks.
2014-05-15 23:13:04 +05:30
Vikhyat Korrapati
c07244a4e6
Refactor BadgeGranter.update_trust_level_badges! -> update_badges.
2014-05-14 21:01:41 +05:30
Vikhyat Korrapati
b144b75565
Add automatically assigned trust level badges.
2014-05-14 20:47:21 +05:30
Neil Lalonde
c4d3aa3d47
Theming: a UI to choose some base colors that are applied to all the site css. CSS compiled outside of asset pipeline.
2014-05-14 10:18:12 -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
Neil Lalonde
f61f29439e
Track the ip address where user was registered
2014-04-29 14:37:56 -04:00
Neil Lalonde
feaaf55a0c
Theming: color scheme editing. Unfinished! Doesn't have any effect on css files yet.
2014-04-24 16:49:12 -04:00
Vikhyat Korrapati
8113e8d897
Basic UI for selecting gold/silver badges as titles.
2014-04-18 09:20:51 +05:30
Vikhyat Korrapati
89f45901bc
Create notification when badge is granted.
2014-04-17 01:58:01 +05:30
Régis Hanol
2505d18aa9
FEATURE: support email attachments
2014-04-14 22:55:57 +02:00
Neil Lalonde
379f4a87d5
FIX: remove likes and other post actions before nuking a user
2014-03-31 14:06:35 -04:00
Vikhyat Korrapati
dcaa069bb5
Log badge grant/revoke to the staff actions log.
2014-03-21 11:10:07 +05:30
Sam
9fc31932cf
BUGFIX: don't alery myself when I link to myself
2014-03-19 12:07:48 +11:00
Sam
5c26b3dad1
FIX: broken specs after new link alerting code
2014-03-18 15:22:53 +11:00
Sam
fe63db7953
Merge pull request #2115 from vikhyat/badge-system
...
Initial badge system implementation
2014-03-17 10:06:37 +11:00
Vikhyat Korrapati
9b26c8584e
Initial badge system implementation.
2014-03-14 21:49:26 +05:30
Neil Lalonde
9ca516e58d
Rename nickname to username in the code. Use new hub routes. (Old routes still exist as aliases for old Discourse instances.)
2014-03-12 12:39:36 -04:00
Neil Lalonde
8711762143
Users who have made no more than one post can delete their own accounts from their user preferences page.
2014-02-13 13:52:06 -05:00
Neil Lalonde
561961eff6
FIX: can grant titles to regular users. Guardian initializer needs current_user, not the target user.
2013-12-10 12:46:35 -05:00
Neil Lalonde
69cc1dd689
FIX: don't suggest a username that's already taken, even if hub finds a match
2013-11-20 14:56:21 -05:00
Neil Lalonde
981d8f6aea
Signup form: prefill username if Discourse Hub has a match for the email address. Also, fix some bad specs in username_checker_service_spec that were passing...
2013-11-19 14:15:28 -05:00
Scott Carleton
32e414690a
Handle ugly url targets
2013-11-14 13:14:02 -05:00
Neil Lalonde
2f8866add5
Change admin display-row css so that multiple lines can fit in the control column. Don't hard-code a height on the rows.
2013-11-11 15:03:17 -05:00
Robin Ward
6e43372e7c
Merge pull request #1610 from salbertson/sa-refactor-users-update
...
Move logic for updating a user to a service class
2013-11-07 12:29:19 -08:00
Neil Lalonde
0c6f794eb0
Used the term suspended instead of banned.
2013-11-07 13:53:49 -05:00
Scott Albertson
72bfa4471f
Move logic for updating a user into a service class
2013-11-07 08:39:39 -08:00
Neil Lalonde
92a0729937
When banning a user, a reason can be provided. The user will see this reason when trying to log in. Also log bans and unbans in the staff action logs.
2013-11-01 10:47:26 -04:00
Neil Lalonde
52b0c1c45f
When logging the deletion of a user, don't store its id in the target_user_id column. It will never match a user record.
2013-11-01 10:47:26 -04:00
Neil Lalonde
4e46d91b8d
Refactor SpamRulesEnforcer so that each spam rule is in its own class
2013-10-25 13:25:02 -04:00
Neil Lalonde
8aab2253d0
Whitelisted ip addresses will not be flagged as spam by flag_sockpuppets
2013-10-23 17:11:35 -04:00
Scott Carleton
cbef844a57
Build out a URI Adapter to allow uploading an avatar via a url
...
Currently only really accessible via the API. The UriAdapter creates a
tempfile from a url and gives a ActionDispatch::HTTP::UploadedFile back
to the controller to process as normal.
This will help a lot in being able to transfer avatar urls from another
app without monkey patching a lot of discourse code.
2013-10-21 14:53:03 -04:00
Neil Lalonde
3c2c6ab24b
Add sockpuppet spammer detection. Automatically flag posts if they are from new users (registered less than 24 hours ago) at the same IP address and one of them started the topic.
2013-10-11 13:34:05 -04:00
Neil Lalonde
e8ef55c446
Rename StaffActionLog to UserHistory
2013-09-10 22:01:20 -04:00
Einar Jonsson
724b3aadcf
Extracted nickname registration out of the UsersController and into its
...
own service.
2013-09-09 09:26:50 +00:00
Neil Lalonde
cde631cbd1
Change default of notify_mods_when_user_blocked to false
2013-09-05 11:27:24 -04:00
Neil Lalonde
47add6da70
Log when a site customization is deleted
2013-08-21 12:33:24 -04:00
Neil Lalonde
a95303fcd8
Log site customization changes. Use a modal to show staff action log details for site customizations.
2013-08-21 12:33:24 -04:00
Neil Lalonde
1d030666d8
Log site setting changes and show in admin
2013-08-19 16:58:38 -04:00
Neil Lalonde
7eaedb84e1
Add notify_mods_when_user_blocked site setting to control whether moderators get a message when someone is automatically blocked
2013-08-19 12:00:48 -04:00
Neil Lalonde
ed060ed5f1
Change trust level logs the previous trust level
2013-08-13 12:04:28 -04:00
Neil Lalonde
8cc49d9797
Don't send more pm's after a user has been blocked from making posts. This can happen if a staff member flags posts that are already hidden.
2013-08-02 10:55:19 -04:00
Neil Lalonde
a8df9778b5
Rename AdminLog to StaffActionLog
2013-07-29 15:29:43 -04:00
Neil Lalonde
075ed1ab53
Refactor user blocking code; hide the Block button in admin
2013-07-02 14:42:53 -04:00
Neil Lalonde
246148d4ff
Make topics invisible when first post is automatically hidden because of spam flags
2013-06-12 16:02:11 -04:00
Neil Lalonde
9b1d0baf45
Send a message to moderators when a newuser_spam_host_threshold is exceeded. Send it no more than once per day per user.
2013-06-10 13:17:32 -04:00
Neil Lalonde
564d242832
Notify moderators when someone is automatically blocked because of spam flags
2013-06-06 18:49:19 -04:00
Neil Lalonde
c4904aacc0
Automatically flag someone as a spammer if their posts get at least X spam flags from N users while their trust level is 'new user'. Staff can clear and set this status from the user record in admin.
2013-06-03 16:37:40 -04:00