Commit Graph
100 Commits
Author SHA1 Message Date
Guo Xiang Tan 76707eec1b Update rails_multisite. 2018-06-20 15:11:41 +08:00
Guo Xiang Tan 806f0ca19d FIX: URL with params for svg images should not be light boxed. 2018-06-20 10:47:14 +08:00
Guo Xiang Tan 7eff64773c Revert "FIX: Don't clear active connections in defer queue."
This reverts commit c9feadf9ec.
2018-06-19 17:58:21 +08:00
Guo Xiang Tan df24c51c6f Revert "FIX: Don't try to dequeue an empty queue."
This reverts commit 1af7d4a894.
2018-06-19 15:49:45 +08:00
Guo Xiang Tan 41c1e1b302 FIX: Discourse.keep_readonly_mode does not work for multisite. 2018-06-19 15:44:08 +08:00
Guo Xiang Tan 1af7d4a894 FIX: Don't try to dequeue an empty queue. 2018-06-19 15:25:44 +08:00
Guo Xiang Tan c9feadf9ec FIX: Don't clear active connections in defer queue. 2018-06-19 12:45:16 +08:00
Guo Xiang Tan 34e4c8f573 FIX: Discourse.keep_readonly_mode spins a new thread each time it is called. 2018-06-19 10:24:08 +08:00
Guo Xiang Tan 6e97242bb9 Monkey patch in https://github.com/ruby/ruby/commit/7830a950efa6d312e7c662beabaa0f8d7b4e0a23 2018-06-19 09:45:48 +08:00
Guo Xiang Tan 630b4570ef Add specs for RateLimiter::LimitExceeded#description. 2018-06-19 07:48:03 +08:00
Guo Xiang Tan c18b86d9b2 UX: Don't add light box for SVG images. 2018-06-18 17:11:06 +08:00
Guo Xiang Tan c34100d1e7 Remove unused variable. 2018-06-15 07:45:51 +08:00
Guo Xiang Tan 139d0813b4 Re-enable fast_pluck freedom patch. 2018-06-13 09:25:23 +08:00
Guo Xiang Tan 7c173265d5 FIX: Don't clear connections on the same process. 2018-06-12 13:06:25 +08:00
Guo Xiang Tan 646ed87aba Clear all connections once master recovers. 2018-06-12 12:13:59 +08:00
Guo Xiang Tan c06824e9c2 FIX: Clients get stucked in readonly mode if messageBus fails. 2018-06-12 12:02:37 +08:00
Guo Xiang Tan 50b2152ef7 DEV: Clean up freeze time stubs after each test. 2018-06-12 11:43:41 +08:00
Guo Xiang Tan fd75e54793 Disconnect the pool during failover and fallback. 2018-06-12 11:09:19 +08:00
Guo Xiang Tan a7be68500d Better error reporting in PostgreSQL fallover thread. 2018-06-12 09:39:11 +08:00
Guo Xiang Tan 805fd17b23 ActiveRecord in Rails 5.2 discards connection pools after fork. 2018-06-12 09:30:52 +08:00
Guo Xiang Tan bfa0f71e2b FIX: Discouse.keep_readonly_mode incorrect extends expiry. 2018-06-12 00:21:29 +08:00
Guo Xiang Tan 2adae2a0b6 FIX: Be more aggressive in checking master when trying to fallback. 2018-06-12 00:09:15 +08:00
Guo Xiang Tan 204db00563 Skip postgres failover tests until we figure out why. 2018-06-11 15:51:16 +08:00
Guo Xiang Tan c0b0c66a9e FIX: PostgreSQL fallback thread doesn't run server starts in readonly. 2018-06-11 15:23:58 +08:00
Guo Xiang Tan d06af14c26 FIX: Notify all processes to fallback when PostgreSQL recovers. 2018-06-11 15:10:28 +08:00
Guo Xiang Tan f9761c41a9 DEV: Stablize postgresql fallback adapter spec. 2018-06-11 13:58:04 +08:00
Guo Xiang Tan 91557063d8 Fix the build. 2018-06-11 13:39:52 +08:00
Guo Xiang Tan d192924876 FIX: Can't boot Discourse app with read-only PG connection take 2. 2018-06-11 13:25:51 +08:00
Guo Xiang Tan 5656e8f366 FIX: Can't boot Discourse with a read-only PG connection. 2018-06-11 12:29:23 +08:00
Guo Xiang Tan b91a3c12a5 Revert "Smoke test should wait up to 5 minutes before it fails"
This reverts commit 34d4712133.
2018-06-11 08:47:57 +08:00
Guo Xiang Tan 8a2c5fbebb Remove unused lines. 2018-06-11 08:44:41 +08:00
Guo Xiang Tan e82d45b009 FIX: Ensure we have proper timeout for MiniRacer. 2018-06-11 08:41:04 +08:00
Guo Xiang Tan 29c1f01494 Fix broken pool drainer after the upgrade.
See https://github.com/rails/rails/blob/6cd5cc375a5c78d08463254460b324a17d078586/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb#L467

We think there is a leak at the moment because a discarded pool
belonging to the parent process shouldn't be present in the
forked process.
2018-06-08 13:19:07 +08:00
Guo Xiang Tan 1a00aaa825 Revert "Add discourse-group-tracker to official plugin list."
This reverts commit e262cb07d4.
2018-06-08 10:51:16 +08:00
Guo Xiang Tan 8e0c1c8782 Re-enable skipped specs. 2018-06-08 10:04:06 +08:00
Guo Xiang Tan e262cb07d4 Add discourse-group-tracker to official plugin list. 2018-06-08 09:55:26 +08:00
Guo Xiang Tan f4fdcda502 Upgrade to Rails 5.2 take 2. 2018-06-08 09:33:50 +08:00
Guo Xiang Tan 3a8f69c3d2 DEV: Assert for 200 response code to avoid changing magic helper in the future. 2018-06-07 16:11:09 +08:00
Guo Xiang Tan 3533bdb83f Remove line that is no longer required. 2018-06-07 15:56:16 +08:00
Guo Xiang Tan 1d5c176ea5 DEV: docker:test rake task should install plugins first before migrating. 2018-06-07 15:20:06 +08:00
Guo Xiang Tan 49f39ca64d Fix another failing spec. 2018-06-07 15:07:39 +08:00
Guo Xiang Tan 610510ebad Fix broken discourse narrative bot spec after upgrade. 2018-06-07 15:03:09 +08:00
Guo Xiang Tan e51b8d3198 Upgrade puppeteer which was accidentally downgraded. 2018-06-07 14:22:44 +08:00
Guo Xiang Tan ad5082d969 Make rubocop happy again. 2018-06-07 13:28:18 +08:00
Guo Xiang Tan 4782f6cd01 Remove controller type spec for post actions. 2018-06-07 12:45:38 +08:00
Guo Xiang Tan 47ddb3a7ca Merge branch 'wizard-controller' of https://github.com/OsamaSayegh/discourse into OsamaSayegh-wizard-controller 2018-06-07 12:27:48 +08:00
Guo Xiang Tan 2bd905c632 Revert "Upgrade Rails to 5.1.6."
This reverts commit ab66215f5c.
2018-06-07 09:49:38 +08:00
Guo Xiang Tan 01f126e38f Simplify unicorn config. 2018-06-07 09:03:16 +08:00
Guo Xiang Tan 78c705f5de Remove migration code that is no longer valid. 2018-06-07 08:57:01 +08:00
Guo Xiang Tan cb9596e196 Remove invalid hosted-site plugin. 2018-06-07 08:49:19 +08:00
Guo Xiang Tan ab66215f5c Upgrade Rails to 5.1.6. 2018-06-07 08:34:36 +08:00
Guo Xiang Tan a50cd8675a FIX: Permalink route matcher should always be last. 2018-06-06 14:55:22 +08:00
Guo Xiang Tan a4e6662833 FIX: Disconnects all connections in the pool before forking.
* We were leaking connections as a result. Connections opened
  before the fork were never closed.
2018-06-06 14:45:05 +08:00
Guo Xiang Tan aa5805e8b0 Revert "Initialize the v8 context after forking."
This reverts commit 41c4e32e64.
2018-06-06 14:33:20 +08:00
Guo Xiang Tan a83ab01264 REFACTOR: Remove extra param for group mentionable and messableable route. 2018-06-06 09:42:09 +08:00
Guo Xiang Tan bc7d9c61e6 Revert smoke test accidentally default to non headless mode. 2018-06-05 19:21:46 +08:00
Guo Xiang Tan a276ffc7b3 Run smoke test without sandbox for now. 2018-06-05 19:08:36 +08:00
Guo Xiang Tan 32c0ff4831 DEV: Install dependencies before running smoke test. 2018-06-05 18:46:41 +08:00
Guo Xiang Tan 478c86e0a4 DEV: Update preview step to be more reliable. 2018-06-05 16:58:15 +08:00
Guo Xiang Tan 41c4e32e64 Initialize the v8 context after forking. 2018-06-05 11:36:38 +08:00
Guo Xiang Tan c27863aad2 DEV: Better output when assertion fails in smoke test. 2018-06-05 10:54:56 +08:00
Guo Xiang Tan a508e6a5f6 DEV: Stablize requests/search_controller_spec. 2018-06-05 10:07:05 +08:00
Guo Xiang Tan aaea24448e DEV: Add specs for https://github.com/discourse/discourse/commit/085eaaf18d153f8a797921805d5b1c1695627deb. 2018-06-05 10:03:26 +08:00
Guo Xiang Tan d600e71b3d FIX: Clean up stale UserExport records daily.
* Add tests for `UserExport.remove_old_exports`
2018-06-05 09:43:40 +08:00
Guo Xiang Tan dcba320bf6 Remove spec that isn't testing for anything. 2018-06-05 09:30:02 +08:00
Guo Xiang Tan 725859ba43 DEV: Test discourse-group-track plugin on travis. 2018-06-01 23:43:43 +08:00
Guo Xiang Tan d57a5d3e8c Fix brittle spec. 2018-06-01 11:56:56 +08:00
Guo Xiang Tan 12a0f12530 Fix the build. 2018-06-01 11:24:32 +08:00
Guo Xiang Tan 9ef61e0af5 PERF: Prefer exists? instead of loading AR object. 2018-06-01 09:44:14 +08:00
Guo Xiang Tan 50be06af47 Remove stale code. 2018-06-01 08:18:59 +08:00
Guo Xiang Tan 7fc8a36529 DEV: Take 2 Queue jobs in tests by default.
On my machine this cuts the time taken to run our test suite
from ~11mins to ~9mins.
2018-05-31 16:23:23 +08:00
Guo Xiang Tan 56e9ff6853 Revert "DEV: Queue jobs in tests by default."
Too risky for now

This reverts commit be28154d3b.
2018-05-31 15:34:46 +08:00
Guo Xiang Tan 2b783997fa Refactor tests to complete assertions within a single it block. 2018-05-31 15:05:47 +08:00
Guo Xiang Tan be28154d3b DEV: Queue jobs in tests by default. 2018-05-31 14:45:47 +08:00
Guo Xiang Tan 95f9b72351 FIX: Update activation email route was returning a generic json error. 2018-05-31 14:19:43 +08:00
Guo Xiang Tan db4af262dc DEV: Create smoke test screenshot directory in rake task. 2018-05-30 16:20:18 +08:00
Guo Xiang Tan fe5a48997c DEV: Store smoke tests failure image in a dedicated tmp folder. 2018-05-30 15:59:07 +08:00
Guo Xiang Tan 30279a4843 DEV: Allow smoke test failure screenshot path to be configured. 2018-05-30 15:42:46 +08:00
Guo Xiang Tan f623740ffc DEV: Stablize DiscourseRedis tests. 2018-05-30 14:45:19 +08:00
Guo Xiang Tan 77c99b6434 Fix condition in travis. 2018-05-30 14:05:16 +08:00
Guo Xiang Tan 1fe6fd759f Move db migrate on Travis into install step.
This will allow us to collapse the migration logs.
2018-05-30 12:30:26 +08:00
Guo Xiang Tan 21e9315416 FIX: Use user account email instead of auth email when totp is enabled.
https://meta.discourse.org/t/github-2fa-flow-broken/88674
2018-05-30 12:15:12 +08:00
Guo Xiang Tan 543b7cddfb FIX: Extra comma resulted in Github auth email result being an array.
https://meta.discourse.org/t/github-2fa-flow-broken/88674
2018-05-30 12:15:12 +08:00
Guo Xiang Tan c1fb111951 FIX: Show poll options when user is in a PM with a bot.
https://meta.discourse.org/t/discobot-dont-take-users-through-the-poll-tutorial-if-its-not-enabled/76604/9
2018-05-30 11:16:20 +08:00
Guo Xiang Tan 81b5d61fa7 FIX: topic_destroyed web hook couldn't find topic. 2018-05-28 17:38:02 +08:00
Guo Xiang Tan 754458e6a2 PERF: Minor but we can just pass a hash to where.
```
Warming up --------------------------------------
          4 x .where     1.040k i/100ms
          1 x .where     1.677k i/100ms
Calculating -------------------------------------
          4 x .where     10.321k (± 5.2%) i/s -     52.000k in
5.053803s
          1 x .where     17.117k (± 3.8%) i/s -     85.527k in
5.004107s

Comparison:
          1 x .where:    17117.1 i/s
          4 x .where:    10321.3 i/s - 1.66x  slower
```
2018-05-28 16:41:38 +08:00
Guo Xiang Tan 9788ea9cb7 DEV: Write into Rails's tmp instead of system tmp for somke test screenshot. 2018-05-28 16:14:22 +08:00
Guo Xiang Tan 123a22e6d8 DEV: Clean up omniauth after mocking. 2018-05-28 15:12:54 +08:00
Guo Xiang Tan 2bafd2a355 Don't pin version of Fabrication gem. 2018-05-28 15:09:02 +08:00
Guo Xiang Tan 9d6d161628 DEV: Take screenshot when smoke test fails. 2018-05-28 14:19:43 +08:00
Guo Xiang Tan 0b55416742 UX: Don't display all groups option if group directory is disabled.a
https://meta.discourse.org/t/all-groups-option-leads-to-access-denied-page/88464
2018-05-28 11:32:55 +08:00
Guo Xiang Tan 857a4e0006 FIX: Viewport in smoke test configured incorrectly. 2018-05-28 10:58:36 +08:00
Guo Xiang Tan 9f873fa66c FIX: Invalid setex expire time in DiscourseNarrativeBot::Actions#reset_rate_limits. 2018-05-25 16:02:15 +08:00
Guo Xiang Tan 9d307a9977 FIX: Destroy notifications and sync notifications count in transaction.
* Seeing errors where the user is destroyed right when the call to
  reload is made.
2018-05-25 12:01:36 +08:00
Guo Xiang Tan 755b511b5c PERF: Destroy collapsed notifications in 1 query instead of 3. 2018-05-25 12:01:36 +08:00
Guo Xiang Tan d43895e2a0 Don't log 404s for FinalDestination.
* We can't do anything about 404s
2018-05-25 10:11:16 +08:00
Guo Xiang Tan 58fbe74b6f Remove assertion to_not raise_error.
If an error is raised the test would fail anyway.
2018-05-25 09:57:08 +08:00
Guo Xiang Tan 3bfd9698c7 PERF: Avoid running the same query twice in TopicViewSerializer#details. 2018-05-24 16:46:13 +08:00
Guo Xiang Tan 1f27c91924 DEV: Better diagnostic when topic tracking state tests fail. 2018-05-24 15:36:41 +08:00
Guo Xiang Tan 43f7cb05c9 FIX: Broken ping event for web hooks due to missing payload. 2018-05-24 15:16:52 +08:00