mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	merge: ugly work-around to prevent plugins from breaking timelines (!558)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/558 Approved-by: Leah <kevinlukej@gmail.com> Approved-by: fEmber <acomputerdog@gmail.com>
This commit is contained in:
		
						commit
						c57931d408
					
				
					 1 changed files with 25 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -28,10 +28,31 @@ export async function install(plugin: Plugin): Promise<void> {
 | 
			
		|||
		},
 | 
			
		||||
		log: (): void => {
 | 
			
		||||
		},
 | 
			
		||||
		err: (err): void => {
 | 
			
		||||
			pluginLogs.value.get(plugin.id).push(`${err}`);
 | 
			
		||||
			throw err; // install時のtry-catchに反応させる
 | 
			
		||||
		},
 | 
			
		||||
		/* dakkar 2024-06-20
 | 
			
		||||
 | 
			
		||||
			passing an `err` triggers an unwanted side-effect inside the
 | 
			
		||||
			AiScript Interpreter:
 | 
			
		||||
 | 
			
		||||
			- the plugin code throws an exception of any kind (in the
 | 
			
		||||
			specific case that made us look, it was `note.text.split(...)`
 | 
			
		||||
			on a note with no text)
 | 
			
		||||
 | 
			
		||||
			- the Interpreter's `handleError` calls `this.abort()` before
 | 
			
		||||
			calling our `err`
 | 
			
		||||
 | 
			
		||||
			- from that point on, every evaluation of that Interpreter object
 | 
			
		||||
			returns null
 | 
			
		||||
 | 
			
		||||
			- which, at least inside a noteViewInterruptor, causes all notes
 | 
			
		||||
      to be replaced with a null
 | 
			
		||||
 | 
			
		||||
			I'm reporting this problem upstream, in the meantime we'll have
 | 
			
		||||
			to do without error logs
 | 
			
		||||
		*/
 | 
			
		||||
		// err: (err): void => {
 | 
			
		||||
		// 	pluginLogs.value.get(plugin.id).push(`${err}`);
 | 
			
		||||
		// 	throw err; // install時のtry-catchに反応させる
 | 
			
		||||
		// },
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	initPlugin({ plugin, aiscript });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue