Commit Graph
100 Commits
Author SHA1 Message Date
Guo Xiang Tan 80e348d226 PERF: Speed up slow tests in our test suite.
Before

```
Finished in 7 minutes 23 seconds (files took 4.15 seconds to load)
7145 examples, 0 failures, 10 pending
```

After

```
Finished in 6 minutes 12 seconds (files took 4.41 seconds to load)
7145 examples, 0 failures, 10 pending
```
2017-06-22 11:23:31 +09:00
Guo Xiang Tan 4c98bd9d5f FIX: Can't update status_type of topic timers.
https://meta.discourse.org/t/topic-timers-internal-error-500/64805
2017-06-21 15:31:15 +09:00
Guo Xiang Tan dd85c1098b Remove comment that is no longer valid. 2017-06-21 14:10:30 +09:00
Guo Xiang Tan 47ca0f7f09 FIX: Foward requests to /u/new to our Ember router. 2017-06-21 13:06:28 +09:00
Guo Xiang Tan fa35137d3a PERF: Reduce allocations in Emoji.unicode_replacements.
```
MemoryProfiler.report { Emoji.unicode_replacements }.pretty_print
```

Before:

```
Total allocated: 2032131 bytes (30219 objects)
Total retained:  798059 bytes (10734 objects)

allocated memory by gem
-----------------------------------
   1270762  discourse/app
    690149  2.4.1/lib
     48764  activesupport-4.2.8
     11405  bootsnap-1.0.0
      5266  logster-1.2.7
      2473  hiredis-0.6.1
      2056  redis-3.3.3
       840  discourse/lib
       240  activerecord-4.2.8
       176  thread_safe-0.3.6
```

After:

```
Total allocated: 1715713 bytes (22449 objects)
Total retained:  797985 bytes (10737 objects)

allocated memory by gem
-----------------------------------
    957250  discourse/app
    690028  2.4.1/lib
     48764  activesupport-4.2.8
     11445  bootsnap-1.0.0
      2745  hiredis-0.6.1
      2624  redis-3.3.3
      1473  logster-1.2.7
       928  discourse/lib
       280  activerecord-4.2.8
       176  thread_safe-0.3.6
```
2017-06-20 13:50:37 +09:00
Guo Xiang Tan 40ef5c4f14 PERF: Reduce memory allocation by Emoji.unicode_replacements.
Calling `Emoji.tonable_emojis` fetches from the cache but creates
a giant array each time it is called.

```
MemoryProfiler.report { Emoji.unicode_replacements }.pretty_print
```

Before:

```
Total allocated: 16560770 bytes (246364 objects)
Total retained:  784793 bytes (10624 objects)

allocated memory by gem
-----------------------------------
  10224581  activesupport-4.2.8
   3504241  hiredis-0.6.1
   1449466  discourse/app
    679314  2.4.1/lib
    419592  discourse/lib
    226720  redis-3.3.3
     56680  activerecord-4.2.8
       176  thread_safe-0.3.6
```

After:

```
Total allocated: 2127703 bytes (30556 objects)
Total retained:  798099 bytes (10735 objects)

allocated memory by gem
-----------------------------------
   1270762  discourse/app
    690149  2.4.1/lib
    106977  bootsnap-1.0.0
     48764  activesupport-4.2.8
      5266  logster-1.2.7
      2473  hiredis-0.6.1
      2056  redis-3.3.3
       840  discourse/lib
       240  activerecord-4.2.8
       176  thread_safe-0.3.6
```
2017-06-20 13:10:44 +09:00
Guo Xiang Tan 8dbe2c3ec4 FIX: Incorrect way to use Excon in DiscourseHub. 2017-06-20 08:32:45 +09:00
Guo Xiang Tan 7ea288140d Allow multiple host when restricting Sidekiq queues. 2017-06-19 14:45:51 +09:00
Guo Xiang Tan be44e4b730 Update Sidekiq. 2017-06-19 14:20:54 +09:00
Guo Xiang Tan a23ce56682 Update translations. 2017-06-19 12:39:30 +09:00
Guo Xiang Tan b9fbc95ef4 Add spec to notify us when translations have invalid interpolation keys. 2017-06-19 12:39:30 +09:00
Guo Xiang Tan 48fb19d9e4 Fix hash style. 2017-06-19 07:51:06 +09:00
Guo Xiang Tan 3d1a7a02f7 Fix typo. 2017-06-19 07:49:32 +09:00
Guo Xiang Tan f8a46c510f FIX: Recover post tutorial does not work when SiteSetting.delete_removed_posts_after is 0. 2017-06-16 13:03:34 +09:00
Guo Xiang Tan a6450f7377 REFACTOR: Allow delete_removed_posts_after SiteSetting to be bypassed. 2017-06-16 12:27:51 +09:00
Guo Xiang Tan 716b0235f9 FIX: Use username in bot's certificate.
* The default name generated can be weird sometimes.
2017-06-16 10:32:43 +09:00
Guo Xiang Tan d82dbd565b FIX: Remove dependency on rest-client. 2017-06-16 09:42:41 +09:00
Guo Xiang Tan cae09ee4c8 Fix failing specs. 2017-06-16 09:39:54 +09:00
Guo Xiang Tan b5ec241716 FIX: Validate interpolation keys used in translation overrides.
https://meta.discourse.org/t/discobot-translation-missing-error/64429/6?u=tgxworld
2017-06-16 08:54:48 +09:00
Guo Xiang Tan b70d4da858 FIX: Only invite admins when automatic backup fails. 2017-06-15 14:04:22 +08:00
Guo Xiang Tan b5249fb4ca FIX: Send request membership PM to last 5 active group owner. 2017-06-15 11:37:09 +08:00
Guo Xiang Tan f6060bfbf6 Invite admins to automatic backups failure topic.
https://meta.discourse.org/t/if-automatic-backup-fails-there-should-be-a-warning/64461
2017-06-14 15:01:11 +09:00
Guo Xiang Tan 2fdf9068eb FIX: Create notification for group users when group has been invited.
https://meta.discourse.org/t/inviting-a-group-to-a-message-does-not-trigger-a-notification-mail/50509
2017-06-14 14:53:49 +09:00
Guo Xiang Tan 5ce8d7a8c5 Log all errors during clean up as well. 2017-06-14 11:03:50 +09:00
Guo Xiang Tan a5d3abc9b6 FIX: Create group membership request on behalf of user. 2017-06-13 17:49:21 +09:00
Guo Xiang Tan c5caa9cf71 Revert "FIX: Disable request membership button if user does not have sufficient trust level."
This reverts commit 5f441a2614.
2017-06-13 17:49:21 +09:00
Guo Xiang Tan 5994c85ea9 FIX: Raise the right error when email params is missing. 2017-06-12 17:48:32 +09:00
Guo Xiang Tan e888369f51 UX: Don't send emails for discobot notifications. 2017-06-12 17:00:27 +09:00
Guo Xiang Tan 41365f681c Pin eslint to version 3.x on travis. 2017-06-12 15:20:47 +09:00
Guo Xiang Tan 666e3e2890 Fix eslint. 2017-06-12 14:48:50 +09:00
Guo Xiang Tan a7ed6bd9e1 Use User#username_lower instead. 2017-06-12 10:58:31 +09:00
Guo Xiang Tan 977bbb1f45 FIX: Bot mentioned check should be case insensitive. 2017-06-08 19:00:07 +09:00
Guo Xiang Tan ff1154b523 Update Sidekiq to 5.0.x. 2017-06-08 07:15:13 +09:00
Guo Xiang Tan 22ecbf1249 More gem updates. 2017-06-08 07:14:22 +09:00
Guo Xiang Tan 677fbc783d Fix randomly failing spec. 2017-06-08 05:47:44 +09:00
Guo Xiang Tan 5794ff53a1 FIX: Copy custom fields when moving first post of a topic.
https://meta.discourse.org/t/transfer-poll-votes-when-moving-a-topic-into-an-existing-one/63678
2017-06-07 19:04:48 +09:00
Guo Xiang Tan 684b05f510 FIX: Strip zero-width characters from search terms. 2017-06-07 18:19:47 +09:00
Guo Xiang Tan 61a4711e83 Update i18n. 2017-06-07 11:13:21 +09:00
Guo Xiang Tan 24cf302753 Update nokogiri. 2017-06-07 11:13:07 +09:00
Guo Xiang Tan 5332f25aa9 Update gems in development group. 2017-06-07 11:12:44 +09:00
Guo Xiang Tan f83e997cf6 Switch to yarn for our travis build. 2017-06-07 10:57:48 +09:00
Guo Xiang Tan 2cad739262 FIX: Better error message when username change fails.
https://meta.discourse.org/t/500-error-on-username-edit/64064
2017-06-07 10:45:53 +09:00
Guo Xiang Tan d4d0aa8ca7 Minor fixes for https://github.com/discourse/discourse/pull/4845. 2017-06-07 10:03:19 +09:00
Guo Xiang Tan 17c29c972b Move the constant as well. 2017-06-06 15:38:26 +09: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 87e77267fa Add ENV variable to specify path to write unicorn's pid. 2017-06-06 11:46:01 +09:00
Guo Xiang Tan c1dc6f6cd7 FIX: Track should only continue if user is alone with bot in a PM. 2017-06-06 09:47:00 +09:00
Guo Xiang Tan 30f2758404 FIX: Ensure that we cancel any timeout jobs when terminating a track. 2017-06-05 16:23:25 +09:00
Guo Xiang Tan 3621647fb5 FIX: Bot should only respond to regular posts. 2017-06-05 15:21:19 +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
Guo Xiang Tan cd2869c767 Revert "Skip validations when Discobot creates new posts."
This reverts commit ca7e906774.

Post validations are already skipped for admin users. Skipping
validations cause polls to not work.
2017-06-03 07:18:23 +09:00
Guo Xiang Tan 418cb09713 Ensure that we skip validations when creating a post on behalf of a user. 2017-06-03 07:15:08 +09:00
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
Guo Xiang Tan 5f441a2614 FIX: Disable request membership button if user does not have sufficient trust level. 2017-06-02 16:06:25 +09:00
Guo Xiang Tan edbb876d1b FIX: Discobot welcome post delay should start counting when a user logs in. 2017-06-01 21:02:29 +09:00
Guo Xiang Tan 2ee144c27f FEATURE: Add DiscourseEvent trigger when a user logs in.
* Also adds a event trigger when user logs in for the first time.
2017-06-01 17:44:49 +09:00
Guo Xiang Tan bd486100c0 Remove stubs on DiscourseEvent in tests. 2017-06-01 16:21:00 +09:00
Guo Xiang Tan ae5cc217cd Avoid monkey patching which causes weird reloading error in dev. 2017-06-01 12:06:25 +09:00
Guo Xiang Tan 13c6695d65 Revert "Load posts in batches while indexing problem posts."
This reverts commit ce57ff9fcf.

Limit is ignored with `find_each`.
2017-06-01 11:15:27 +09:00
Guo Xiang Tan ca7e906774 Skip validations when Discobot creates new posts. 2017-05-31 17:51:05 +09:00
Guo Xiang Tan b0dd05fdc6 FIX: Inherit topic auto close when changing topic's category. 2017-05-31 17:40:21 +09:00
Guo Xiang Tan 2302493c64 PERF: N+1 query in search when plugin loads custom fields in TopicListItemSerializer. 2017-05-31 09:54:10 +09:00
Guo Xiang Tan 137f91d1cf PERF: N+1 query when searching with tags enabled. 2017-05-31 08:14:09 +09:00
Guo Xiang Tan ce57ff9fcf Load posts in batches while indexing problem posts. 2017-05-31 07:54:49 +09:00
Guo Xiang Tan 0f2148be9b Make it clear which service is triggering the exception. 2017-05-31 06:38:38 +09:00
Guo Xiang Tan 4144ea34a2 Rename a test file. 2017-05-31 06:38:38 +09:00
Guo Xiang Tan 7ffdb6be75 Switch to a unicorn image that we know is free for commercial use.
* Source: https://pixabay.com/en/unicorn-galaxy-unicorn-galaxy-star-2007257/
2017-05-29 10:24:25 +08:00
Guo Xiang Tan 4d9481bf47 Fix build. 2017-05-26 16:04:59 +08:00
Guo Xiang Tan 56f98de7b2 Use webmock to stub external web requests. 2017-05-26 15:19:09 +08:00
Guo Xiang Tan f8f1548fd4 Revert "FIX: Use Excon to do its own stubbing"
This reverts commit 80af54460a.
2017-05-26 13:04:25 +08:00
Guo Xiang Tan 144b810d0e Missed a spot when redefining a method. 2017-05-26 13:02:41 +08: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
Guo Xiang Tan 0ded5af616 Fix typo. 2017-05-26 11:13:45 +08:00
Guo Xiang Tan 18dac4ce9f UX: Remove restrictions on advanced user track. 2017-05-26 11:05:09 +08:00
Guo Xiang Tan 7028bdceed FIX: Allow users to rename discobot without having to rebuild. 2017-05-26 10:09:42 +08:00
Guo Xiang Tan 8268c98cf9 Remove unused image. 2017-05-26 09:47:36 +08:00
Guo Xiang Tan 9ee98a37b0 Revert "Remove unused image."
This reverts commit b7c49e77a8.
2017-05-26 09:45:54 +08:00
Guo Xiang Tan b7c49e77a8 Remove unused image. 2017-05-26 09:29:38 +08:00
Guo Xiang Tan ee23ce5acc FIX: Allow advanced tutorial to be started if badges are disabled. 2017-05-24 18:34:10 +08:00
Guo Xiang Tan 7f0561b621 Merge discourse-narrative-bot into core plugins. 2017-05-24 15:28:34 +08: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
Guo Xiang Tan 604aaf8686 FIX: N+1 query in suggested topics list. 2017-05-22 18:05:38 +08:00
Guo Xiang Tan 238a156300 FIX: TopicTimestampChanger should not allow timestamps in the future. 2017-05-22 16:03:49 +08:00
Guo Xiang Tan 4382a0bb07 Rename PostTimestampChanger -> TopicTimestampChanger. 2017-05-22 15:01:33 +08:00
Guo Xiang Tan 330338af3a FIX: Don't hardcode text in smoke test. 2017-05-22 08:01:33 +08:00
Guo Xiang Tan 2b66918199 Wrong function call. 2017-05-19 22:33:06 +08:00
Guo Xiang Tan 130e7f214b Account for sites using text site logo in smoke test. 2017-05-19 22:25:08 +08:00
Guo Xiang Tan e93535e239 Add "Next month" to topic timer selection options. 2017-05-19 14:09:53 +08:00
Guo Xiang Tan 8ab9f30bbd FIX: User can't remove bookmark from a deleted post. 2017-05-19 12:25:12 +08:00
Guo Xiang Tan f4cc71d643 Allow username and password to be passed via ENV for smoke test. 2017-05-18 12:17:31 +08:00
Guo Xiang Tan e4d557cdb9 Partially revert https://github.com/discourse/discourse/commit/92118dd1d1f3db4abc5405f04707b5f3e0deec88. 2017-05-17 21:42:31 +08:00
Guo Xiang Tan 0306863d71 Fix the build on travis. 2017-05-17 21:35:22 +08:00
Guo Xiang Tan 92036616db Make test less vulnerable to changes. 2017-05-17 19:30:13 +08:00
Guo Xiang Tan b0e4555a86 Allow Basic Authentication to be set in smoke test. 2017-05-17 19:24:43 +08:00
Guo Xiang Tan 4b3b54da70 Make sure we log the backtrace as well. 2017-05-17 16:31:53 +08:00
Guo Xiang Tan 3df46833b3 Fix the build. 2017-05-17 16:14:06 +08:00