Guo Xiang Tan
258e9e35ca
PERF: Make mega topics work without a stream.
...
There are tradeoffs that we took here. For the complete
story see
https://meta.discourse.org/t/performance-improvements-on-long-topics/30187/27?u=tgxworld .
2018-07-12 12:46:12 +08: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
Guo Xiang Tan
4163f9e61e
DEV: Better clean up for PostgreSQL failover test.
2018-07-10 09:53:25 +08:00
Guo Xiang Tan
96aca6d7e6
Remove legacy vote post action code. ( #6009 )
2018-07-09 16:54:18 +08:00
Andrew Schleifer
dba22bbde2
rollback changes
...
This reverts:
* 1baba84c438e "fix s3 subfolders harder"
* ea5e57938edf "fix test for absolute_base_url change"
2018-07-06 17:16:40 -05:00
Andrew Schleifer
f8b90226cb
fix test for absolute_base_url change
2018-07-06 17:08:18 -05:00
Andrew Schleifer
52e9f49ec1
fix s3 subfolders harder
...
specifically, include the folder in absolute_base_url
2018-07-06 16:28:40 -05:00
Neil Lalonde
211981ef23
add specs for min_trust_to_create_tag set to staff and admin
2018-07-05 11:39:32 -04:00
Patrick Gansterer
28dd7fb562
FEATURE: Create hidden posts for received spam emails ( #6010 )
...
* Add possibility to add hidden posts with PostCreator
* FEATURE: Create hidden posts for received spam emails
Spamchecker usually have 3 results: HAM, SPAM and PROBABLY_SPAM
SPAM gets usually directly rejected and needs no further handling.
HAM is good message and usually gets passed unmodified.
PROBABLY_SPAM gets an additional header to allow further processing.
This change addes processing capabilities for such headers and marks
new posts created as hidden when received via email.
2018-07-05 11:07:46 +02:00
Sam
0408e87e00
remove uneeded specs
2018-07-05 15:34:58 +10:00
Sam
b54ba4c952
FIX: mentions broken after adding an <abbr> tag
...
A previous shortcut used was not allowing for <abbr and other tags starting with a
If <abbr> appeared anywhere in the text all mentions would fail to link
2018-07-05 09:27:11 +10:00
Régis Hanol
272646c1df
FIX: only show the sequential replies warning for regular posts
2018-07-04 22:51:19 +02:00
Neil Lalonde
24882ce1a5
make rubocop happy
2018-07-04 09:42:31 -04:00
Neil Lalonde
f134701c7b
FIX: user topic and post counts can become negative when staff deletes posts in personal messages
2018-07-04 09:31:16 -04:00
Sam
e72fd7ae4e
FIX: move crawler blocking into anon cache
...
This refinement of previous fix moves the crawler blocking into
anonymous cache
This ensures we never poison the cache incorrectly when blocking crawlers
2018-07-04 11:14:43 +10:00
Neil Lalonde
e8a6323bea
remove crawler blocking until multisite support
2018-07-03 17:54:45 -04:00
Kasia Bułat
b71cf6d422
FEATURE: Add search not operator for tags.
2018-07-03 15:57:34 +08:00
Jeff Wong
d7f6d37a98
refactor: promotion spec
2018-07-02 16:23:45 -07:00
hellekin
25cfc98b67
Fix 'asscoiated' typo
...
I know that **Naming is CRITICAL** and that **Refactoring only NOT welcome**.
But since I spotted this (consistent) typo and the change does not affect any
functionality -- I checked the presence of "asscoiated" in the code base, I
guess the first rule trumps the second one.
It also gave me a false pretext to bypass my reluctance to use Google forms and
sign de CLA. Typos hurt the eye.
2018-06-29 11:10:05 +10:00
Sam
db14e10943
SECURITY: category badges should HTML escape names
2018-06-28 18:15:07 +10:00
Maja Komel
ec3e6a81a4
FEATURE: Second factor backup
2018-06-28 10:12:32 +02:00
Guo Xiang Tan
cfa7898c2d
Rename TopicView#last_read_post_id
to TopicView#filtered_post_id
.
2018-06-27 12:33:57 +08:00
Guo Xiang Tan
cb69888758
PERF: Don't pluck all the columns just to retrieve a single value.
2018-06-27 11:41:35 +08:00
Arpit Jalan
6bcdc3ba4b
FEATURE: allow author to delete posts irrespective of post_edit_time_limit
2018-06-26 21:43:06 +05:30
Guo Xiang Tan
49ffc1eb61
Revert "PERF: Send down gaps as the relevant posts load instead of front loading."
...
This reverts commit 4c3352528e
.
2018-06-26 12:54:14 +08:00
Guo Xiang Tan
4c3352528e
PERF: Send down gaps as the relevant posts load instead of front loading.
2018-06-26 12:49:06 +08:00
Guo Xiang Tan
0b6a2e9d1f
Remove force summary mode for megatopics for now.
...
The logic is too hairy and we can't reliably determine
when to force summary mode. Work is underway to improve
perf for megatopics so this will not be required
eventually.
2018-06-26 12:49:06 +08:00
Jeff Wong
41f76a74f8
FEATURE: send message when a user reaches tl1
2018-06-22 13:20:00 -07:00
Guo Xiang Tan
f69356e628
FIX: Users can't "show all posts" in forced summary topics.
2018-06-22 11:32:45 +08:00
Guo Xiang Tan
9a7a079f4d
Force summary mode when user enters at the top of megalodoon topics.
2018-06-21 15:18:52 +08:00
Guo Xiang Tan
f7d22bad90
FEATURE: Forced summary mode for megalodon topics.
...
This is mainly done for performance reasons and megalodon
topics are usually a byproduct of imports where site setting
limits are not respected.
2018-06-21 14:00:20 +08:00
Sam
f66efc601d
FIX: cubot android devices were detected as crawlers
2018-06-21 10:56:46 +10:00
Guo Xiang Tan
ff5fc3cb08
Use a fixed limit for mega topic posts count.
2018-06-20 16:58:52 +08:00
Guo Xiang Tan
9c925a66ff
PERF: Don't display days ago on timeline for megatopics.
...
Analysis using `pg_stat_statements` showed this query
to be eating up a significant portion of CPU.
2018-06-20 16:25:54 +08:00
Sam
44091f20c6
DEV: allow for method deprecation using Discourse.deprecate
...
New method deprecator will ensure one log message an hour happens
for all deprecated method calls per call site
Also removes unused monkey patches to ActiveRecord::Base
2018-06-20 17:53:49 +10:00
Sam
cb824a6b33
DEV: remove all calls to SqlBuilder use DB.build instead
...
This is part of the migration to mini_sql, SqlBuilder.new is being
deprecated and replaced with DB.build
2018-06-20 17:53:49 +10:00
Guo Xiang Tan
806f0ca19d
FIX: URL with params for svg images should not be light boxed.
2018-06-20 10:47:14 +08:00
Sam
94124ee2a6
skip erratic spec
2018-06-20 10:08:06 +10:00
Sam
4d984a5a63
extra diagnostics for thread issues
2018-06-20 09:19:16 +10:00
Arpit Jalan
aedc61a3b4
FEATURE: allow large icon to be uploaded in wizard
2018-06-19 21:08:02 +05:30
Michael Brown
ae5d255f83
FIX: Reference example.com instead of somesite.com in examples
...
* somesite.com actually exists...
* example.com should be used in examples and is harmless to visit
2018-06-19 10:37:24 -04:00
Joffrey JAFFEUX
24c27b5321
FEATURE: adds a add_report method accessible in plugin.rb
2018-06-19 15:00:11 +02: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
630b4570ef
Add specs for RateLimiter::LimitExceeded#description
.
2018-06-19 07:48:03 +08:00
Guo Xiang Tan
c18b86d9b2
UX: Don't add light box for SVG images.
2018-06-18 17:11:06 +08:00
Arpit Jalan
c7ee70941e
FEATURE: show category page options on wizard 'homepage' step
2018-06-15 19:11:41 +05:30
OsamaSayegh
2427c0a17c
FIX: theme CSS should recompile when theme uploads change
2018-06-15 13:12:09 +10:00
Sam
87fabdc2f3
FIX: correct pool reaper
...
This removes a freedom patch and replaces with a custom reaper thread
it also captures an issue where reaper would fail when connections where
empty
2018-06-14 18:22:02 +10:00
Sam
71aa20bd30
FIX: pool drainer to use Rails 5.2 implementation
...
old implementation did not reap abandoned connections
2018-06-14 15:54:48 +10:00
Robin Ward
fd54c92a52
FEATURE: New site setting, whitelisted_link_domains
...
If provided, users who normally couldn't post links (say, due to a
low trust level), can post links to those specific hosts.
2018-06-13 16:11:22 -04:00
Guo Xiang Tan
7c173265d5
FIX: Don't clear connections on the same process.
2018-06-12 13:06:25 +08:00
Guo Xiang Tan
646ed87aba
Clear all connections once master recovers.
2018-06-12 12:13:59 +08:00
Guo Xiang Tan
fd75e54793
Disconnect the pool during failover and fallback.
2018-06-12 11:09:19 +08:00
Jeff Wong
4599cc8435
FIX: PM participants listed inline
2018-06-11 18:14:25 -07:00
Guo Xiang Tan
bfa0f71e2b
FIX: Discouse.keep_readonly_mode
incorrect extends expiry.
2018-06-12 00:21:29 +08:00
Guo Xiang Tan
204db00563
Skip postgres failover tests until we figure out why.
2018-06-11 15:51:16 +08:00
Guo Xiang Tan
f9761c41a9
DEV: Stablize postgresql fallback adapter spec.
2018-06-11 13:58:04 +08:00
Guo Xiang Tan
91557063d8
Fix the build.
2018-06-11 13:39:52 +08:00
Guo Xiang Tan
5656e8f366
FIX: Can't boot Discourse with a read-only PG connection.
2018-06-11 12:29:23 +08:00
Neil Lalonde
b8cf0788c6
FIX: broken mailto href's in emails
2018-06-08 13:11:58 -04:00
Guo Xiang Tan
8e0c1c8782
Re-enable skipped specs.
2018-06-08 10:04:06 +08:00
Arpit Jalan
f9ab3848ed
FEATURE: support disabling emails for non-staff users
2018-06-07 18:31:08 +05:30
Sam
945cb90e7e
update specs
2018-06-07 20:55:42 +10:00
Sam
f331d2603d
DEV: improve design of site setting default provider
...
This refactors it so "Defaults provider" is only responsible for "defaults"
Locale handling and management of locale settings is moved back into
SiteSettingExtension
This eliminates complex state management using DistributedCache and makes
it way easier to test SiteSettingExtension
2018-06-07 14:33:41 +10: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
46fc57222f
FEATURE: improve handling of site setting secrets
2018-06-04 21:31:34 +05:30
Blake Erickson
7750b30016
FIX: Allow a user to remove their title
...
Somewhere there was a regression and a user couldn't remove their own
title. If they selected '(none)' in the UI it would say it was saved,
but it would not actually be updated in the db.
2018-05-31 17:16:52 -06: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
Sam
5086fdc76d
FIX: add protection for scss removal during upgrade
...
In some cases plugins would remove scss files or change them, but CSS
was still calculated based off stale data in old instance cache
2018-05-31 17:02:48 +10:00
Guo Xiang Tan
be28154d3b
DEV: Queue jobs in tests by default.
2018-05-31 14:45:47 +08:00
Guo Xiang Tan
f623740ffc
DEV: Stablize DiscourseRedis tests.
2018-05-30 14:45:19 +08:00
Guo Xiang Tan
543b7cddfb
FIX: Extra comma resulted in Github auth email result being an array.
...
https://meta.discourse.org/t/github-2fa-flow-broken/88674
2018-05-30 12:15:12 +08:00
Guo Xiang Tan
81b5d61fa7
FIX: topic_destroyed
web hook couldn't find topic.
2018-05-28 17:38:02 +08:00
Sam
e501936405
FIX: search server side error in rare condition
2018-05-28 15:28:18 +10:00
Sam
9c91c2509e
improve spec stability
2018-05-25 15:16:40 +10:00
Sam
610bfec73e
DEV: correct fragile spec
2018-05-25 14:29:11 +10:00
Sam
80adc1ee80
DEV: stabilize site setting spec
...
side effects could cause specs to fail in rare conditions
2018-05-25 12:16:00 +10:00
Sam
d366f8d888
remove hack that destabliazed tese suite
2018-05-24 10:48:16 +10:00
Andrew Schleifer
4be0e31459
fix s3_cdn_url when the s3 bucket contains a folder
2018-05-23 15:51:02 -05:00
Ryan Mulligan
fac4bf2f85
ignore emails that are from the reply by email addresses ( #5843 )
2018-05-23 10:04:45 +02: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
Sam
1ac1ee4287
FEATURE: allow registration of an array custom field
2018-05-22 16:48:39 +10:00
Sam
bcfd9cf8b5
attempt to stabilize spec
2018-05-22 16:15:24 +10:00
Guo Xiang Tan
f21a47eadd
Improve specs to assert for the right record instead of just a count.
2018-05-17 08:47:24 +08:00
Régis Hanol
a9ebde5111
FEATURE: new 'staged' users list for admins
2018-05-17 01:52:49 +02:00
Arpit Jalan
abcb6af8f9
FIX: scrub secret setting values from logs
2018-05-15 09:19:26 +05:30
Régis Hanol
2cf6fb7359
FIX: always unstage users when they log in
2018-05-13 17:00:02 +02:00
Régis Hanol
86eb3528ec
FEATURE: clearer error message when receiving a reply to an old notification
2018-05-09 18:51:01 +02:00
Régis Hanol
6b1ff0edd3
FIX: always update bounce score (instead of doing it once per day)
2018-05-09 16:40:52 +02:00
Robin Ward
8262fc5d15
Merge pull request #5807 from discourse/min-flags-by-topic
...
FEATURE: New site setting `min_flags_staff_visibility`
2018-05-08 09:17:29 -04:00
Sam
858a266031
FIX: exact matching should also match on title
2018-05-08 15:59:03 +10:00
Guo Xiang Tan
8cf0f51eb2
UX: Display site settings shortcut for poll
and discourse-nginx-performance-report
.
...
https://meta.discourse.org/t/improving-admin-plugins/84585/29?u=tgxworld
2018-05-08 10:34:32 +08:00
Robin Ward
ac60a84329
FEATURE: New site setting min_flags_staff_visibility
...
When set higher than 1, flags won't show up for staff in the admin
section unless the minimum threshold of flags on a post is reached.
2018-05-07 16:05:13 -04:00
Régis Hanol
a98aae3bcd
FIX: topic search wasn't working for unlisted topics
2018-05-07 11:43:55 +02:00
Sam
3a06cb461e
FEATURE: remove support for legacy auth tokens
2018-05-04 10:12:10 +10:00
Jeff Wong
62a8904729
Feature: Include participants at the bottom of PM emails ( #5797 )
...
* Feature: Include participants at the bottom of PM emails
... as undecorated links.
https://meta.discourse.org/t/email-notification-recipients-unclear-when-pm-is-sent-to-multiple-users/26934/13?u=featheredtoast
Fix: missing translation for PM mentions
* display membership count as `group (count)`
2018-05-03 15:50:06 -07:00
Joffrey JAFFEUX
980972182f
dashboard next: caching, mobile support and new charts
2018-05-03 15:41:41 +02:00
Sam
a0cd54750c
FIX: inline [code] not handled properly
...
The text
a
[code]test[/code]
Would eat up the `test` text cause translation from inline to block
for replace rule was not properly handled
2018-04-26 15:18:22 +10:00
Régis Hanol
ddb092f397
FIX: update mail gem to fix UTF-8 parsing issue
2018-04-25 21:53:37 +02:00
Robin Ward
a5172a37e0
Allow staff members to enable safe mode, even if disabled
2018-04-25 11:49:57 -04:00
Sam
035312d501
FIX: specify path for dosp cookie
2018-04-24 11:07:58 -04:00
Guo Xiang Tan
c148500d51
FIX: Deadlock when topic with auto close topic timers exceeds auto_close_topics_post_count
.
2018-04-23 13:34:24 +08:00
Sam
ded84a4b58
PERF: improve performance once logged in rate limiter hits
...
If "logged in" is being forced anonymous on certain routes, trigger
the protection for any requests that spend 50ms queueing
This means that ...
1. You need to trip it by having 3 requests take longer than 1 second in 10 second interval
2. Once tripped, if your route is still spending 50m queueuing it will continue to be protected
This means that site will continue to function with almost no delays while it is scaling up to handle the new load
2018-04-23 11:55:25 +10:00
Neil Lalonde
70f2c5d3fd
FEATURE: move staff tags setting to tag group settings
2018-04-20 15:34:23 -04:00
Guo Xiang Tan
98d880b67a
Missed a spot in 45fe5dc793
2018-04-20 13:59:19 +08:00
Arpit Jalan
9a912b9b35
fix the build
2018-04-20 00:39:12 +05:30
Arpit Jalan
91bf10bd12
FIX: create upload record for exported csv files
2018-04-20 00:27:49 +05:30
Neil Lalonde
5b93d69939
FIX: error when non-staff user edits their topic after a hidden tag is added to it
2018-04-18 12:51:25 -04:00
Arpit Jalan
c61ce66411
fix the build
2018-04-18 13:38:45 +05:30
Sam
59cd7894d9
FEATURE: if site is under extreme load show anon view
...
If a particular path is being hit extremely hard by logged on users,
revert to anonymous cached view.
This will only come into effect if 3 requests queue for longer than 2 seconds
on a *single* path.
This can happen if a URL is shared with the entire forum base and everyone
is logged on
2018-04-18 16:58:57 +10:00
Arpit Jalan
3566c6f02b
FIX: strip emoji string from slug
2018-04-18 11:32:32 +05:30
Neil Lalonde
b87fa6d749
FIX: blacklisted crawlers could get through by omitting the accept header
2018-04-17 12:39:30 -04:00
Régis Hanol
2585ada5ca
FIX: don't allow spaces in 'reply_by_email_address' site setting
2018-04-17 17:08:12 +02:00
Sam
9980f18d86
FEATURE: track request queueing as early as possible
2018-04-17 18:06:17 +10:00
Guo Xiang Tan
828bfd9d27
Add specs for c74c933996
.
2018-04-17 10:08:39 +08:00
Arpit Jalan
0183656631
FIX: verify filtered tags when checking for category minimum required tags
2018-04-14 23:20:43 +05:30
Régis Hanol
a0a06492d8
FIX: make get_hostname more lenient to user input
2018-04-12 17:09:09 +02:00
Régis Hanol
3c8b43bb01
FIX: non-oneboxed links on separate lines should stay on separate lines
2018-04-11 21:33:45 +02:00
Arpit Jalan
48d43b33cc
add client side validation for category minimum_required_tags
2018-04-11 07:17:52 +05:30
Arpit Jalan
9ca6ebe8fe
FEATURE: enforce tagging on categories
2018-04-11 07:15:24 +05:30
Joffrey JAFFEUX
45f657336e
FEATURE: adds support for loading existing core asset in pretty text
2018-04-10 08:37:16 +02:00
Neil Lalonde
f6cfff3cea
UX: user preferences allows users to choose which title to use from their badges and groups
2018-04-06 14:34:36 -04:00
jose-hms
b87205831b
FEATURE: Staged user moderation ( #5721 )
2018-04-06 11:41:25 +02:00
Gerhard Schlager
f2d00e5eff
FEATURE: Use Message-ID for detecting email replies to group
...
Ignores the site setting "find_related_post_with_key" and always tries to honor the `In-Reply-To` and `References` header for emails sent to a group.
The senders email address must be included in the `To` or `CC` header of a previous email sent to the group and the `Message-ID` of that email must be included in the current email's `In-Reply-To` or `References` header.
2018-04-05 11:00:38 +02:00
Arpit Jalan
10759677db
FIX: when uploading image newuser restrictions should not apply to staff
2018-04-05 09:51:03 +05:30
Robin Ward
d690ae0281
FIX: Broken specs too. Quotes are fragile!
2018-04-02 14:23:10 -04: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
Neil Lalonde
7311023a52
Merge pull request #5700 from discourse/crawl-block
...
FEATURE: control web crawlers access with white/blacklist
2018-03-27 15:06:03 -04:00
Neil Lalonde
4d12ff2e8a
when writing cache, remove elements from the user agents list. also return a message and content type when blocking a crawler.
2018-03-27 13:44:14 -04:00
Gerhard Schlager
fcd352e089
FIX: Try fixing unparsable email addresses
...
The mail gem returns `UnstructuredField` when it fails to parse email addresses, but the `Receiver` always expects an `AddressList`.
2018-03-27 18:28:54 +02:00
Sam
31dea5d5fc
correct flaky spec
2018-03-27 17:57:19 +11:00
Gerhard Schlager
b945a2dc39
Call on_drop
only when tables/columns are dropped
2018-03-27 13:18:13 +11:00
Gerhard Schlager
4ad401bac5
Ignore delay when first migration was < 10min ago
2018-03-27 13:18:13 +11:00
Gerhard Schlager
cd17f60952
Improve specs for accidental table/column drops and renames
2018-03-27 13:18:13 +11:00
Gerhard Schlager
19c5afc69d
Protect against accidental table renames
2018-03-27 13:18:13 +11:00
Neil Lalonde
f2c060bdf2
FEATURE: option for tags in a tag group to be visible only to staff
2018-03-26 17:05:09 -04:00
Robin Ward
f03b6bd8c9
FIX: Update last_version_at
when publishing
2018-03-26 16:06:20 -04:00
Robin Ward
d4296f33ff
FIX: Publishing should update the public_version too
2018-03-26 15:46:25 -04:00
Robin Ward
2b161a2391
FIX: Don't include shared drafts in global latest
2018-03-26 10:43:55 -04:00
Arpit Jalan
b75b6de982
FIX: respect nofollow settings for onebox links
2018-03-26 18:21:16 +05:30
Neil Lalonde
a84bb81ab5
only applies to get html requests
2018-03-22 17:57:44 -04:00
Neil Lalonde
ced7e9a691
FEATURE: control which web crawlers can access using a whitelist or blacklist
2018-03-22 15:41:02 -04:00
Gerhard Schlager
eebe1d8c56
Allow delayed dropping and renaming of tables
2018-03-21 12:05:12 +01:00
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
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
7fad30dacc
Refactor test case.
2018-03-19 13:39:29 +08:00