Commit Graph
100 Commits
Author SHA1 Message Date
Sam 2d96160192 FEATURE: improve API error reporting for invalid records 2018-08-21 11:54:34 +10:00
Sam f939bdbf44 FIX: if user is logged off return 404 instead of 500
Return correct error when attempting to publish presence for
a logged out user.
2018-08-21 11:22:40 +10:00
Sam 57d04200a1 Add Rails 6 note here 2018-08-21 11:09:10 +10:00
Sam ca5a6f0a9d FIX: handle concurrently creating post reply keys
In some very rare conditions this would be called concurrently and fail
2018-08-21 10:59:18 +10:00
Sam 8fa5dd4a1f FEATURE: discourse-checklist is now an official plugin 2018-08-21 10:44:40 +10:00
Sam f5fe58384f correct regression around file renaming 2018-08-20 16:08:05 +10:00
Sam ce4b12ae59 FIX: if we have not target available do not redirect 2018-08-20 13:10:59 +10:00
Sam d7b1919ead correct specs 2018-08-20 12:46:14 +10:00
Sam 8b5e42ea16 FIX: always test and coerce to image on upload
In the past the filename of the origin was used as the source
for the extension of the file when optimizing on upload.

We now use the actual calculated extension based on upload data.
2018-08-20 12:18:59 +10:00
Sam a71fe16647 workaround, we need another lazy operator here
Data can be pretty inconsistent here till our big refactor is done
2018-08-20 10:37:06 +10:00
Sam 70155f0923 DEV: decrease log level of compile failures
We do not need to report his in logs, our failure mode is fine here.
2018-08-17 17:10:02 +10:00
Sam 9628c3cf97 FEATURE: automatically correct extension for bad uploads
This fixes with post thumbnails on the fly
2018-08-17 14:00:27 +10:00
Sam eacb2593ee workaround badly denormalized data in polls 2018-08-17 11:15:29 +10:00
Sam f9f490e957 DEV: bin/unicorn -x to run without sidekiq 2018-08-17 10:01:44 +10:00
Sam baa72d18f8 FIX: simplify so we ban all auth paths
previously plugins that have auth paths were not disallowed and robots
tend to call them
2018-08-16 19:16:47 +10:00
Sam f62073a22a correct regression uploading images 2018-08-16 18:49:08 +10:00
Sam 796164b58c FIX: automatically correct bad avatars on access
Also start relying on upload extension for optimized images
2018-08-16 16:32:56 +10:00
Sam 1f17b84b63 FEATURE: more context for error reporting on jobs fails 2018-08-16 12:38:49 +10:00
Sam 243fc9d0f9 FIX: refreshing auto groups when min_username_length is long 2018-08-15 16:59:56 +10:00
Sam 38c10a3dc2 correct the validator 2018-08-15 14:56:24 +10:00
Sam 91e0a77a60 FEATURE: silenced users should not be allowed to edit posts 2018-08-15 14:29:36 +10:00
Sam 33b5cc6bbd FIX: Add gif to list of allowed decoders 2018-08-15 13:56:57 +10:00
Sam cf788582cc DEV: split optimize image failure warnings in logs 2018-08-15 13:27:24 +10:00
Sam 06f82a7d72 correct exception handling, always do to_i in array 2018-08-15 11:31:42 +10:00
Sam 1172e141cd adjust timeouts in dev 2018-08-15 11:13:43 +10:00
Sam b8667c77c4 DEV: adjust bin/unicorn to support -p properly 2018-08-15 10:35:24 +10:00
Sam c8d369a659 DEV: support -p in rails s
if you need to specify port
2018-08-15 10:25:00 +10:00
Sam bc47148d35 add validation to exclude_category_ids 2018-08-15 09:53:28 +10:00
Sam ad5f502332 FIX: add a basic validator for topic params
This cuts down on log noise when people try out sql injection
2018-08-14 17:01:04 +10:00
Sam b504398a91 DEV: keep bin/unicorn clean from log noise 2018-08-14 08:49:57 +10:00
Sam 6cae47aa53 collect extra environment correctly 2018-08-13 16:33:28 +10:00
Sam 83fd308963 FEATURE: group error message regarding image optimization failures 2018-08-13 14:48:25 +10:00
Sam 168ffd8384 FEATURE: group warnings about IP level rate limiting 2018-08-13 14:38:20 +10:00
Sam 2b2612d0f5 correct flaky spec
after(:all) and before(:all) are to be avoided, state can leak
2018-08-10 16:08:07 +10:00
Sam 6f6b4ff988 regression: don't return from a block
also clean up some warnings (shadowed var, unused var)
2018-08-10 14:53:55 +10:00
Sam ea8394b080 typo in error message 2018-08-10 11:34:01 +10:00
Sam 1fc2597626 better error handling for upload extension fixer 2018-08-10 11:28:22 +10:00
Sam 7aef604f7d regression, if there is not excerpt skip 2018-08-09 15:07:18 +10:00
Sam ed4c0f256e FIX: check permalinks for deleted topics
- allow to specify 410 vs 404 in Discourse::NotFound exception
- remove unused `permalink_redirect_or_not_found` which
- handle JS side links to topics via Discourse-Xhr-Redirect mechanism
2018-08-09 15:05:12 +10:00
Sam a35f2984e9 FIX: support Arrays with Marshal dump in distributed cache
Theme cache uses arrays here
2018-08-08 16:44:56 +10:00
Sam 3f6ad65aec FEATURE: include excerpt in HTML view for pinned topics 2018-08-08 11:15:49 +10:00
Sam 84c4dfd22d correct issues 2018-08-07 18:29:41 +10:00
Sam c1e7d6e39a move patch cause it was causing a side effect 2018-08-07 17:25:28 +10:00
Sam f3549291a3 DEV: use unicorn in development
This commit also cleans up a bunch of pointless noise each time we boot app

- narrative was loading i18n cause redefinition of consts
- discourse.rb was loaded twice as was auth
- bin/unicorn now does all the smart things and boots unicron in dev
- bin/rails s will boot unicorn with no params
- remove bin/puma which only causes confusion
2018-08-07 17:13:47 +10:00
Sam 4b000f5d12 FIX: do not use lib for requires
this breaks loading the app from arbitrary dirs
2018-08-07 11:04:29 +10:00
Sam 6797395bd0 FIX: staff should be allowed to agree and keep post 2018-08-07 10:05:43 +10:00
Sam 280c318c49 FEATURE: allow ruby tags in Markdown 2018-08-03 11:47:36 +10:00
Sam 0b3d51a8bc FEATURE: whitelist lang attribute 2018-08-02 16:53:08 +10:00
Sam b76d17881b FEATURE: bump default max size of uploads from 3072K to 4096K 2018-08-02 15:06:30 +10:00
Sam f0c203a5cf clean up previous commit 2018-07-31 14:50:02 +10:00
Sam e4208113a8 improve report and add regular logging 2018-07-27 16:22:14 +10:00
Sam 5e262265a2 update script to provide more mem stats 2018-07-27 12:51:23 +10:00
Sam 178cb480fa correct migration 2018-07-24 18:36:18 +10:00
Sam f0a23d50b4 DEV: add script for testing memory usage in sidekiq 2018-07-24 17:57:02 +10:00
Sam 95720e3873 lint files 2018-07-24 10:57:16 +10:00
Sam caa669cf29 FIX: if exclude_category_ids is specified pass it through
This allows us to optionally show all topics on latest even if stuff is
suppressed via a plugin
2018-07-23 17:23:00 +10:00
Sam 35bc72ef30 lint file 2018-07-23 10:58:24 +10:00
Sam a755ff7b35 FIX: not checking for 0 correctly
0.blank? == false
2018-07-19 07:45:26 +10:00
Sam a24b9981c6 UX: adjust positioning of auto complete vertical
On iPad portrait autocomplete would render off screen
2018-07-18 16:41:31 +10:00
Sam 0c159f17b7 skip failing spec 2018-07-18 14:43:06 +10:00
Sam 379384ae1e FIX: never block /srv/status which is used for health checks
This route is also very cheap so blocking it is not required

It is still rate limited and so on elsewhere
2018-07-18 12:37:01 +10:00
Sam a66d812b92 pick a better icon for auto bump 2018-07-18 11:15:01 +10:00
Sam 5adf5b527d FEATURE: support filter_auto_bump_topics event
Use this event to filter the list of auto bumped topics.

EG:

  on(:filter_auto_bump_topics) do |_category, filters|
    filters.push(->(r) { r.where(<<~SQL)
        NOT EXISTS(
          SELECT 1 FROM topic_custom_fields
          WHERE topic_id = topics.id
          AND name = 'accepted_answer_post_id'
        )
      SQL
    })
  end
2018-07-18 10:56:09 +10:00
Sam 02628883d2 FEATURE: adjust autobump system
- We spread out bumping through the day, if you are bumping
 4 topics then a topic will be bumped every 6 hours

- We add a small, bumping action at the bottom of the post to
 denote a topic got bumped
2018-07-18 10:17:33 +10:00
Sam 9f1e8d4f58 FIX: inaccurate tracking of current topic
Under some cases we would trigger the "you are replying on a different
topic" when in fact, your were not
2018-07-17 17:24:23 +10:00
Sam 818bc10107 FIX: count subcategories in breadcrumbs 2018-07-17 12:06:48 +10:00
Sam 292e8a3756 FIX: category list should set category on topic 2018-07-17 10:38:42 +10:00
Sam 91266cdabb correct auto bump topic logic 2018-07-17 09:33:33 +10:00
Sam e7102c73fb correct test and move to async 2018-07-17 09:10:55 +10:00
Sam ac0053f491 FEATURE: navigate to first post and auto bump category settings
### navigate_to_first_post_after_read setting for categories

When enabled on categories logged on users will return to OP after
reading the entire category. (useful for documentation categories)

### num_auto_bump_daily

Set a number of topics that will automatically bump daily on a category.

- Every 15 minutes we will check if any category has this setting
- Categories with the setting are shuffled
- We exclude pinned, closed, category description and archived topics
- Maximum of 1 topic for the list of categories is bumped till limit reached per category
- We always try to bump oldest first
- Limit is elastic using a RateLimiter that ensures that we only bump N per day

Also some minor organisation on category settings

Froze strings on category.rb
2018-07-16 18:10:35 +10:00
Sam 259d16a781 we already have another .invisible no need to have 2 2018-07-16 18:10:35 +10:00
Sam 6bc0f97668 FEATURE: add data-username on user-info blocks
This makes it easier to target in CSS
2018-07-12 18:16:05 +10:00
Sam 1f0bbca87e FIX: on initial load category subcategories were not mapped correctly 2018-07-12 17:59:56 +10:00
Sam 67bc972d74 UX: make sure autocomplete does not render off screen 2018-07-12 17:07:25 +10:00
Sam 87a5cb982c correct action typo 2018-07-12 16:24:28 +10:00
Sam 29eb9dda59 DEV: add deprecation for currentThemeKey
This ensures that theme components will not explode when attempting to access this
2018-07-12 15:36:38 +10:00
Sam 574d447254 FIX: don't attempt to bump draft sequence if no editor
Rare case on old installs
2018-07-11 17:06:49 +10:00
Sam 0c59346478 PERF: reduce querying when creating notifications
also style avoid shadowing of vars
2018-07-11 12:38:11 +10:00
Sam 665ade50c6 SECURITY: extra CORS headers should be set on correct host 2018-07-11 09:29:02 +10:00
Sam b97b426d34 Revert "FIX: wrong site origin in message bus header"
This reverts commit 93b49a0dd5.
2018-07-11 09:26:43 +10:00
Sam d9a9682f72 FIX: also count sub categories in hamburger when needed
previously there were cases where we suppress subcategories yet don't count them
this leads to confusion
2018-07-09 16:52:55 +10:00
Sam 330e848d4a FIX: if s3 set via global setting bypass config check in UI 2018-07-09 15:38:06 +10:00
Sam 564e7e6898 FEATURE: update libv8 to version 6.7
This has parity with stable Chrome!
2018-07-09 09:08:25 +10:00
Sam 4f41ccd975 FEATURE: MauiBot is abusive and is now blocked
We have now seen multiple forums where MauiBot uses a large amount of
traffic, due to this bad behavior it is blocked out-of-the-box
2018-07-06 16:46:33 +10:00
Sam f662d1135e FIX: update mini_racer corrects erratic segfaults
In some conditions mini_racer would segfault causing sidekiq crash or
web crash, this was automatically recovered from but not ideal.
2018-07-06 11:00:07 +10:00
Sam 0408e87e00 remove uneeded specs 2018-07-05 15:34:58 +10:00
Sam 7b26f5086b PERF: we have no use for topic percent rank
Prepare to remove this column
2018-07-05 15:10:19 +10:00
Sam b54ba4c952 FIX: mentions broken after adding an <abbr> tag
A previous shortcut used was not allowing for <abbr and other tags starting with a

If <abbr> appeared anywhere in the text all mentions would fail to link
2018-07-05 09:27:11 +10:00
Sam e72fd7ae4e FIX: move crawler blocking into anon cache
This refinement of previous fix moves the crawler blocking into
anonymous cache

This ensures we never poison the cache incorrectly when blocking crawlers
2018-07-04 11:14:43 +10:00
Sam 7f98ed69cd FIX: move crawler blocking to app controller
We need access to site settings in multisite, we do not have access
yet if we attempt to get them in request tracker middleware
2018-07-04 10:30:50 +10:00
Sam d1b21aa73b add timings to asset precompile 2018-07-04 09:42:38 +10:00
Sam b6e9c734f2 replace error with message
So Discourse continues to work on Ruby trunk
2018-07-04 09:42:38 +10:00
Sam f4f95ce956 correct linting 2018-06-29 16:04:38 +10:00
Sam 6a54da0902 FIX: raise invalid params for bad callback
Corrects it so we raise a 400 instead of logged 500 error
2018-06-29 10:43:33 +10:00
Sam e0bc6590fd minor cleanup 2018-06-29 10:30:22 +10:00
Sam 982df3c17b FIX: return status 400 for invalid member params
previously error returned was a 500 which is not ideal
and is logged
2018-06-29 10:15:17 +10:00
Sam db14e10943 SECURITY: category badges should HTML escape names 2018-06-28 18:15:07 +10:00
Sam 7a77a3c1dd try a newer node 2018-06-26 17:56:44 +10:00
Sam 9757681707 try to set node version 2018-06-26 09:49:07 +10:00
Sam 96a938111c attempt to see if xenial gets us a new version of node 2018-06-26 09:49:07 +10:00