Commit Graph

591 Commits

Author SHA1 Message Date
Sam 1343d40558 PERF: deleting a post in huge topics was timing out
- add missing index to user actions for fast retrieval by post
- add missing indexes to users for fast retrieval of staff
- only refresh topic_users liked/bookmarked cache for affected users
2015-06-18 09:58:49 +10:00
Sam 1aa7cf842a PERF: missing index on notifications
this was slowing down acting on a post
2015-06-17 18:05:52 +10:00
Sam 1db92e6027 FEATURE: make it easier to get invite badges
Campaigner, 3*TL1 users
Champion, 5*TL2 users
2015-06-15 14:30:42 +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
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
Sam cbe45975e8 FIX: migrations broken in some non English various locales 2015-05-28 16:55:23 +10: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 2955507a57 FEATURE: badges for inviting users
First invite = Promoter
3 TL2 = Campaigner
10 TL3 = Champion
2015-05-15 12:04:41 +10:00
Sam 2b2d0e803f PERF: missing index on useractions making user page slow 2015-05-14 14:39:04 +10:00
Sam 1eeed5fed2 PERF: speed up counting of unread notifications 2015-05-14 12:33:43 +10:00
Sam 8362993099 PERF: add missing index on post actions 2015-05-13 19:43:51 +10: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
Robin Ward 5b3f99aa50 Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
Sam Saffron 46c138fb12 PERF: add missing index on topic_links 2015-04-23 02:07:55 +10:00
Robin Ward 5bf8c31af4 Users can see their pending posts 2015-04-21 16:44:47 -04:00
Régis Hanol dc6b2df2a2 increase url length on topic_embed 2015-04-21 11:03:10 +02: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
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
Régis Hanol 3a28d50866 FIX: group user count was busted 2015-03-25 19:40:32 +01:00
Robin Ward 1e3e4135a3 Add Posts Read + Visits to User Directory 2015-03-24 15:31:54 -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
Sam 624b0b81b2 remove uneeded column 2015-03-23 17:24:23 +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 23ed7e9db8 Exceptions we use in the app should inherit off StandardError 2015-03-23 12:16:21 +11:00
Sam acf6b253e1 FEATURE: pick a valid hostname for notification email based on hostname
FEATURE: allow notification email to be set via ENV
2015-03-23 11:57:59 +11:00
Robin Ward 3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Sam ea1cd8dcd4 remove migration bombs 2015-03-06 18:14:19 +11:00
Sam 2a586d59e9 FEATURE: top topics all time
tweak top algorithm (we will continue next week)
2015-03-06 18:00:29 +11:00
Sam 20bee937b7 PERF: add index to make finding new topics faster 2015-03-02 09:49:20 +11:00
Sam f555bbb416 FEATURE: long descriptions for badges to help teach people 2015-02-27 17:19:18 +11:00
Sam 8772643e63 Rails upgrade changed behavior of column/table renames 2015-02-26 16:04:26 +11:00
Sam 8c7cce1bfc PERF: added missing indexes for pinned topics 2015-02-24 11:53:32 +11:00
Robin Ward aef7bf8b31 FIX: It should be `BadgeType::Silver` 2015-02-19 15:39:49 -05:00
Sam 1aa1e30e88 anniversary is silver
added copy
2015-02-19 11:17:30 +11:00
Régis Hanol 0fca0e9758 FEATURE: 1 year anniversary badge 2015-02-18 19:30:07 +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
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
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 e105f0965c infrustructure for tracking application web requests 2015-02-04 16:15:16 +11:00
Neil Lalonde 644c7a4675 FEATURE: Add an option to show custom user fields on profiles. Default is to not show them. 2015-01-29 17:38:39 -05:00
Régis Hanol 256519dddf FEATURE: automatic group membership based on email address 2015-01-23 18:25:43 +01:00
Neil Lalonde 4c0129ccdd PERF: slow user pages in admin. add an index for trust level 3 calculations, and memoize query results 2015-01-19 15:30:16 -05:00
Régis Hanol 7a86abd105 Merge pull request #3084 from jmay/group-managers
table & model changes for group managers with permission to edit members
2015-01-16 12:02:38 +01:00
Arpit Jalan c619aed8f9 💄 add username and date-time in exported file name 2015-01-16 01:39:46 +05:30
Jason W. May a2b284a0a4 table & model changes for group managers with permission to edit membership 2015-01-15 11:44:42 -08:00
Régis Hanol 6734a51b6a move SiteText.{head,top,bottom} to SiteCustomization 2015-01-14 12:15:53 +01:00
Régis Hanol 6ee2849df6 move SiteText.{head,bottom} to SiteCustomization and remove redundant SiteText.top 2015-01-12 19:59:43 +01:00
Robin Ward 6b602d48b9 Support indexing on values in custom fields to help with tagging plugin. 2015-01-08 16:17:30 -05:00
Robin Ward 7f3e343cd4 FIX: Missing bookmarks from user actions 2015-01-08 15:25:00 -05:00
Sam 03388e11ab oops, migration was flipping 2015-01-08 15:26:15 +11:00
Sam 3347a48275 FEATURE: add liked and bookmarked classes to topic list item rows 2015-01-08 14:35:56 +11:00
Sam efc717c14a FEATURE: remove star concept from Discourse 2015-01-07 13:43:27 +11:00
Neil Lalonde 4975fc2890 Remove old access_password_removal cruft from 1.5 years ago 2015-01-05 12:04:27 -05:00
Régis Hanol c57a1b393f clean up 'checked_for_custom_avatars' user history entries 2015-01-02 12:37:17 +01:00
Arpit Jalan 68e66f3a25 Rename CsvExportLog to UserExport 2014-12-28 22:31:12 +05:30
Arpit Jalan 7c7474aa10 create a new table to maintain csv export log 2014-12-24 16:25:36 +05:30
Sam 5b844f5320 FEATURE: more than 1 site customization can be enabled at once
FIX: more robust site customizations

Rewrote site customization to use distributed cache and a much cleaner
css delivery mechanism
2014-12-23 13:03:48 +11:00
Sam f23eb475a4 FEATURE: remove override stylesheet option, too confusing 2014-12-23 13:03:48 +11:00
Régis Hanol 45dbdb6896 FEATURE: custom emojis 2014-12-23 01:12:26 +01:00
James Kiesel 84bed4f9ce Remove group name validation case sensitivity 2014-12-17 18:44:30 +13:00
Régis Hanol e6e7948617 FEATURE: support for emoji sets
Added following emoji sets
  - Apple/International
  - Emoji One (default)
  - Android/Google
  - Twitter

FIX: translations from plugins weren't properly merged with default translations
FEATURE: new 'site_setting_changed' event
2014-12-11 17:08:47 +01:00
Neil Lalonde 5f2c746853 remove unused site settings company_domain, company_full_name, company_name 2014-12-03 15:39:53 -05:00
Sam 6b10c4dc54 add support for hidden api keys, used in hosting scenarios 2014-11-20 15:38:20 +11:00
Sam 6bed4e1bf0 add allowed_ips to api_keys
update annotations
2014-11-20 14:53:15 +11:00
Sam b4844d4477 FIX: correct old username index
(in some cases search was not finding accounts)
2014-11-18 14:32:23 +11:00
Régis Hanol ec76be964e UX: better footer handling 2014-11-10 21:51:55 +01:00
Sam 2251877332 FIX: "Dismiss Posts" corrupting read state
REFACTOR: seen_post_count was a bad name, renamed to highest_seen_post_number
2014-10-31 09:40:35 +11:00
Régis Hanol e7f251c105 LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Robin Ward 71f211f0b3 FEATURE: Allow users to select a badge with an image to appear on their
user card
2014-10-20 16:35:38 -04:00
Robin Ward 1cf4a0d604 Rename "User Expansion" to the much clearer "User Card" 2014-10-20 12:11:59 -04:00
Arpit Jalan 2131a37811 FEATURE: show raw email for replies/topics created via email 2014-10-17 22:22:19 +05:30
Robin Ward 4d465362b5 FEATURE: Allow a user to upload an image for their expansion background. 2014-10-16 15:05:36 -04:00
Sam 2bace90054 FIX: migration would break if locale was forced to french 2014-10-14 18:07:59 +11:00
Robin Ward 84af9d2bff FIX: If we migrated your TOS setting, fix the name so it doesn't look
weird in the admin section.
2014-10-14 15:52:36 -04:00
David McClure 19d5362c6b FEATURE: ability to hide or show specific post revisions 2014-10-14 07:19:45 -07:00
Régis Hanol 5754e8dd0f FEATURE: auto-close topics based on last post 2014-10-10 18:21:44 +02:00
Robin Ward f9a8f6d6ce FEATURE: Support for a `required` setting on user fields. 2014-10-08 15:10:19 -04:00
Neil Lalonde 8a88e71b3c FEATURE: permalinks lookup table can redirect to any arbitrary url 2014-10-08 11:51:24 -04:00
Sam 0e7be81e60 FIX: badge granted titles were not being revoked when badge was revoked 2014-10-08 10:26:18 +11:00
Robin Ward 381814fd5d Adds support for a description to user fields. 2014-10-02 15:56:52 -04:00
Sam 72a28aeb7c FEATURE: always show highest trust level badge in card
FEATURE: fa-user icon for trust level badges
2014-10-02 16:08:31 +10:00
Régis Hanol 98b6b9821a FEATURE: log topic/post deletions from staff members 2014-10-01 17:40:13 +02:00
Robin Ward 206bf99553 FIX: Use `cmd_tuples` instead of checking row index for migration. 2014-09-30 10:51:01 -04:00
Robin Ward 8b5a1cd20f Migrate `tosAccepted` to new user fields 2014-09-30 10:45:18 -04:00
Robin Ward edb34c178a FEATURE: Show user fields when the user is signing up 2014-09-30 10:45:18 -04:00
riking e69d084c88 Add trust_level_locked column 2014-09-30 13:15:13 +10:00
Robin Ward 0fc0533134 FEATURE: Admin interface for adding custom fields for users 2014-09-25 16:17:51 -04:00
Robin Ward bc53d48bd7 Renaming site contents to site text 2014-09-24 16:08:14 -04:00
Sam 58eabb03e5 FEATURE: api support for arbitrary unlinked assets
admins can set retain periods for assets
2014-09-23 16:50:17 +10:00
Régis Hanol 6ca5a9b82c FIX: migration name
Was generating: `NameError: uninitialized constant PrivateMessagesHaveNoCategoryId`
2014-09-11 10:11:12 +02:00
Sam 0f585bcdbe FIX: PM should never be allowed to have a category
FIX: TL3 should not be allowed to muck with PM titles
2014-09-11 17:39:34 +10:00
Sam faefa3cc22 Merge pull request #2781 from oblakeerickson/api_seed_data
add rake task and seed data for discourse_api
2014-09-11 16:17:28 +10:00
Sam 43e132d5a6 FEATURE: sharing badges (nice share, good share, great share)
FIX: bad translation
2014-09-11 13:10:37 +10:00
Blake Erickson 5f124df251 add rake task and seed data for discourse_api 2014-09-10 20:53:21 -06:00
Sam 7f3797b635 FEATURE: Nice Topic, Good Topic and Great Topic badges
Note we will revoke all old badges post badges that went to post #1
and instead get topic badges
2014-09-11 12:36:37 +10:00
Sam af75360942 PERF: reverse index on topic users to speed up join 2014-09-10 23:03:59 +10:00
Robin Ward 56eda5abf9 FIX: Don't allow profile bios longer than 3k chars 2014-09-08 15:23:21 -04:00
Robin Ward 4f6b9815ae FEATURE: List moderator warnings on admin dashboard 2014-09-08 13:25:02 -04:00
Robin Ward 334e21a03a Revert "Revert "FEATURE: Can create warnings for users via PM""
This reverts commit 1c7559380c.
2014-09-08 11:11:56 -04:00
Robin Ward 1c7559380c Revert "FEATURE: Can create warnings for users via PM"
This reverts commit b0bfc1f93f.
2014-09-08 10:38:59 -04:00
Robin Ward b0bfc1f93f FEATURE: Can create warnings for users via PM 2014-09-08 10:27:06 -04:00
Sam 96ac2f63cd Rename trust level badges 2014-09-05 16:38:29 +10:00
Sam 59d04c0695 Internal renaming of elder,leader,regular,basic to numbers
Changed internals so trust levels are referred to with

TrustLevel[1], TrustLevel[2] etc.

This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
Sam 9d340a2e0c FIX: migrate trust level site settings 2014-09-05 08:10:55 +10:00
Robin Ward 1c5e8efa68 FEATURE: Show an email icon beside posts that arrived via email 2014-09-04 13:04:41 -04:00
Sam 628a99090c FIX: ensure double flagging is impossible due to db constraint 2014-09-04 16:33:39 +10:00
Kamil Bielawski bf679f1626 FIX: destroy CategoryGroup when Category or Group is destroyed 2014-08-31 22:10:38 +02:00
Sam c07d76677d Merge pull request #2701 from riking/email-pr-ssl
Rename POP3 settings, fix multisite SSL state leak
2014-08-29 10:02:05 +10:00
Neil Lalonde 464a922910 FIX: permalinks table: increase limit of url column, make url index unique 2014-08-28 16:16:39 -04:00
Neil Lalonde 14890a6002 FEATURE: add a way to map arbitrary urls to a topic, post, or category. Useful for sites that have migrated to Discourse and want to redirect from their old site to Discourse with 301 redirects. 2014-08-28 15:58:24 -04:00
Sam 414c6d191f FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
riking 6d357c9c23 Rename pop3s settings to pop3, remove 'insecure' 2014-08-26 17:03:58 -07:00
Eyal Levin 94cb0c687b name_lower can't be nil. 2014-08-26 15:25:23 +03:00
Wilhansen Li e0f970326f Implement SSO overriding avatars.
Implemented by having Discourse download the image from the provided URL
and treating it as a custom upload.

Adds two more parameters to the SSO site’s response:

* `avatar_url` specifies the URL of the overriding avatar.
* `avatar_force_update` Discourse does not re-download avatars that
has already been download from the same URL. Setting this to true forces
Discourse to re-download the avatar in `avatar_url`

Note that both parameters are ignored if `sso_overrides_avatar` is set
to false.
2014-08-19 15:53:34 +08:00
Neil Lalonde 1445ad61da FIX: case-insensitive category lookup when creating topics 2014-08-18 11:07:49 -04:00
Jeff Atwood d09b30775c better copy on a few default topics 2014-08-18 01:51:44 -07:00
Sam ad1ae911f7 FIX: missing index 2014-08-18 12:38:27 +10:00
Neil Lalonde c0b6e399d8 FIX: handle deferred and disagreed post actions 2014-08-15 15:33:51 -04:00
Neil Lalonde bca855d80e FIX: from Sam: post_actions.targets_topic should not be nullable. Delete duplicate likes and prevent them from happening again. 2014-08-15 14:57:11 -04:00
Robin Ward 3c6673aceb Purge inactive accounts that are older than 7 days 2014-08-13 14:13:41 -04:00
Régis Hanol 85570ddc77 TRIVIAL: fix grammar on 'deferred' columns 2014-08-11 11:56:54 +02:00
Sam 22cd259687 FIX: remove faulty "ensure consistency" badge job 2014-08-11 09:21:06 +10:00
Sam b8d7fb8735 FIX: first flag should not auto revoke 2014-08-10 08:41:23 +10:00
Sam c1cbf1b269 PERF: new table used for title similarity search 2014-08-08 15:50:26 +10:00
Sam b5045a005f PERF: last seen index on users 2014-08-07 13:33:11 +10:00
Sam 0b01310c84 FIX: system badges where created under id 100 2014-08-06 10:51:39 +10:00
Sam b11b5cb61b SECURITY: rebake old user profiles 2014-08-05 16:37:56 +10:00
Sam cb0ecd9ff1 PERF: store topic views in a topic view table
* cut down on storage of the work Topic, 3 times per row (in 2 indexes)
* only store one view per user per topic
* only store one view per ip per topic
2014-08-04 19:07:55 +10:00
Sam 03c8f09be8 PERF: finalize porting to new incoming links structure 2014-08-04 16:43:57 +10:00
Sam 22768a4b68 PERF: refactor incoming links table 2014-08-04 12:35:55 +10:00
Sam 0920c4bea6 PERF: reduce storage requirements for incoming links
Only store incoming links for topics.
2014-08-04 11:06:48 +10:00
Robin Ward 09d7a697bf OPTIMIZATION: Add index to `post_timings` and adjust the query 2014-08-01 13:14:00 -04:00
Sam 81c0fe2894 FIX: Don't trigger share badge (only run daily)
too expensive, wrong trigger anyway.
2014-08-01 12:48:11 +10:00
Sam e9a1af0113 FIX: Do not suppress reply-to when other posts quoted 2014-07-31 11:40:02 +10:00
Régis Hanol 220f9e21e3 FIX: 'undo flag' marks the flag as disagreed 2014-07-30 23:35:42 +02:00
Sam e7e70d14da Merge pull request #2591 from BenLubar/benlubar-edit-history-public
add profile option for edit history visibility
2014-07-30 14:09:10 +10:00
Sam ebf385aedc FEATURE: allow title overridable 2014-07-30 08:46:59 +10:00
Robin Ward 7cc4a157f6 Merge pull request #2603 from techAPJ/patch-1
FEATURE: allow staff to send multiple invites to same email
2014-07-29 14:58:39 -04:00
Arpit Jalan f571abfaaf FEATURE: allow staff to send multiple invites to same email 2014-07-30 00:13:11 +05:30
Neil Lalonde eaafbccb53 Seed the Admin Quick Start Guide topic last so it appears as the newest topic 2014-07-29 14:30:32 -04:00
Neil Lalonde 81ff121fe8 FIX: length error when seeding legal docs on a site with a low max post length 2014-07-28 16:40:14 -04:00
Régis Hanol bddffa7f9a FEATURE: flag dispositions normalization
All flags should end up in one of the three dispositions
  - Agree
  - Disagree
  - Defer

In the administration area, the *active* flags section displays 4 buttons
  - Agree (hide post + send PM)
  - Disagree
  - Defer
  - Delete

Clicking "Delete" will open a modal that offer to
  - Delete Post & Defer Flags
  - Delete Post & Agree with Flags
  - Delete Spammer (if available)

When the flag has a list associated, the list will now display 1
response and 1 reply and a "show more..." link if there are more in the
conversation. Replying to the conversation will NOT give a disposition.
Moderators must click the buttons that does that.

If someone clicks one buttons, this will add a default moderator message
from that moderator saying what happened.

The *old* flags section now displays the proper dispositions and is
super duper fast (no more N+9999 queries).

FIX: the old list includes deleted topics
FIX: the lists now properly display the topic states (deleted, closed,
archived, hidden, PM)
FIX: flagging a topic that you've already flagged the first post
2014-07-28 19:28:07 +02:00
Ben Lubar 44dc4b4a17 add profile option for edit history, visible only when edit history is disabled globally. 2014-07-26 23:04:46 -05:00
Sam 0ab456b647 FIX: allow position to be changed post seed 2014-07-27 11:33:33 +10:00
Sam 782773f774 FIX: kick system badges out of other 2014-07-27 11:30:55 +10:00
Neil Lalonde 5a33e6f00c Move FAQ, Terms of Service, and Privacy Policy into topics in the Staff category. First post of those topics will be rendered on their respective pages. Site settings and content are not used for these documents anymore. Translations of the default text is moved into the standard YML files. 2014-07-25 14:41:20 -04:00
Sam 40af9ce612 FIX: do not store incoming links on avatars or uploads 2014-07-25 15:10:06 +10:00