mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
							
								
								
									
										15
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,3 +1,18 @@ | ||||
| #### v3.0.1 (2023-05-02) | ||||
|  | ||||
| ##### Chores | ||||
|  | ||||
| *  incrementing version number - v3.0.0 (224e08cd) | ||||
| *  update changelog for v3.0.0 (56ad381f) | ||||
|  | ||||
| ##### Bug Fixes | ||||
|  | ||||
| *  #11554, email requirement bypass by sending in whitespace (2b8dd3d2) | ||||
| *  update openapi spec to specify optional `expiry` argument available to be passed in via request body. (b3787bd5) | ||||
| *  #11545, wrong message shown to new users re: email confirmation (2b70063e) | ||||
| *  black on red coloration on error when a bad reset code is received (604a8f7e) | ||||
| *  use query param sort over user setting if it's set (9484ddc3) | ||||
|  | ||||
| #### v3.0.0 (2023-04-26) | ||||
|  | ||||
| ##### Breaking Changes | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|     "name": "nodebb", | ||||
|     "license": "GPL-3.0", | ||||
|     "description": "NodeBB Forum", | ||||
|     "version": "3.0.0", | ||||
|     "version": "3.0.1", | ||||
|     "homepage": "https://www.nodebb.org", | ||||
|     "repository": { | ||||
|         "type": "git", | ||||
|   | ||||
| @@ -11,6 +11,17 @@ put: | ||||
|       required: true | ||||
|       description: a valid topic id | ||||
|       example: 1 | ||||
|   requestBody: | ||||
|     required: false | ||||
|     content: | ||||
|       application/json: | ||||
|         schema: | ||||
|           type: object | ||||
|           properties: | ||||
|             expiry: | ||||
|               type: number | ||||
|               description: A UNIX timestamp representing the moment the topic will be unpinned. | ||||
|               example: 1585337827953 | ||||
|   responses: | ||||
|     '200': | ||||
|       description: Topic successfully pinned | ||||
|   | ||||
| @@ -27,7 +27,7 @@ define('messages', ['bootbox', 'translator', 'storage', 'alerts', 'hooks'], func | ||||
| 			}, | ||||
| 		}; | ||||
|  | ||||
| 		if (!app.user.email) { | ||||
| 		if (!app.user.email && !app.user.isEmailConfirmSent) { | ||||
| 			msg.message = '[[error:no-email-to-confirm]]'; | ||||
| 			msg.clickfn = function () { | ||||
| 				alerts.remove('email_confirm'); | ||||
|   | ||||
| @@ -48,6 +48,10 @@ Interstitials.email = async (data) => { | ||||
| 			hasPending, | ||||
| 		}, | ||||
| 		callback: async (userData, formData) => { | ||||
| 			if (formData.email) { | ||||
| 				formData.email = String(formData.email).trim(); | ||||
| 			} | ||||
|  | ||||
| 			// Validate and send email confirmation | ||||
| 			if (userData.uid) { | ||||
| 				const isSelf = parseInt(userData.uid, 10) === parseInt(data.req.uid, 10); | ||||
|   | ||||
| @@ -31,7 +31,7 @@ | ||||
| 	</form> | ||||
| </div> | ||||
| {{{ else }}} | ||||
| <div class="card bg-danger"> | ||||
| <div class="card text-bg-danger"> | ||||
| 	<h5 class="card-header"> | ||||
| 		[[reset_password:wrong_reset_code.title]] | ||||
| 	</h5> | ||||
|   | ||||
| @@ -448,7 +448,10 @@ describe('API', async () => { | ||||
|  | ||||
| 					let body = {}; | ||||
| 					let type = 'json'; | ||||
| 					if (context[method].hasOwnProperty('requestBody') && context[method].requestBody.content['application/json']) { | ||||
| 					if ( | ||||
| 						context[method].hasOwnProperty('requestBody') && | ||||
| 						context[method].requestBody.required !== false && | ||||
| 						context[method].requestBody.content['application/json']) { | ||||
| 						body = buildBody(context[method].requestBody.content['application/json'].schema.properties); | ||||
| 					} else if (context[method].hasOwnProperty('requestBody') && context[method].requestBody.content['multipart/form-data']) { | ||||
| 						type = 'form'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user