Commit graph

1600 commits

Author SHA1 Message Date
Kamil Bielawski
bf679f1626 FIX: destroy CategoryGroup when Category or Group is destroyed 2014-08-31 22:10:38 +02:00
riking
1833b43ae2 FEATURE: Badge query validation, preview results, and EXPLAIN
Upon saving a badge or requesting a badge result preview,
BadgeGranter.contract_checks! will examine the provided badge SQL for
some contractual obligations - namely, the returned columns and use of
trigger parameters.

Saving the badge is wrapped in a transaction to make this easier, by
raising ActiveRecord::Rollback on a detected violation.

On the client, a modal view is added for the badge query sample run
results, named admin-badge-preview.
The preview action is moved up to the route.
The save action, on failure, triggers a 'saveError' action (also in the
route).

The preview action gains a new parameter, 'explain', which will give the
output of an EXPLAIN query for the badge sql, which can be used by forum
admins to estimate the cost of their badge queries.
The preview link is replaced by two links, one which omits (false) and
includes (true) the EXPLAIN query.

The Badge.save() method is amended to propogate errors.

Badge::Trigger gets some utility methods for use in the
BadgeGranter.contract_checks! method.

Additionally, extra checks outside of BadgeGranter.contract_checks! are
added in the preview() method, to cover cases of null granted_at
columns.

An uninitialized variable path is removed in the backfill() method.

TODO - it would be nice to be able to get the actual names of all
columns the provided query returns, so we could give more errors
2014-08-31 11:25:44 -07:00
Neil Lalonde
ec42b61a4d FIX: suspended users cannot be trust level 3 2014-08-29 12:33:34 -04:00
riking
3396e6fea3 Centralize MessageBus post updates
After this change, only two files directly publish to MessageBus with a
topic interpolated in the channel: Post and TopicUser.
2014-08-28 20:40:36 -07:00
Sam
8ab9c57ca5 Merge pull request #2707 from eyalev/rtl-email
Enable RTL direction in emails.
2014-08-29 09:54:57 +10:00
Sam
5b696ca25a Merge pull request #2708 from Wilhansen/sso_override_avatar
Fix SSO avatar downloading issues.
2014-08-29 09:53:48 +10: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
Robin Ward
69cb5bc425 FIX: Centralize Top rendering, remove old code paths. Fix some bugs. 2014-08-28 14:34:31 -04:00
Robin Ward
0ae3c327de Add a message to the staff logs indicating why a user was purged 2014-08-27 16:05:07 -04:00
Neil Lalonde
99d26cef1a FIX: uncategorized counts were always 0. topics_year, topics_month, topics_week, topics_day 2014-08-27 15:58:32 -04:00
Wilhansen Li
bba3f7c0ac Fix SSO avatar downloading issues.
* Follow redirects when downloading SSO avatars.
* Add proper image ext. to downloaded SSO avatars.
2014-08-27 21:35:54 +08:00
Eyal Levin
e0c2f3df3a Enable RTL direction in emails. 2014-08-27 14:38:03 +03:00
Sam
87d2be3ecf FIX: ensure triggered badges are never triggered if filter is missing 2014-08-27 18:02:13 +10:00
Sam
898d86fd9b correct annotations 2014-08-27 15:30:17 +10:00
Sam
414c6d191f FIX: remove nullable dates post upgrade to Rails 4 2014-08-27 15:19:25 +10:00
Sam
1ccfb4fa20 FIX: crashing job 2014-08-26 16:22:13 +10:00
Robin Ward
ed125975a1 SECURITY: Prefix session key and validate token format. 2014-08-25 15:31:49 -04:00
Neil Lalonde
bbb358b356 Add likes given and likes received requirement for being TL3. Configure with site settings leader_requires_likes_given and leader_requires_likes_received. 2014-08-22 17:33:39 -04:00
Neil Lalonde
00c28f2391 Show total likes given. Put likes given/received and flags given/received together. 2014-08-22 15:23:19 -04:00
Neil Lalonde
dafc63e3a0 Show how many likes users received in the last 100 days on their admin profile page 2014-08-22 14:37:07 -04:00
Neil Lalonde
5454c1ed24 Updated model anotations 2014-08-22 13:01:44 -04:00
Sam
c865bf0d71 Merge pull request #2670 from Wilhansen/sso_override_avatar
Implement SSO overriding avatars.
2014-08-22 10:22:06 +10:00
Robin Ward
506dca6d4e FIX: Moving posts was not updating reply_count and
`reply_to_post_number` so reply linkage was broken.
2014-08-20 14:15:23 -04:00
Akshay
0862a65d4a renamed unused variables properly 2014-08-20 23:44:19 +05:30
Régis Hanol
054ae8bc13 TRIVIAL: do not remove backups in development 2014-08-20 18:58:58 +02:00
Robin Ward
c316894167 TWEAK: Don't include moderators on "About" if they are admins. 2014-08-20 12:43:02 -04:00
Neil Lalonde
96eecf18ef FIX: moving a post to a topic with a deleted post should use correct post_number. Was getting unique index violation on (topic_id, post_number). 2014-08-20 12:28:53 -04:00
Robin Ward
6ef85ea014 UX: Don't highlight the latest poster in the topic list if there is only
one avatar shown.
2014-08-20 12:09:39 -04:00
Robin Ward
3235f2c477 FIX: Don't try and delete inactive admins, rare as they may be. 2014-08-19 13:47:01 -04:00
Régis Hanol
f2b0228164 FIX: unhide post when a moderator undos the flag on which s/he took action 2014-08-19 16:14:17 +02:00
Akshay
3fd784b513 removed useless assignments at some places 2014-08-19 18:10:23 +05:30
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
Akshay
9d11ccc42e removed usless access modifiers specified in models 2014-08-19 07:28:21 +05:30
Neil Lalonde
1445ad61da FIX: case-insensitive category lookup when creating topics 2014-08-18 11:07:49 -04:00
Régis Hanol
d7b1313d5e FEATURE: acting on a flag should not post an automated status message if you already replied to it 2014-08-18 17:00:14 +02:00
Régis Hanol
0d72b670f8 Merge pull request #2666 from akshaymohite/optimization-fixes
Fixed ActiveRecord validation for post_id in incoming_link.rb
2014-08-18 16:14:56 +02:00
Régis Hanol
e1191a5fcf Merge pull request #2511 from windhamg/s3_iam_role
support for EC2 IAM roles with Amazon S3 file store/backup
2014-08-18 16:14:14 +02:00
Akshay
fd6683697f Fixed ActiveRecord validation for post_id in incoming_link.rb 2014-08-18 19:11:34 +05:30
Régis Hanol
66aaa9329e FEATURE: vBulletin importer 2014-08-18 13:04:08 +02:00
Akshay
b4e38e5646 updated checks of environment with Rails.env by Rails.env methods 2014-08-18 15:36:47 +05:30
Sam
5193c9fd16 FIX: ensure consistency on topic featured users 2014-08-18 17:13:32 +10:00
Sam
f7d4cb6745 FIX: incorrect tooltip, most posts was only sometimes right 2014-08-18 17:13:32 +10:00
Sam
8737ffb272 Merge pull request #2658 from akshaymohite/optimization-fixes
Not initializing variable for looping if unused in loop
2014-08-18 14:42:52 +10:00
Sam
baaa3e0f9f FIX: #2664 it should be validates not validate
Thanks @chancancode
2014-08-18 14:40:54 +10:00
Sam
e18b030b8a SECURITY: stop potential symbol leak 2014-08-18 13:00:02 +10:00
Sam
9ba8b29e98 FIX: API should return post_action or nil, true is wrong 2014-08-18 12:03:46 +10:00
Arpit Jalan
8d7f4c1944 FEATURE: add additional fields in user list export 2014-08-16 00:39:28 +05:30
Akshay
6301a43d57 Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
Robin Ward
167f393a03 Merge pull request #2655 from techAPJ/patch-3
FEATURE: export user list
2014-08-14 17:19:49 -04:00
Arpit Jalan
b0f44dcdf3 clean up exports weekly 2014-08-15 02:03:30 +05:30
Arpit Jalan
d0736a06b6 FEATURE: export user list 2014-08-15 01:46:57 +05:30
Akshay
7ef61144e7 Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
Robin Ward
ba15a6a9ea PERF: Only delete 100 inactive users at once 2014-08-13 17:56:40 -04:00
Régis Hanol
4c4ce05964 FIX & PERF: vanilla import
PERF: disabled refresh_avatar callback when importing users
PERF: avoid using UsernameSuggester when not needed
FIX: categories wasn't working
FIX: posts from deleted users are now from the system user
2014-08-13 22:20:06 +02:00
Robin Ward
22de2edae7 FIX: Allow a search for a parent slug when a child exists with the same
name.
2014-08-13 15:24:28 -04:00
Robin Ward
7ed969f0c7 Site Setting to customize how frequently inactive users are purged 2014-08-13 15:11:19 -04:00
Robin Ward
74d9293ca9 FIX: Allow duplicate slugs when the parent category is not the same 2014-08-13 14:45:25 -04:00
Robin Ward
3c6673aceb Purge inactive accounts that are older than 7 days 2014-08-13 14:13:41 -04:00
Robin Ward
9a1580244a FIX: Don't show profile pages for inactive users and don't show them in
search results.
2014-08-13 13:30:25 -04:00
Régis Hanol
a62968c846 FIX: actually compute top score for 'older' periods 2014-08-12 19:42:46 +02:00
Robin Ward
36f081bf43 FIX: Don't show the category edit button unless the user can edit the
category
2014-08-12 13:31:05 -04:00
Neil Lalonde
e40e9351f6 FIX: don't allow same category name with different case 2014-08-12 11:40:33 -04:00
Robin Ward
c8767dc505 UX: Tweak about page 2014-08-11 18:15:49 -04:00
Robin Ward
c103398e9a First stab at About page 2014-08-11 16:59:15 -04:00
Neil Lalonde
e564614b70 PERF: fix performance of Group.refresh_automatic_group! by removing a nasty IN clause. Thanks for helping, Donald Chea! 2014-08-11 13:34:01 -04:00
Régis Hanol
85570ddc77 TRIVIAL: fix grammar on 'deferred' columns 2014-08-11 11:56:54 +02:00
Régis Hanol
e64d3b8a42 FIX: disagree flag should unhide hidden post 2014-08-11 10:48:00 +02:00
Sam
eeff092ead PERF/FIX: Dismiss Post coming back
Now that post numbers are monotonically increasing we should not need this job
Stuff should just self correct as users browser along

Corrected the job not to reset the disimissed posts in case we need it
2014-08-11 10:26:46 +10:00
Sam
22cd259687 FIX: remove faulty "ensure consistency" badge job 2014-08-11 09:21:06 +10:00
Robin Ward
859167470e PERF: Limit the amount of badges fixed in the consistency check. 2014-08-08 15:13:43 -04:00
Sam
c1cbf1b269 PERF: new table used for title similarity search 2014-08-08 15:50:26 +10:00
Sam
16b7004767 PERF: optimise and improve topic similarity search
FIX: shows up similarity search with blank results
2014-08-08 12:12:53 +10:00
Sam
953d3f2151 PERF: add optional delta badge filtering
This is tricky and optional, some badges are very expensive to calculate

pass in :backfill , :post_ids and :user_ids to all badge queries so they
can do pre-filtering, if you do it after the sub-query it is too late
2014-08-08 10:02:43 +10:00
Sam
cd22b6158c PERF: stop mucking with user stats every 15 minutes
(pushed to twice daily)
2014-08-07 14:20:42 +10:00
Sam
b5045a005f PERF: last seen index on users 2014-08-07 13:33:11 +10:00
Sam
022109bc76 FIX: avoid exception in path that is very exception prone 2014-08-07 13:14:39 +10:00
Robin Ward
6783565d8f Revert "Enable RTL direction in emails." 2014-08-06 15:30:07 -04:00
Eyal Levin
f8c99a35d0 Enable RTL direction in emails. 2014-08-06 15:27:15 +03:00
Sam
0b01310c84 FIX: system badges where created under id 100 2014-08-06 10:51:39 +10:00
Sam
b573b3227e FIX: catch specific exception 2014-08-06 10:00:55 +10:00
Robin Ward
06c681b0de Merge pull request #2617 from techAPJ/patch-2
FEATURE: dynamically load more invites
2014-08-05 12:54:06 -04:00
Arpit Jalan
4cd8abc905 FEATURE: dynamically load invites 2014-08-05 22:20:23 +05:30
Sam
b11b5cb61b SECURITY: rebake old user profiles 2014-08-05 16:37:56 +10:00
Sam
3cab3acd60 FIX: stop logging way too much information 2014-08-05 16:14:28 +10:00
Sam
4536f772c1 FIX: more reliable topic list counts
- unread was not incrementing when you read last post on topic
- new notifications were being inserted even if they existed in list
- terminology was all mixed up "1 new posts", split to 3 messages
- latest behaves as expected, updating count of new and updated topics
2014-08-05 13:27:34 +10:00
Régis Hanol
17debbdcda FIX: make sure no more than one 'status' reply is put in a PM (for multiple flags on the same post) 2014-08-04 19:39:36 +02:00
Régis Hanol
2e134742d4 FIX: only show 'defer flags' when there are active flags on the post 2014-08-04 17:29:01 +02: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
0ccb8e17cb remove invalid join 2014-08-04 16:55:16 +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
44a6fb0f0a Annotate changes 2014-08-04 11:06:48 +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
Neil Lalonde
b368667703 FIX: don't validate topic title if it isn't changing. topic stats were failing to update, causing necro topic warnings and other problems. 2014-08-01 17:30:07 -04:00
Robin Ward
0a2036a99a OPTIMIZATION: Don't run 12 queries every 15 mins for the Top section.
Instead, run the daily queries once every hour, and the reset of the
queries once a day.
2014-08-01 16:25:20 -04:00
Robin Ward
09d7a697bf OPTIMIZATION: Add index to post_timings and adjust the query 2014-08-01 13:14:00 -04:00
Neil Lalonde
3b46b5ecbf FIX: TL3 requirements now only counts agreed flags 2014-07-31 10:43:18 -04:00
Sam
e907cca62e annotate 2014-07-31 13:14:40 +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
Sam
b2e29526ff FIX: custom css not using CDN 2014-07-29 14:55:48 +10:00
Régis Hanol
44ba74789b FIX: actually retrieve the first 2 posts in a conversation about a flag 2014-07-28 22:54:03 +02:00
Régis Hanol
57fef6864d FIX: update_counters wasn't properly updating topic counters 2014-07-28 22:08:31 +02: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
David McClure
025354f52f add a low water mark at 90% of variable TL3 requirements 2014-07-27 23:42:38 -07:00
Sam
621b86dbb3 FIX: regression in seed 2014-07-27 18:32:04 +10:00
Sam
1a6aa07611 FEATURE: editable badge groups 2014-07-27 18:22:01 +10: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
Robin Ward
6ba5f715f3 FIX: There was an error renaming the Uncategorized topic 2014-07-25 16:36:34 -04: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
Robin Ward
be408242bc Merge pull request #2581 from awesomerobot/master
new notification style, poster expansion border, changing media screen to media all...
2014-07-25 10:55:43 -04:00
Sam
354d40a6ea FIX: system attribute not set correctly on new badges 2014-07-25 15:22:29 +10:00
Kris Aubuchon
4a1ec20585 adding border to poster expansion, changing media screen to media all, trying new notification style 2014-07-24 12:21:22 -04:00
Sam
ec03d135fa FEATURE: allow advanced badge options in admin screen
clean up serializer, allow simplistic preview
2014-07-24 18:28:23 +10:00
Sam
0f9678fe49 FIX: faster update of all badges
Introduced badge triggers, introduced concept of badge that happens due to a post but has the post hidden

Delta badge grant happens once a minute, backed by redis
2014-07-23 11:46:07 +10:00
Sam
007310c4a2 Wire up triggers 2014-07-23 11:43:17 +10:00
Sam
b9a7d945c3 Improve badge grouping UI
Start work on triggers
2014-07-23 11:43:17 +10:00
Robin Ward
3aa8d8efa1 FIX: Acting and undoing repeatedly was broken 2014-07-18 16:17:11 -04:00
Robin Ward
ffa84d9bb4 If you rename a category, also rename the category definition topic. 2014-07-18 13:59:54 -04:00
Régis Hanol
c7330ed73f BUGFIX: errors when post-processing 'data images' 2014-07-18 17:54:18 +02:00
Sam
ed6766ccad FEATURE: push Reader up to 100 2014-07-18 15:57:03 +10:00
Sam
4feedecce4 BUGFIX: orphan badge groupings 2014-07-18 15:55:42 +10:00
Sam
c8284170ad FEATURE: badge grouping UI
FIX: not loading more badges on badge show page
2014-07-18 15:46:36 +10:00
riking
12cb682548 Start passing more context to Discourse.handle_exception 2014-07-17 14:11:56 -07:00
Robin Ward
ede8f22971 Use the header background color for a site in the digest email. 2014-07-17 12:31:37 -04:00
Sam
bfb37054e8 Badge Grouping work in progress 2014-07-17 16:11:10 +10:00
Sam
e8ca1a2469 FEATURE: allow overriding badge names
FEATURE: allow html in badge description
2014-07-17 16:11:09 +10:00
Sam
d56d7866ff FIX invite redeem more robust 2014-07-17 09:38:16 +10:00
Arpit Jalan
c14a35f173 FIX: If the invite with topic id already exists, redirect user to home page instead 2014-07-17 03:10:38 +05:30
Robin Ward
fb8dda7f42 FIX: We should use category_id instead of category_name to perform
operations, now that the subcategory names are not unique.
2014-07-16 15:40:35 -04:00
Régis Hanol
7dcf2a2c4f FEATURE: show the user's flagged/deleted posts 2014-07-16 21:04:55 +02:00
Neil Lalonde
939e8505a9 Remove hub username integration 2014-07-16 12:25:24 -04:00
Neil Lalonde
01a68f8cc7 Emails are case insensitive 2014-07-16 10:22:01 -04:00
Sam
5ad519e2bc Rename Read Faq, Read Guidelines 2014-07-16 17:55:08 +10:00
Sam
59c399c50a FIX: count distinct badges for totals. 2014-07-16 16:21:46 +10:00
Robin Ward
f2dd35ab08 Improve the unsubscribe to digest experience. Give a link in case it
fails, provide a different message if you are logged in as a different
user, increase expiry to 2 months from 1 week.
2014-07-15 17:20:59 -04:00
Sam
7dade2cd99 excludes self from quoted 2014-07-16 06:56:24 +10:00
Arpit Jalan
a1112347d4 FIX: Instead of silently failing, assign alternative username when provided username is invalid in disposable invite 2014-07-16 01:19:48 +05:30
Robin Ward
c6df00a5cc FIX: You shouldn't be able to add a parent to Uncategorized 2014-07-15 15:19:39 -04:00
Robin Ward
6d7531f690 Merge pull request #2542 from techAPJ/patch-1
FEATURE: topic support in disposable invites
2014-07-15 15:15:19 -04:00
Arpit Jalan
8862a881f8 FEATURE: topic support in disposable invites 2014-07-15 23:11:06 +05:30
Sam
2d0def9940 FIX: First Quote badge bust
Feature: track quoted posts
2014-07-15 17:47:24 +10:00
Sam
4c25fedf70 FEATURE: Reader badge
Read a every post in a topic that if 50 posts or longer
2014-07-15 15:16:41 +10:00
Sam
45ca83328d Annotate 2014-07-15 11:29:44 +10:00
Neil Lalonde
42dcb77d93 FEATURE: add site setting leader_links_no_follow to control whether users with trust level 3 or higher have nofollow on their links 2014-07-14 13:34:29 -04:00