Sam
6a3c8fe69c
FEATURE: protect against accidental column or table drops
...
Often we need to amend our schema, it is tempting to use
drop_table, rename_column and drop_column to amned schema
trouble though is that existing code that is running in production
can depend on the existance of previous schema leading to application
breaking until new code base is deployed.
The commit enforces new rules to ensure we can never drop tables or
columns in migrations and instead use Migration::ColumnDropper and
Migration::TableDropper to defer drop the db objects
2018-03-21 15:43:32 +11:00
Robin Ward
b9abd7dc9e
FEATURE: Shared Drafts
...
This feature can be enabled by choosing a destination for the
`shared drafts category` site setting.
* Staff members can create shared drafts, choosing a destination
category for the topic when it is published.
* Shared Drafts can be viewed in their category, or above the
topic list for the destination category where it will end up.
* When the shared draft is ready, it can be published to the
appropriate category by clicking a button on the topic view.
* When published, Drafts change their timestamps to the current
time, and any edits to the original post are removed.
2018-03-20 17:15:26 -04:00
Michael Brown
63a1e9b60a
backup restorer: tidy pg_dump schema portability logic, add test
2018-03-20 10:32:39 +08:00
Neil Lalonde
6ca71e1319
FIX: when creating a topic in a category that only allows tags from a tag group, don't allow creation of new tags
2018-03-19 11:42:10 -04:00
Vinoth Kannan
c5d26992d4
Prefer to use primary email for new user creation over other available emails
2018-03-19 17:10:35 +05:30
Guo Xiang Tan
ec57ca54b5
FEATURE: Admins should be able to view PMs of any group.
2018-03-19 14:12:01 +08:00
Guo Xiang Tan
52b9af10a1
PERF: PG queries for the UserEmail#email
column was not using the index.
2018-03-19 11:31:14 +08:00
Guo Xiang Tan
da8e15f954
FIX: Restorer was not extracting the patch version in dump file.
2018-03-16 11:09:56 +08:00
Michael Brown
90291318eb
restorer: clarify logging
2018-03-15 12:14:08 -04:00
Vinoth Kannan
58bb3967e5
SECURITY: Oneboxer should escape the URL before processing
2018-03-15 19:57:55 +05:30
Guo Xiang Tan
a35227918f
UX: Display group topics in a topic list.
2018-03-15 11:37:55 +08:00
Régis Hanol
20ba54d536
FIX: extracting mail content from exchange emails
2018-03-14 22:02:43 +01:00
Robin Ward
135195363b
FIX: Not logging old post contents properly
2018-03-14 15:01:36 -04:00
Guo Xiang Tan
58b8ea4f41
Upgrade mail gem to remove dependency on mime-types.
...
* Use a EmailValidator.email_regexp for `Email.is_valid?`
check as we're seeing an increase in allocation when
parsing email addresses wih `Mail::Address`.
2018-03-14 14:37:55 +08:00
Neil Lalonde
6b13fbccc2
tag-choosers with everyTag should also be able to get more results
2018-03-13 17:17:16 -04:00
Neil Lalonde
58508e553d
FIX: tag input should not include tags you've already chosen in the search results
2018-03-13 17:17:16 -04:00
Robin Ward
c75fd34328
Allow Discourse installs to name the token cookie
2018-03-13 16:48:40 -04:00
Robin Ward
31a0c4a9be
FEATURE: Add quote-modified
class if a quote has been modified
2018-03-13 13:41:06 -04:00
Arpit Jalan
7d375690c1
Merge pull request #5667 from techAPJ/pm-tags-page
...
FEATURE: replace PM tags dropdown with a dedicated tags page
2018-03-13 13:08:21 +05:30
Arpit Jalan
24338fbbe8
FEATURE: replace PM tags dropdown with a dedicated tags page
2018-03-13 13:06:58 +05:30
Guo Xiang Tan
a9713ca20b
REFACTOR: Always prefer to raise an error if record fails to save.
2018-03-13 12:01:01 +08:00
Guo Xiang Tan
2ad2ed2eb2
FIX: Couldn't move a topic into the uncategorized category.
2018-03-13 10:20:47 +08:00
Robin Ward
65ac80b014
FEATURE: Log Staff edits in Staff Action Logs
...
Why? Some edits by staff are not tracked. For example, during the grace
period, or via the flags/silence dialog.
If a staff member is editing someone else's post, it now goes into the
Staff Action Logs so it can be audited by other staff members.
2018-03-12 13:51:40 -04:00
Gerhard Schlager
d243b82fb3
FIX: Calculation of text length for <details> in excerpt was wrong
2018-03-12 16:55:23 +01:00
Guo Xiang Tan
5782a23a69
Allow uploads:missing
to skip optimized image check.
2018-03-12 20:08:53 +08:00
Gerhard Schlager
ec3a2d2762
Stop retrying tests three times if qunit tests fail
...
Warming up the Rails server should be enough
2018-03-12 12:51:26 +01:00
Arpit Jalan
345b453ee1
optimize query for fetching PM created in previous hour
2018-03-12 16:40:17 +05:30
Sam
758b9a7dda
FEATURE: prototype of local theme directory watcher
...
(note this will be documented a bit late)
2018-03-12 18:36:06 +11:00
Arpit Jalan
3a35f459c7
optimize last pm log fetching
2018-03-11 09:34:08 +05:30
Arpit Jalan
f862122978
FIX: do not log personal message view if there exists a similar log in previous hour
2018-03-11 09:23:32 +05:30
Guo Xiang Tan
5ef75c9c61
Improve grep pattern in restorer.
2018-03-09 15:48:12 +08:00
Guo Xiang Tan
766b41d9f4
Fix version check in restorer.
2018-03-09 15:01:10 +08:00
Sam
800760e353
also watch CSS in unicorn on dev
2018-03-09 17:47:57 +11:00
Guo Xiang Tan
8fd47314d9
FIX: Restore process for dump taken with pg_dump
10.3+.
...
* Since we can no longer restore into a different schema,
we will move tables in the public schema into the backup schema
first before restoring the dump file which goes into the public
schema. The downside to this approach is that we will increase
the downtime experienced during the restore process. Downtime
would equal the duration of restoring the dump file.
2018-03-09 13:24:58 +08:00
Sam
39e679d3cb
FEATURE: allow themes to live in private git repos
...
This feature allows themes sourced from git to live on private
servers, it automatically generates key pairs.
2018-03-09 16:14:38 +11:00
Guo Xiang Tan
a89f3160a5
Add new config to ensure backup/restore connects to PG directly.
...
* In `pg_dump` 10.3+ and 9.5.12+, in
it does a `SELECT pg_catalog.set_config('search_path', '', false)`
which changes the state of the current connection. This is known
to be problematic with Pgbouncer which reuses connections. As such,
we'll always try to connect directly to PG directly during
the backup/restore process.
2018-03-09 10:28:03 +08:00
Sam
5b6e49ae1d
FEATURE: split out max diff to 2 settings
...
We trust staff + tl2 and up to perform edits in grace period.
Allow them significantly more edit room in grace period prior to storing
a revision.
editing_grace_period_max_diff_high_trust applies to users with tl2 and up.
So
tl0 / 1 : we store an extra revision if more than 100 chars change
tl2 and up : we store an extra revision if more than 400 chars change
We may tweak these numbers as we go.
2018-03-09 11:58:50 +11:00
Arpit Jalan
0c2be8b775
Merge pull request #5655 from techAPJ/pm-tags-dropdown
...
FEATURE: filter personal messages by tags
2018-03-08 16:30:38 +05:30
Arpit Jalan
a8149f8969
FIX: user should not be able to invite to PM if trust level requirment not met
...
FIX: when personal messages are disabled let user invite to a public topic
2018-03-08 14:59:04 +05:30
Arpit Jalan
c29660c8f1
FEATURE: filter personal messages by tags
2018-03-08 14:42:07 +05:30
Guo Xiang Tan
152f64a18b
Trigger is dropped along with the table.
2018-03-08 15:28:00 +08:00
Guo Xiang Tan
9dc72537e5
FIX: TableMigrationHelper
didn't clean up after itself.
2018-03-08 15:10:05 +08:00
Neil Lalonde
a8f825d6a9
Version bump to v2.0.0.beta4
2018-03-07 15:18:26 -05:00
Sam
e162cd16b6
FEATURE: editing_grace_period_max_diff to force revisions in grace period
...
If a user performs a substantive edit of 20 chars or more during grace period
we will store a revision to track the change
This allows for better auditing of changes that happen during the grace period
2018-03-07 18:34:34 +11:00
Guo Xiang Tan
76e2b6c825
Add "discourse-assign" to the list of official plugins.
2018-03-06 21:45:37 +08:00
Guo Xiang Tan
7068b90c01
Merge pull request #5651 from tgxworld/live_update_group_messages
...
Live update group messages
2018-03-06 18:55:13 +08:00
Gerhard Schlager
832f0a9c4d
FIX: Typo prevented extraction of email signatures
2018-03-06 11:34:47 +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
Sam
0134e41286
FEATURE: detect when client thinks user is logged on but is not
...
This cleans up an error condition where UI thinks a user is logged on
but the user is not. If this happens user will be prompted to refresh.
2018-03-06 16:49:31 +11:00
Sam
f0d5f83424
FEATURE: limit assets less that non asset paths
...
By default assets can be requested up to 200 times per 10 seconds
from the app, this includes CSS and avatars
2018-03-06 15:20:39 +11:00
Robin Ward
17a615165c
FIX: Don't lock wiki posts when they're edited
2018-03-05 14:50:06 -05:00
Arpit Jalan
003b03d939
allow staff to delete user if posts are 5 or less irrespective of delete_user_max_post_age
2018-03-05 23:31:29 +05:30
Joffrey JAFFEUX
ce1994beea
FIX: do not treat :: as a valid emoji
2018-03-05 15:35:24 +01:00
Guo Xiang Tan
2f65393706
REFACTOR: Use Topic#private_message?
to reduce duplication.
2018-03-05 15:39:22 +08:00
OsamaSayegh
282f53f0cd
FEATURE: Theme settings (2) ( #5611 )
...
Allows theme authors to specify custom theme settings for the theme.
Centralizes the theme/site settings into a single construct
2018-03-04 19:04:23 -05:00
Robin Ward
cd6c5fc5fb
FIX: Disable "Make Personal Message" if they are disabled
2018-03-02 20:28:39 -05:00
Régis Hanol
6a78669ca3
FIX: 'reply by email addresses' site settings should allow email addresses without a 'reply_key' when 'find related post with key' is disabled
2018-03-02 17:53:18 +01:00
Robin Ward
b3883f5c32
FIX: Don't lock a post on edit unless the raw changes
2018-03-01 20:40:19 -05:00
Sam
75172024ca
SECURITY: ensure users have permission when moving categories
2018-03-02 12:13:27 +11:00
Régis Hanol
482c615ef8
FEATURE: extract signatures from most popular email services/software
2018-03-02 01:51:15 +01:00
Will Jordan
a41446a502
single quote password in restore command
...
> Followup to #3283 . Quotes passwords passed to shell for backup restore.
2018-03-01 12:08:35 -08:00
Gerhard Schlager
7a2183e8ab
FEATURE: rake task for merging users
2018-03-01 12:28:12 +01:00
Guo Xiang Tan
fb75f188ba
FEATURE: Disallow login via omniauth when user has 2FA enabled.
2018-03-01 15:47:07 +08:00
Guo Xiang Tan
81ca3677f7
Add guard for nil
in our RateLimiter
.
2018-03-01 13:20:42 +08:00
Guo Xiang Tan
5d9f9c2614
FIX: RateLimiter
max of zero or less should raise rate limit exceeded.
2018-03-01 13:14:46 +08:00
Neil Lalonde
baf1c385eb
UX: when a post is blocked due to a watched word, message includes the word being blocked
2018-02-28 11:22:18 -05:00
Guo Xiang Tan
e7a7356986
Remove ancient votes code that is no longer used.
2018-02-28 14:37:22 +08:00
Guo Xiang Tan
902c5d11cf
FIX: Don't allow other flag actions after notify_moderator
has happened.
...
https://meta.discourse.org/t/receiving-sorry-an-error-has-occurred-during-flagging-step-of-discobot-tutorial/77233/5
2018-02-28 11:27:56 +08:00
Sam
f295a18e94
FIX: stop double counting net calls in logs
2018-02-28 10:45:11 +11:00
Sam
2a7b7add59
oops
2018-02-28 09:35:46 +11:00
Sam
182aaffbd5
Keep second semantics for method
2018-02-28 09:21:38 +11:00
Robin Ward
33340071e7
FIX: Use 60 minutes, not 60 seconds for column dropper
2018-02-27 16:45:20 -05:00
Régis Hanol
3c430a3949
FEATURE: begone gmail signatures!
2018-02-27 15:19:34 +01:00
Régis Hanol
73ee62f55f
FEATURE: automatically elide forwarded emails and signature from outlook
2018-02-27 15:00:50 +01:00
Gerhard Schlager
4a54c09e46
FIX: Retry with GET request when HEAD fails with error 400
2018-02-27 12:07:16 +01:00
Guo Xiang Tan
cb0c443343
Merge pull request #5615 from jjaffeux/puke
...
Adds :puke: as alias to :face_vomiting:
2018-02-27 10:20:54 +08:00
Régis Hanol
fd33090646
FEATURE: automatically elides gmail quotes
2018-02-26 23:54:02 +01:00
Régis Hanol
26d5ae61dd
FIX: handle <pre> inside <blockquote> in html_to_markdown
2018-02-26 23:28:02 +01:00
Neil Lalonde
3313072957
Remove censored_pattern site setting, which is replaced by watched words
2018-02-26 16:29:27 -05:00
Régis Hanol
3be0294465
FIX: local post onebox was always pointing to 1st post
2018-02-26 16:05:35 +01:00
Régis Hanol
7d7f6faf40
FIX: properly render emojis in local oneboxes
2018-02-26 11:16:53 +01:00
Sam
b301c9f6c1
more prep work for jRuby
2018-02-26 10:25:58 +11:00
Arpit Jalan
b9a669ba32
FIX: do not log personal message view if user can't see the message
2018-02-25 22:39:25 +05:30
Joffrey JAFFEUX
aa990604c5
Adds :puke: as alias to :face_vomiting:
2018-02-24 17:11:04 +01:00
Régis Hanol
0559a4736a
FIX: don't double request when downloading a file
2018-02-24 12:35:57 +01:00
Arpit Jalan
a1ea477604
rescue error when cleaning avatars
2018-02-23 18:15:55 +05:30
Robin Ward
69af881f7f
New site setting trusted_users_can_edit_others
...
The default is true to keep with previous discourse behavior. If
disabled, high trust level users cannot edit the topics or posts of
other users.
2018-02-22 20:39:24 -05:00
Guo Xiang Tan
24d0a7a4c7
Take 2 on f74d6bb605
.
...
New options are left out by default when not configured so that an
incorrect default configuration doesn't blow up google oauth for
everyone.
2018-02-23 07:53:01 +08:00
Guo Xiang Tan
dd26bbe868
Merge pull request #5610 from discourse/pm-tags
...
FEATURE: Allow staffs to tag PMs
2018-02-23 07:07:41 +08:00
Joffrey JAFFEUX
1c790ae6bc
Revert "Add prompt and HD settings to the Google OAuth2 plugin."
...
This reverts commit f74d6bb605
.
2018-02-22 19:17:02 +01:00
Régis Hanol
ca1fd774a1
Revert "WIP"
...
This reverts commit 2cf5479678
.
2018-02-22 18:15:42 +01:00
Régis Hanol
2cf5479678
WIP
2018-02-22 17:56:56 +01:00
Vinoth Kannan
7cbda949f1
REFACTOR: New spec tests and code improvement
2018-02-22 20:27:02 +05:30
Felix Wolfsteller
c302c28a7d
Switch ids in References-Header field of mails. ( #5567 )
...
This change allows email-clients to show threaded views of mails as
expected. Apparently most algorithms expect the message ids of mails
in the Reference-header-field to be sorted such that they build a
traversal through the thread, so the oldest (original) message being
first, then its child, grandchild and so on until it arrives at the
message id that the "new" mail (that is to be sent) is the reply to.
MSGA [1]
+- Re: MSGA [1-1]
| +- Re: Re: MSGA [1-2-1]
| +- Re: Re: MSGA [1-2-2]
+- Re: MSGA [1-1]
If the stuff in brackets would be the message ID, the References-Header
field of a message that is a reply to [1-2-1] should look like:
References: 1, 1-1, 1-2-1
Discussion took place in:
https://meta.discourse.org/t/e-mail-threading-in-ml-mode-does-not-work-in-thunderbird
Main information taken from:
https://www.jwz.org/doc/threading.html
2018-02-22 10:48:23 +01:00
Geoffrey Challen
f74d6bb605
Add prompt and HD settings to the Google OAuth2 plugin.
2018-02-22 12:29:19 +08:00
Vinoth Kannan
84867c1c07
Rename site setting to allow_staff_to_tag_pms from allow_staff_to_tag_in_pm
2018-02-22 06:48:34 +05:30
Guo Xiang Tan
1b04d881c5
UX: Display lock icon in admin user lists when user has 2FA enabled.
2018-02-22 09:00:09 +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
Vinoth Kannan
2b509eaa91
Merge branch 'master' into pm-tags
2018-02-21 23:55:59 +05:30
Vinoth Kannan
776ab73a8d
FIX: can_tag method called without guardian variable
2018-02-21 21:22:56 +05:30