Sam
98faf2878e
FEATURE: bump rack-mini-profiler version
...
This corrects a warning in chrome console and provides better jQuery 3 compatability
2018-03-29 11:12:09 +11:00
Sam
31dea5d5fc
correct flaky spec
2018-03-27 17:57:19 +11:00
Sam
6c70925c6f
PERF: add missing index for akismet
...
Note, current practice if for plugins to submit PRs to core for any
migrations required for plugins, so we can better control schema.
Especially if core tables are being touched.
In this case index has close to zero cost unless akismet is installed
This reduces the akismet admin query from 20ms on every new page load to 0.5ms
2018-03-27 17:36:13 +11:00
Sam
da6c268e56
FEATURE: add request start time so we can track queueing
2018-03-26 16:29:20 +11:00
Sam
62f09af1c2
UX: occasionally getting scrollbar while loading notifications
2018-03-23 18:19:28 +11:00
Sam
0db13f62eb
FIX: unable to remove tags from topics in quick save
2018-03-23 13:55:24 +11:00
Sam
ff6b47b0cf
In development mode narrative bot breaks reload
2018-03-23 12:58:56 +11:00
Sam
6a3c8fe69c
FEATURE: protect against accidental column or table drops
...
Often we need to amend our schema, it is tempting to use
drop_table, rename_column and drop_column to amned schema
trouble though is that existing code that is running in production
can depend on the existance of previous schema leading to application
breaking until new code base is deployed.
The commit enforces new rules to ensure we can never drop tables or
columns in migrations and instead use Migration::ColumnDropper and
Migration::TableDropper to defer drop the db objects
2018-03-21 15:43:32 +11:00
Sam
5474635361
add more safety
2018-03-16 11:19:06 +11:00
Sam
c589564f6a
FIX: color schemes not updating when remote saves
2018-03-15 18:26:54 +11:00
Sam
ba15273d3f
FEATURE: maintain preview theme, while previewing
...
This means you can browse around in preview mode without losing the theme.
At any point you can refresh page and maintain the preview theme.
2018-03-15 16:17:22 +11:00
Sam
cb7f3c6537
partial upload support for scss
2018-03-14 13:01:52 +11:00
Sam
95968380bc
correct rules
2018-03-13 18:00:22 +11:00
Sam
685406b1bb
try updating rubocop so it does not crash
2018-03-13 17:58:23 +11:00
Sam
8ad7f8b44f
updates to theme watcher
2018-03-13 17:39:53 +11:00
Sam
f11f3f4c5b
remove stray console.log
2018-03-13 17:39:53 +11:00
Sam
8c1d145f0e
FIX: when visiting post on mobile it is not selected
2018-03-13 14:06:08 +11:00
Sam
8229cc2ff1
shuffle vars forward
2018-03-12 18:40:14 +11:00
Sam
758b9a7dda
FEATURE: prototype of local theme directory watcher
...
(note this will be documented a bit late)
2018-03-12 18:36:06 +11:00
Sam
800760e353
also watch CSS in unicorn on dev
2018-03-09 17:47:57 +11:00
Sam
7c0e6b820e
move key so it does not interfere with other errors
2018-03-09 16:42:11 +11:00
Sam
39e679d3cb
FEATURE: allow themes to live in private git repos
...
This feature allows themes sourced from git to live on private
servers, it automatically generates key pairs.
2018-03-09 16:14:38 +11:00
Sam
5b6e49ae1d
FEATURE: split out max diff to 2 settings
...
We trust staff + tl2 and up to perform edits in grace period.
Allow them significantly more edit room in grace period prior to storing
a revision.
editing_grace_period_max_diff_high_trust applies to users with tl2 and up.
So
tl0 / 1 : we store an extra revision if more than 100 chars change
tl2 and up : we store an extra revision if more than 400 chars change
We may tweak these numbers as we go.
2018-03-09 11:58:50 +11:00
Sam
9a4a7422f5
FIX: not loading more messages when username has a .
2018-03-09 11:01:46 +11:00
Sam
5ff857d770
remove theme yaml from UI, it only causes troubles
2018-03-09 11:01:46 +11:00
Sam
86c00ac6ad
stop using deprecated size()
2018-03-08 15:26:29 +11:00
Sam
ddcca1d5cc
lint
2018-03-08 15:16:12 +11:00
Sam
7a831857fc
remove deprecated method
2018-03-08 14:53:09 +11:00
Sam
420739e12c
FEATURE: upgrade jQuery to version 3.3.1
2018-03-08 14:31:13 +11:00
Sam
b57d4c87a4
FEATURE: update CommonMark to version 0.28
2018-03-08 12:19:53 +11:00
Sam
e162cd16b6
FEATURE: editing_grace_period_max_diff to force revisions in grace period
...
If a user performs a substantive edit of 20 chars or more during grace period
we will store a revision to track the change
This allows for better auditing of changes that happen during the grace period
2018-03-07 18:34:34 +11:00
Sam
0134e41286
FEATURE: detect when client thinks user is logged on but is not
...
This cleans up an error condition where UI thinks a user is logged on
but the user is not. If this happens user will be prompted to refresh.
2018-03-06 16:49:31 +11:00
Sam
f0d5f83424
FEATURE: limit assets less that non asset paths
...
By default assets can be requested up to 200 times per 10 seconds
from the app, this includes CSS and avatars
2018-03-06 15:20:39 +11:00
Sam
9331b4849d
FEATURE: we need access to settings in theme js
2018-03-05 15:35:41 +11:00
Sam
95555b5ec8
If there are no settings do now show section
2018-03-05 11:11:21 +11:00
Sam
2c25b9ae12
annotate
2018-03-05 11:06:45 +11:00
Sam
d39d2b9352
FEATURE: whitelist data for themes
2018-03-02 14:52:09 +11:00
Sam
e19ae6c55e
FEATURE: disallow groups from being indexed
2018-03-02 13:38:30 +11:00
Sam
185507d072
UX: remove fast scroll which is leading to bugs
2018-03-02 12:58:38 +11:00
Sam
75172024ca
SECURITY: ensure users have permission when moving categories
2018-03-02 12:13:27 +11:00
Sam
f295a18e94
FIX: stop double counting net calls in logs
2018-02-28 10:45:11 +11:00
Sam
2a7b7add59
oops
2018-02-28 09:35:46 +11:00
Sam
182aaffbd5
Keep second semantics for method
2018-02-28 09:21:38 +11:00
Sam
c234a14f0d
Make bootsnap MRI only for now
2018-02-26 10:29:25 +11:00
Sam
b301c9f6c1
more prep work for jRuby
2018-02-26 10:25:58 +11:00
Sam
79e0cd7f52
update onebox
2018-02-26 10:15:14 +11:00
Sam
a94dc0c731
Revert "FIX: preview theme not working consistently"
...
This reverts commit 845cec3ba0 .
was not a needed change, but was elsewhere
2018-02-23 17:59:00 +11:00
Sam
6f076963f2
FIX: incorrect caching of theme keys
2018-02-23 17:58:13 +11:00
Sam
845cec3ba0
FIX: preview theme not working consistently
...
Avoid flash, this makes debugging much simpler as well.
Additionally URL now clearly shows you are previewing a theme.
2018-02-23 15:25:35 +11:00
Sam
f4418ae884
PERF: fast docking of timeline so it does not overlap
...
In the past we debounced all dock check this causes situations where
sometimes timeline would not dock in time especially on slow computers
This works around it by performing the dock by hand.
Also there was missing integer casting causing over aggressive re-rendering
2018-02-22 12:52:43 +11:00
Sam
720e1965e3
FEATURE: add category suppress from latest
...
In the past we used suppress_from_homepage, it had mixed semantics
it would remove from category list if category list was on home and
unconditionally remove from latest.
New setting explicitly only removes from latest list but leaves the
category list alond
2018-02-22 09:56:35 +11:00
Sam
26450f7587
allow for no lograge
...
(fixes tests)
2018-02-21 15:40:37 +11:00
Sam
ca1a3f37e3
FEATURE: add instrumentation for all external net calls
2018-02-21 15:20:29 +11:00
Sam
80ec6ce4fd
bump onebox
2018-02-21 10:06:17 +11:00
Sam
de5418a905
correct search in topic list
2018-02-20 20:47:44 +11:00
Sam
86d12bd44b
FEATURE: search within title using in:title
...
Also
- Significantly improved search ranking, title is treated most strongly
- Adds tag names to the index
- Run search re-indexer more aggressively
- Re-index topic and all posts on category change
2018-02-20 14:41:21 +11:00
Sam
73a492f721
minor changes to discourse bench
...
Ruby master is not compatible with bootsnap atm
2018-02-20 14:41:21 +11:00
Sam
a3c7ee09b6
FIX: ruby bench not working properly
...
- Remove thin which is no longer supported
- Bypass admin api rate limiting in profile environment
- Admin password was too short
- Run by default in concurrency 1 mode
- A skip bundle assets flag to speed up local testing
2018-02-19 11:37:16 +11:00
Sam
107eb5d830
FIX: binding_of_caller not working on Ruby 2.5
2018-02-19 11:37:16 +11:00
Sam
9d8df812dd
PERF: upgrade Oj gem
2018-02-19 11:37:16 +11:00
Sam
cda3f72ab8
SECURITY: don't onebox whispers
2018-02-16 08:57:20 +11:00
Sam
57e140dc07
FIX: oneboxing to private messages
2018-02-16 08:00:22 +11:00
Sam
e456ae1b6c
Revert "Upgrade mail gem to drop dependency on mime-types."
...
This reverts commit 498cc15aa9 .
Noticed a certain amount of extra allocations due to this upgrade,
reverting to confirm if this is the case
2018-02-16 07:04:22 +11:00
Sam
7af9ed6674
FEATURE: add goanna rendering engine to non crawler list
...
Goanna the fork of Gecko which is used by Pale Moon browser is not a crawler.
2018-02-16 06:30:47 +11:00
Sam
5faffeeb82
demo script for profiling middleware stack
2018-02-15 14:36:40 +11:00
Sam
94b2c70c0d
PERF: remove oga gem
...
oga gem is automatically required by the aws gem
the oga gem retains about 1mb of memory, aws now uses nokogiri
This also removes the html normalize from the pretty text specs that was
a fair bit buggy as the polls test shows.
2018-02-15 14:36:40 +11:00
Sam
d8b4627fc8
we have to define this for tests to pass
2018-02-15 13:30:34 +11:00
Sam
b5b866aab3
oops
2018-02-15 13:13:31 +11:00
Sam
c89b42c488
PERF: only require the rss library if used
...
Before:
Total allocated: 257909321 bytes (2514134 objects)
Total retained: 39681579 bytes (343387 objects)
allocated memory by gem
-----------------------------------
42875979 rss
retained memory by gem
-----------------------------------
2080188 rss
retained objects by gem
-----------------------------------
13052 rss
After:
Total allocated: 210562047 bytes (2252030 objects)
Total retained: 37433816 bytes (328635 objects)
----
So, 2 less megabytes on boot and 13000 objects stuck in ruby heaps forever.
2018-02-15 13:11:33 +11:00
Sam
38f4acd55a
FIX: rate limiter text is confusing, should not say daily
...
Also, adds easily parseable JSON so users can figure out
how long to wait when the API is limited. ("extras" "wait_seconds")
2018-02-14 15:29:50 +11:00
Sam
f028ffaf29
SECURITY: correct local onebox category checks
...
Also removes ugly "source_topic_id" from cooked posts
Patch was authored by @zogstrip
Signed-off-by: Sam <sam.saffron@gmail.com >
2018-02-14 10:40:46 +11:00
Sam
14d0450bef
FEATURE: Only load service worker for Android
...
TBD an interface for plugin to enable service workers on desktop if they need them
2018-02-13 16:23:36 +11:00
Sam
074d590abd
FIX: stop counting offline page as a page view
2018-02-13 16:19:43 +11:00
Sam
b34b1b6fe3
FIX: invite to message was not allowing groups
...
Previously we were incorrectly checking mentionable instead of messageable
Also fix edge case where multiple groups sharing a name mean that exact match override is not working
Also cleans up params sent to user selector
2018-02-13 13:28:46 +11:00
Sam Saffron
fb91d24deb
PERF: add index on user email logs
...
This index makes it much faster to figure out if a user reached
email limit on sites where lots of emails are skipped
2018-02-07 11:33:28 -05:00
Sam Saffron
884b9d4b78
PERF: optimize performance of new topics query (home page)
...
This ensures the bypass is always applied to query plan
also, add frozen strings
2018-02-06 12:37:23 -05:00
Sam Saffron
df8e43abdd
use lazy & instead of try
...
unregister ip skipper in test
raise if called when a skipper is in play
2018-02-06 10:38:15 +11:00
Sam
187b0031c5
correct specs
2018-02-01 16:16:14 +11:00
Sam
60ee9a4ccf
make tests a bit happier
2018-02-01 15:56:22 +11:00
Sam
41986cdb2f
Refactor requires login logic, reduce duplicate code
...
This also corrects the positioning in the chain of the check
and removes misuse of prepend_before_action
2018-02-01 15:17:59 +11:00
Sam
ee0d3f15c1
FEATURE: allow better fidelity for auto linkify, disable most tlds based linkify
...
New site settings:
enable_markdown_linkify: which is default on, auto links https:// and http:// and mail://
markdown_linkify_tlds: which allows control of what tlds get autolinked for cases such as www.site.com, default is com|net|gov
2018-02-01 13:22:38 +11:00
Sam
f2e7b74d88
FIX: don't return 200s when login is required to paths
...
When running `ensure_login_required` it should always happen prior to
`check_xhr` cause check xhr will trigger a 200 response
2018-02-01 12:26:45 +11:00
Sam
f3502853fa
correct spec regression
2018-01-30 08:54:37 +11:00
Sam
f946db4afe
FIX: inline oneboxer min title length of 2
...
also: cache mini onebox misses as well to cut down traffic
2018-01-30 08:40:04 +11:00
Sam
073d072aa6
correct lockfile
2018-01-29 18:28:59 +11:00
Sam
fa5880e04f
PERF: ability to crawl for titles without extra HEAD req
...
Also, introduces a much more aggressive timeout for title crawling
and introduces gzip to body that is crawled
2018-01-29 15:40:12 +11:00
Sam
1fac2ecb56
FIX: uploads not working on themes admin page
2018-01-25 21:13:06 +11:00
Sam
adae963751
ensure we do not override charset for content type
2018-01-25 18:43:42 +11:00
Sam
3b083ca0bd
correct spec
2018-01-24 13:23:27 +11:00
Sam
95ac1655bc
revert settings
2018-01-24 13:21:23 +11:00
Sam
3492a91056
FEATURE: allow site operators to disable emoji shortcuts
2018-01-24 12:21:44 +11:00
Sam
7ba06de0d6
FEATURE: disable service worker for all browsers except for android
...
Service worker is still quite experimental, only enable on android
where it provides many benefits
2018-01-24 12:03:08 +11:00
Sam
c42bb94362
PERF: slow down optimizing images per host
2018-01-24 08:53:17 +11:00
Sam
bfd052a317
PERF: guard so we only create one optimized image per process
...
This protectd sidekiq and other cases where optimized images are created on
demand so they do not dominate the machine.
2018-01-24 08:22:28 +11:00
Sam
d2025e33cf
FEATURE: bump rbtrace to latest
2018-01-23 15:36:47 +11:00
Sam
2437b0d531
FIX: regression, missing 404 page
2018-01-23 09:00:28 +11:00
Sam
060e78e884
PERF: reduce memory usage for post alerter
2018-01-22 17:11:52 +11:00
Sam
ce815276d0
Small and big should be limited via rem so it works large font mode
2018-01-22 14:22:30 +11:00
Sam
f26ff290c3
FEATURE: Shorten setting name to max_reqs
...
So it is consistent with other settings
2018-01-22 13:18:30 +11:00
Sam
83a346cd68
FIX: migrate_from_s3 rake task not working
2018-01-22 11:42:09 +11:00