node-fibers icon indicating copy to clipboard operation
node-fibers copied to clipboard

Latest version 5.0.2 is not tagged.

Open danielbarr3ra opened this issue 2 years ago • 3 comments

npmjs lists 5.0.2 as latest version but it is not tagged on this repo yet. Is this intended? https://www.npmjs.com/package/fibers

danielbarr3ra avatar Aug 01 '22 15:08 danielbarr3ra

We can diff it from npm, looks like some logging changes.. maybe some internal meteor diagnostics that snuck into npm? @renanccastro would be able to comment further.

diff -pubr a/fibers/fibers.js b/fibers/fibers.js
--- a/fibers/fibers.js	2022-08-01 11:47:05.000000000 -0500
+++ b/fibers/fibers.js	2022-08-01 11:46:36.000000000 -0500
@@ -85,21 +85,46 @@ function setupAsyncHacks(Fiber) {
 			}
 		}
 
-		function wrapFunction(fn) {
-			return function() {
+		function logUsingFibers(fibersMethod) {
+			const logUseFibersLevel = +(process.env.ENABLE_LOG_USE_FIBERS || 0);
+
+			if (!logUseFibersLevel) return;
+
+			if (logUseFibersLevel === 1) {
+				console.warn(`[FIBERS_LOG] Using ${fibersMethod}.`);
+				return;
+			}
+
+			const { LOG_USE_FIBERS_INCLUDE_IN_PATH } = process.env;
+			const stackFromError = new Error(`[FIBERS_LOG] Using ${fibersMethod}.`).stack;
+
+			if (
+				!LOG_USE_FIBERS_INCLUDE_IN_PATH ||
+				stackFromError.includes(LOG_USE_FIBERS_INCLUDE_IN_PATH)
+			) {
+				console.warn(stackFromError);
+			}
+		}
+
+		function wrapFunction(fn, fibersMethod) {
+			return function () {
+				logUsingFibers(fibersMethod);
 				var stack = getAndClearStack();
 				try {
 					return fn.apply(this, arguments);
 				} finally {
 					restoreStack(stack);
 				}
-			}
+			};
 		}
 
 		// Monkey patch methods which may long jump
-		Fiber.yield = wrapFunction(Fiber.yield);
-		Fiber.prototype.run = wrapFunction(Fiber.prototype.run);
-		Fiber.prototype.throwInto = wrapFunction(Fiber.prototype.throwInto);
+		Fiber.yield = wrapFunction(Fiber.yield, "Fiber.yield");
+		Fiber.prototype.run = wrapFunction(Fiber.prototype.run, "Fiber.run");
+		Fiber.prototype.throwInto = wrapFunction(
+			Fiber.prototype.throwInto,
+			"Fiber.throwInto"
+		);
 
 	} catch (err) {
 		return;
diff -pubr a/fibers/package.json b/fibers/package.json
--- a/fibers/package.json	2022-08-01 11:47:05.000000000 -0500
+++ b/fibers/package.json	2022-08-01 11:46:36.000000000 -0500
@@ -1,6 +1,6 @@
 {
 	"name": "fibers",
-	"version": "5.0.1",
+	"version": "5.0.2",
 	"description": "Cooperative multi-tasking for Javascript",
 	"keywords": [
 		"fiber",

laverdet avatar Aug 01 '22 16:08 laverdet

Hi, @laverdet I'm not member of Meteor core anymore, sorry. I've pinged them and Denilson or Fred will chime in pretty soon.

renanccastro-provi avatar Aug 02 '22 15:08 renanccastro-provi

Hi @laverdet, we created a tag in our fork, but Renan informed us we should use this one. I've made this PR to update this repository, so we create the tag 5.0.2.

Could you give me admin access as well?

denihs avatar Aug 02 '22 20:08 denihs

As I created the new v5.0.2 tag, I'm closing this issue now https://github.com/laverdet/node-fibers/releases/tag/v5.0.2.

denihs avatar Aug 09 '22 13:08 denihs