* fix: #7038, autoLocale logic not playing nicely with no-refresh auths
- on login, req.query.lang is deleted (since it seems to be left over)
- on logout, the middleware.autoLocale is executed, which resets
req.query.lang
- middleware.autoLocale is new, just refactored existing logic in
webserver.js into new middleware method.
* style: tests, use lodash
* fix: timeago strings not switching languages on login or out
During regular processing, a timestamp is prepended to the filename
for any uploaded files. We don't want this to be part of the filename
if an end-user elects to download the file.
This commit adds a middleware to strip out that portion of the
basename and adds the appropriate Content-Disposition header for
files in /uploads/files
Fixes#6953
* WIP
* using bootswatch from npm instead of bootswatch CDN url
* feat: on-demand client css building for skins
* added ability for client-side to select a skin
* updated loading and saving logic of bootstrapSkin on client side user settings
* fix: broken test for #6849
* no-refresh login as well, plus lots of fixes for missing config on login
* replace config with new set on logout as well
* passing new payload data into new action:app.loggedIn hook, and old action:app.loggedOut hook
* fixed issues with socket.io not properly representing uid on server
* some light refactoring and cleanup
* minor cleanup, fixed spa logout not working after login
* have reconnection handler for socket.io wait 2s to confirm disconnection before reporting -- stops flicker if reconnecting immediately
* Dynamically replace chat and slideout menu on updateHeader()
... instead of just the menu items.
* more efficient calls to Benchpress and translator /cc @pitaj
* fix: chats and notification handlers not working after login
* fix: accidentally calling cb multiple times
* Store config fields as JSON in the db
Fewer parseInts
* Remove unnecessary parseInts
* remove some dupe code add tests
* remove console.log
* remove more parseInts
* WIP: read meta.configs defaults from defaults.json
remove more parseInts
* more work
* add log for failing test
* update admin pwd
* fix tests, dont require posts/cache before configs are initialized
* handle saves
* Test boolean conditions
* remove more parseInts
* Fix boolean values
* remove lots more parseInts
* removed json parsing
* renamed var to number
* categories dont have timestamp
* WIP
* more unread work
* faster teaser block handling
if user doesn't have anyone blocked don't check
* much faster filtering of blocked posts
* add missing uid
* add tidsByFilter to return
* dont load all pids to find previous non-blocked teaser
* fix unread filters
they no longer use unread/new unread/watched etc they are query strings now
* shorter nav item code
* add unreplied to filters
fix icons not clearing to 0
dont increment unread counters if there is a reply in a topic where you ignored the topic creator
* DRY req props that depend on auth (fix#6727)
authentication leads to req.loggedIn and req.uid being set. However, a
later authentication event might outdate them. Here, I create one
function for setting those properties, and make sure it also is called
on the `action:middleware.authenticate` hook, which would be such an
authentication event. If there are other places, those should be added
as well.
* fix lint errors
* fix lint error
* change exports
- Benchpress compilation is 33x faster now
- Native module with JS fallback and pre-built binaries
- Dev template build is <1sec now
- Minified template build is ~5sec (uglify accounts for almost all)
* ACP quick actions
- Moved restart, build & restart, and logout into separate buttons
- Moved buttons on mobile into the side menu
- Added version and upgrade alert to header / mobile menu
- Moved version checking to server-side with a cache for rate limiting
- Changed "reload" translations to "rebuild and restart"
* Change info alert to black-on-white to match focused search bar
* Fix tests
* Fallback for failed fetch of latest version
* `setup` command fixes and improvements
- Enable using the `./nodebb setup` command for auto-setup with a JSON argument
- Change CLI so package-install and dependency install are separate steps
- Fix#6142
* Prevent compiling templates multiple times
- Multiple requests for same template get pooled
- Hopefully fixes the "templateFunction is not a function" error which happens if site is restarted during high-traffic times
* More helpful upgrade template
* Change languages build to use less memory
Add graceful-fs so no ned to worry about fs limits
* Specify encoding for fs.readFile
Use eachLimit since graceful-fs handles that now
* Add `/me*` route which redirects to the current user's information
- `/me` -> `/user/[usertslug]`
- `/me/bookmarks` -> `/user/[userslug]/bookmarks`
- `/me/settings` -> `/user/[userslug]/settings`
etc
* Add tests for `/me/*`
* 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
This fixes the following error:
$ wget https://nodebb.yourdomain/apple-touch-icon
28/6 09:57:06 [28332] - error: /apple-touch-icon
Error: ENOENT: no such file or directory, stat '/home/sweet/nodebb/public/assets/uploads/system/touchicon-orig.png'
at Error (native)
- 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=`
* Use standard language codes. Fallback for plugins.
* Fix transifex config
* Tab vs space here for some reason
* Remove redundancies
* config.relative_path instead of allcaps
* added upgrade script for existing users' accounts
commit 49e6c0040cc82c1e2684933a8e167ef14854aff8
Author: Julian Lam <julian@designcreateplay.com>
Date: Thu Feb 25 16:12:15 2016 -0500
added recording and charts for topic and post counts globally and by cid
commit e02ff70757f778aa016fbc42ef10a5da2d07a9d9
Author: Julian Lam <julian@designcreateplay.com>
Date: Thu Feb 25 15:35:49 2016 -0500
added labels to charts
commit e75d83bf3886e5183bcf5fcd848d71c513761e01
Author: Julian Lam <julian@designcreateplay.com>
Date: Thu Feb 25 13:30:47 2016 -0500
added per category graphs to ACP management page
commit e3f543200950925cc9e8bf33cccb592f949a100e
Author: Julian Lam <julian@designcreateplay.com>
Date: Thu Feb 25 12:36:11 2016 -0500
updated analytics to move helper methods to analytics lib and sending per category analytics to ACP page
commit 01891d8f7c408925fcdad18dcaa941e5ebbeb9b2
Author: Julian Lam <julian@designcreateplay.com>
Date: Wed Feb 24 16:48:55 2016 -0500
saving per-category analytics, and updated the writeData method to use async for "clarity"