Commit Graph
100 Commits
Author SHA1 Message Date
Sam 4f508b2358 correct sorting in dashboard 2018-05-11 16:32:12 +10:00
Sam e92f9568a4 correct typo 2018-05-11 16:25:41 +10:00
Sam 67054d524d correct missing day from async reports 2018-05-11 15:06:23 +10:00
Sam 8a783412b7 UX: improvements to new dashboard
- remove inactive user report and replace with posts
- clean up internals so grouping by week happens on client
- when switching periods old report was not destroyed leading to bugs
- calculate trend based on previous interval ... not previous 30 days
- show percentages for mau/dau
- be more careful about utc date usage
- show uniqu and click through rate on search panel
- publish key of report with report so we only load the correct one
- subscribe earlier in channel in case of concurrency issues
2018-05-11 13:30:32 +10:00
Sam c475905387 Improvements to new community dashboard
- Limit dashboard to yearly,quarterly,monthly,weekly
- Always prefer UTC full days for reporting
2018-05-09 18:06:13 +10:00
Sam 858a266031 FIX: exact matching should also match on title 2018-05-08 15:59:03 +10:00
Sam 911f898a23 UX: improved performance of emoji dialog
Shift all emoji loading into an animation frame to chrome stops deferring
timers
2018-05-07 11:25:46 +10:00
Sam aa6b779147 DEV: add cache breaker for development
Previously iOS could cache scripts (wrongly)
which made debugging very hard
2018-05-07 11:25:05 +10:00
Sam 9c6cf9eb14 FIX: decorate user stream should include element
In the past we would call the decorate function with no element
this made the extension on user stream pointless
2018-05-07 09:50:56 +10:00
Sam bb377e2021 delete swap files 2018-05-05 15:28:07 +10:00
Sam 2ed7b6e459 lots of missing files 2018-05-04 16:54:31 +10:00
Sam 1fadc3d8fe missed this file 2018-05-04 16:18:33 +10:00
Sam c81854ad14 FEATURE: Rename discourse-cronos to discourse-local-dates 2018-05-04 16:11:50 +10:00
Sam 741898a106 FEATURE: rename cronos bbcode element to date 2018-05-04 15:17:14 +10:00
Sam 3d6dc764be needed to remove legacy from a few more spots 2018-05-04 11:12:01 +10:00
Sam 3a06cb461e FEATURE: remove support for legacy auth tokens 2018-05-04 10:12:10 +10:00
Sam 8d0c073d39 also watch LD_PRELOAD in bench 2018-05-03 15:50:45 +10:00
Sam b7037808bb PERF: stop using exec which is blocking for direct sql 2018-05-03 15:50:30 +10:00
Sam bdd9775869 improve spec 2018-05-02 17:16:00 +10:00
Sam 995c616b7e correct regression, changing diversity would leave blanks 2018-05-01 17:36:49 +10:00
Sam 5a6c5f2083 FEATURE: add a delay on the "mention" warning in composer
Previously we would warn too early about lack of visibility
2018-05-01 15:40:44 +10:00
Sam d942bf6282 add a few emoji aliases 2018-05-01 15:07:59 +10:00
Sam 81f048612e UX: reduce lines in emoji picker
This makes it much easier to find the search box
2018-05-01 14:44:15 +10:00
Sam 727f90023f UX: emoji highlighting is more box shaped
This eliminates a flicker you used to get with the circle radius
2018-05-01 12:12:11 +10:00
Sam 319ea27389 improve comment 2018-04-30 18:42:23 +10:00
Sam f1168db1c8 PERF: make emoji picker faster 2018-04-30 18:42:17 +10:00
Sam 2f0b3afa05 clean up drag on iOS handling, we need it bound earlier 2018-04-30 16:43:56 +10:00
Sam 33f15e0015 improve prev hack 2018-04-30 16:20:41 +10:00
Sam 6be2108291 FIX: dragging of timeline was flaky on iOS 2018-04-30 16:12:12 +10:00
Sam 8b62b59b2e FIX: in some cases we subscribed to an invalid channel
in some very rare cases we would publish and empty payload causing
messagebus corruption

this broke all navigation
2018-04-30 12:13:55 +10:00
Sam 458b9c3a62 FEATURE: suppress duplicate username/names containing .
- Adds official API to disable suppression if needed
2018-04-27 11:41:16 +10:00
Sam b26e27bdab correct specs 2018-04-26 17:24:16 +10:00
Sam 88f5251415 FIX: disallow invalid top_menu and post_menu and share_links
In the past any text could be entered there causing big potential issues
2018-04-26 17:00:56 +10:00
Sam 6676bbd38b FEATURE: index YouTube titles in search
Previously we omitted the titles for videos that YouTube provided
2018-04-26 15:46:52 +10:00
Sam 55179efdb9 FIX: don't trigger autocomplete for tags after space is entered 2018-04-26 15:36:41 +10:00
Sam a0cd54750c FIX: inline [code] not handled properly
The text

a
[code]test[/code]

Would eat up the `test` text cause translation from inline to block
for replace rule was not properly handled
2018-04-26 15:18:22 +10:00
Sam c7a0ced656 FIX: remove facebook_request_extra_profile_details
Since this no longer works
2018-04-26 14:14:35 +10:00
Sam 7368841374 FIX: Allow for application json to work around mac issues 2018-04-26 14:06:05 +10:00
Sam 98d142b1c1 also causes test failure, removing 2018-04-26 13:48:44 +10:00
Sam 0a82d739f9 unofficialize plugin 2018-04-26 13:23:14 +10:00
Sam 4ded5e18e6 add more official plugins 2018-04-26 12:33:07 +10:00
Sam aad7df2a1b correct return value 2018-04-25 08:44:07 +10:00
Sam 035312d501 FIX: specify path for dosp cookie 2018-04-24 11:07:58 -04:00
Sam 146a6c3592 FIX: exclude topics from latest in /categories on refresh
When you hit refresh on categories page it would not supress correctly
2018-04-24 11:07:26 -04:00
Sam 54d153068a DEV: remove qunit rails fork and add a couple of async tests 2018-04-23 16:42:40 +10:00
Sam 6a0aeae91b DEV: clean up JavaScript testing
- Unify runner for autospec and qunit:test
- Report on slowest 30 tests
- Use async await instead of promise tower
2018-04-23 14:43:04 +10:00
Sam ded84a4b58 PERF: improve performance once logged in rate limiter hits
If "logged in" is being forced anonymous on certain routes, trigger
the protection for any requests that spend 50ms queueing

This means that ...

1. You need to trip it by having 3 requests take longer than 1 second in 10 second interval
2. Once tripped, if your route is still spending 50m queueuing it will continue to be protected

This means that site will continue to function with almost no delays while it is scaling up to handle the new load
2018-04-23 11:55:25 +10:00
Sam 86c1457c40 correct typo 2018-04-23 10:55:38 +10:00
Sam 9a55a3e8fd FIX: message bus now properly detects log off
Previously under some conditions message bus could continue firing
even if a user is logged off.

This change ensures that under all conditions once server informs
client of a log off, client stops talking to server
2018-04-20 16:22:40 +10:00
Sam 050ce48bd0 Update message bus to correct issue where too many reqs are performed 2018-04-20 15:52:24 +10:00
Sam 26ce930ac6 FIX: remove auth cookie if we see InvalidAccess 2018-04-20 11:21:51 +10:00
Sam 4810ce3607 correct regression 2018-04-18 21:04:08 +10:00
Sam 59cd7894d9 FEATURE: if site is under extreme load show anon view
If a particular path is being hit extremely hard by logged on users,
revert to anonymous cached view.

This will only come into effect if 3 requests queue for longer than 2 seconds
on a *single* path.

This can happen if a URL is shared with the entire forum base and everyone
is logged on
2018-04-18 16:58:57 +10:00
Sam 9980f18d86 FEATURE: track request queueing as early as possible 2018-04-17 18:06:17 +10:00
Sam 56cbfa2611 UX: Require an extra click to open topic draft
When there is a topic draft in place instead of showing "+ New Topic"
we will show "+ Open Draft", this allows topic drafts to be much less
intrusive.

Also, fixes draft handling of tags
2018-04-17 14:45:18 +10:00
Sam 223379e21a per spec we need to repeat disallow paths per agent 2018-04-16 15:38:10 +10:00
Sam 3632b8d8d6 FEATURE: provide extra signal about content age to crawlers
Adds Last-Modified field to help teach crawlers not to crawl old content
2018-04-13 14:58:33 +10:00
Sam 6179c0ce51 FEATURE: bingbot heavily throttled till it plays nice 2018-04-13 14:24:22 +10:00
Sam f0803e9611 sleep here is a better fit 2018-04-11 16:46:27 +10:00
Sam be0366d587 add debugging for docker test 2018-04-11 16:39:39 +10:00
Sam b05ada3208 Avoid console error in tests 2018-04-11 16:11:53 +10:00
Sam bf2955cd98 stablize spec 2018-04-11 15:45:27 +10:00
Sam 489c22d93c FEATURE: Disallow tags and categories rss feeds
This stops crawlers from hitting tags and category rss feeds to discover
new content, instead they should focus on latest/posts if they need to
consume something regular
2018-04-11 14:36:10 +10:00
Sam 284c946128 revert puma upgrade for now
it does not work right in dev
2018-04-11 14:36:10 +10:00
Sam f40f10240c FEATURE: remove topic rss from robots
Crawlers love hitting the rss feeds (confirmed that both Google and Bing do)

Experimenting with the impact of blocking these feeds and forcing Crawlers to hit
the content direct. It is better if they hit the actual page to start with as opposed to

1. Hit RSS feed
2. Find new content
3. Hit post link
4. Get canonical
5. Hit canonical

Lots of pointless work.

We do not know for sure what impact this will have on newsreader apps,
we will listen for feedback.
2018-04-11 11:57:52 +10:00
Sam abf0b1c5bd correct multisite bleed in proxy cache 2018-04-11 11:02:16 +10:00
Sam fe37ce165d correct issue where groups was never being blanked 2018-04-10 15:30:18 +10:00
Sam 5925a581db array is not supported here, use a simple comma delimited list 2018-04-10 14:37:10 +10:00
Sam 71d0035a7e groups should be text to match add_group etc. 2018-04-10 13:47:07 +10:00
Sam afaeb20f27 FEATURE: Add option to have sso synchronize group membership
In some cases add_groups and remove_groups is too much work, some sites
may wish to simply synchronize group membership based on a list.

When sso_overrides_groups is on all not automatic group membership is
sourced from SSO. Note if you omit to specify groups, they will be cleared
out.
2018-04-10 13:17:23 +10:00
Sam 6995382323 update copy 2018-04-10 09:51:29 +10:00
Sam c081130601 remove uneeded words 2018-04-09 17:28:25 +10:00
Sam 4111f17f64 add missing test for rel next/prev 2018-04-09 15:01:16 +10:00
Sam cf19982fca ban bingbot 2018-04-06 15:40:03 +10:00
Sam 3a7b696703 FEATURE: allow for setting crawl delay per user agent
Also moved to default crawl delay bing so no more than a req every 5 seconds is allowed

New site settings:

"slow_down_crawler_user_agents" - list of crawlers that will be slowed down
"slow_down_crawler_rate" - how many seconds to wait between requests

Not enforced server side yet
2018-04-06 10:15:23 +10:00
Sam f8637ed616 FIX: if a message is *partially* archived consider it not archived 2018-04-05 17:17:47 +10:00
Sam 91a4fee03d FEATURE: block bing from crawling all discourse sites
bing is crawling our properties 10x faster than any other crawler,
until default behavior is improved we are blocking it out-of-the-box

You may enable it by setting the blacklist back to empty
2018-04-05 16:03:02 +10:00
Sam 0d6cfe45bf tl1 should be enough for grant admin. tl4 is hard to revert 2018-04-05 10:53:11 +10:00
Sam f1ef46d7b7 FIX: unable to import private themes due to key checking 2018-04-03 16:11:03 +10:00
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