Commit Graph
100 Commits
Author SHA1 Message Date
Sam cbdab71179 PERF: stop counting participants on very large topics
This query gets very expensive and can be bypassed on large topics
2018-06-20 18:11:39 +10:00
Sam 35e0ccfc84 make linter happy 2018-06-20 18:03:27 +10:00
Sam 2f0e73f2d6 DEV: fast pluck to use type_map in mini_sql 2018-06-20 17:53:49 +10:00
Sam 44091f20c6 DEV: allow for method deprecation using Discourse.deprecate
New method deprecator will ensure one log message an hour happens
for all deprecated method calls per call site

Also removes unused monkey patches to ActiveRecord::Base
2018-06-20 17:53:49 +10:00
Sam cb824a6b33 DEV: remove all calls to SqlBuilder use DB.build instead
This is part of the migration to mini_sql, SqlBuilder.new is being
deprecated and replaced with DB.build
2018-06-20 17:53:49 +10:00
Sam 591512fcb8 adjust defaults for search log retention 2018-06-20 10:46:07 +10:00
Sam 94124ee2a6 skip erratic spec 2018-06-20 10:08:06 +10:00
Sam 2a8e7a5d4e upgrade gems 2018-06-20 10:07:56 +10:00
Sam 8ea29c51ae SECURITY: update sprockets for CVE-2018-3760 2018-06-20 09:49:26 +10:00
Sam 4d984a5a63 extra diagnostics for thread issues 2018-06-20 09:19:16 +10:00
Sam cbaf521fc1 correct regression and add integrity spec for onceoffs 2018-06-20 09:09:31 +10:00
Sam b8e5989201 correct rake db:create, which needs a defer DB object 2018-06-19 16:43:50 +10:00
Sam 5f64fd0a21 DEV: remove exec_sql and replace with mini_sql
Introduce new patterns for direct sql that are safe and fast.

MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API

- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder

See more at: https://github.com/discourse/mini_sql
2018-06-19 16:13:36 +10:00
Sam cc3fc87dd7 DEV: handle termination cleanly in autospec 2018-06-19 16:13:36 +10:00
Sam Saffron 6123f61f5f seconds is not needed here 2018-06-14 20:53:24 +10:00
Sam 5f86434bf1 DEV: make tests less fragile 2018-06-14 18:31:07 +10:00
Sam 87fabdc2f3 FIX: correct pool reaper
This removes a freedom patch and replaces with a custom reaper thread
it also captures an issue where reaper would fail when connections where
empty
2018-06-14 18:22:02 +10:00
Sam 1d9fdcd9d3 Attempt to make spec more robust 2018-06-14 16:10:30 +10:00
Sam 2ddf8ea0f8 Merge branch 'master' of github.com:discourse/discourse 2018-06-14 15:55:15 +10:00
Sam 71aa20bd30 FIX: pool drainer to use Rails 5.2 implementation
old implementation did not reap abandoned connections
2018-06-14 15:54:48 +10:00
Sam 66982c7800 FIX: stop using Rails connection reaper in multisite
The Rails 5.2 connection reaper appears to be leaking threads
this is a quick fix to stop it, though we need to make sure we
never leak connection pools as well.
2018-06-14 12:49:30 +10:00
Sam c56bd2ac16 add memory analysis script 2018-06-14 12:18:36 +10:00
Sam 12fd0b827e PERF: release results in a couple of cases 2018-06-13 15:11:43 +10:00
Sam Saffron 030e322a39 FEATURE: block top level /my/ routes 2018-06-12 19:47:45 +10:00
Sam Saffron 003df147a5 workaround fabricator not working correctly 2018-06-12 14:44:59 +10:00
Sam 42847252a4 remove conditional code 2018-06-08 13:38:25 +10:00
Sam 945cb90e7e update specs 2018-06-07 20:55:42 +10:00
Sam 1834417e2f downgrade rails properly 2018-06-07 20:38:22 +10:00
Sam 799081e846 attempt all column dropping upfront prior to loading cache 2018-06-07 20:30:19 +10:00
Sam e031b06afa attempt to reset column info on user table explicitly 2018-06-07 20:20:15 +10:00
Sam 8b88b71309 Attempt very aggressively to clear cache 2018-06-07 20:10:52 +10:00
Sam 3291f2c0eb move plugin fixture to the front of the queue 2018-06-07 19:56:07 +10:00
Sam d3b8ee761c revert to rails 5.1 for now 2018-06-07 19:47:53 +10:00
Sam 322b66bcee attempt to shuffle order of operation for test 2018-06-07 18:16:45 +10:00
Sam 855b0df085 attempt to reset cache 2018-06-07 16:18:45 +10:00
Sam 19847e7fd1 Merge branch 'master' of github.com:discourse/discourse 2018-06-07 16:13:40 +10:00
Sam e806e6e96f correct specs 2018-06-07 16:13:15 +10:00
Sam 24c7d2913b DEV: organise fixture so all drops happen at the end 2018-06-07 15:53:54 +10:00
Sam 54c0aa788c FIX: db:create was failing due to site settings 2018-06-07 14:51:14 +10:00
Sam f331d2603d DEV: improve design of site setting default provider
This refactors it so "Defaults provider" is only responsible for "defaults"

Locale handling and management of locale settings is moved back into
SiteSettingExtension

This eliminates complex state management using DistributedCache and makes
it way easier to test SiteSettingExtension
2018-06-07 14:33:41 +10:00
Sam 89ad2b5900 DEV: Rails 5.2 upgrade and global gem upgrade
This updates tests to use latest rails 5 practice
and updates ALL dependencies that could be updated

Performance testing shows that performance has not regressed
if anything it is marginally faster now.
2018-06-07 14:21:33 +10:00
Sam 5086fdc76d FIX: add protection for scss removal during upgrade
In some cases plugins would remove scss files or change them, but CSS
was still calculated based off stale data in old instance cache
2018-05-31 17:02:48 +10:00
Sam 5a8d2b5e45 FIX: rake assets:precompile should be re-runnable 2018-05-31 16:18:01 +10:00
Sam Saffron 01da2a21bf xenial is not stable on travis 2018-05-30 18:45:09 +10:00
Sam f0eeb59f9f update apt 2018-05-30 15:01:12 +10:00
Sam a9eb6e7884 correct syntax 2018-05-30 14:45:33 +10:00
Sam 9444302067 try xenial for travis 2018-05-30 14:35:16 +10:00
Sam b94ae29874 DEV: travis: don't output db migrate 2018-05-30 14:34:12 +10:00
Sam 77dc316e1b try to cache apt 2018-05-30 14:20:48 +10:00
Sam 00b6f5f21c DEV: log less in travis
UI becomes super slow if we log everything
2018-05-30 13:54:11 +10:00
Sam df815d6c0e DEV: prefer using ordering in relation over default scope 2018-05-29 09:34:12 +10:00
Sam e501936405 FIX: search server side error in rare condition 2018-05-28 15:28:18 +10:00
Sam 5a32a70d6c FIX: ColorScheme color missing was returning "nil" 2018-05-28 11:46:00 +10:00
Sam c677877e4f FIX: Korean needs no word segmentation 2018-05-28 09:37:57 +10:00
Sam 7e8ef5d6e1 move back to pg 9.6 cause 10 is not working 2018-05-25 15:46:28 +10:00
Sam 9c91c2509e improve spec stability 2018-05-25 15:16:40 +10:00
Sam 69050f8a14 upgrade PG, remove malloc limit add larger method cache 2018-05-25 14:39:52 +10:00
Sam 610bfec73e DEV: correct fragile spec 2018-05-25 14:29:11 +10:00
Sam 720a12ce76 correct time dependent spec 2018-05-25 14:26:05 +10:00
Sam be1b8fc3a8 DEV: ensure specs run in consistent times 2018-05-25 14:22:43 +10:00
Sam 80adc1ee80 DEV: stabilize site setting spec
side effects could cause specs to fail in rare conditions
2018-05-25 12:16:00 +10:00
Sam 4fef9e95d2 should not be a const 2018-05-24 15:42:00 +10:00
Sam 53b97b28f0 FIX: in rare conditions post timing would miss the user 2018-05-24 15:38:33 +10:00
Sam 70179290f3 clean up callbacks during acceptance tests 2018-05-24 15:28:54 +10:00
Sam 4194886b62 correct failing test 2018-05-24 13:02:20 +10:00
Sam 6a01a371ee add a couple more branches 2018-05-24 12:48:51 +10:00
Sam c684860b68 only build master in travis
no need to build any other branches
2018-05-24 12:46:41 +10:00
Sam ed08545d1f FEATURE: allow searching in title in advanced search
Add UI for matching in title only in advanced search options
2018-05-24 12:34:53 +10:00
Sam 11b544ef4e DEV: add support for custom post message callbacks
Allows for cleaner subscription to changes by plugins, polls will move to
it.
2018-05-24 12:34:53 +10:00
Sam d366f8d888 remove hack that destabliazed tese suite 2018-05-24 10:48:16 +10:00
Sam 930ebb5684 skip failing test 2018-05-23 13:26:42 +10:00
Sam 6974b7d6a8 FIX: run deferred jobs inline in sidekiq 2018-05-23 12:05:37 +10:00
Sam 41d37fd498 improve erratic test 2018-05-23 10:16:52 +10:00
Sam 45f65859c9 improve erraticly failing spec 2018-05-23 08:39:15 +10:00
Sam 8e9531657a skip erratic test 2018-05-23 08:28:00 +10:00
Sam 1ac1ee4287 FEATURE: allow registration of an array custom field 2018-05-22 16:48:39 +10:00
Sam bcfd9cf8b5 attempt to stabilize spec 2018-05-22 16:15:24 +10:00
Sam 24abf38d38 PERF: lower the priority on user emails
User emails can wait behind other regular jobs, they are usually somewhat
slower as they involve smtp transactions
2018-05-22 15:20:55 +10:00
Sam 9e2131ace8 improve erratic test 2018-05-22 13:58:12 +10:00
Sam 99088f4d77 skip slow erratic test 2018-05-22 13:03:26 +10:00
Sam 3e06def856 FIX: If we have no logo defined use sketch in manifest 2018-05-22 12:10:59 +10:00
Sam 661d89f489 skip erratic spec 2018-05-22 09:42:50 +10:00
Sam 39bfd836c6 FEATURE: do not boot Ruby if not on 2.4 or up 2018-05-22 09:21:47 +10:00
Sam 788ca1f112 FIX: stop adding email to unsubscribe url
Instead of adding email to unsubscribe url store it in redis for 1 hour
rate limit calls to unsubscribe endpoint to ensure there is no risk of
bloating redis

Also move controller to request specs
2018-05-22 09:07:03 +10:00
Sam ec337bbcb3 DEV: attempt to report last exception as the "cause" for failures
This allows our request specs to report exceptions so we can debug

May have a few false positives but generally should be quiet

TODO only wire magic in for request specs, currently happens for all
2018-05-21 17:01:50 +10:00
Sam db23e10efa DEV: watch plugin.rb in autospec 2018-05-21 15:19:10 +10:00
Sam 8407c210c1 DEV: Update our test matrix
We are preparing to drop support for Ruby 2.3
2018-05-21 14:31:30 +10:00
Sam cd4250737a SECURITY: remove alert dialog from local dates 2018-05-21 12:20:33 +10:00
Sam 17a7bb8e23 use async test 2018-05-17 17:18:22 +10:00
Sam efe7b6dbc1 DEV: after installing official plugins, install the gems 2018-05-17 17:18:22 +10:00
Sam 441a52ad17 DEV: add more information about failed smoke test
log the http status code and path that failed
2018-05-17 16:43:00 +10:00
Sam 560a16d864 correct resizing in firefox 2018-05-17 14:47:10 +10:00
Sam 0db04956d7 update description of graph 2018-05-17 12:24:13 +10:00
Sam 0e92dfa818 bump version to beta 10 2018-05-17 12:09:19 +10:00
Sam cc7ecb8a06 FIX: hyperlinks did not work in category boxes 2018-05-17 12:02:24 +10:00
Sam f6c35e5abc FIX: destroy picker if it was loaded 2018-05-17 11:18:04 +10:00
Sam e0695b02d9 Stabalize order of tables in dashboard 2018-05-17 11:05:01 +10:00
Sam c381d60471 Replace the "posts" line with message count 2018-05-17 10:26:30 +10:00
Sam 6796d72e9d Shorten copy 2018-05-17 10:26:30 +10:00
Sam 0b14e6b556 Resizing dashboard should not break graphs 2018-05-17 10:26:30 +10:00