Guo Xiang Tan
af3dc4e537
FIX: Publish group's categories to user when adding user to group.
...
https://meta.discourse.org/t/joining-a-group-doesnt-take-effect-unless-the-browser-is-hard-refreshed/57357/11?u=tgxworld
2017-06-02 17:38:14 +09:00
Sam
a7fc93acac
FIX: post mover not clearing reply_to_user_id
2017-06-01 18:00:14 -04:00
Guo Xiang Tan
bd486100c0
Remove stubs on DiscourseEvent in tests.
2017-06-01 16:21:00 +09:00
Guo Xiang Tan
b0dd05fdc6
FIX: Inherit topic auto close when changing topic's category.
2017-05-31 17:40:21 +09:00
Sam
0aed2533ac
Revert unread optimisation, has too many edge cases
2017-05-26 09:04:13 -04:00
Guo Xiang Tan
e57d2f5cb8
FIX: Don't do anything if avatar url returns an invalid status code.
2017-05-26 13:02:40 +08: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
76229535ac
Remove old test case.
2017-05-22 18:23:09 +08:00
Guo Xiang Tan
08c36fa968
REFACTOR: Clean up some code associated with topic timers.
2017-05-22 18:10:29 +08:00
Neil Lalonde
cbe8e05f79
disable test that fails randomly
2017-05-17 12:46:50 -04:00
Sam
763f156d91
FIX: require re-activation if SSO changes email and updates it
2017-05-16 16:18:18 -04: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
44d7fe89ed
FIX: unescape emoji in pretty title
...
This makes emoji in title consistent, it is later escaped back when needed
2017-05-15 10:28:05 -04:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04: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
7d9b5514ba
FIX: correctly invalidate theme css cache on scheme change
2017-05-10 15:47:11 -04:00
Sam
04b5516bf2
improve upload functionality
2017-05-10 15:47:11 -04:00
Sam
27362c5a4b
improve spec
2017-05-10 15:47:11 -04: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
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
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
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
Guo Xiang Tan
441e0059af
Fix tests that was testing the wrong class.
2017-05-05 10:59:07 +08:00
Sam
4ebbad991e
FIX: properly clean up related color schemes on delete
2017-05-04 14:03:17 -04:00
Sam
342ef5f81a
FEATURE: out-of-the-box dark/light user selectable themes
2017-05-03 11:31:33 -04:00
Arpit Jalan
75300b6356
improve specs
2017-05-03 17:48:33 +05:30
Arpit Jalan
86f1cc8c92
FIX: don't apply max_emails_per_day_per_user on critical emails
2017-05-03 17:07:39 +05:30
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
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
Arpit Jalan
aeead60036
FIX: make TopicEmbed trashable
2017-04-25 18:40:39 +05:30
Sam
aec73d4003
correct the spec again
2017-04-20 17:41:35 -04:00
Sam
47b99e0922
group is now default watched
2017-04-20 17:38:46 -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
Sam
7eabb90b71
FEATURE: added error messages for bad theme CSS / JS
2017-04-19 16:46:46 -04:00
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
Arpit Jalan
f968b4e662
Fix the build
2017-04-18 16:34:58 +05:30
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
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
5e3a0846f7
FEATURE: allow themes to share color schemes
2017-04-17 15:56:24 -04:00
Arpit Jalan
7389831961
Fix the build
2017-04-15 15:52:35 +05:30
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
e3ad50de05
Add spec for auto notification update
...
It should update the topic subscription so long as what is being requested is higher than what is currently set for the user and the given topic
It should not update the topic subscription if the requested subscription is less than what is currently set for the user and given topic
2017-04-14 18:30:01 -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
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
57788200ec
REFACTOR: Add `User.reserved_username?`.
2017-04-13 10:44:26 +08:00
Sam
a7ed8a0310
correct theme importer to support embedded.scss
2017-04-12 11:30:16 -04:00
Sam
95d095c97d
test should be configuring git info
2017-04-12 11:19:47 -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
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
Robin Ward
e2ff06ce02
FIX: rounding error in spec
2017-04-07 17:44:02 -04:00
Robin Ward
40cee37bcc
FIX: Don't insert topic status messages unless the status changes
2017-04-07 17:10:43 -04:00
Guo Xiang Tan
71501feaf3
Improve validation for `TopicStatusUpdate`.
2017-04-07 15:32:00 +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
ad44d2a400
Merge pull request #4790 from tgxworld/add_publish_to_topic_status_update
...
FEATURE: Allow admins to schedule a topic to be published in the future.
2017-04-04 11:18:53 +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
Arpit Jalan
5ff29ce321
add test case for topic status update based on last post
2017-04-03 22:35:56 +05:30
Guo Xiang Tan
5cf75c67df
FIX: Callback `undefined` error when topic has been deleted.
2017-04-03 09:06:15 +08:00
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
7b6242bfbb
Minor cleanup of `/users/` rename
2017-03-30 10:23:24 -04: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
7cf0f39066
Require `Sidekiq::Testing` in rails helper.
2017-03-29 11:10:25 +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
Arpit Jalan
3378e2d49f
FIX: update topic fancy title when updating category name
2017-03-26 12:29:53 +05:30
Arpit Jalan
295cf8839e
FIX: better error message when invited user already exists
2017-03-22 13:55:28 +05:30
Arpit Jalan
8cbfa24ca2
Fix failing test
2017-03-20 20:14:25 +05:30
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
6057e17ae7
Fix weird test failure.
2017-03-20 12:06:37 +08: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
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
d173473509
Fix randomly failing specs.
2017-03-14 14:43:48 +08: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
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
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
Guo Xiang Tan
7d82a53dfe
FIX: `Group#name` is case insensitive.
2017-03-06 17:24:03 +08:00
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
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
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
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
Neil Lalonde
c94fdcea38
FIX: admin dashboard posts count should not include system posts and whispers
2017-02-21 14:45:41 -05:00