Commit Graph

3027 Commits

Author SHA1 Message Date
Robin Ward 060ce9bf2a FEATURE: Overwrite server side I18n keys with API 2015-11-13 16:35:02 -05:00
Robin Ward 3720783c1b Refactor to our own Discourse I18n backend
This removes some monkey patches and makes testing easier.
It will also support database backed I18n changes.
2015-11-13 16:35:02 -05:00
Gerhard Schlager 5f9b7c67cd Add tests to ensure correct pluralization 2015-11-13 21:18:41 +01:00
Régis Hanol 43614439e6 FEATURE: can take over a staged account 2015-11-13 19:07:28 +01:00
Robin Ward 3939331dec FIX: Staff was getting 500 when editing post in deleted topic 2015-11-13 11:35:23 -05:00
Régis Hanol 16f509afb9 FIX: enforce 'allow_uploaded_avatars' & 'sso_overrides_avatar' server-side 2015-11-12 10:26:45 +01:00
Régis Hanol 7d3be0f8f1 forgot password on a staged account does nothing 2015-11-09 17:37:33 +01:00
Sam Saffron 448a1413d3 left over specs 2015-11-10 00:56:57 +11:00
Sam Saffron 6dd4bc7d57 FEATURE: support group owner, capable of controlling group membership
Group owners are regular users that can add or remove users to a group
The Admin UX allows admins to appoint group owners
The public group UX will display group owners first and unlock UI to
add and remove members

Group owners can only be appointed on non automatic groups
Group owners may not appoint another group owner
2015-11-10 00:56:57 +11:00
Sam Saffron ffa523a543 FIX: when moving posts, retain creator and date from OP 2015-11-07 15:17:47 +11:00
Robin Ward e2a663bff1 Merge pull request #3812 from gwwar/emoji-embed
FIX: allow emoji class when crawling embedded content
2015-11-06 14:52:59 -05:00
Robin Ward b699d43b1b Okay disable uploads for now, looks like a PhantomJS bug 2015-11-06 14:21:52 -05:00
Robin Ward 7baed4eb51 Updated smoke test to try in build server 2015-11-06 14:09:16 -05:00
Régis Hanol acecfeb37f Add 'staged' boolean to User 2015-11-06 19:19:13 +01:00
Robin Ward 47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05:00
Matt Palmer c09f345cff Proxy letter avatars by default
On sites that don't otherwise configure an avatar fallback, Discourse will
now tell the client to get its letter avatars from a location which nginx
proxies to the centralised `avatars.discourse.org` service.  This alleviates
privacy concerns, whilst still providing some degree of performance benefit
(no need for every site to delay avatar response by 300ms for image
rendering).

It is still possible to gain the benefits of global image caching and the
lower latency of requesting directly from a CDN, by explicitly changing the
`external_system_avatars_url` site setting to
`https://avatars.discourse.org/letter/{first_letter}/{color}/{size}.png`.
2015-11-06 14:13:44 +11:00
kerryliu b7803fc68e FIX: allow emoji class when crawling embedded content, add rspc-html-matchers 2015-11-05 18:51:26 -08:00
Robin Ward d00762dcd5 Merge pull request #3787 from gschlager/locale-keys
FIX: Some strings in locale files were not translatable
2015-11-02 13:40:22 -05:00
Régis Hanol ff0c12efa2 Merge pull request #3878 from gdpelican/optimize-all-allowed-users
Optimize all_allowed_users query
2015-11-02 17:06:36 +01:00
Arpit Jalan 700c005c26 PERF: optimize export user list CSV queries 2015-11-02 13:15:58 +05:30
Sam 48ef609003 correct implementation add tests 2015-11-02 15:05:08 +11:00
Leo McArdle fe5264f9e9 filter by username in email digest preview
adds a user prompt on the email digest preview page to generate a preview for a particular user
also fixes some broken styling on the page
2015-10-30 18:11:38 +00:00
Seth Reeser 85da9c6ff8 Digital Ocean should be DigitalOcean https://www.digitalocean.com/legal/terms/ 2015-10-30 13:31:48 -04:00
Arpit Jalan 9f8d6b6088 FIX: allow exisiting users to be invited to topic/message when enable_local_logins is disabled 2015-10-30 11:28:05 +05:30
James Kiesel 2fc52e26a6 Optimize all_allowed_users query 2015-10-29 19:39:30 +02:00
Régis Hanol 93cb2813cf Merge pull request #3863 from tgxworld/fix_last_posted_at_not_updated
FIX: Topic#last_posted_at was not being set when changing topic times…
2015-10-29 10:00:57 +01:00
Régis Hanol bb79e6aff7 FEATURE: new hide_user_profiles_from_public site setting 2015-10-28 19:56:08 +01:00
Robin Ward 23371b026d FIX: Don't raise an error if you try to assign a group that exists 2015-10-28 12:21:54 -04:00
Robin Ward 6b236d3c83 FEATURE: Bulk Unlisting of topics 2015-10-27 16:57:40 -04:00
Robin Ward 47e25648df FEATURE: Change user groups in bulk via admin 2015-10-26 15:57:30 -04:00
Arpit Jalan c28843e87b FIX: redirect to return_url when working as SSO provider 2015-10-25 11:30:38 +05:30
Arpit Jalan 897563a309 FIX: List-ID should not contain space 2015-10-21 00:00:06 +05:30
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
Arpit Jalan 59a011e6a9 FIX: min_trust_to_create_topic affects private messages 2015-10-17 15:30:18 +05:30
Robin Ward f155ff8270 FIX: Tests would fail if your test db's optimized image ids were high 2015-10-16 17:08:41 -04:00
Arpit Jalan a439500bac FIX: do not mark post as spam if the previous flag was disagreed 2015-10-17 01:30:53 +05:30
Régis Hanol 06b799bfbf Merge pull request #3857 from gdpelican/fix-for-untopiced-posts
Don't error on posts#latest if a post does not have a topic
2015-10-16 14:59:36 +02:00
James Kiesel 695b366a03 Don't error on posts#latest if a post does not have a topic 2015-10-16 14:44:48 +03:00
Régis Hanol de344bcd7e Merge pull request #3854 from tgxworld/fix_transactional_race_condition
FIX: Race condition when wrapping `PostCreator#create` in a transaction.
2015-10-15 11:07:20 +02:00
Guo Xiang Tan 600e42c2ba FIX: Race condition when wrapping `PostCreator#create` in a transaction. 2015-10-15 14:42:40 +08:00
Robin Ward a527c58c7d UX: Show a nicer "Log In" screen if the user follows `/my/preferences` 2015-10-14 13:39:31 -04:00
Arpit Jalan b60bceba36 fix the build 2015-10-14 19:20:30 +05:30
Neil Lalonde 3ef16a7711 FIX: permalinks redirect on subfolder installs could add the subfolder to the url twice 2015-10-12 16:54:53 -04:00
Sam e29fe77b45 FEATURE: make trust level for message sending configurable
- add min_trust_to_send_messages site setting (default 1) to allow admins
 to configure when messages can be sent between members
2015-10-12 11:15:48 +11:00
Sam 6f43b575a8 FEATURE: no need to cap new and unread together anymore
- leave unread alone
- cap new at 500 per site, with a site setting
2015-10-01 17:17:15 +10:00
Robin Ward 33e58c0587 FIX: You can click to see your own PMs from flags
Also refactors post action users to be a new object type since they can
have `post_url` which is not a field of a `User`
2015-09-30 12:28:55 -04:00
Régis Hanol 54d6d24cbf FIX: timing issue with edits and cook post processing 2015-09-29 18:51:26 +02:00
Sam 6c37b26b24 Correct site spec 2015-09-28 16:50:24 +10:00
Robin Ward 43c7320f55 FIX: Allow really long links to work 2015-09-25 14:07:20 -04:00
Robin Ward c4b1b848bc More extension points for login buttons, used by OAuth2 plugin 2015-09-25 11:29:40 -04:00
Robin Ward 64598ceaba FIX: Replies to whispers *must* be whispers 2015-09-25 11:29:40 -04:00
Sam fc2d61136d FEATURE: add context for cross topic links 2015-09-25 14:52:43 +10:00
Sam 150ad01111 improve UX remove username said if we have a title 2015-09-25 14:18:38 +10:00
Sam e5234b38b8 FEATURE: add title expansion for off topic quotes 2015-09-25 13:35:14 +10:00
Sam 2422289c8b FIX: whispers should not be revealed in reply to, or reply expansion
FEATURE: mark whisper as experimental
FIX: badges should never apply to whispers
2015-09-25 10:16:19 +10:00
Sam ffb8cb8cac FEATURE: remove dependency of Redcarpet
PERF: cache fancy_title in topics table

New pure ruby implementation is far more flexible and easier to amend.
2015-09-24 13:37:53 +10:00
Gerhard Schlager 454a628d58 Add tests for I18n.exists? freedom patch 2015-09-23 20:41:51 +02:00
Neil Lalonde 5ca26a7707 FEATURE: add site setting use_admin_ip_whitelist to enable/disable the whitelisting of admins by IP address 2015-09-23 12:15:08 -04:00
Régis Hanol 36309e50cc Merge pull request #3767 from tgxworld/track_user_profile_views
Track user profile views
2015-09-23 11:38:18 +02:00
Régis Hanol ed717ccb6e Merge pull request #3794 from tgxworld/add_web_manifes
FEATURE: Add web manifest for Chrome users.
2015-09-23 11:35:14 +02:00
Régis Hanol 1aad58b642 Merge pull request #3781 from tgxworld/feature_log_category_settings
Feature log category settings
2015-09-23 11:34:08 +02:00
Sam 3853e3cfdc PERF: omit 2 queries on every full page load 2015-09-23 16:47:17 +10:00
Sam 613761d1cd FEATURE: upgrade to Rails 4.2.4 2015-09-23 15:24:30 +10:00
Robin Ward 79beb9f409 FIX: You could set `reply_to_post_number` when replying as a new topic 2015-09-22 13:32:19 -04:00
Sam a0524ea4d1 FIX: render canonical URLs 2015-09-22 09:37:52 +10:00
Régis Hanol 4f7140fb32 FIX: properly filter whispers in user stream 2015-09-22 00:50:52 +02:00
Neil Lalonde 2ae032c9b0 FIX: categories page would sometimes show no topics, even if there are some visible topics to show 2015-09-21 18:13:14 -04:00
Régis Hanol fe656fb04d FIX: select appropriate period when redirecting to top 2015-09-21 20:28:20 +02:00
Guo Xiang Tan 71eab8f4df FEATURE: Add web manifest for Chrome users. 2015-09-21 10:34:03 +08:00
Gerhard Schlager 49dc470a28 Add spec to check locale files for duplicate keys 2015-09-19 00:14:26 +02:00
Robin Ward c1a9e32b48 FIX: When recovering a post, it should recreate user actions 2015-09-18 12:48:43 -04:00
Robin Ward cc516d3be0 Merge pull request #3743 from sitepoint/topic-embed-info
Add embed/info endpoint for TopicEmbed queries
2015-09-18 11:00:01 -04:00
Kane York c9e4745fe8 FIX: Return 410 Gone for deleted topics you could otherwise see 2015-09-18 00:14:43 -07:00
Guo Xiang Tan f39b9124b6 FEATURE: Log staff actions for Category changes. 2015-09-18 10:53:08 +08:00
Régis Hanol 07e7b07b63 FIX: refreshing gravatar wasn't working 2015-09-17 19:42:44 +02:00
Régis Hanol e211bf7d0b change smoke test timeout to 15 seconds 2015-09-16 12:18:48 +02:00
Guo Xiang Tan 7acc93b2a0 FEATURE: Track user profile views. 2015-09-16 14:48:31 +08:00
Jude Aakjaer 9cca510944 Add embed/info endpoint for TopicEmbed queries 2015-09-16 03:22:24 +00:00
Sam a7b34cd16b rename to badge, better more consistent name 2015-09-16 08:51:28 +10:00
Régis Hanol 7e1a24e205 FEATURE: ensure localStorage is disabled in smoke tests 2015-09-15 18:26:09 +02:00
Sam 6496895096 FEATURE: search for all posts by a group 2015-09-15 17:39:14 +10:00
Sam 17d999ab12 FEATURE: search for all posts of users that have a badge
with_badge:"badge name" will allow you to search only
posts of users with a particular badge
2015-09-15 17:22:08 +10:00
Sam 83efde79f0 specs to account for new default letter avatar location 2015-09-15 13:25:15 +10:00
Régis Hanol b9a9a91335 FIX: couldn't set 'never' for the default email digest frequency setting 2015-09-14 10:36:25 +02:00
Kane York b6febb0638 fix the build (460243d7) 2015-09-11 11:37:36 -07:00
Robin Ward 5af0f5f80e FEATURE: Whisper posts 2015-09-11 14:05:21 -04:00
Kane York 460243d7a3 FIX: Give 403 for deleted topics, +lots of tests 2015-09-11 08:29:44 -07:00
Régis Hanol 18d7c1c75d fix the build - take 2 2015-09-11 15:47:48 +02:00
Arpit Jalan d73d4d4769 FIX: UserNameSuggester should not suggest usernames with a sequence of 2 or more special chars 2015-09-11 16:53:26 +05:30
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
Régis Hanol 3ee5cea9e2 fix the build 2015-09-09 15:34:53 +02:00
Régis Hanol 31e8309f05 FIX: ensure we never have a string when an enum is Fixnum - Take 2 2015-09-09 14:34:44 +02:00
Régis Hanol 9a999bfe84 FIX: ensure we never have a string when an enum is Fixnum 2015-09-09 12:59:49 +02:00
Robin Ward b6343b1e10 Merge pull request #3697 from riking/patch-6
FEATURE: Allow plugins to add admin dashboard warnings
2015-09-08 16:49:58 -04:00
Régis Hanol e3a80936c8 prefer empty href attribute to # 2015-09-08 18:27:20 +02:00
Sam 335be272ff FEATURE: implement capping of new/unread
We cap new and unread at 2/5th of SiteSetting.max_tracked_new_unread

This dynamic capping is applied under 2 conditions:

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

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

This logic ensures that at worst case a user gets "bad" numbers for 15 minutes and then the system goes ahead and fixes itself up
2015-09-07 12:03:17 +10:00
Kane York 342eba4374 FEATURE: Category reordering dialog 2015-09-06 16:53:52 -07:00
Guo Xiang Tan cbb86f9bf6 FEATURE: Add a trigger for plugins to include their own jobs. 2015-09-04 22:59:39 +08:00
Régis Hanol 5984b62347 FIX: ensure we remove 'category_users' records when a user is deleted 2015-09-02 20:43:15 +02:00
Régis Hanol a501947d67 FEATURE: suppress categories from the homepage 2015-09-02 20:25:18 +02: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
Neil Lalonde 1bd0f5b015 FEATURE: group can grant a trust level when a user is added 2015-09-01 16:52:12 -04:00
Kane York 65790452d8 Clean up the test checks when done 2015-09-01 13:32:35 -07:00
Neil Lalonde 43c62d413c FIX: similar topics api shouldn't return error if params are below minimum lengths 2015-08-31 10:54:45 -04:00
Arpit Jalan 4e5228dc9e FIX: don't send notification emails to deactivated user 2015-08-31 12:35:12 +05:30
kerryliu c85835afc3 FIX: rescale image during cooked_post_processor when only img height or width is specified 2015-08-29 15:23:25 -07:00
Arpit Jalan 4ad07b8c09 FEATURE: generate invite token 2015-08-28 18:29:31 +05:30
Régis Hanol 1a82a59f47 fix the build 2015-08-27 22:46:30 +02:00
Robin Ward f9717da28f Merge pull request #3695 from riking/patch-10
FIX: Consider reserved usernames as not 'available'
2015-08-26 10:51:50 -04:00
Sam 1c6250bff8 FIX: if an enum is Fixnum do not allow strings to live in it 2015-08-26 16:39:09 +10:00
Kane York 1586886bf9 FIX: Consider reserved usernames as not 'available'
https://meta.discourse.org/t/reserved-usernames-ignored-by-invites/32490
2015-08-25 17:24:07 -07:00
Kane York 3cbfc45bf6 FEATURE: Allow plugins to add admin dashboard warnings 2015-08-25 17:20:14 -07: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
Régis Hanol 73624e63c5 FIX: revoke any api keys when suspending an user 2015-08-23 22:33:37 +02:00
Régis Hanol d45ff65ee2 Merge pull request #3687 from tgxworld/fix_tests
Fix timestamp comparison in tests.
2015-08-22 10:32:26 +02:00
Guo Xiang Tan 89f4ebfb36 Fix timestamp comparison in tests.
Follow up to 58190c92e9.
2015-08-22 10:12:02 +08:00
Neil Lalonde 58190c92e9 fix timestamp comparison in spec that can fail 2015-08-21 17:21:20 -04:00
Régis Hanol 6d4c07385f FIX: smoke test :fired: 2015-08-21 21:06:47 +02:00
Régis Hanol bef80633b1 FEATURE: global admin override of most of the user preferences 2015-08-21 20:39:21 +02:00
Sam 2b9ca0de8b Merge pull request #3678 from tgxworld/allow_admin_to_change_timestamp
FEATURE: Allow admin to change timestamp of topic.
2015-08-21 10:34:37 +10:00
Robin Ward d1c69189f3 FEATURE: Can edit category/host relationships for embedding 2015-08-20 15:56:04 -04:00
Régis Hanol 9ae9aed010 FIX: change **default** notification state when a topic is recategorized within 5 days of creation 2015-08-19 22:40:20 +02:00
Sam 714f841f0a FIX: null bytes in user input should not cause post creation to fail 2015-08-19 12:15:38 +10:00
Sam b38a1309f7 FIX: add more quoting to avoid invalid terms 2015-08-19 09:27:47 +10:00
Sam 27b1ec2917 FIX: incorrect emoji stripping logic 2015-08-19 09:12:08 +10:00
Régis Hanol 4c2df814de FIX: ensure a file is present when creating an upload 2015-08-18 11:39:51 +02:00
Jonathan Brachthaeuser c0e88724c2 Preserve user-field options when updating user-fields
Avoid deleting options of the user-field when no options are
transmitted.
2015-08-17 19:01:20 +02:00
Guo Xiang Tan c7a21b7c23 FEATURE: Allow admin to change timestamp of topic. 2015-08-17 00:00:05 +08:00
Sam e82f892c2d FIX: allow global settings to include keys that have numbers in them 2015-08-14 17:01:21 +10:00
Sam a246e7c9c0 fix invalid spec 2015-08-14 16:28:29 +10:00
Sam 5ee4d3ba8c FIX: log post deletion even if user is deleted. 2015-08-14 13:57:02 +10:00
Sam ad2de1804e Correct bad where clause when no category/user found 2015-08-14 11:53:16 +10:00
Sam 0ceca601d8 improve spec 2015-08-13 17:57:02 +10:00
Sam ecac786f86 FIX: remove invalid chars from ts_query helper 2015-08-13 17:55:10 +10:00
Régis Hanol 6669a2d94d FEATURE: per-topic unsubscribe option in emails 2015-08-12 23:00:16 +02:00
Arpit Jalan 267d8be1f5 UX: show complete URL path if website domain is same as instance domain 2015-08-12 01:19:20 +05:30
Sam 56f12cd9f1 missing specs for 2 new events 2015-08-11 16:01:28 +10:00
Robin Ward b02d624503 FIX: Okay, add support for hosts that have trailing paths 2015-08-10 15:26:58 -04:00
Robin Ward 118763df50 FIX: Broken spec 2015-08-10 10:34:40 -04:00
Sam 139314c213 FIX: search for 1.5 etc was broken
FEATURE: search by exact phrase

Use PG tokenizer to split up search phrase instead of relying on Ruby code
This produces much more accurate tokenization
2015-08-10 17:41:14 +10:00
Régis Hanol 15418f3d44 FEATURE: new 'backup_frequency' site setting 2015-08-07 17:34:58 +02:00
Sam e26688c112 one more test 2015-08-06 10:38:30 +10:00
Sam bafdf9290d FIX: don't let blocked users reach post creator or new post queue
correct broken spec
2015-08-06 10:32:53 +10:00
Sam 11d39345b3 FIX: always allow tl1 through for typing speed tests 2015-08-06 10:07:18 +10:00
Régis Hanol 82d743a052 FIX: don't use emojis as topic image 2015-08-05 12:57:31 +02:00
Sam a51386a280 FEATURE: allow efficient preloading of custom fields in topic list 2015-08-05 16:09:21 +10:00
Sam ca393bcc53 FEATURE: optional regex to be applied against first posts
for spam prevention you can add a regex to auto_block_first_post_regex
this will be applied against all first posts, if it matches post will go
into the approval queue and user will be blocked
2015-08-05 13:08:21 +10:00
Sam a3c6cd7b38 FIX: handle link tracking correctly for cdn based urls
(usually attachments)
2015-08-05 12:15:08 +10:00
Sam 54b780439d FIX: CDN should always be whitelisted correctly 2015-08-05 11:49:11 +10:00
Sam 3c8ae643b2 UX: improve handling of users in queued-posts
- Display an icon on already blocked users
- Automatically unblock users that you approve
2015-08-04 12:56:37 +10:00
Sam 6fdd53e3d6 FEATURE: auto block fast typers
if tl0 enter text too fast they get automatically blocked, configurable
2015-08-04 12:56:37 +10:00
Sam 01ad88f1ed FEATURE: min_first_post_typing_time
If a user spends less than 3 seconds typing
first post they will automatically enter the approval queue
2015-08-04 10:57:34 +10:00
Sam 7b8b96446e FEATURE: track statistics around post creation
- how long were people typing?
- how long was composer open?
- how many drafts were created?
- correct, draft saved to go away after you continue typing

store in Post.find(xyz).post_stat
2015-08-03 14:29:15 +10:00
Sam 568adc49c0 FIX: fenced code blocks not hoisted correctly
also fixes unhoisting logic
2015-07-31 17:53:20 +10:00
Robin Ward 9911e92e24 Merge pull request #3609 from riking/patch-7
FEATURE: Localization fallbacks
2015-07-30 10:44:29 -04:00
Régis Hanol faf4f44776 FEATURE: make pin expiration mandatory 2015-07-29 16:34:21 +02:00
Robin Ward 5f45e5361f FIX: Moderation actions can have their messages removed 2015-07-28 16:58:56 -04:00
Robin Ward dc8a68fd29 FEATURE: New "Dropdown" user field type 2015-07-28 12:30:21 -04:00
Robin Ward bb93a345eb UX: Use smaller messages for moderator actions. 2015-07-27 10:09:21 -04:00
Régis Hanol 2473a00b26 FIX: improve smoke tests 2015-07-27 11:07:42 +02:00
Sam 2876725e1b REFACTOR: remove hacky search from discovery 2015-07-27 16:47:06 +10:00
Régis Hanol d2b59bf7f2 Merge pull request #3628 from tgxworld/emoji_in_user_stream
FEATURE: Display emojis in user stream.
2015-07-25 15:53:54 +02:00
Sam 7a5a195dc0 FIX: properly support HTTPS CDN on HTTP site
Previously we changed all CDN links to schemaless.

This is desirable for non HTTPS sites, to ease migration to HTTPS.
It is not desirable for secure sites.

Once site is secure or CDN is secure a rebake should be required
to move it back to non-secure.
2015-07-24 14:08:32 +10:00
Guo Xiang Tan 7c1e16da54 FEATURE: Display emojis in user stream. 2015-07-23 23:50:01 +08:00
Sam 53b1d89f96 Merge branch 'master' of github.com:discourse/discourse 2015-07-23 07:48:55 +10:00
Sam 3a54923116 FIX: permalink normalization not applied at constraint
implement permalink import for lithium
2015-07-22 13:40:45 +10:00
Kane York acbf82d8db FIX: Change post owner of deleted post, take 3 2015-07-21 16:43:52 -07:00
Sam 3b61b098ab PERF: optimise original query instead of huge rewrite
better perf for all cases
2015-07-21 21:53:54 +10:00
Sam 4491813d22 Revert "Revert "PERF: optimise query that gathers topic tracking state""
This reverts commit 909be09f1a.
2015-07-21 21:48:07 +10:00
Sam 909be09f1a Revert "PERF: optimise query that gathers topic tracking state"
This reverts commit 343e417a55.
2015-07-21 17:35:50 +10:00
Sam 343e417a55 PERF: optimise query that gathers topic tracking state
(this query runs on the front page to figure out new and unread topics)
2015-07-21 17:14:30 +10:00
Sam e3d6c476f5 Merge pull request #3593 from tgxworld/cache_results_on_about_page
Cache results on about page
2015-07-21 10:04:51 +10:00
Guo Xiang Tan b0ea6764e0 PERF: Cache About#stats. 2015-07-20 22:45:05 +08:00
Sam 4c92f05d8d more tests 2015-07-20 17:06:00 +10:00
Sam ecf50a741c strip classes from table instead of ignoring table 2015-07-20 17:05:24 +10:00
Sam e93665b9f7 FEATURE: site setting to allow html tables (which may come from imports)
(allow_html_tables , disabled by default)
2015-07-20 16:56:46 +10:00
Arpit Jalan dc90c396f2 FEATURE: manage Permalinks 2015-07-17 01:26:02 +05:30
Kane York 61ea8c6f72 FIX: Allow to change ownership on deleted users' posts 2015-07-15 15:29:35 -07:00
Kane York cb395662d0 Add JsLocaleHelper tests for i18n fallback 2015-07-15 14:23:41 -07:00
Kane York ff219bc65c todo: write test 2015-07-15 10:21:06 -07:00
Robin Ward 4a7bf67778 Typos 2015-07-15 11:18:01 -04:00
Robin Ward f647174c95 Add acceptance test for full page search 2015-07-15 11:17:04 -04:00
Régis Hanol b0802abae2 FIX: crop & optimize user background profile/card images 2015-07-15 17:15:43 +02:00
Arpit Jalan 7a1694f1ac FEATURE: add more data in user list export 2015-07-15 11:38:48 +05:30
Sam b772d96f7a FEATURE: permalink normalization
Optionally allow admins to apply regex based normalization
to permalinks prior to matching.

This allows us to drop query string, or cleanly ignore slugs, etc.
2015-07-15 15:34:25 +10:00
Robin Ward cc2a33617f Refactor likes/flags to simplify things a lot 2015-07-14 15:50:27 -04:00
Arpit Jalan e9a81064e7 Revert "FIX: fixnum type site setting can't be more than 20000"
This reverts commit 636cc66e1f.
2015-07-13 22:53:44 +05:30
Robin Ward 8a33fb9bd5 Merge pull request #3601 from techAPJ/patch-1
FEATURE: invite page tabs
2015-07-13 10:28:21 -04:00
Arpit Jalan 636cc66e1f FIX: fixnum type site setting can't be more than 20000 2015-07-13 18:58:45 +05:30
Arpit Jalan e0c9054748 FEATURE: invite page tabs 2015-07-13 09:42:51 +05:30
Neil Lalonde 782dd13e78 FEATURE: track user visits on mobile and display on admin dashboard in a new Mobile section 2015-07-07 14:06:42 -04:00
Robin Ward 6ba6a59552 FIX: Broken spec 2015-07-07 11:39:44 -04:00
Robin Ward 2c14acac72 Merge pull request #3236 from sigginet/patch-1
FIX: Added two user badge triggers
2015-07-07 11:25:11 -04:00
Neil Lalonde 00e1659a57 remove some intermittently failing report specs. they aren't worth the cost of maintaining them. 2015-07-06 15:01:43 -04:00
Neil Lalonde 8c84e60df6 FIX: application request numbers for prev 30 day period was for current 30 day period minus today, not previous 30 days 2015-07-06 15:01:43 -04:00
Neil Lalonde 86cd1a19cc FEATURE: page view stats for mobile view 2015-07-03 17:19:33 -04:00
Kane York df988a20eb FEATURE: Reserved usernames
A list of usernames that will be blocked from being used to sign up.
2015-07-01 13:50:55 -07:00
Robin Ward b52e5d1536 FIX: `default_avatars` wasn't being used for some server side templates 2015-06-26 13:38:09 -04:00
Sam d6d9a7fa09 FEATURE: per host regular jobs
These are jobs that will run on every host that is running discourse.

If you have multiple hosts running the same site you get independent
schedules
2015-06-26 13:37:05 +10:00
Arpit Jalan 03665e8466 FIX: mark user as approved if an invite is already present 2015-06-26 01:57:29 +05:30
Robin Ward 6422d5efbd Use the same component for similar topics as search results. 2015-06-24 15:08:22 -04:00
Robin Ward b4960d48b4 Better support for passing up errors when OmniAuth fails after auth 2015-06-24 12:12:43 -04:00
Régis Hanol 80f258e51c FIX: don't count mentions in oneboxes 2015-06-24 11:44:58 +02:00
Sam 65ac5b6475 Merge pull request #3562 from riking/no-index
Add noindex directive on unlisted topics
2015-06-23 15:50:53 +10:00
Sam 63351d5629 FEATURE: in:first for searching first post 2015-06-23 13:39:40 +10:00
Sam e85df6b876 FEATURE: min_age and max_age search operators 2015-06-23 13:21:50 +10:00
Sam 13f1f90c67 REFACTOR: search improved so filters are extensible
- added posts_count filter
- fixed it so you can search with a filter only
2015-06-23 12:14:06 +10:00
Kane York 470d9418fd Add tests for X-Robots-Tag 2015-06-22 16:23:26 -07:00
Sam 9f88d6e252 fix regression in visible notification detection 2015-06-23 06:14:22 +10:00
Régis Hanol efb02ae561 FIX: take into account unlisted banners 2015-06-22 14:08:30 +02:00
Sam 41e427bd2e Work in progress, full page search 2015-06-22 18:09:08 +10:00
Konstantin Ilchenko 131cf643ce FIX: Allow api to send uploads with :url 2015-06-21 14:54:59 +03: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
Sam 5eabf01c29 FIX: don't allow storage of post timings batch larger than 60 secs 2015-06-19 10:35:55 +10:00
Neil Lalonde 77595bcaa9 FEATURE: notify by email when there are posts from new users waiting to be reviewed 2015-06-18 15:47:35 -04:00
Sam 771eeea837 fix spec 2015-06-16 10:53:28 +10:00
Robin Ward fb8ba5e137 FIX: `PG::UniqueViolation` when trying to use the same embed code
Previously providing an embed code already in use would result in
a logged server error. After this commit the error is gracefully
bubbled up from the `PostCreator`
2015-06-15 12:09:59 -04:00
Sam ad12db3fb3 correct invalid spec 2015-06-15 16:34:35 +10:00
Sam 861cd5d9b0 FIX: ensure child demon is correctly terminated from parent on stop 2015-06-15 12:36:47 +10:00
Sam 69ad0358c2 FIX: incorrect logic in email blocker
if mail.com was blocked, email.com was automatically blocked
2015-06-15 11:28:50 +10:00
Régis Hanol 189cb3ff12 FEATURE: move migrate_to_new_scheme into a background job
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
2015-06-12 12:07:57 +02:00
Neil Lalonde 611b5f996e FIX: unpinned topics shouldn't remain pinned on categories page 2015-06-10 14:36:55 -04:00
Sam Saffron b7a0a295c0 FIX: s3 cdn would break cooking if <img> tag had no src 2015-06-10 19:28:21 +10:00
Robin Ward ae277e28a6 FEATURE: Allow embedding topics without creating them, by id 2015-06-09 16:24:20 -04:00
Sam Saffron 49ca248186 FEATURE: allow distributed cache to handle Set as value 2015-06-10 06:13:36 +10:00
Sam Saffron e3fa27a01c FEATURE: serialize and update category custom_fields
- send to client
- update from client
2015-06-10 06:13:36 +10:00
Robin Ward 7b6d6b76eb FEATURE: Multiple embeddable hosts
- Also refactors two site settings components into one, with tests
2015-06-09 13:25:43 -04:00
Arpit Jalan 545f19500d FIX: when sending private message emails do not check email_direct setting 2015-06-09 13:05:26 +05:30
Arpit Jalan 74141cc475 FIX: send 404 error when unauthorized user tries to download user archive 2015-06-08 11:32:31 +05:30
Sam Saffron feeb509a97 SECURITY: expire all existing email tokens on password reset 2015-06-06 03:50:06 +10:00
Sam Saffron 4171eb758c SECURITY: expire all existing sessions if user changes passwords 2015-06-06 03:09:19 +10:00
Robin Ward 2da229cdaa Merge pull request #3528 from techAPJ/patch-3
FIX: staff should be immune to max_invites_per_day setting
2015-06-05 12:57:28 -04:00
Sam Saffron 73646184aa correct specs 2015-06-05 18:58:20 +10:00
Arpit Jalan 4d593d1c18 FIX: staff should be immune to max_invites_per_day setting 2015-06-05 10:22:41 +05:30
Neil Lalonde f1637fc11e FEATURE: plugins can register a custom admin quick start topic that will be seeded into new sites 2015-06-04 15:56:17 -04:00
Arpit Jalan 5180d3e355 FEATURE: include email_prefix in digest email subject instead of site title 2015-06-03 22:22:29 +05:30
Régis Hanol 74b121beeb Merge pull request #3518 from techAPJ/patch-3
FIX: do not block registration for whitelisted IP address
2015-06-03 12:37:50 +02:00
Arpit Jalan b33654ac31 Remove site setting stubbing (Round 1) 2015-06-03 15:44:00 +05:30
Arpit Jalan 725861f344 FIX: move draft cleanup to the dedicated method and add test 2015-06-03 14:35:54 +05:30
Sam Saffron 40882a9576 add another test 2015-06-02 20:28:33 +10:00
Sam Saffron 0fd1974838 FIX: leaving around useless drafts after posting 2015-06-02 20:28:33 +10:00
Sam Saffron d459cb95dc FIX: when advancing draft sequence remove old drafts 2015-06-02 20:28:33 +10:00
Arpit Jalan 79f5eff68b FIX: do not block registration for whitelisted IP address 2015-06-02 15:06:45 +05:30
Arpit Jalan b7ac8448c6 Improve IP blocking error message 2015-06-02 07:48:26 +05:30
Régis Hanol 64e73e98fb FIX: allow the cooked_post_processor to download external uploads 2015-06-01 20:08:41 +02:00
Régis Hanol cbc470baf1 fix build 2015-06-01 11:22:58 +02:00
Régis Hanol 296b8b1a35 Merge pull request #3508 from techAPJ/patch-2
Better error message when new registration limit from an IP address is reached
2015-06-01 09:57:24 +02:00
Arpit Jalan 6bf680882c Better error message when new registration limit from an IP address is reached 2015-06-01 10:16:25 +05:30
Sam Saffron 97f03e699d FIX: mixed local s3 store missing avatars 2015-06-01 11:17:42 +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
Régis Hanol 477f352e8f FIX: remove latest empty revision 2015-05-29 20:08:39 +02:00
Régis Hanol acafa491b2 user avatar urls/templates refactor 2015-05-29 18:51:17 +02:00
Régis Hanol 5a143c0c6e storage engines refactor 2015-05-29 18:39:47 +02:00
Régis Hanol 0aa552cf61 remove fragile assertion 2015-05-29 16:53:27 +02:00
Régis Hanol cb025a65e0 FIX: make sure we also save the user_avatar.custom_upload_id 2015-05-29 10:21:41 +02: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 4f1a72f729 fix build 2015-05-28 01:38:24 +02:00
Régis Hanol 8e7bfd0f29 FIX: automatically growing uploads tree 2015-05-28 01:03:24 +02:00
Neil Lalonde ea8cf1a208 FIX: topic auto-close uses the client's time zone 2015-05-27 18:01:46 -04:00
Régis Hanol 83d2b59fc3 FIX: s3 endpoint when using 'us-east-1' region 2015-05-27 17:50:49 +02:00
Sam 93ab03966e FIX: no-follow not handled correctly for sub domains
if a.com was whitelisted aa.com would pass through
2015-05-27 14:31:01 +10:00
Sam 693b5234da FIX: nil emails are invalid 2015-05-27 14:12:10 +10:00
Sam a988cd5abe FIX: redirect to CDN avatar for s3 avatars 2015-05-27 12:02:57 +10:00
Régis Hanol 32f91301ef fix deprecation warnings in spec (cc @nlalonde) 2015-05-26 11:42:37 +02:00
Sam 147ea002f7 FIX: allow handling for avatars that are not in the set of "resized sizes" 2015-05-26 15:41:50 +10:00
Sam e17f614771 FIX: fallback to local store when uploads are not on S3 2015-05-26 13:08:31 +10:00
Sam eeda367e70 FIX: should be able to serve optimized image from local if its ... local... 2015-05-26 12:32:52 +10:00
Sam 90eaad336d FEATURE: allow users to pick a CDN for s3 assets 2015-05-26 11:13:12 +10:00
Neil Lalonde b9c7e3b74a FIX: categories page counts were very wrong for categories with sub-categories 2015-05-25 17:42:16 -04:00
Régis Hanol bb0c2813ac FEATURE: generate (avatar) thumbnails in a background task
FIX: keep the "uploading..." indicator until the server replies via the MessageBus
FIX: text was disapearing when uploading an avatar

PERF: always use a region for S3 (defaults to 'us-east-1')
FEATURE: ApplyCDN middleware when using S3
FIX: use the same pattern to store files on S3 and locally
PERF: keep a local cache of uploads when generating thumbnails
FEATURE: migrate_to_s3 rake task
2015-05-25 17:59:00 +02:00
Sam 675e2c6e13 remove invalid test since fog is gone 2015-05-25 18:08:59 +10:00
Sam 379eb01aab missing prep in test 2015-05-23 15:39:44 +10:00
Sam bcaed90744 fix missing rtl stylesheets 2015-05-23 15:25:05 +10:00
Sam 96dbeb8608 fix stylesheet cache to recover if file is on disk 2015-05-22 11:22:12 +10:00
Paul Kaplan 1c926d22c6 Correctly parse `require_activation` field of SSO 2015-05-21 16:50:54 -05:00
Régis Hanol bcd98c8f0f FIX: API can provide a URL to create an upload 2015-05-20 17:38:06 +02:00
Régis Hanol c91634c09a FIX: support for async uploads of emojis 2015-05-20 16:45:48 +02:00
Régis Hanol 8d967d9065 FEATURE: move all uploads to a single endpoint + defer upload creation in a background thread 2015-05-20 16:45:48 +02:00
Robin Ward 7d23826cee FIX: Keep around the page when redirecting 2015-05-20 10:16:17 -04:00
Régis Hanol 7d3b7a5657 fix the build 2015-05-20 15:32:31 +02:00
Sam 8be746b285 fix spec 2015-05-20 12:35:22 +10:00
Sam d1d703718a Merge pull request #3476 from paulkaplan/sso-distrust-email
Add SSO setting to not trust emails automatically
2015-05-20 12:07:14 +10:00
Robin Ward 4ab9ef3497 FIX: Allow long words if they contain periods 2015-05-19 13:10:25 -04:00
Paul Kaplan 1c34341f31 Replace site setting with a payload attribute 2015-05-19 11:16:02 -05:00
Régis Hanol 9ded21e4c6 FIX: consistent and future-proof upload storage pattern 2015-05-19 12:31:12 +02:00
Sam dd91d5b02f FEATURE: disable invites by setting max_invites_per_day to 0 2015-05-19 16:51:21 +10:00
Paul Kaplan b8a43e153c Use session controller to prevent inactive SSO users 2015-05-15 12:15:06 -05:00
Paul Kaplan 4c26c4d9bc Add a SiteSetting to not trust sso emails by default 2015-05-15 12:15:06 -05:00
Régis Hanol d40d308e45 Merge pull request #3445 from lukegb/bug/anonymous-emails
Don't send emails to anonymous users
2015-05-15 14:28:37 +02:00
Régis Hanol d4974b7093 FIX: anonymous mode don't work when names are required 2015-05-15 14:20:15 +02:00
Sam fdbcc31a9c Merge pull request #3461 from fantasticfears/slug
FIX: category custom slug can't be set when generation method is none
2015-05-15 14:59:35 +10:00
Sam e074651fdc PERF: refactor user search so works more efficiently
Stop scanning entire user table
2015-05-14 14:38:47 +10:00
Sam e6f73a1c80 PERF: optimise front page category security lookup query 2015-05-14 12:19:22 +10:00
Robin Ward 5fdbc6c4b2 FIX: Replies to PMs should never been enqueued 2015-05-13 12:08:53 -04:00
Régis Hanol bb29bff5d8 Merge pull request #3463 from techAPJ/patch-2
FIX: match subdomain with email domain blacklist
2015-05-13 17:56:54 +02:00
Arpit Jalan 220b9c5abe FIX: match subdomain with email domain blacklist 2015-05-13 21:02:02 +05:30
Régis Hanol d90e0fe66b Merge pull request #3460 from techAPJ/patch-3
FIX: rate limit topic invitations
2015-05-13 12:55:20 +02:00
Arpit Jalan 4324a157e0 FIX: rate limit topic invitations 2015-05-13 14:44:37 +05:30
Erick Guan 4c00eef8b5 FIX: category custom slug can't be set when generation method is none 2015-05-13 16:54:19 +08:00
Sam 51d82fc25d PERF: Active Record #pluck is twice faster
PERF: SqlBuilder bypasses AR converters and uses PG directly
2015-05-13 16:46:17 +10:00
Neil Lalonde 406c8bb340 PERF: don't recompile css files that have already been compiled 2015-05-12 16:12:49 -04:00
Sam 5ef641126f remove s3 deprecation warning, we will continue to support it 2015-05-12 08:27:25 +10:00
Robin Ward 0b65c88003 Upgrade Notifications to fix deprecations and use store 2015-05-11 11:20:45 -04:00
Luke Granger-Brown 9f9825bb6b FIX: don't send emails to anonymous users
Also changes behaviour of real to not return anonymous users.

This means user counts will no longer include them, and the
mailing list system will ignore them even if they somehow end up
with the feature turned on.
2015-05-11 00:56:34 +01:00
Sam 124ae8ada6 correct spec 2015-05-06 12:01:47 +10:00
Sam 0f53fc8328 correct emergency regeneration in the controller 2015-05-06 07:33:32 +10:00
Erick Guan a48dd1cc28 store the slug as the title is, only sanitize the slug
and prettify code
2015-05-05 18:33:16 +08:00
Erick Guan b772ff6e13 FEATURE: add slug geneartion options 2015-05-05 18:08:30 +08:00
Sam f58d85edea FEATURE: move stylesheet cache out of the uploads directory 2015-05-05 15:50:13 +10:00
Neil Lalonde 963ebf5963 FIX: if approving a user when must_approve_users is false, don't send an email 2015-05-04 15:30:25 -04:00
Robin Ward 7e3eaf5b02 FIX: Never enqueue private messages 2015-05-04 11:07:46 -04:00
Arpit Jalan d9ec6888e1 FIX: allow site_name to be present in rejection email subject 2015-05-04 11:22:54 +05:30
Sam 803feefd54 MessageBus handles readonly redis now, no need to wrap it 2015-05-04 12:21:00 +10:00
Robin Ward f9069c350f FIX: Permission issues when editing topics
If a user can't create a topic in a category, they should'be be
able to edit topics.
2015-04-30 17:08:12 -04:00
Robin Ward 16408cee06 Allow Postgres to trigger readonly mode for the site. 2015-04-29 11:49:58 -04:00
Arthur Neves 439d0d2e37
Check Rails.version instead of ENV
Like that we can have code that works on multiple Rails versions, and we
dont need to mix a new method on Kernel.
Also, this makes easier to have multiple versions.
For instance, before master was 4.2, which is not the case anymore, so
on the code we should check versions and not Environment variables
2015-04-28 22:27:47 -04:00
Robin Ward cf0c2d09d4 Handlers can be added with a priority 2015-04-28 15:06:47 -04:00
Sam 6a338afbdd Merge pull request #3403 from zzakcanncode/rspec_up
Rspec 3
2015-04-28 07:50:30 +10:00
Sam 729aaa826b Merge pull request #3404 from techAPJ/patch-1
FEATURE: magic login route for admin when SSO is enabled
2015-04-28 07:47:50 +10:00
Arpit Jalan 2932284293 FEATURE: magic login route for admin when SSO is enabled 2015-04-27 22:54:48 +05:30
Robin Ward de42c627c5 Allow plugins to specify a minimum `requires version` 2015-04-27 13:07:12 -04:00
Arthur Neves 8f0fb511c3
Fix warnings for rspec 3 2015-04-25 21:02:06 -04:00
Arthur Neves e0ea68b9ca
Fix tests on site_setting for new rspec 2015-04-25 11:33:26 -04: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
Robin Ward 15dbce5886 Show pending posts count in modal when your posts are enqueued 2015-04-24 15:44:59 -04:00
Robin Ward 3660fe4f60 FIX: When approving/rejecting a post it should delete the user action 2015-04-24 15:25:47 -04:00
Robin Ward 3a6efa25f0 Allow ReadOnly to propogate up to the Ember app via Response Header 2015-04-24 14:37:16 -04:00
Robin Ward 5b3f99aa50 Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
Sam Saffron 923c164d54 workaround: pg app installs a poorly encoded db, so skip CI will catch 2015-04-24 07:23:02 +10:00
Régis Hanol a737090442 - FEATURE: revamped poll plugin
- add User.staff scope
- inject MessageBus into Ember views (so it can be used by the poll plugin)
- REFACTOR: use more accurate is_first_post? method instead of post_number == 1
- FEATURE: add support for JSON-typed custom fields
- FEATURE: allow plugins to add validation
- FEATURE: add post_custom_fields to PostSerializer
- FEATURE: allow plugins to whitelist post_custom_fields
- FIX: don't bump when post did not save successfully
- FEATURE: polls are supported in any post
- FEATURE: allow for multiple polls in the same post
- FEATURE: multiple choice polls
- FEATURE: rating polls
- FEATURE: new dialect allowing users to preview polls in the composer
2015-04-23 19:33:29 +02:00
Arpit Jalan 2ee033caa5 FIX: validate integer site setting 2015-04-23 18:15:14 +05:30
Neil Lalonde 85320f919b FEATURE: user list csv includes approved, suspended_at, suspended_till, blocked 2015-04-22 12:40:12 -04:00
Robin Ward 5bf8c31af4 Users can see their pending posts 2015-04-21 16:44:47 -04:00
Robin Ward 26693c16ac Don't show the link to "Needs Approval" unless approval is enabled.
Note that any plugin that extends the NewPostMananger to support
enqueuing will enable it.
2015-04-21 13:59:57 -04:00
Robin Ward f600ead587 FIX: Don't validate approved posts.
A moderator has already validated them. Otherwise we hit things like
rate limits.
2015-04-21 11:59:35 -04:00
Robin Ward 2cdd967188 Adds support for invisible approval queues, which we'll need for Akismet 2015-04-20 17:19:05 -04:00
Robin Ward 5990ab855b PERF: Move post alerting into async 2015-04-20 13:34:57 -04:00
Sam Saffron 296add56e6 correct letter avatar template 2015-04-20 13:07:12 +10:00
Tan Le 9fbc763902 Replace Hash#keys.each with Hash#each_key for some perf boost 2015-04-18 21:53:53 +10:00
Sam 51b747346e PREF: speed up grabbing unread counts 2015-04-17 16:01:20 +10:00
Sam 832cb9fdc3 FIX: admin check missing from topic tracking state
FIX: handle muted categories correctly
2015-04-17 14:03:08 +10:00
Robin Ward 2459f52c71 Merge pull request #3375 from techAPJ/patch-2
FEATURE: invite existing users to private topic
2015-04-16 11:13:42 -04:00
Robin Ward 94fea09416 Merge pull request #3383 from techAPJ/patch-4
FIX: handle error for duplicate email_in address
2015-04-16 11:13:36 -04:00
Arpit Jalan 866d1cd8e3 FIX: handle error for duplicate email_in address 2015-04-16 16:23:22 +05:30
Sam 4387e05162 PERF: speed up query 2015-04-16 17:29:37 +10:00
Sam a5b25ad2af FEATURE: scale up likes per day as users increase trust level
tl2 = 1.5 times the likes
tl3 = 2 times the likes
tl4 = 3 times the likes

configurable via tl[234]_additional_likes_per_day_multiplier site setting
2015-04-16 09:44:30 +10:00
Robin Ward d2ed64751e UX: Show category badge on enqueued posts 2015-04-15 15:29:37 -04:00
Arpit Jalan d491d4f997 FEATURE: invite existing users to private topic 2015-04-16 00:52:54 +05:30
Robin Ward 9ffec28076 Allow posts in any queue to support topic/post attributes 2015-04-15 14:54:37 -04:00
Robin Ward af1571a58f Site Settings for post approval 2015-04-15 14:54:37 -04:00
Robin Ward 0c233e4e25 Interface is wired up for Approving/Rejecting posts 2015-04-15 14:54:37 -04:00
Robin Ward 96d2c5069b Interface for reviewing queued posts 2015-04-15 14:54:37 -04:00
Robin Ward f1ede42569 Add the posts that need to be reviewed to the hamburger 2015-04-15 14:54:37 -04:00
Robin Ward 19a9a8b408 `NewPostManager` determines whether to queue a post or not 2015-04-15 14:54:36 -04:00
Robin Ward a5ee45ccbe `PostEnqueuer` object to handle validation of enqueued posts 2015-04-15 14:54:36 -04:00
Robin Ward 8ba6a45cd7 Post Queue model to enqueue creation of posts 2015-04-15 14:54:35 -04:00
Arpit Jalan 499bed69e2 FIX: show error message if user already exist in group 2015-04-15 14:15:58 +05:30
Sam 2a3f71a9a1 SECURITY: log off all existing sessions when resetting password 2015-04-15 08:57:43 +10:00
Robin Ward 869d8e25ad Promotion fails if the user account isn't old enough yet. 2015-04-14 12:14:59 -04:00
Robin Ward eaf5d21c41 Don't store post timings that are greater than the account lifetime 2015-04-14 11:49:44 -04:00
Ben Hadley-Evans c3b461f58d Add blank alt attribute to avatars.
This was giving an ugly border to avatars in the user card as the full size version loaded in Firefox.
2015-04-14 14:39:40 +01:00
Robin Ward db4c04d606 FIX: Moderators shouldn't be able to see secure deleted posts 2015-04-13 11:48:31 -04:00
Ed Gibbs 5650428052 FIX: Sort page views report records
Adding a sort ascending by date to the page views report.
2015-04-12 10:46:13 -07:00
Arpit Jalan e6df97f01d FIX: add email reply error message for topic not getting created in restricted category 2015-04-10 17:11:52 +05:30
Sam 75890aed26 FEATURE: allow admins to choose a group as a primary group
FEATURE: allow admins to set a default title for a group
2015-04-10 12:17:28 +10: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 5d31290dbc FIX: cleanup old letter avatars if needed
FEATURE: use image magick version as a key for letter avatars
2015-04-07 13:03:43 +10:00
Régis Hanol 1a3fa52cde fix broken build (cc @riking) 2015-04-06 12:12:27 +02:00
Sam c6a5081763 FEATURE: reorder participants in topic so always chronological
FEATURE: tie breaker for same number of posts is last post date
UX: highlight for latest poster when it is OP
2015-04-06 17:27:05 +10:00
Régis Hanol 0e1c4a0a44 Merge pull request #3313 from techAPJ/patch-1
FEATURE: invite existing user to a topic
2015-04-03 11:41:10 +02:00
Arpit Jalan 8c2d7dcaac FEATURE: invite existing user to a topic 2015-04-03 15:00:04 +05:30
Neil Lalonde 30b063c08b FEATURE: make full names a required field of user profiles with the full_name_required setting 2015-04-02 17:08:04 -04:00
Régis Hanol 682656fa6c FIX: only redirect to whitelisted hostnames 2015-04-01 22:59:25 +02:00
Régis Hanol 0f4a4651a9 FIX: youtube preview video title link doesn't work 2015-04-01 18:23:27 +02:00
Régis Hanol eec1921ba9 FIX: notifications inconsistencies + never notify system user 2015-04-01 11:55:59 +02:00
Sam 14741b5dac FIX: only ONE user on site could have a list of muted users 2015-03-31 10:16:23 +11:00
Robin Ward 28864e74bc FIX: Don't show the filter title on the default route 2015-03-30 11:40:44 -04:00
Sam 48c58601a6 fix spec 2015-03-27 13:14:50 +11:00
Sam 58c95f64d2 FIX: stop stripping zero-width-whitespace
This char is used for formatting khmer words
2015-03-27 13:03:24 +11:00
Sam 05737effef FIX: stop stripping dots from SSO names
This could upset Louis C.K.
2015-03-27 10:25:51 +11:00
Sam 0c287d7d6b ensure usernames do not keep cycling 2015-03-27 10:04:16 +11:00
Sam 94fceaf517 Remove non-legit test, we should always change attributes even if external is unchanged
Overriding should be all or nothing
2015-03-27 09:57:43 +11:00
Sam 4566a1e30a FIX: sso override code not triggered when attaching to existing user 2015-03-27 09:39:35 +11:00
Robin Ward 2cc5858163 Add site setting to disable User Directory, include restricted info 2015-03-26 11:26:19 -04:00
Sam 5aa1272f05 clean up first day user definition and object model 2015-03-26 16:48:36 +11:00
Sam 9834d11503 Staff and TL2 up are immune to newuser checks and not considered new users 2015-03-26 16:04:46 +11:00
Sam cfa511e35d FIX: correctly mute likers
FEATURE: disallow all muting of staff
2015-03-26 12:08:04 +11:00
Arpit Jalan fb0e7dc0b2 FIX: do not delete already redeemed invite 2015-03-25 23:30:09 +05:30
Régis Hanol 90de61ee3d S3 deprecation warning 2015-03-25 18:34:07 +01:00
Robin Ward 2b46b52b64 Merge pull request #3296 from techAPJ/patch-1
FIX: delete duplicate invites
2015-03-25 13:25:05 -04:00
Arpit Jalan 4862a93804 FIX: delete duplicate invites 2015-03-25 22:43:41 +05:30
Robin Ward 33e35930b0 FIX: Server error when no results on user directory while logged in 2015-03-25 11:18:46 -04:00
Sam 92e371f0b3 FEATURE: civilized mute
Allow user to mute all notifications generated by specific users
2015-03-24 11:55:22 +11:00
Robin Ward ff3e1e1dd7 FIX: User's topic lists weren't consistent WRT visibility 2015-03-23 18:13:06 -04:00
Sam 1601211617 Revert "FEATURE: allow end users to opt out of getting any private messages"
This reverts commit 229ecc4f8a.
2015-03-23 17:21:58 +11:00
Sam 229ecc4f8a FEATURE: allow end users to opt out of getting any private messages 2015-03-23 15:50:45 +11:00
Sam 853c91d7d0 Merge pull request #3289 from fullfatthings/suppress_sso_welcome_emails
Add an sso option to suppress welcome emails
2015-03-23 10:36:58 +11:00
Robin Ward 6d38005a22 Allow staff to change uneditable user fields 2015-03-20 15:18:43 -04:00
Robin Ward 3c0fee1786 Fixes broken spec 2015-03-20 13:24:03 -04:00
Dan Singerman e8648350eb Add an sso option to suppress welcome emails
As discussed here: https://meta.discourse.org/t/create-new-sso-users-without-sending-welcome-emails/24894
2015-03-20 17:04:52 +00:00
Régis Hanol 5084e2bdf1 Merge pull request #3284 from techAPJ/patch-1
FEATURE: new site setting min_first_post_length
2015-03-19 19:55:27 +01:00
Arpit Jalan b706307ac7 FEATURE: new site setting min_first_post_length 2015-03-20 00:20:38 +05:30
Robin Ward 7ef306cd3b A bunch of tweaks to the Users directory
- Move user directory from `/directory` to `/users/`
- Defaults to 'weekly' time period
- Don't include deleted topics/posts in the results
- Move heart icon to header instead of on each row
- "Users" instead of "Users found"
2015-03-19 12:29:38 -04:00
Robin Ward 3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Sam 89ea125c73 automatic need only be added once to the hash 2015-03-18 17:47:39 +11:00
Sam 4720d0c12b Merge pull request #3277 from techAPJ/patch-1
FIX: return proper error message when replying to a closed or deleted topic
2015-03-17 07:38:00 +11:00
Régis Hanol 5d74cadf2f FIX: picture would be hidden when [details] block was closed in the composer 2015-03-16 18:57:15 +01:00
Arpit Jalan 484ae8b6b7 FIX: return proper error message when replying to a closed or deleted topic 2015-03-16 16:43:22 +05:30
Régis Hanol df7c38dd51 FIX: don't add an automated message when *a* moderator already replied (as opposed to *the* moderator) 2015-03-16 12:02:34 +01:00
Régis Hanol 3a40875e0b Merge pull request #3247 from jmay/group-manager-invites
group manager can issue invitations from restricted topics
2015-03-16 09:53:04 +01:00
Sam a82530012a FEATURE: Allow selection of highlight js languages
PERF: stop loading highlight js on load

To get latest highlight js run bin/rake highlightjs:update
2015-03-13 16:18:59 +11:00
Sam 12d59d13a7 stop randomly failing here 2015-03-12 13:44:13 +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
Régis Hanol afd2417945 FEATURE: new 'auto_respond_to_flag_actions' site setting 2015-03-11 19:29:09 +01:00
Régis Hanol c8631a7a8b FIX: auto-message shouldn't generate notifications 2015-03-11 19:07:17 +01:00
Régis Hanol 6cd4330335 FIX: show all deleted posts 2015-03-11 18:07:47 +01: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
Sam ff063f4f9b play around with mock_redis, add comment explaining what happened 2015-03-09 13:14:29 +11:00
Sam 79a17d5c22 FIX: discourse.conf not parsing out comments correctly 2015-03-09 13:14:29 +11:00
Sam a26853c1a4 try to work around caching bug in spec 2015-03-05 17:47:34 +11:00
Robin Ward c4fa75918b FIX: If a category of a topic changed, watching/tracking didn't kick in 2015-03-04 13:39:50 -05:00
Jason W. May 0f36774246 group manager can invite members into the group from any restricted topic 2015-03-03 12:18:42 -08: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
Sam f432b9f5b7 correct spec failure, only test code was affected 2015-03-03 10:21:01 +11:00
Sam 474c947427 temporarily disable test while debugging 2015-03-03 09:51:10 +11:00
Sam 336c15672a clear cache to fix spec 2015-03-03 08:27:27 +11:00
Neil Lalonde 7c14db44cc UX: improve message when admin login is blocked because of admin ip address whitelisting 2015-03-02 12:13:22 -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 37fefc16de workaround, something about report spec is messed up 2015-03-02 12:29:56 +11:00
Neil Lalonde c04b214910 FEATURE: don't allow username and email to be the same 2015-02-27 13:47:43 -05:00
Sam 0742f340f9 FEATURE: allow for a localized error when a regex fails in site settings
FEATURE: apply string validation to list site settings (so we get regex)
2015-02-27 11:45:56 +11:00
Sam ea40dd08e6 correct tests 2015-02-27 09:41:08 +11:00
Régis Hanol 7d8dd9d93b fix some rspec deprecations 2015-02-26 13:05:20 +01:00
Sigurður Guðbrandsson 83f719fb80 FIX: Cleaned the commit
Only changing the code I changed, not other tests.
2015-02-26 01:24:21 +00:00
Sigurður Guðbrandsson 73068d5fa3 ADD: Spec tests for User Badge triggers
NOTE: The DiscourseEvent trigger mechanism is VERY weird.
If there are ANY triggers triggered in the chain, you can't only list the one you're looking for, you have to list all triggers in the order they will come.

Example: line 98-100
:user_created and :user_verified are triggers that are introduced in PR #3237 so if this PR is accepted but not PR #3237 then lines 98-99 need to be removed.
2015-02-26 00:55:17 +00:00
Sam cbe18eb0df FEATURE: allow view exclusion using custom header
Set Discourse-Track-View to either "0" or "false" to exclude request
2015-02-26 11:41:11 +11:00
Robin Ward 3e2ba5b30b FIX: If an IP is blocked, don't allow people to login using it 2015-02-25 16:02:40 -05:00
Régis Hanol 1a070b16e4 FIX: use the 'post edit time limit' for topics too 2015-02-25 20:53:21 +01:00
Robin Ward 005b8bf7c3 FIX: When creating a SSO user via sync, do not user the IP address. 2015-02-25 14:41:23 -05:00
Neil Lalonde cf81b3f86d FEATURE: don't allow username and password to be the same 2015-02-25 12:00:13 -05:00
Dan Singerman 1c545d4c1e Allow adding and removing members of groups by username or id
As discussed here: https://meta.discourse.org/t/discourse-gem-group-add/25668/2.
2015-02-25 14:52:13 +00:00
Sam 9ca61efa97 correct test 2015-02-25 18:09:45 +11:00
Sam b760d22460 PERF: avoid expensive order by random for suggested topics 2015-02-25 17:19:12 +11:00
Sam 7b6e85cb6c remove unused api call
correct spec
2015-02-25 14:39:50 +11:00
Sam 3658c21fc5 REGRESSION: incorrect ordering when featuring topics 2015-02-25 14:24:25 +11:00
Sam fe578f9944 FEATURE: Allow manual assignment of related post to badge
PERF: clean up performance of user badges admin when large number of badges exist
2015-02-25 12:53:01 +11:00
Robin Ward 34dc1f9e10 Spec to ensure that SSO respects blocked emails 2015-02-23 17:14:54 -05:00
Robin Ward ca5730018a FIX: SSO code should respect IP address filters 2015-02-23 16:01:46 -05:00
Robin Ward 8186d86f38 FIX: Enforce max length for custom user fields 2015-02-23 13:02:30 -05:00
Sam 6960639c58 Merge pull request #3190 from riking/thrown_logging
Delete old ErrorLog, use Logster for 500 errors
2015-02-23 14:19:16 +11:00
Régis Hanol 20c9a312c7 FIX: clicks counter on attachments wasn't always working 2015-02-22 20:47:18 +01:00
Sam 17927b2e8b FIX: don't use flash cause we are not redirecting
(we should probably change that though)
2015-02-20 10:28:58 +11:00
Régis Hanol e74b9ee5da FIX: should not count disagreed flags 2015-02-19 18:11:07 +01:00
Sam 103d42a9d9 FIX: emoji cache could get corrupt
FEATURE: enforce 1 day expiry by default on discourse cache

remove family expiry concept as the implementation was fragile
2015-02-19 16:58:22 +11:00
Sam 709ab731c7 don't put missing notifications in the stream for tests. 2015-02-19 13:20:25 +11:00
Sam 451788b95d FIX: allow searching in PMs when "search this topic" is selected 2015-02-19 12:56:49 +11:00
Sam b041b3f67f FIX: bookmark topic was not working intuitively
- explicitly call out "clear bookmarks"
- correct keyboard shortcuts
- properly remove bookmarks when toggeling
2015-02-19 10:58:57 +11:00
Arpit Jalan f3daae6dec Improve auto generated email reply error message 2015-02-18 18:58:51 +05:30
Loïc Guitaut 395654bf24 Fix regression on editing private messages
v1.2.0beta9 has introduced a regression in edit of a private topic
(first post). Previously a check for no change in TopicsController was
made but it has been changed without considering that the topic could
be private.

By simply forcing a conversion of `topic.category_id` to integer, the case
where its value is nil is handled correctly as it was previously.
2015-02-18 00:41:16 +01:00
Arpit Jalan 6e5540c107 FIX: do not show name in email if name on posts are disabled 2015-02-18 01:39:41 +05:30
Sam cdef67667a PERF: allow background jobs to flush between requests in same thread 2015-02-17 09:58:43 +11:00
Régis Hanol 3cad4824d7 FEATURE: allow moderators to see flagged private messages 2015-02-16 13:03:04 +01:00
Régis Hanol 0b45054e2b FIX: couldn't uncategorize a topic 2015-02-16 10:31:36 +01:00
Robin Ward 3ce2077aa8 Migrate unsubscribe keys to the database.
This should reduce a lot of the keys in redis.
2015-02-13 14:24:15 -05:00
Robin Ward e207ca36ee Easier helper for filtering secured categories 2015-02-12 11:52:59 -05:00
Sam 276fd702e8 missed a send which caused code to break 2015-02-12 15:01:14 +11:00
Régis Hanol c4e427cf73 FEATURE: filter screened IP addresses 2015-02-10 19:38:59 +01:00
Robin Ward 8d46de4819 Add a spec for the new plugins controller 2015-02-10 12:35:53 -05:00
Sam acda6ebd60 FIX: view tracking needs to release data earlier
retaining data during queuing was causing huge memory spikes
2015-02-10 17:03:33 +11:00
riking 68ccd2d664 FEATURE: All 500 errors now show up in Logster
Added Discourse.handle_request_exception()
2015-02-09 12:48:33 -08:00
riking 5657006aca Rename handle_exception to handle_job_exception 2015-02-09 12:47:46 -08:00
Régis Hanol e36272cb68 fix the build 2015-02-09 17:13:22 +01:00
Sam e8323fa534 FIX: removing a group from a user was not removing primary group 2015-02-09 16:03:09 +11:00
Robin Ward 7dea65122e Support a `url` field in plugin metadata 2015-02-06 18:08:57 -05:00
Régis Hanol f7d2fc0524 FEATURE: 'reply by email address' validator
Prevent infinite email loophole when the 'reply_by_email_address' site setting is the same as the 'notification_email'.
2015-02-06 12:08:37 +01:00
Sam 820ce8765e refactor traffic report
split traffic report in 2, page view vs raw traffic
hide raw traffic report by default
improve flushing logic for application reqs
2015-02-06 14:39:16 +11:00
Robin Ward 4e64d16a47 FEATURE: Allow plugins to log staff actions 2015-02-05 15:26:34 -05:00
Régis Hanol 2fcd199f48 FIX: send a PM to moderators when a post has been flagged as sockpuppet 2015-02-05 19:58:49 +01:00
Régis Hanol f1403206ca Merge pull request #3169 from riking/patch-3
SECURITY: Don't leak topic title in the redirect
2015-02-05 12:47:58 +01:00
Sam 08b790b3c2 improve metrics gathered using in our traffic section
this also pulls out the middleware into its own home and inserts in front
2015-02-05 16:08:52 +11:00
Sam eb7a5c251d freeze time in report spec so it has consistent results 2015-02-05 11:33:13 +11:00
Robin Ward 3b68214210 FIX: Clean up after adding events. Fixes random test failures. 2015-02-04 17:33:18 -05:00
Robin Ward 25daca8f23 Helpers for plugins to support enabling/disabling 2015-02-04 16:23:56 -05:00
riking 4c8850108a SECURITY: Don't leak topic title in the redirect 2015-02-04 11:55:39 -08:00
Sam a4b96adfc5 eliminate cross talk in site setting test 2015-02-04 16:57:16 +11:00
Sam c150c55e2d FEATURE: rudimentary view tracking wired in 2015-02-04 16:15:16 +11:00
Sam e105f0965c infrustructure for tracking application web requests 2015-02-04 16:15:16 +11:00
Robin Ward aacf2e6f20 Can add `shadowed_by_global` to a site setting to override
If a site setting has `shadowed_by_global: true` then, if
a `GlobalSetting` exists with the same name then that value
will be used instead.  Additionally, the setting will be hidden.

This is useful in a multisite environment for private settings
such as API keys. You want to set it globally, yet not display
the key to customers.
2015-02-03 16:49:22 -05:00
Robin Ward f15b0d205f FIX: The "too similar" check happened when trying to make a post a wiki 2015-02-02 12:44:56 -05:00
Dan Singerman 64c4bd5dbf Fix force_avatar_update.to_i error as force_avatar_update is a boolean
If force_avatar_update is passed in sso attributes it errors on
force_avatar_update.to_i. The SingleSignOn class forces avatar_force_update
to a boolean, so it should be treated as such.
2015-01-30 09:51:38 +00:00
Sam 8264dbd971 Merge pull request #3140 from fullfatthings/fix_missing_sso_avatar_bug
Fix bug when sso_overrides_avatar is true but no avatar_url is passed
2015-01-30 10:45:25 +11:00
Sam b1f81c0dca Merge pull request #3080 from riking/misc
Miscellaneous fixes from PR#3000
2015-01-30 10:23:17 +11:00
Sam ea7af7a83b Merge pull request #3135 from longhotsummer/fix-no-user-params
FIX: creating a user shouldn't error when optional fields aren't given
2015-01-30 10:12:57 +11:00
riking 85a7b925c7 Miscellaneous fixes from PR#3000
FIX: Don't require login to view post raw
FIX: Don't submit read-guidelines for anonymous users (causes
unnecessary 403 errors from ensure_logged_in)
FIX: Don't pass nil to an array serializer
2015-01-29 13:56:32 -08:00
Régis Hanol 6a68e8c272 FIX: use CDN for user card/profile background and user avatars (for real this time) 2015-01-29 22:53:48 +01:00