Arpit Jalan
8c337ecf82
FIX: allow uploading of category logo and background
2017-05-11 12:48:54 +05:30
Régis Hanol
214939bb87
freeze array constants
2017-05-11 09:08:59 +02:00
Régis Hanol
9641d2413d
REFACTOR: upload workflow creation into UploadCreator
...
- Automatically convert large-ish PNG/BMP to JPEG
- Updated fast_image to latest version
2017-05-11 00:16:57 +02:00
Sam
bc0b9af576
FEATURE: support uploads for themes
...
This allows themes to bundle various assets
2017-05-10 15:47:11 -04:00
Sam
f709899a1d
Allow theme field object model to support uploads
2017-05-10 15:46:42 -04:00
Robin Ward
4db76796b9
FEATURE: Setting to poll feeds more frequently
2017-05-10 14:30:12 -04:00
Guo Xiang Tan
41fb76cc66
Don't rescue all errors.
2017-05-10 09:12:44 +08:00
Robin Ward
24e1892d28
Silence logs for OptimizedImage failures
2017-05-09 14:59:46 -04:00
Robin Ward
da92f35e08
Don't log a gravatar failure that is a socket error
2017-05-09 14:44:53 -04:00
Robin Ward
bcf1a9d43f
We don't need to log when we can't download a Gravatar
2017-05-09 14:43:39 -04:00
Robin Ward
96c59c5b82
FIX: Don't notify or return flags on system users
2017-05-08 13:13:35 -04:00
Sam
257c0dea70
Merge pull request #4852 from tgxworld/pull_the_plug_on_daily_mailing_list
...
Remove daily mailing mode option as it doesn't scale.
2017-05-08 09:10:46 -04:00
Régis Hanol
8bc47d0bae
fix build (cc @tgxworld)
2017-05-05 13:13:49 +02:00
Guo Xiang Tan
e61959e6a8
FIX: `CustomEmoji` may contain an invalid upload_id.
...
https://meta.discourse.org/t/white-screen-after-deleting-custom-emoji/61608
2017-05-05 14:53:38 +08:00
Guo Xiang Tan
2b21e5ea7e
UX: Display translated group name for automatic groups.
2017-05-05 14:34:47 +08: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
4ebbad991e
FIX: properly clean up related color schemes on delete
2017-05-04 14:03:17 -04:00
Robin Ward
55ca5df96b
FIX: If the host can't be extracted don't raise an error
2017-05-04 13:26:37 -04:00
Neil Lalonde
389a0e1a1c
FIX: emails should use default theme colors
2017-05-03 14:35:13 -04:00
Sam
342ef5f81a
FEATURE: out-of-the-box dark/light user selectable themes
2017-05-03 11:31:33 -04:00
Arpit Jalan
86f1cc8c92
FIX: don't apply max_emails_per_day_per_user on critical emails
2017-05-03 17:07:39 +05:30
Guo Xiang Tan
982e3d04f6
PERF: Allow memory to be freed instead of fetching all the objects into memory at once.
...
```
MemoryProfiler.report do
Jobs::UserEmail.new.execute(type: :mailing_list, user_id: user.id)
end.pretty_print
```
Before:
```
Total allocated: 180096119 bytes (1962025 objects)
Total retained: 2194 bytes (16 objects)
allocated memory by gem
-----------------------------------
66979096 activerecord-4.2.8
43507184 nokogiri-1.7.1
43365188 mail-2.6.4
5960201 activesupport-4.2.8
5056267 discourse/lib
4835284 rack-mini-profiler-0.10.1
3825817 arel-6.0.4
2186088 i18n-0.8.1
1719330 discourse/app
```
After:
```
Total allocated: 161935975 bytes (1473940 objects)
Total retained: 2234 bytes (17 objects)
allocated memory by gem
-----------------------------------
45430264 activerecord-4.2.8
43568627 nokogiri-1.7.1
43430754 mail-2.6.4
11233878 rack-mini-profiler-0.10.1
5260825 activesupport-4.2.8
5054491 discourse/lib
2186088 i18n-0.8.1
1822494 arel-6.0.4
```
2017-05-03 17:01:57 +08:00
Arpit Jalan
cdce060a38
FIX: don't apply max emails per day per user to forgot password
2017-05-03 14:02:37 +05:30
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
Arpit Jalan
77a8cae094
FIX: rescue specific errors on invite failure
2017-05-02 15:13:33 +05:30
Jeff Atwood
a4815047c0
purge `scheduler_stats` every 1 month instead of 3
2017-04-28 15:05:15 -07: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
59b906ab0d
FEATURE: Disable minimum post length check when in PM with non human users.
...
https://meta.discourse.org/t/discourse-narrative-bot-beta-feedback/58621/65?u=tgxworld
2017-04-27 16:00:22 +08:00
Robin Ward
bf9c4a7828
FEATURE: secure_email site setting to prevent data going out in email
2017-04-26 13:05:56 -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
Régis Hanol
0d66529d2b
PostReply doesn't have a primary key, so no luck here
2017-04-24 23:14:01 +02:00
Régis Hanol
1787c45b38
PERF: don't load all replies in memory when moving posts
2017-04-24 23:00:32 +02:00
Régis Hanol
8fe0bbb238
REFACTOR: improve Notification.ensure_consistency SQL query readability
2017-04-24 23:00:27 +02:00
Régis Hanol
301dd139ae
PERF: faster Group.refresh_automatic_group & Group.ensure_consistency
2017-04-24 23:00:21 +02:00
Régis Hanol
3d406b047c
PERF: much faster Badge.ensure_consistency
2017-04-24 22:59:49 +02:00
cpradio
20c2c66dd4
FEATURE: Add normal as a preference for topic subscription state when replying to a topic
2017-04-20 22:33:10 -04:00
Sam
aec73d4003
correct the spec again
2017-04-20 17:41:35 -04:00
Sam
dcf9459b7c
staff should track
2017-04-20 17:32:05 -04:00
Sam
5365973c0a
FIX: detection of error changed, so you can clear errors
2017-04-20 16:55:18 -04:00
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
Guo Xiang Tan
2af1b9e93c
Add time out when optimizing images.
2017-04-20 15:21:43 +08:00
Sam
7eabb90b71
FEATURE: added error messages for bad theme CSS / JS
2017-04-19 16:46:46 -04:00
Arpit Jalan
5fa5c18a48
use notification_levels methods for specifying normal notification level
2017-04-19 16:17:24 +05:30
cpradio
2dccaff25d
FIX: Correct behavior of auto-notification state updating to exclude when the topic already has a state of normal/muted
2017-04-19 06:29:35 -04:00
Sam
0a67d859d5
correct watcher so it handles color scheme changes correctly
2017-04-18 16:48:15 -04:00
Arpit Jalan
1c23aedccf
FIX: always send password reset email when accepting invite if password is not set
2017-04-18 14:37:06 +05:30
Guo Xiang Tan
60f1169077
REFACTOR: Reduce repetition in code.
2017-04-18 17:03:49 +08:00
Arpit Jalan
8dea70d354
Revert "FIX: User website allows new TLDs"
2017-04-18 13:18:51 +05:30
Rafael dos Santos Silva
4289dbe3e5
FIX: User website allows new TLDs
2017-04-18 00:30:37 -03:00
Sam
3ccd5eacb4
prefer multiline \A \z
2017-04-17 16:57:37 -04:00
Sam
86904e9cd6
FIX: better error handling for theme import
2017-04-17 16:55:53 -04:00
Sam
5e3a0846f7
FEATURE: allow themes to share color schemes
2017-04-17 15:56:24 -04:00
jloh
5f47603b07
FIX: increase host_must_be_valid regex for .technology TLD
...
.technology is 11 chars long and wasn't being matched previously
2017-04-15 21:06:51 +10:00
Arpit Jalan
0954367bf4
FIX: send activation email when accepting invite if password is set
2017-04-15 14:59:50 +05:30
Guo Xiang Tan
04016f0dec
Support Ruby 2.4.
2017-04-15 12:29:00 +08:00
cpradio
4dc4c5bebc
FIX: Update auto_notification to also update the subscription state when replying if the current state is less than the state being requested
2017-04-14 15:44:42 -04:00
Sam
def7348777
FIX: display custom sections with default theme
...
also cleans up mechanism for previewing themes, cleans up naming,
gets rid of old janky "preview_style", secures local theme key
2017-04-14 13:35:12 -04:00
Sam
809fbb25ce
FIX: blanking theme field was not properly removing it
2017-04-13 17:24:15 -04:00
Guo Xiang Tan
3d76fb9c2c
FIX: Don't show category options for reports that can't be scoped to a category.
2017-04-13 17:10:55 +08:00
Guo Xiang Tan
bda20cc44a
FIX: Don't enqueue topic status update job if topic is deleted.
2017-04-13 12:02:35 +08:00
Guo Xiang Tan
72c16967e6
FIX: Check for reserved usernames before hitting DB.
2017-04-13 11:32:20 +08:00
Guo Xiang Tan
57788200ec
REFACTOR: Add `User.reserved_username?`.
2017-04-13 10:44:26 +08:00
Neil Lalonde
8395569b05
FIX: Topic.similar_to error when Search is not loaded
2017-04-12 14:48:30 -04:00
Sam
a7ed8a0310
correct theme importer to support embedded.scss
2017-04-12 11:30:16 -04: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
Dean Taylor
1a9afa976d
FEATURE: Add AWS S3 EU (London) "eu-west-2" region
2017-04-12 10:38:17 -04:00
Guo Xiang Tan
7cb389a235
Add `DiscourseEvent` trigger when user's topic notification level changes.
2017-04-12 11:56:50 +08:00
Guo Xiang Tan
66a7b0c30b
FIX: Add web hook `DiscourseEvent`s in initializer.
2017-04-12 11:55:49 +08:00
Arpit Jalan
8fb41bf5fb
FIX: update timestamp when resending invite
2017-04-11 20:02:32 +05:30
Guo Xiang Tan
73180c8a19
FIX: Private message can be set to publish in the future.
2017-04-11 20:44:25 +08:00
Guo Xiang Tan
fad04aad6c
Missing association.
2017-04-07 17:05:58 +08:00
Guo Xiang Tan
ae1d6e7421
Fix incorrect method usage.
2017-04-07 15:52:08 +08:00
Guo Xiang Tan
71501feaf3
Improve validation for `TopicStatusUpdate`.
2017-04-07 15:32:00 +08:00
Guo Xiang Tan
0d67b507dc
Merge pull request #4788 from davidtaylorhq/user_seen_event
...
Add a user_seen DiscourseEvent for plugins to hook into
2017-04-06 12:32:16 +08:00
David Rodríguez
934bff43d9
FIX: Copy post actions when moving a topic.
2017-04-06 12:16:22 +08:00
Guo Xiang Tan
5943543ec3
FIX: Improve checks for non-human users.
2017-04-06 11:29:34 +08: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
Guo Xiang Tan
5cf75c67df
FIX: Callback `undefined` error when topic has been deleted.
2017-04-03 09:06:15 +08:00
David Taylor
03373a0e84
Add a user_seen DiscourseEvent for plugins to hook into
2017-03-31 23:30:59 +01: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
Arpit Jalan
2418daeb63
FIX: check if post exists in topic
2017-03-31 18:02:14 +05:30
Guo Xiang Tan
ed577fbff8
FEATURE: Pause a topic instead of permanently closing when flag threshold is reached.
2017-03-31 14:35:05 +08: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
Robin Ward
14410b71fb
Convert server side paths to use `/u/`
2017-03-30 10:23:24 -04:00
Robin Ward
45a257815a
Convert front end paths from `/users/` to `/u/`
2017-03-30 10:23:24 -04:00
Guo Xiang Tan
99abbc2e2d
UX: Order custom emojis by name.
2017-03-30 13:24:18 +08:00
Arpit Jalan
4812417192
FIX: do not add user to group based on email domain unless email is confirmed
2017-03-28 15:02:40 +05:30
Robin Ward
27a73c73f9
FIX: Error when calculating geometric mean of 0 for read timings
2017-03-27 12:45:34 -04:00
Arpit Jalan
3378e2d49f
FIX: update topic fancy title when updating category name
2017-03-26 12:29:53 +05:30
Régis Hanol
747f4812e4
fix custom emoji support when using subfolder
2017-03-24 02:09:39 +01:00
Neil Lalonde
11ce73b8ed
FEATURE: category setting for default top period
2017-03-22 16:54:18 -04:00
Arpit Jalan
295cf8839e
FIX: better error message when invited user already exists
2017-03-22 13:55:28 +05:30
Guo Xiang Tan
e8fc8f0bb6
Update annotations.
2017-03-22 14:26:53 +08:00
Arpit Jalan
521c88fe58
FIX: enqueue activation email for invited user that has password set
2017-03-20 17:13:21 +05:30
Guo Xiang Tan
ddc8abf9d8
Fix broken optimize image command.
2017-03-20 15:07:38 +08:00
Guo Xiang Tan
6057e17ae7
Fix weird test failure.
2017-03-20 12:06:37 +08:00
Guo Xiang Tan
a567e6bec9
FIX: Publish notification state in `after_commit` hook.
...
`after_save` is still wrapped in a transaction and
we were getting intermittent failures with notifications
state not being published.
2017-03-20 11:38:34 +08:00
Guo Xiang Tan
e7c972ac89
FIX: Don't use backticks that take in inputs.
2017-03-17 15:33:51 +08:00
Neil Lalonde
ad8a579c79
UX: banner enabled/disabled posts should be small posts, not full-size posts
2017-03-16 17:31:37 -04:00
Neil Lalonde
22f197c153
FEATURE: subcategory list style: boxes with featured topics
2017-03-16 11:54:45 -04:00
Robin Ward
fd591257a8
Merge pull request #4759 from kennym/support-ports-for-ip-addresses-in-embedding
...
FIX: Allow ports for embed host IPs
2017-03-16 11:23:42 -04:00
Guo Xiang Tan
9f299b6842
Use `after_commit` since `after_save` runs within the transaction as well.
2017-03-16 16:02:34 +08:00
Guo Xiang Tan
299b92b4d7
Fix broken user created event trigger.
2017-03-16 15:36:27 +08:00
Guo Xiang Tan
5169ef8814
Fix broken specs.
2017-03-16 15:05:28 +08:00
Guo Xiang Tan
bf78c228f4
FIX: User created web hook being enqueued before record has been saved.
...
* Improve web hook tests as well.
2017-03-16 14:44:09 +08:00
Erick Guan
cfbfea0596
FEATURE: Allow easier customization to the web hook event serialization.
2017-03-16 10:09:05 +08:00
Kenny Meyer
ae957bca25
Allow ports for embed host IPs
2017-03-15 18:16:34 -03:00
Guo Xiang Tan
58de40154d
Bump `EMOJI_VERSION` to clear cache.
2017-03-14 15:31:01 +08: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
64680286f4
correct logic, so revalidation is reset
...
correct test so it can run at any point
2017-03-13 10:47:43 -04:00
Sam
ef24fd54ba
FEATUE: automatically validate token is stored in redis
...
This ensures we have some handling for redis flushall
We attempt to recover our in-memory session token once every 30 seconds
Code is careful to only set the token if it is nil, to allow for manual
cycling to remain safe if needed
2017-03-13 10:19:02 -04:00
Guo Xiang Tan
4d4a1a1552
Add scope for human users.
2017-03-11 14:25:09 +08:00
Guo Xiang Tan
eb6ef0311e
Hide special users from about pages.
2017-03-10 15:33:31 +08:00
Sam
3032aa7db9
PERF: avoid looking globals from providers after first call
2017-03-09 18:00:55 -05: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
Sam
9f8cfee450
remove dupe code, correct logging logic
2017-03-07 13:27:43 -05:00
Robin Ward
dad57fa033
FIX: More errors with non-ascii URLs
2017-03-07 11:21:41 -05:00
Guo Xiang Tan
d1e587c10a
Merge pull request #4737 from oblakeerickson/approve_invited_user
...
FIX: approve invited user
2017-03-07 21:14:34 +08:00
Régis Hanol
0abe433495
Merge pull request #4736 from techAPJ/group-bulk-add
...
FIX: grant trust level when bulk adding users to group
2017-03-06 12:43:26 +01:00
Guo Xiang Tan
7d82a53dfe
FIX: `Group#name` is case insensitive.
2017-03-06 17:24:03 +08:00
Arpit Jalan
d5bcc70e9c
FIX: grant trust level when bulk adding users to group
2017-03-06 14:39:53 +05:30
Guo Xiang Tan
8aea3caf00
FIX: Ensure that we only move posts that belong to the original topic.
2017-03-06 15:04:10 +08:00
Blake Erickson
dbb3ddc7a6
FIX: approve invited user
...
This commit fixes the case where invited users who typed in a password
would not be approved by default. Because we moved the user create logic
for an invited user there was a clash with the `save` in the user model
and the `save` in the invite_redeemer class.
- added approve logic into invite_redeemer class.
- added tests to verify that the user is approved
- added a check to see if must_approve_users is on
- added a check to see if the inviter is staff
- go ahead and approve the user if must_approve_users is off
- keep existing User.approve workflow if user exists
- improve if/else logic to remove duplicate code
- use `Time.zone.now`
2017-03-05 06:58:23 -07:00
Guo Xiang Tan
08ffbf6c61
Use `Time.zone.now` instead.
2017-03-05 11:10:40 +08:00
Guo Xiang Tan
bcf634ca85
Merge pull request #4728 from nbianca/username-regex
...
Add support for username regex.
2017-03-03 22:59:23 +08:00
Bianca Nenciu
30909ec54e
Add support for username regex.
2017-03-02 13:53:45 +02: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
Guo Xiang Tan
112ca20c96
Merge pull request #4675 from tgxworld/fix_polls_forever_broken_if_approval_required
...
FIX: Polls permanently broken if post requires approval.
2017-03-01 12:56:03 +08:00
Sam
3ac4709903
FIX: on initial token issue stop unmarking token as unseen
...
prev and current are the same so we need special logic to bypass
2017-02-28 10:38:22 -05:00
Sam
ffd8fa7481
FEATURE: move_to_inbox and archive_message events
2017-02-28 09:56:41 -05:00
Arpit Jalan
b32d3d66e5
FEATURE: log all username and name changes
2017-02-28 00:23:27 +05:30
Robin Ward
bf9626d031
FIX: Embedding was broken with non-english URLs and ports
2017-02-27 12:17:52 -05:00
Sam Saffron
7e8f0dc967
FIX: attempt to handle ios edge case where token is seen but unsaved
...
This relaxes our security in the following way
- prev auth token is always accepted as long as rotation
date is within our window of SiteSetting.maximum_session_age.hours
(previously old token expired within a minute of new one being seen)
- new auth token is marked unseen if we are presented with an old token
after we already saw new one
This attempts to fix an issue where ios webkit is not committing new cookies
2017-02-26 17:09:57 -05:00
Régis Hanol
fdf749770b
remove unecessary '.limit(1)'
2017-02-24 12:56:13 +01:00
Neil Lalonde
53ec4c44f4
FIX: N+1 in topic_list
2017-02-22 12:20:50 -05:00
Neil Lalonde
c94fdcea38
FIX: admin dashboard posts count should not include system posts and whispers
2017-02-21 14:45:41 -05:00
Neil Lalonde
476ae57af3
FEATURE: primary group class on avatars in topic list
2017-02-20 15:55:10 -05:00
Régis Hanol
f51e3b2131
FIX: should not be able to rename a system badge
2017-02-20 14:35:05 +01:00
Régis Hanol
cb99f59ec3
reset bounce score when email is successfully changed
2017-02-20 10:37:01 +01:00
Robin Ward
e62c0a42fa
FIX: Support multiple embeddable host records with the same host
2017-02-17 12:41:34 -05:00
Neil Lalonde
3fb50d587d
FIX: invited users and new TL1 users will see their first notification highlighted
2017-02-17 10:30:29 -05:00
Neil Lalonde
4b28bfaa15
Merge pull request #4710 from ento/fix-s3-config-check
...
FIX: admin dashboard shouldn't complain when using IAM profile for S3 access
2017-02-15 17:02:07 -05:00
Neil Lalonde
d0fbb27f3e
FEATURE: new invite acceptance page, where username can be chosen and password can be set
2017-02-15 16:51:57 -05:00
Sam
9c51e3e8e7
amend preloader api to supply topic list
2017-02-15 12:04:02 -05: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
Marica Odagaki
a9a585f66a
Use && and || consistently so that there's less chance of copy paste errors in the future
2017-02-15 00:25:49 -08:00
Marica Odagaki
3bb1b98b0e
FIX: admin dashboard shouldn't complain when using iam profile for s3 access
...
Previous code wasn't working as intended because it was parsed as
(bad_keys = (access_key or secret_key)) and !use_iam_profile
because of Ruby's operator precedence: `=` binds more eagerly than `and`.
http://ruby-doc.org/core-2.3.1/doc/syntax/precedence_rdoc.html
See also: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
2017-02-15 00:22:14 -08:00