- do not call $.timeago twice on topic load and for widgets
- do not use toLocaleString for each timeago string, use a single
Intl.DateTimeFormat instance instead
- do not call format for empty timeago strings, ie a post that isnt
edited doesnt have a timeago string
- do not call isTouchDevice for every element
- remove app.replaceSelfLinks, this is superceded with /me route
- store references to jquery objects in navigator instead of creating
them on every scroll
And used it in app.js, so window.scrollTo(0, 0); is not called
on cold load (since you're already at the top). Useful in low-
bandwidth modes since you might accidentally get kicked to the
top of the page due to a slow connection and delayed .init().
Slightly related to testing in #6150
* Use Benchpress
* Use Benchpress.compileParse
* Error for template load failure
* Use benchpressjs package
* Compile templates on demand
* Fix user settings page
* Fix admin search to exclude `.jst` files
* Fix 500-embed
So ajaxify can still show an error if the server goes down
- Route `/assets` -> `build/public`, falling back on `public`
- Moved destinations for `nodebb.min.js`, `acp.min.js`, `admin.css`, `stylesheet.css`, `templates`, and `sounds` to `build/public`
- r.js modules previously routed through express are now symlinked into `public/build/src/modules`
- minfiles no longer served from a memory cache
- use config `views_dir` setting everywhere template directory is used
- fix cache buster `v=v=`
I got a lot of errors in Firefox 50 `TypeError: $(...).attr(...) is undefined nodebb.min.js:25167:24` which points exactly to that line I’ve changed.
Since HTML5 `href` is not a required attribute of an `a` tag. We have a couple of links without `href` and every time you click it you will get this error.