Sam Saffron
fb91d24deb
PERF: add index on user email logs
...
This index makes it much faster to figure out if a user reached
email limit on sites where lots of emails are skipped
2018-02-07 11:33:28 -05:00
Arpit Jalan
f88b8a8945
rename 'default_email_private_messages' to 'default_email_personal_messages'
2018-02-01 13:25:29 +05:30
Arpit Jalan
6be536ca50
rename 'max_private_messages_per_day' to 'max_personal_messages_per_day'
2018-02-01 13:25:29 +05:30
Arpit Jalan
7cda3a37af
rename 'private_email_time_window_seconds' to 'personal_email_time_window_seconds'
2018-02-01 13:25:29 +05:30
Arpit Jalan
7e48c47d37
rename 'enable_private_email_messages' to 'enable_personal_email_messages'
2018-02-01 13:25:29 +05:30
Arpit Jalan
ff0376a80b
rename 'enable_private_messages' to 'enable_personal_messages'
2018-02-01 13:25:29 +05:30
Arpit Jalan
25ec077eca
rename 'min_private_message_{post/title}_length' to 'min_personal_message_{post/title}_length'
2018-02-01 13:25:29 +05:30
Guo Xiang Tan
55f47491a4
Remove stale GA site setting records from the DB.
2018-01-27 09:15:46 +08:00
Robin Ward
6b04967e2f
FEATURE: Staff members can lock posts
...
Locking a post prevents it from being edited. This is useful if the user
has posted something which has been edited out, and the staff members don't
want them to be able to edit it back in again.
2018-01-26 14:01:30 -05:00
Guo Xiang Tan
9c66473c4c
Add index for EmailLog#topic_id
and EmailLog#post_id
.
2018-01-11 17:28:14 +08:00
Arpit Jalan
84026ad1fd
FIX: check for existing translation keys before replacing blocked with silenced
2017-12-28 18:58:18 +05:30
Arpit Jalan
5ca558c7c5
FIX: add migration to replace 'blocked_by_staff' with 'silenced_by_staff'
2017-12-28 18:11:39 +05:30
Sam
67aecff59c
FEATURE: store twitter supplied email for auditing
2017-12-14 15:54:32 +11:00
Arpit Jalan
895cc0666b
FIX: replace invitee_name to inviter_name in translation overrides
2017-12-13 18:17:52 +05:30
typeoneerror
d568402102
Updates api_test_seeds for multiple auth_token support ( #5414 )
2017-12-09 08:56:11 +11:00
Arpit Jalan
e3925278e2
FEATURE: support search click through tracking for user, category and tags
...
https://meta.discourse.org/t/search-logs-page/73281/11?u=techapj
This commit adds following features:
- support for tracking click through to user, tag and category
- new filter for search type (header, full page)
This commit also removes "most viewed topic" field from search logs page because we are now tracking multiple click through entities, so topic is not a special entity anymore. This also improves query perf. The query now takes `20.5ms` to runs, as opposed to `655.9ms` previously.
2017-12-01 12:04:55 +05:30
Robin Ward
77f90876d3
REFACTOR: Track manual locked user levels separately from groups
2017-11-27 11:23:44 -05:00
Gerhard Schlager
8f6d35aa59
FEATURE: category setting for mailinglist mirror
2017-11-17 15:29:14 +01:00
Neil Lalonde
b37e40eea9
FEATURE: show read time in last 60 days
2017-11-16 15:46:51 -05:00
Robin Ward
971e302ff2
FEATURE: Support an end date for user silencing
2017-11-14 13:20:19 -05:00
Robin Ward
1f14350220
Rename "Blocked" to "Silenced"
2017-11-10 14:10:27 -05:00
Michael Howell
38b8d68c68
FEATURE: Allow the user to select a custom home page ( #5268 )
...
* Add user_home configuration option
* Use the new user_home preference to actually show the right home page
* Fix trailing whitespace
* Update user_option_serializer.rb
* Fix JavaScript default homepage tests
* Use an object instead of a giant switch
* Remove trailing whitespace
* Make the default `user_home` set to `null` instead of `0`
* Rename user_home to homepage_id
2017-11-10 06:45:19 +11:00
Guo Xiang Tan
b3237d37f0
Drop unused email column from users table.
2017-11-07 10:12:33 +08:00
Guo Xiang Tan
79de10b212
FEATURE: Allow users to disable new PMs.
...
https://meta.discourse.org/t/is-it-possible-to-disable-private-messaging-for-a-specific-user/46391
2017-10-19 12:32:55 +08:00
Guo Xiang Tan
eb85922083
Revert "Remove unnecessary SiteSetting.refresh!
."
...
This reverts commit 4556e95837
.
2017-10-12 17:43:58 +08:00
Guo Xiang Tan
4556e95837
Remove unnecessary SiteSetting.refresh!
.
...
* It is already `refresh!`ed in our initializer.
2017-10-12 17:15:26 +08:00
Neil Lalonde
1faae3c765
rename forgot_password_strict to hide_email_address_taken
2017-10-03 15:28:31 -04:00
Guo Xiang Tan
77d4c4d8dc
Fix all the errors to get our tests green on Rails 5.1.
2017-09-25 13:48:58 +08:00
Régis Hanol
8a935a4b5f
FEATURE: new badges when visiting the forum for 10, 100 and 365 consecutive days
2017-09-06 22:35:08 +02:00
Arpit Jalan
66f2925348
SECURITY: do not include links from whispers in topic summary map
...
https://meta.discourse.org/t/staff-whispers-links-in-whispers-showing-up-publicly-in-topics-summary/69134?u=techapj
2017-08-31 23:44:54 +05:30
Sam Saffron
85ff6b8083
hold back on dropping email for now
2017-08-30 10:40:49 -04:00
Sam
c705159d22
Remove email column from user table
2017-08-29 11:50:56 -04:00
Sam
e282f10d94
defer drop alias_level
2017-08-28 13:26:13 -04:00
Bianca Nenciu
6bc74ceb50
Split alias levels in mentionable and messageable levels. ( #5065 )
...
* Split alias levels in mentionable and messageable levels.
* Fixed some tests.
* Set messageable level to everyone by default.
* By defaults, groups are not mentionable or messageable.
* Made staff groups messageable by the system.
2017-08-28 12:32:08 -04:00
Neil Lalonde
2c56f8df7c
FEATURE: show tags in search results
2017-08-25 11:52:59 -04:00
Sam
237968b1b7
PERF: add an index on slug to make sure that slug lookups are quick
2017-08-24 13:33:25 -04:00
Erick Guan
6e59149a77
FIX: rebuild index when engine replaced ( #5021 )
2017-08-16 07:38:34 -04:00
Guo Xiang Tan
b404a4b97c
Merge pull request #5034 from tgxworld/fix_staged_primary_email
...
FIX: Staged users are still missing primary email.
2017-08-10 10:30:51 +09:00
Guo Xiang Tan
7a4aee4a7e
FIX: updated_at
needs to be set in migration as well.
2017-08-09 20:52:13 +09:00
Guo Xiang Tan
a9613163b5
FEATURE: Force user to enter reason when requesting for group membership.
2017-08-09 15:45:28 +09:00
Guo Xiang Tan
0bc690ed11
FIX: Staged users are still missing primary email.
2017-08-09 12:03:49 +09:00
Guo Xiang Tan
9a0eb2eeb1
Fix the build.
2017-08-08 10:03:04 +09:00
Guo Xiang Tan
1103ea7c4c
Remove Rails 5 deprecation warning.
2017-08-08 00:48:57 +09:00
Guo Xiang Tan
3f24ed2b3e
Can't revert due to incompatibility of new site setting types.
...
Revert "Revert "FEATURE: Site settings defaults per locale""
This reverts commit 439fe8ba24
.
2017-08-07 10:43:09 +09:00
Guo Xiang Tan
439fe8ba24
Revert "FEATURE: Site settings defaults per locale"
...
This reverts commit 468a8fcd20
.
2017-08-07 10:31:50 +09:00
Erick Guan
468a8fcd20
FEATURE: Site settings defaults per locale
...
This change-set allows setting different defaults for different locales.
It also:
- Adds extensive testing around site setting validation
- raises deprecation error if site setting has the default property based on env
- relocated site settings for dev and tests in the initializer
- deprecated client_setting in the site setting's loading process
- ensure it raises when a enum site setting being set
- default_locale is promoted to `required` category.
- fixes incorrect default setting and validation
- fixes ensure type check for site settings
- creates a benchmark for site setting
- sets reasonable defaults for Chinese
2017-08-02 12:24:19 -04:00
Neil Lalonde
5d528f0d15
Merge pull request #4958 from dmacjam/search_posts_by_filetype
...
FEATURE: Search posts by filetype
2017-07-31 11:55:34 -04:00
Guo Xiang Tan
6e74f726cf
FIX: Staged users did not have a UserEmail
record.
2017-07-31 12:40:32 +09:00
Guo Xiang Tan
4620dfe92d
FEATURE: Add group settngs to allow users to leave a group freely.
...
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
2017-07-28 15:00:25 +09:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Neil Lalonde
24cb950432
FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block
2017-07-26 11:01:09 -04:00
Neil Lalonde
d8c27e3871
Merge branch 'master' into search_posts_by_filetype
2017-07-25 14:41:20 -04:00
Leo McArdle
d0b027d88d
FEATURE: phase 1 of supporting multiple email addresses
2017-07-20 11:22:27 +09:00
Robin Ward
97e211f837
FEATURE: Log Search Queries
2017-07-14 14:30:58 -04:00
Jakub Macina
bb392973ca
Add migration with extension column to uploads.
2017-07-06 19:15:30 +02:00
Sam Saffron
d0d60af510
add back column temporarily to make deployment smoother
2017-07-04 10:31:10 -04:00
Sam
845170bd6b
FEATURE: add support for group visibility level
...
There are 4 visibility levels
- public (default)
- members only
- staff
- owners
Note, admins and group owners ALWAYS have visibility to groups
Migration treated old "non public" as "members only"
2017-07-03 15:26:57 -04:00
Arpit Jalan
16d356ab4e
FEATURE: resending invite should include original custom message
...
https://meta.discourse.org/t/will-resent-invite-include-original-custom-message/64699
2017-06-30 18:13:33 +05:30
Jakub Macina
67ce4b70a6
Add index to extension column in TopicLink.
2017-06-20 13:01:31 +02:00
Jakub Macina
4c22f3a0e2
Add file extension column to TopicLinks.
2017-06-09 13:56:18 +02:00
Neil Lalonde
6aa0823bf4
FIX: lounge category security settings won't be reset after an upgrade
2017-06-06 16:57:21 -04:00
Guo Xiang Tan
26b5981f19
Fix typo.
2017-06-06 12:10:51 +09:00
Guo Xiang Tan
08cf7495da
Delaying dropping topic auto close columns by one hour.
2017-06-06 12:07:31 +09:00
Guo Xiang Tan
0ecb668d49
Merge pull request #4893 from tgxworld/remove_unused_columns
...
Remove columns that are no longer being used.
2017-06-06 10:07:00 +09:00
Guo Xiang Tan
0c203e61cd
Raise ActiveRecord::IrreversibleMigration
instead of StandardError
.
2017-06-05 11:02:24 +09:00
Guo Xiang Tan
1c05ca91ea
Remove columns that are no longer being used.
2017-06-05 10:59:05 +09:00
Guo Xiang Tan
ac6c1acbed
FIX: Groups that do not have any owners should not allow membership requests.
2017-06-05 10:02:37 +09:00
Sam
0aed2533ac
Revert unread optimisation, has too many edge cases
2017-05-26 09:04:13 -04:00
Sam Saffron
6674611960
correct migration so it always populates column
2017-05-25 18:50:51 -04:00
Sam Saffron
7d59ff67b8
adjust qurey to include messages, once everything is read
...
then mark first_topic_unread_at to be current time
2017-05-25 18:40:32 -04:00
Sam Saffron
1a1f5d2101
create or replace
2017-05-25 18:12:45 -04:00
Sam
29fac1ac18
PERF: improve performance of unread queries
...
Figuring out what unread topics a user has is a very expensive
operation over time.
Users can easily accumulate 10s of thousands of tracking state rows
(1 for every topic they ever visit)
When figuring out what a user has that is unread we need to join
the tracking state records to the topic table. This can very quickly
lead to cases where you need to scan through the entire topic table.
This commit optimises it so we always keep track of the "first" date
a user has unread topics. Then we can easily filter out all earlier
topics from the join.
We use pg functions, instead of nested queries here to assist the
planner.
2017-05-25 15:07:30 -04:00
Guo Xiang Tan
0984763013
Remove use of rescue nil
in migration.
2017-05-17 09:18:49 +08:00
Guo Xiang Tan
eccfab6a19
Use execute
instead of exec_sql
in migration.
2017-05-17 09:18:42 +08:00
Neil Lalonde
7821400141
FEATURE: staff can set a timer to remind them about a topic
2017-05-16 14:49:50 -04:00
Sam
e1dd543a93
FEATURE: allow users to select theme on single device
2017-05-15 12:48:16 -04:00
Neil Lalonde
8b9799507c
fix deploy problems due to renamed table
2017-05-12 15:17:25 -04:00
Sam
2d96a0785d
FEATURE: theme selection is now global per-user
2017-05-12 12:41:34 -04:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04:00
Pat David
b7d16de914
Fix migrate AddCssClassNameToEmbeddableHosts
2017-05-11 15:16:16 -04:00
Pat David
84cd19686c
Fix migration file problem
2017-05-11 15:16:16 -04:00
Pat David
4bf8548dc5
Add embed class name setup for embeddable hosts
2017-05-11 15:16:16 -04:00
Régis Hanol
eabfc59d51
rename 'convert_pasted_images_quality' site setting to 'png_to_jpg_quality'
2017-05-11 10:01:20 +02:00
Régis Hanol
53257a87ff
remove 'convert_pasted_image' site setting
2017-05-11 09:16:53 +02:00
Guo Xiang Tan
71a266b673
Remove daily mailing mode option as it doesn't scale.
...
https://meta.discourse.org/t/daily-updates-option-for-mailing-list-mode/45029/14?u=tgxworld
2017-05-05 12:21:50 +08:00
Sam
7a15b44ac3
rename on_remove, on_drop
2017-05-04 14:03:17 -04:00
Sam
6a6eed4ed2
DEV: column dropper class for cleaner removal of superflous columns
...
Also fixes issues during deploy cause target column was renamed in
theme_fields
2017-05-04 10:15:41 -04:00
Sam
dbb6e461aa
oops
2017-05-03 11:44:15 -04:00
Sam
342ef5f81a
FEATURE: out-of-the-box dark/light user selectable themes
2017-05-03 11:31:33 -04:00
Sam
946f25098f
Refactor theme fields so they support custom theme defined vars
...
This paves the way to allowing themes to specify uploads and so on.
2017-05-02 16:02:14 -04:00
Robin Ward
f05f1a24d3
Change Anniversary badge to be multiple grant, once per year
2017-04-28 14:22:54 -04:00
Guo Xiang Tan
1f6418f907
Track error message in SchedulerStats
.
2017-04-26 01:34:25 +08:00
Arpit Jalan
aeead60036
FIX: make TopicEmbed trashable
2017-04-25 18:40:39 +05:30
Sam
7a9eee1b71
FEATURE: default notification level for group messages
...
also fixes it so staff can amend other user's group notification level
2017-04-20 15:47:35 -04:00
Sam
7eabb90b71
FEATURE: added error messages for bad theme CSS / JS
2017-04-19 16:46:46 -04:00
Sam
5e3a0846f7
FEATURE: allow themes to share color schemes
2017-04-17 15:56:24 -04:00
Guo Xiang Tan
04016f0dec
Support Ruby 2.4.
2017-04-15 12:29:00 +08:00
Sam
a3e8c3cd7b
FEATURE: Native theme support
...
This feature introduces the concept of themes. Themes are an evolution
of site customizations.
Themes introduce two very big conceptual changes:
- A theme may include other "child themes", children can include grand
children and so on.
- A theme may specify a color scheme
The change does away with the idea of "enabled" color schemes.
It also adds a bunch of big niceties like
- You can source a theme from a git repo
- History for themes is much improved
- You can only have a single enabled theme. Themes can be selected by
users, if you opt for it.
On a technical level this change comes with a whole bunch of goodies
- All CSS is now compiled using a custom pipeline that uses libsass
see /lib/stylesheet
- There is a single pipeline for css compilation (in the past we used
one for customizations and another one for the rest of the app
- The stylesheet pipeline is now divorced of sprockets, there is no
reliance on sprockets for CSS bundling
- CSS is generated with source maps everywhere (including themes) this
makes debugging much easier
- Our "live reloader" is smarter and avoid a flash of unstyled content
we run a file watcher in "puma" in dev so you no longer need to run
rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Guo Xiang Tan
f4758a4c4d
FEATURE: Allow admins to schedule a topic to be published in the future.
2017-04-04 11:16:05 +08:00
Robin Ward
fc7fa4c0ad
Rename "Rookie of the Month" to "New User of the Month"
2017-03-31 16:30:30 -04:00
Robin Ward
893e93dfbe
New badge, Rookie of the Month, for two new high quality users.
2017-03-31 15:06:31 -04:00
Guo Xiang Tan
34b7bee568
FEATURE: Allow admin to auto reopen at topic.
...
* This commit also introduces a `TopicStatusUpdate`
model to support other forms of deferred topic
status update in the future.
2017-03-31 11:14:18 +08:00
Neil Lalonde
11ce73b8ed
FEATURE: category setting for default top period
2017-03-22 16:54:18 -04:00
Guo Xiang Tan
1a7e954e09
FIX: Store custom emojis as uploads.
...
* Depending on a hardcoded directory was a flawed design
which made it impossible to debug when custom emojis go
missing.
2017-03-14 13:07:18 +08:00
Neil Lalonde
6d7e968e30
FEATURE: box-style rendering of sub-categories
2017-03-13 15:25:52 -04:00
Sam
99f4d5082b
FIX: Improve token rotation and increase logging
...
- avoid access denied on bad cookie, instead just nuke it
- avoid marking a token unseen for first minute post rotation
- log path in user auth token logs
2017-03-07 13:27:43 -05:00
Neil Lalonde
6aab8cb331
FEATURE: new category setting for whether to show latest topics or top topics by default
2017-03-03 11:30:44 -05:00
Guo Xiang Tan
66a0a89591
PERF: Add index to speed up DirectoryItem.refresh_period!
query.
2017-03-03 16:25:06 +08:00
Neil Lalonde
262016604d
FEATURE: each category can control how many topics to show on categories page
2017-03-01 15:12:57 -05:00
Sam Saffron
3532957ce1
index should have always been unique
2017-02-22 12:37:11 -05:00
Neil Lalonde
a702330ccd
FEATURE: make show_subcategory_list a per-category setting
2017-02-22 11:42:36 -05:00
Régis Hanol
f51e3b2131
FIX: should not be able to rename a system badge
2017-02-20 14:35:05 +01:00
Sam
2c59ffeb2c
FIX: token rotation not accounting for overlapping tokens correctly
...
also... freeze_time has no block form, correct all usages and specs
2017-02-15 10:58:18 -05:00
Sam
0ab96a7691
FEATURE: add hidden setting for verbose auth token logging
...
This is only needed to debug auth token issues, will result in lots
of logging
2017-02-13 14:01:09 -05:00
Sam
4d57c95e9b
delay the removal of auth token column from user table
2017-02-07 09:39:41 -05:00
Sam
ff49f72ad9
FEATURE: per client user tokens
...
Revamped system for managing authentication tokens.
- Every user has 1 token per client (web browser)
- Tokens are rotated every 10 minutes
New system migrates the old tokens to "legacy" tokens,
so users still remain logged on.
Also introduces weekly job to expire old auth tokens.
2017-02-07 09:22:16 -05:00
Guo Xiang Tan
dfc8178308
Revert "FIX: Wait 30 days before dropping the column."
...
This reverts commit ffc97f2298
.
Should be safe now since we didn't get any reports.
2017-01-04 11:56:43 +08:00
Régis Hanol
49dda1e025
Merge pull request #4628 from caugner/move-welcome-topic-to-i18n
...
FIX: Move Welcome topic to I18n
2016-12-27 10:31:03 +01:00
Claas Augner
e129e656d1
FIX: Move Welcome topic to I18n
2016-12-26 16:03:07 +01:00
Claas Augner
59c04d0f37
FIX: Add assets_topic_title to I18n
2016-12-26 15:38:48 +01:00
Sam
2b808ad9da
Merge pull request #4609 from joebuhlig/category-topics-wiki
...
FEATURE: Category setting to make all topics wikis
2016-12-20 09:15:51 +11:00
Neil Lalonde
923cf73c6e
Topic Featured Links: move data from custom fields to topics and categories tables. Invert behaviour of topic_featured_link_allowed checkbox. Fix a bug with invalid topic records due to changing that category checkbox.
2016-12-19 14:54:07 -05:00
Joe Buhlig
87251fded7
FEATURE: Category setting to make all topics wikis
...
FEATURE: Category setting to make all topics wikis
2016-12-19 06:42:18 -06:00
Guo Xiang Tan
ffc97f2298
FIX: Wait 30 days before dropping the column.
...
* Regressions from the past is resulting in `logo_url` with
no uploads record.
2016-12-15 22:45:04 +08:00
Guo Xiang Tan
c47b60a1e4
FIX: Check for column that we want to drop instead.
...
* Otherwise, the migration is called multiple times.
2016-12-15 20:53:10 +08:00
Guo Xiang Tan
43ee9f884e
FEATURE: Add Group#full_name
.
2016-12-13 16:16:26 +08:00
Guo Xiang Tan
53086fdb98
FIX: Drop columns only after app has been deployed with updated code.
2016-12-13 09:10:27 +08:00
Guo Xiang Tan
303282670f
FIX: Skip callbacks when migrating.
2016-12-13 08:57:07 +08:00
Guo Xiang Tan
98fd77fb6c
FIX: Don't drop the columns immediately.
2016-12-13 08:07:12 +08:00
Guo Xiang Tan
da7009a968
FEATURE: Add request membership button for allowed groups.
2016-12-12 22:48:08 +08:00
Guo Xiang Tan
9a800107cb
FIX: Associate category logo and background to uploads record.
2016-12-12 17:37:28 +08:00
Guo Xiang Tan
05f55dbc10
FEATURE: Group logs.
2016-12-12 17:29:54 +08:00
Guo Xiang Tan
3e19b738d7
Add 'Group#public'.
2016-12-12 17:00:30 +08:00
Guo Xiang Tan
adb7fcb6b3
FEATURE: Add bio to group page.
2016-12-05 16:58:04 +08:00
Sam
1db9d17756
Make removal of topic columns more resilient to deploys
2016-12-05 12:11:46 +11:00
Sam
c04d4171ff
FIX: whisper no longer experimental
...
- Regular users are not notified of whispers
- Regular users no longer have "stuck" topics in unread
- Additional tracking for staff highest post number
- Remove a bunch of unused columns in topics table
2016-12-02 17:03:31 +11:00
Guo Xiang Tan
1867442fbc
PERF: Add score indexes for top topics.
2016-11-24 10:11:52 +08:00
Guo Xiang Tan
f03d9cad06
PERF: NOT IN
query is really inefficient for large tables.
2016-11-02 13:09:18 +08:00
Neil Lalonde
9ef1688a76
FEATURE: per-category default topic list sort order
2016-11-01 12:18:41 -04:00
Arpit Jalan
382803cb05
FEATURE: include post image in OpenGraph image tag
2016-10-31 15:11:33 +05:30
Neil Lalonde
6d68aac6eb
FIX: add_directory_items_indexes causes migration to timeout on large databases, so create indexes concurrently
2016-10-25 15:30:21 -04:00
Régis Hanol
52b338db62
FIX: category logo & background URLs should not use the CDN
2016-10-25 10:43:57 +02:00
Sam
9a94d1b212
FIX: everyone is not a visible group
2016-10-24 13:03:22 +11:00
Guo Xiang Tan
18d032ad91
PERF: Remove ordering by username.
...
* Ordering by username results in a very expensive query
for very little upside UX wise.
2016-10-15 01:13:58 +08:00
Sam
f4f5524190
FEATURE: user API now contains scopes so permission is granular
...
previously we supported blanket read and write for user API, this
change amends it so we can define more limited scopes. A scope only
covers a few routes. You can not grant access to part of the site and
leave a large amount of the information hidden to API consumer.
2016-10-14 16:05:42 +11:00
Sam
eacfdf92cd
FIX: increase external_avatar_url to 1000 limit
2016-10-11 10:12:11 +11:00
cpradio
6f1c31d777
Add notification level user preference when replying to a topic
2016-09-30 14:58:07 -04:00
Robin Ward
b0ee7930e8
Server side support for inviting as a moderator via the wizard
2016-09-22 09:52:19 -04:00
Robin Ward
c94e6f1b96
Add locale step
2016-09-22 09:52:19 -04:00
Robin Ward
3f6e3b9aff
Wizard - Color Scheme Step
2016-09-22 09:52:19 -04:00
Sam
8dc4329094
FEATURE: optionally get extra profile info from facebook
...
This feature requires the application be approved by facebook, so it is
default off
2016-09-19 16:14:11 +10:00
Sam
5b3cd3fac9
FEATURE: Import facebook avatars when logging in via facebook
...
FIX: warning about popup dimensions when using facebook login
Rules are:
- On account creation we always import
- If you already have an avatar uploaded, nothing is changed
- If you have no avatar uploaded, we upload from facebook on login
- If you have no avatar uploaded, we select facebook unless gravatar already selected
This also fixes SSO issues where on account creation accounts had missing avatar uploads
2016-09-19 15:10:23 +10:00
Erick Guan
c463cf63d4
FEATURE: Webhook for user creation and approval
2016-09-19 10:12:55 +08:00
Erick Guan
9ce61b4586
FEATURE: Webhooks.
2016-09-05 18:44:00 +08:00
Neil Lalonde
2251104e32
FEATURE: avatar flair can be font awesome icons
2016-08-26 17:15:37 -04:00
Robin Ward
4f68fd970d
FIX: Forgot to include a file in the previous commit :)
2016-08-23 15:09:09 -04:00
Neil Lalonde
d079f69b7b
FEATURE: add flair to avatars using new settings in the groups admin UI
2016-08-17 15:13:15 -04:00
Sam
416e7e0d1e
FEATURE: basic UI to view user api keys
2016-08-16 17:06:52 +10:00
Sam
fc095acaaa
Feature: User API key support (server side implementation)
...
- Supports throttled read and write
- No support for push yet, but data is captured about intent
2016-08-15 17:59:36 +10:00
Régis Hanol
e55e2aff94
FIX: FirstReplyByEmail badge wasn't granted
...
DEPRECATED: PostProcess badge trigger
2016-08-10 19:24:01 +02:00
Sam
ab68e0c9db
FEATURE: allow "developer" account flagging via developers table
...
This mechanism for flagging developer accounts will eventually replace
DISCOURSE_DEVELOPER_EMAILS
2016-07-28 10:14:06 +10:00
Sam
df535c6346
FEATURE: refresh session cookie at most once an hour
...
This feature ensures session cookie lifespan is extended
when user is online.
Also decreases session timeout from 90 to 60 days.
Ensures all users (including logged on ones) get expiring sessions.
2016-07-25 12:07:31 +10:00
Arpit Jalan
a9207dafa7
FEATURE: configure session time via site setting for all the users ( #4343 )
2016-07-23 02:57:30 +05:30
Sam
a5d0e0f277
PERF: index for deleted posts in a topic to speed up has_deleted detection
2016-07-19 10:29:22 +10:00
Sam Saffron
46b34e3c62
FEATURE: remove user option for edit history public
...
Users can no longer opt-in for "public" edit history
if site owner disables it.
This feature adds cost and complexity to post rendering since
user options need to be premeptively loaded for every user in the
stream. It is also confusing to explain to communities with private edit
history.
2016-07-16 21:30:00 +10:00
Robin Ward
e5293f2c9a
FIX: Force HTML to recompile
2016-07-11 12:57:05 -04:00
Guo Xiang Tan
20359788dc
Rename SiteSetting#use_https
to force_https
.
2016-06-29 15:02:43 +08:00
Sam
852860de66
FEATURE: simpler and friendlier unsubscribe workflow
...
- All unsubscribes go to the exact same page
- You may unsubscribe from watching a category on that page
- You no longer need to be logged in to unsubscribe from a topic
- Simplified footer on emails
2016-06-17 11:28:49 +10:00
Neil Lalonde
17b1179103
oops, missed a file
2016-06-15 13:56:56 -04:00
Régis Hanol
e97e0bb311
FEATURE: new FirstReplyByEmail bronze badge
2016-06-13 15:37:14 +02:00
Neil Lalonde
d7622f0665
remove unused broken tag_count column
2016-06-09 16:50:09 -04:00
Neil Lalonde
a6090339a7
FEATURE: tag group options: limit usage of one tag per group, tags in a group can't be used unless a prerequisite tag is used
2016-06-09 16:01:19 -04:00
Neil Lalonde
a49ace0ffb
FEATURE: ability to restrict tags to categories using groups
2016-06-07 15:36:20 -04:00
Neil Lalonde
f3f6c2f98f
FEATURE: tag groups
2016-06-06 14:18:48 -04:00
Régis Hanol
9704603fab
FEATURE: sendgrid webhooks
2016-06-01 21:48:06 +02:00
Neil Lalonde
6796b15857
FEATURE: restrict tags to be used in a category
2016-05-30 16:56:33 -04:00
Sam
706624c9fc
workaround incorrect uncategorized category id set in site settings
2016-05-30 13:59:58 +10:00
Sam
c9dcffe434
FEATURE: store history for scheduled job execution
2016-05-30 11:38:08 +10:00
Sam
8c3a0b44ba
FIX: restore "every email" default for old accounts in mailing list mode
...
- Change default for mailing list mode frequency to daily
- Remove bootbox warning for mailing list mode (cause default is daily)
2016-05-27 12:07:10 +10:00
Neil Lalonde
f13470b96b
Use db schema for tags instead of plugin store and custom fields
2016-05-26 14:29:48 -04:00
James Kiesel
feffe23cc5
FEATURE: More granular mailing list mode ( #4068 )
...
* Rearrange frontend to account for mailing list mode
* Allow update of user preference for mailing list frequency
* Add mailing list frequency estimate
* Simplify frequency estimate; disable activity summary for mailing list mode
* Remove combined updates
* Add specs for enqueue mailing list mode job
* Write mailing list method for mailer
* Fix linting error
* Account for stale topics
* Add translations for default mailing list setting
* One query for mailing list topics
* Fix failing spec
* WIP
* Flesh out html template
* First pass at text-based mailing list summary
* Add user avatar
* Properly format posts for mailing list
* Move make_all_links_absolute into Email::Styles
* Apply first_seen_at to user
* Send mailing list email summary hourly based on first_seen_at
* Branch and test cleanup
* Use existing mailing list mode estimate
* Fix failing specs
2016-05-21 15:17:54 +02:00
Sam
0cf5a1705a
FIX: custom field index must only index short values
2016-05-20 12:35:09 +10:00
Régis Hanol
aebb15337b
remove invalid topic_users rows
2016-05-14 18:34:03 +02:00
Régis Hanol
8e611ec7a1
FEATURE: handle bounced emails
2016-05-02 23:15:32 +02:00
Régis Hanol
e72f63e311
add index on post_id for the incoming_emails table
2016-04-25 17:50:50 +02:00
Régis Hanol
4960b62110
FEATURE: new 'block_auto_generated_emails' site setting
2016-04-20 21:29:27 +02:00
Sam
fad017d842
FEATURE: add support for bounce emails
...
We now optionally add a Variable Email Return Path to every email we send.
This allows us to cleanly handle email bounces, which in turn will improve
deliverability.
2016-04-18 17:14:01 +10:00
Robin Ward
0396b14b70
FEATURE: New "First Onebox" badge
2016-04-12 15:31:14 -04:00
Régis Hanol
f95f488a0b
only drop 'user_firsts' table if it exists
2016-04-12 19:56:25 +02:00
Régis Hanol
fe6f587d4d
continues with other migrations if we can't delete the 'user_firsts' table
2016-04-12 17:04:04 +02:00
Robin Ward
cc25716e47
FIX: Allow message format translations to be overridden
2016-04-08 14:49:50 -04:00
Thorben Egberts
cf8b3fbd56
FEATURE: add user custom fields to user card
...
The user's custom fields are now displayed on the user card. This has to be enabled for each custom field in the custom field settings. See https://meta.discourse.org/t/custom-user-fields-on-usercard/22662/
2016-04-08 14:35:41 +02:00
Robin Ward
078b3bc87e
Log once off jobs and enqueue on db:migrate
2016-04-07 14:32:31 -04:00
Robin Ward
855f72deb6
On second thought, enqueuing a job in a migration might be bad.
2016-04-07 13:58:31 -04:00
Robin Ward
526573074c
Add one off job to grant the emoji badge retroactively
2016-04-07 13:49:44 -04:00
Robin Ward
5059ee04b9
Remove UserFirst
table and grant Emoji badge directly
2016-04-07 12:31:41 -04:00
Robin Ward
5866f0df18
Remove UserFirst for mention since it can be retrieved elsewhere
2016-04-06 14:01:37 -04:00
Robin Ward
50fbda1ab7
FIX: Not sure why the default group didn't work
2016-04-05 15:37:41 -04:00
Robin Ward
c30d327b77
FEATURE: Two new badges - First Emoji and First Mention
2016-04-05 15:17:41 -04:00
Régis Hanol
b40efb98b8
FIX: remove deleted wiki color from existing color schemes
2016-03-29 12:12:33 +02:00
Robin Ward
5f54dd908a
Recategorize link badges
2016-03-25 12:21:24 -04:00
Robin Ward
56c13856dd
Move Editor and First Flag to "Getting Started" category
2016-03-25 12:19:12 -04:00
Robin Ward
717b54d64b
Adjust badges to match descriptions cc @coding-horror
2016-03-22 10:51:42 -04:00
Robin Ward
1fba835d4f
FIX: Use a logging table for daily likes given. Use it for badges.
2016-03-18 11:18:54 -04:00
Neil Lalonde
213950e4cf
FEATURE: add option to include topics from trust level 0 users in digest emails
2016-03-17 17:35:23 -04:00
Robin Ward
b0e23c9f56
FIX: Thank you badge had incorrect criteria
2016-03-17 13:03:47 -04:00
Robin Ward
d9080b9d69
Rename "My Cup Runneth Over" to "Higher Love". Winwood!
2016-03-17 11:42:41 -04:00
Robin Ward
0346efd0d5
FIX: New badges ended up with no grouping
2016-03-16 14:44:42 -04:00
Robin Ward
7c384fc740
Adjusted "Gives Back" badge
2016-03-16 13:48:14 -04:00
Robin Ward
35c2339c2a
Updated badges for receiving likes
2016-03-16 13:03:17 -04:00
Robin Ward
25c26dcd51
Create rarity levels for using up all likes
2016-03-16 12:31:26 -04:00
Robin Ward
06591022fe
FEATURE: Generous badge
2016-03-15 16:08:29 -04:00
Robin Ward
cfe18c3f5b
FEATURE: Gives Back badge
2016-03-15 16:08:29 -04:00
Robin Ward
e60da531ba
FEATURE: Admired Badge for high like ratio
2016-03-15 16:08:29 -04:00
Robin Ward
5771d2aee2
SECURITY: Support for confirm old as well as new email accounts
2016-03-08 14:52:22 -05:00
Régis Hanol
622d804d46
FEATURE: Add rejection message on rejected IncomingEmail
...
FIX: Better RateLimit description in rejected IncomingEmail
FEATURE: Send email when hitting a rate limit
2016-03-07 16:56:17 +01:00
Sam
fe6ea48123
Merge pull request #4038 from markbiegel/instagram-login
...
FEATURE: Instagram OmniAuth login methods
2016-03-07 14:05:07 +11:00
Régis Hanol
8d4bac7da2
fix build & add migration to clear common passwords cache
2016-03-03 19:39:22 +01:00
Neil Lalonde
c1aea91d63
FEATURE: More digest email frequency options. Digests can be sent as often as every 30 minutes.
2016-03-02 15:43:47 -05:00
Sam Saffron
5f4075a6cf
FEATURE: users can select how frequently they are notified on likes
...
- first time
- first time and daily (default)
- always
2016-03-02 23:16:52 +11:00
Sam Saffron
c15c483931
PERF: stop rebuilding full directory item table on refresh
2016-03-02 18:23:29 +11:00
Sam Saffron
820a435af8
FEATURE: add "email in-reply-to user option"
...
We no longer include previous replies as "context", instead
we include and excerpt of the post being replied to at the bottom
of notifications, this information was previously missing.
Users may opt in to emailing previous replies if they wish
or opt out of "in-reply-to" which makes sense in some email clients that
are smarter about displaying a tree of replies.
2016-02-26 00:05:59 +11:00
Ubuntu
5c603bf8ec
Added Instagram login method
2016-02-25 12:13:59 +10:00
Sam Saffron
bc28c1ccb5
somehow this can be null in some cases
2016-02-23 17:34:05 +11:00
Sam
ab06f86fbe
FEATURE: allow users to control how many previous replies they get
...
- always means we always send previous replies with every email
- never means we do not
- "unless previously sent" ... is the default, in which we only email you each reply once
The default_email_previous_replies site setting can control this toggle
2016-02-19 13:57:07 +11:00
Sam
f0e942f647
PERF: move 3 more option columns out of the user table
2016-02-18 16:57:22 +11:00
Régis Hanol
532fb7ea9d
fix smoke tests
2016-02-17 11:57:06 +01:00
Régis Hanol
2f926cfdd3
only drop users table columns if they exists
2016-02-17 11:02:44 +01:00
Sam
6912aa9fd9
Remove superflous columns from the users table
2016-02-17 18:08:25 +11:00
Sam
bbbb09a6fb
FEATURE: start tracking information about migrations that run
...
This commit adds a new tracking table that lets us know
- When a migration ran
- What version Discourse was at
- How long it took
- What version Rails was at
The built in tracking in Rails is very limited, does not track this info
2016-02-17 18:08:25 +11:00
Sam
3829c78526
PERF: shift most user options out of the user table
...
As it stands we load up user records quite frequently on the topic pages,
this in turn pulls all the columns for the users being selected, just to
discard them after they are loaded
New structure keeps all options in a discrete table, this is better organised
and allows us to easily add more column without worrying about bloating the
user table
2016-02-17 18:08:25 +11:00
Sam
dd6ebde824
FIX: Always ensure notifications are treated as read once clicked
...
UX: improve messaging so notifications list is far more stable
PERF: improve performance of notifcation lookup queries
- Add feature "SetTransientHeader" that allows shipping info to server
in the next Ajax request
- remove local storage hack used for notifications
- amend lookupStale to return hydrated objects, move logic into store
- stop magically clearing various notifications (likes, invitee accepted, group_summary, granted badge)
2016-02-15 19:29:47 +11:00
Gerhard Schlager
9dba531567
FIX: Remove invalid 'http://' website from profiles
2016-02-06 22:30:24 +01:00
Robin Ward
d41cbc5a30
FIX: Disable overrides in migrations
...
Site texts did not exist when this migration was created.
2016-02-02 11:49:57 -05:00
Régis Hanol
de58e58272
migration to fix email_logs not attached to a user
2016-02-01 19:37:10 +01:00
Gerhard Schlager
f4f87921c2
Replace uncategorized_description setting with translation
2016-01-28 00:26:25 +01:00
Sam Saffron
bf650de7be
FEATURE: change group default tracking level to tracking (database changes)
2016-01-27 21:56:25 +11:00
Régis Hanol
3083657358
FEATURE: better email in support
...
FEATURE: new incoming_email model
FEATURE: infinite scrolling in emails admin
FEATURE: new 'emails:import' rake task
2016-01-19 00:57:55 +01:00
Robin Ward
1f290a8336
FIX: Rebake all HTML due to handlebars upgrade
2016-01-18 12:46:54 -05:00
Régis Hanol
e2744fc19f
FIX: adding the 'contains_messages' column back
2016-01-12 12:06:51 +01:00
Régis Hanol
8049dfdfda
CLEANUP: remove 'contains_messages' leftover 💩
2016-01-12 11:29:26 +01:00
Sam
6394521baa
remove explicit user permissions from messages where group already has access
2016-01-12 14:15:39 +11:00
Sam
6fabb341f1
FEATURE: automatically archive welcome messages for site_contact_user
...
This de-clutters the sent messages box for site_contact_user, making it again usable
2016-01-10 16:46:11 +11:00
Sam
956e3ad208
FIX: correct user_history that was off by one
2016-01-08 16:52:46 +11:00
Sam
03ea0bfe22
FEATURE: allow users to archive messages
...
Messages are now in 3 buckets
- Inbox for all new messages
- Sent for all sent messages
- Archive for all messages you are done with
You can select messages from your Inbox or Sent and move them to your Archive,
you can move messages out of your Archive similarly
Similar concept applied to group messages, except that archiving and unarchiving
will apply to all group members
2015-12-23 11:09:30 +11:00
Sam
63076a841e
Merge branch 'refactor_user_page'
2015-12-20 16:50:33 +11:00
Sam
a8b5192efd
FEATURE: User page refactor
...
Re-organise user page so it is easier to find interesting info
split it into tabs
- Introduce notifications and messages tabs
- Stop couting stuff for the user page to speed up rendering
- Suppress more information when viewing your own profile
2015-12-20 16:45:49 +11:00
Sam
ed71674c45
FIX: missing unique index on category_users
2015-12-19 10:30:23 +11:00
Régis Hanol
15c229195f
FEATURE: notification_level on a per-group basis
2015-12-14 23:17:09 +01:00
Régis Hanol
578f606a1a
add 'incoming_email' to groups
2015-12-07 12:39:28 +01:00
Sam
d1a5d8ea62
FEATURE: show group mentions and topics in groups page
2015-12-01 16:52:43 +11:00
Robin Ward
5e93140f85
FEATURE: Can override any translation via an admin interface
2015-11-27 11:35:19 -05:00
Sam
55b6f1aaa0
more fields needed flagging as HTML fields
2015-11-27 12:22:54 +11:00
Sam
43d63367fd
PERF: stop loading handlebars and ember compilers in prod
...
(this removes a nice 50K from our initial payload and saves memory)
Also fixes invalid HTML automatically if added to HEAD or /BODY
2015-11-27 11:59:01 +11:00
Régis Hanol
ba0df7e4cd
rename 'is_support' to 'contains_messages'
2015-11-26 18:40:54 +01:00
Régis Hanol
9ef8397164
new Category.is_support attribute
2015-11-26 18:31:24 +01:00
Robin Ward
d65ec1af2e
Rename ninja_edit_window
to editing_grace_period
:'(
2015-11-24 14:28:42 -05:00
Robin Ward
e168c5fde3
PERF: Much more performant, multisite aware I18n overrides
2015-11-19 16:36:59 -05:00
Régis Hanol
92ba6125c4
FEATURE: new 'automatically_unpin_topics' user preference
2015-11-17 18:21:40 +01:00
Robin Ward
5234e54f7e
OOPS: Left first try at skipping it in migrations
2015-11-14 16:13:02 -05:00
Robin Ward
810a069cfd
FIX: Couldn't migrate database from nothing due to I18n
...
Since I18n has a DB backend now, I've introduced a helper we can use to
skip overrides in certain situations. Otherwise migration from empty
databases was broken.
2015-11-14 16:12:09 -05:00
Robin Ward
060ce9bf2a
FEATURE: Overwrite server side I18n keys with API
2015-11-13 16:35:02 -05: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
Régis Hanol
acecfeb37f
Add 'staged' boolean to User
2015-11-06 19:19:13 +01:00
Régis Hanol
d56e91f44f
PERF: add 'lower(title)' index on topics
2015-11-04 00:42:19 +01: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
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
Guo Xiang Tan
f39b9124b6
FEATURE: Log staff actions for Category changes.
2015-09-18 10:53:08 +08:00
Sam
287411525a
PERF: add missing index on group_users
2015-09-18 10:43:53 +10:00
Guo Xiang Tan
f41bcafe8d
FEATURE: Add views to UserProfile.
2015-09-16 14:48:06 +08:00
Guo Xiang Tan
d30f454261
FEATURE: Create UserProfilerView.
2015-09-16 14:48:06 +08:00
Régis Hanol
a501947d67
FEATURE: suppress categories from the homepage
2015-09-02 20:25:18 +02:00
Neil Lalonde
1bd0f5b015
FEATURE: group can grant a trust level when a user is added
2015-09-01 16:52:12 -04:00
Régis Hanol
d96531b163
FEATURE: bronze/silver/gold badges for popular links
2015-08-27 18:52:31 +02:00
Robin Ward
d418c4cfc0
FIX: Bug with migrating old embeddedable hosts with http://
2015-08-22 10:20:41 -04:00
Robin Ward
676416f478
FIX: Build broken when someone didn't have an embed category
2015-08-20 16:10:34 -04:00
Robin Ward
d1c69189f3
FEATURE: Can edit category/host relationships for embedding
2015-08-20 15:56:04 -04:00
Robin Ward
bd631e343a
FEATURE: Can create stylesheets for embedded comments
2015-08-10 10:21:04 -04:00
Régis Hanol
9156d6cd9d
FIX: only migrate SiteText to SiteCustomization if there are any
2015-08-07 16:30:30 +02: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
Robin Ward
0d9899198f
Migrate old moved posts messages in English
2015-07-31 19:06:19 -04:00
Robin Ward
aa6f792ce1
FEATURE: Custom orders for user fields
2015-07-30 14:53:13 -04:00
Robin Ward
201617811e
Migrate auto closed topics too
2015-07-29 12:20:50 -04:00
Régis Hanol
faf4f44776
FEATURE: make pin expiration mandatory
2015-07-29 16:34:21 +02:00
Robin Ward
212c0fd87b
Migrate many old moderation action posts to small actions
2015-07-28 17:35:33 -04:00
Robin Ward
e09e5016ce
Merge pull request #3633 from riking/patch-5
...
FEATURE: Add CommentMigration for db column comments
2015-07-28 16:18:01 -04:00
Kane York
13d56eb989
FEATURE: Add CommentMigration for db column comments
...
For documenting the database (will be used in discourse-data-explorer)
2015-07-28 13:14:07 -07:00
Neil Lalonde
7518918b8f
FEATURE: add quarterly period to Top page
2015-07-28 12:31:42 -04:00
Robin Ward
dc8a68fd29
FEATURE: New "Dropdown" user field type
2015-07-28 12:30:21 -04:00
Sam
ea5ef3bcf6
correct index on name value to drop long values
2015-07-28 10:50:19 +10: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
Robin Ward
f485950caa
Add an index to improve querying some post custom fields.
2015-07-24 12:53:51 -04:00
Kane York
2a897a8a6b
SECURITY: Remove email validation check bypass
...
- Increase size of email column to varchar(513)
- Give error message on signup when email is too large
Overall impact: Low, allows signups from blocked domains. Main risk is increased spam.
2015-07-13 15:36:17 -07:00
Kane York
6f03aa164f
FIX: Automatically add like-count to post menu
2015-07-10 10:11:13 -07:00
Neil Lalonde
c32ea73456
add index on user_visits for reports
2015-07-07 14:06:42 -04:00
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
7676c5dfe7
Can add topic templates to categories, prepopulated on compose
2015-07-03 10:01:46 -04:00