bump happy-dom, disable all JS&c when parsing
version 10 didn't quite support disabling all of that I have tested that `MfmService` (the other code that uses `happy-dom`) still works fine: the RSS feed for a user is generated correctly, with HTML rendered from MFM
This commit is contained in:
		
							parent
							
								
									27f3d76a2b
								
							
						
					
					
						commit
						26e0412fbb
					
				
					 3 changed files with 44 additions and 10 deletions
				
			
		| 
						 | 
					@ -122,7 +122,7 @@
 | 
				
			||||||
		"form-data": "4.0.0",
 | 
							"form-data": "4.0.0",
 | 
				
			||||||
		"glob": "10.3.10",
 | 
							"glob": "10.3.10",
 | 
				
			||||||
		"got": "14.4.2",
 | 
							"got": "14.4.2",
 | 
				
			||||||
		"happy-dom": "10.0.3",
 | 
							"happy-dom": "15.6.1",
 | 
				
			||||||
		"hpagent": "1.2.0",
 | 
							"hpagent": "1.2.0",
 | 
				
			||||||
		"htmlescape": "1.1.1",
 | 
							"htmlescape": "1.1.1",
 | 
				
			||||||
		"http-link-header": "1.1.3",
 | 
							"http-link-header": "1.1.3",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,8 +209,28 @@ export class ApRequestService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ((contentType ?? '').split(';')[0].trimEnd().toLowerCase() === 'text/html' && _followAlternate === true) {
 | 
							if ((contentType ?? '').split(';')[0].trimEnd().toLowerCase() === 'text/html' && _followAlternate === true) {
 | 
				
			||||||
			const html = await res.text();
 | 
								const html = await res.text();
 | 
				
			||||||
			const window = new Window();
 | 
								const window = new Window({
 | 
				
			||||||
 | 
									settings: {
 | 
				
			||||||
 | 
										disableJavaScriptEvaluation: true,
 | 
				
			||||||
 | 
										disableJavaScriptFileLoading: true,
 | 
				
			||||||
 | 
										disableCSSFileLoading: true,
 | 
				
			||||||
 | 
										disableComputedStyleRendering: true,
 | 
				
			||||||
 | 
										handleDisabledFileLoadingAsSuccess: true,
 | 
				
			||||||
 | 
										navigation: {
 | 
				
			||||||
 | 
											disableMainFrameNavigation: true,
 | 
				
			||||||
 | 
											disableChildFrameNavigation: true,
 | 
				
			||||||
 | 
											disableChildPageNavigation: true,
 | 
				
			||||||
 | 
											disableFallbackToSetURL: true,
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
										timer: {
 | 
				
			||||||
 | 
											maxTimeout: 0,
 | 
				
			||||||
 | 
											maxIntervalTime: 0,
 | 
				
			||||||
 | 
											maxIntervalIterations: 0,
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
			const document = window.document;
 | 
								const document = window.document;
 | 
				
			||||||
 | 
								try {
 | 
				
			||||||
				document.documentElement.innerHTML = html;
 | 
									document.documentElement.innerHTML = html;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				const alternate = document.querySelector('head > link[rel="alternate"][type="application/activity+json"]');
 | 
									const alternate = document.querySelector('head > link[rel="alternate"][type="application/activity+json"]');
 | 
				
			||||||
| 
						 | 
					@ -221,6 +241,10 @@ export class ApRequestService {
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								catch (e) {
 | 
				
			||||||
 | 
									// something went wrong parsing the HTML, ignore the whole thing
 | 
				
			||||||
 | 
								};
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		//#endregion
 | 
							//#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		validateContentTypeSetAsActivityPub(res);
 | 
							validateContentTypeSetAsActivityPub(res);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										14
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -257,8 +257,8 @@ importers:
 | 
				
			||||||
        specifier: 14.4.2
 | 
					        specifier: 14.4.2
 | 
				
			||||||
        version: 14.4.2
 | 
					        version: 14.4.2
 | 
				
			||||||
      happy-dom:
 | 
					      happy-dom:
 | 
				
			||||||
        specifier: 10.0.3
 | 
					        specifier: 15.6.1
 | 
				
			||||||
        version: 10.0.3
 | 
					        version: 15.6.1
 | 
				
			||||||
      hpagent:
 | 
					      hpagent:
 | 
				
			||||||
        specifier: 1.2.0
 | 
					        specifier: 1.2.0
 | 
				
			||||||
        version: 1.2.0
 | 
					        version: 1.2.0
 | 
				
			||||||
| 
						 | 
					@ -7671,6 +7671,10 @@ packages:
 | 
				
			||||||
  happy-dom@10.0.3:
 | 
					  happy-dom@10.0.3:
 | 
				
			||||||
    resolution: {integrity: sha512-WkCP+Z5fX6U5PY+yHP3ElV5D9PoxRAHRWPFq3pG9rg/6Hjf5ak7dozAgSCywsTRUq2qfa8vV8OQvUy5pRXy8EQ==}
 | 
					    resolution: {integrity: sha512-WkCP+Z5fX6U5PY+yHP3ElV5D9PoxRAHRWPFq3pG9rg/6Hjf5ak7dozAgSCywsTRUq2qfa8vV8OQvUy5pRXy8EQ==}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  happy-dom@15.6.1:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-dsMHLsJHZYhXeExP47B2siAfKNVxptlwFss3/bq/9sG3iBt0P2WYFBq68JgMR5vB5gsN2Ev0feTTPD/+rosUNQ==}
 | 
				
			||||||
 | 
					    engines: {node: '>=18.0.0'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  hard-rejection@2.1.0:
 | 
					  hard-rejection@2.1.0:
 | 
				
			||||||
    resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
 | 
					    resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
 | 
				
			||||||
    engines: {node: '>=6'}
 | 
					    engines: {node: '>=6'}
 | 
				
			||||||
| 
						 | 
					@ -20175,6 +20179,12 @@ snapshots:
 | 
				
			||||||
      whatwg-encoding: 2.0.0
 | 
					      whatwg-encoding: 2.0.0
 | 
				
			||||||
      whatwg-mimetype: 3.0.0
 | 
					      whatwg-mimetype: 3.0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  happy-dom@15.6.1:
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      entities: 4.5.0
 | 
				
			||||||
 | 
					      webidl-conversions: 7.0.0
 | 
				
			||||||
 | 
					      whatwg-mimetype: 3.0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  hard-rejection@2.1.0: {}
 | 
					  hard-rejection@2.1.0: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  has-bigints@1.0.2: {}
 | 
					  has-bigints@1.0.2: {}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue