- Fix Tor hidden service country name not displaying correctly.
- Make global disabling of anonymizer file posting apply to board banners, flags, custompages.
### 1.0.3
- Translation improvements.
- Add back missing "Lock+Unlist" mode for handling ianctive boards.
- Npm audit.
### 1.0.2
- Translation improvements.
### 1.0.1
- Translation improvements.
- Add a link to board in mod view e.g. /test/ on globalmanage recent posts to give some context.
- Fix dockerignore for docker testing/development, was broken due to translations
- Fix dockerignore for docker testing/development, was broken due to translations.
### 1.0.0
Version 1.0.0 is here. jschan is stable and mature enough and has been for a while. There's no need to go to version 0.9999.9999 and I am comfortable enough to call it "Version 1".
{result:res.locals.numFiles===0,expected:false,blocking:true,error:__('Must provide a file')},
{result:(res.locals.anonymizer&&disableAnonymizerFilePosting),expected:false,error:__('Posting files through anonymizers has been disabled globally')},
{result:numberBody(res.locals.numFiles,0,globalLimits.assetFiles.max),expected:true,error:__('Exceeded max asset uploads in one request of %s',globalLimits.assetFiles.max)},
{result:numberBody(res.locals.board.assets.length+res.locals.numFiles,0,globalLimits.assetFiles.total),expected:true,error:__('Total number of assets would exceed global limit of %s',globalLimits.assetFiles.total)},
{result:res.locals.numFiles===0,expected:false,blocking:true,error:__('Must provide a file')},
{result:(res.locals.anonymizer&&disableAnonymizerFilePosting),expected:false,error:__('Posting files through anonymizers has been disabled globally')},
{result:numberBody(res.locals.numFiles,0,globalLimits.flagFiles.max),expected:true,error:__('Exceeded max flag uploads in one request of %s',globalLimits.flagFiles.max)},
{result:numberBody(Object.keys(res.locals.board.flags).length+res.locals.numFiles,0,globalLimits.flagFiles.total),expected:true,error:__('Total number of flags would exceed global limit of %s',globalLimits.flagFiles.total)},
&&res.locals.numFiles>0),expected:false,error:__(`Posting files through anonymizers has been disabled ${disableAnonymizerFilePosting?'globally':'on this board'}`)},
{result:res.locals.numFiles>res.locals.board.settings.maxFiles,blocking:true,expected:false,error:__(`Too many files. Max files per post ${res.locals.board.settings.maxFiles<globalLimits.postFiles.max?'on this board ':''}is %s`,res.locals.board.settings.maxFiles)},
{result:res.locals.numFiles===0,expected:false,blocking:true,error:__('Must provide a file')},
{result:(res.locals.anonymizer&&disableAnonymizerFilePosting),expected:false,error:__('Posting files through anonymizers has been disabled globally')},
{result:numberBody(res.locals.numFiles,0,globalLimits.bannerFiles.max),expected:true,error:__('Exceeded max banner uploads in one request of %s',globalLimits.bannerFiles.max)},
{result:numberBody(res.locals.board.banners.length+res.locals.numFiles,0,globalLimits.bannerFiles.total),expected:true,error:__('Total number of banners would exceed global limit of %s',globalLimits.bannerFiles.total)},