Files
formipay/node_modules/@sentry/node/esm/integrations/linkederrors.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

96 lines
3.7 KiB
JavaScript

import { __awaiter, __generator, __read, __spread } from "tslib";
import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';
import { isInstanceOf, resolvedSyncPromise, SyncPromise } from '@sentry/utils';
import { exceptionFromError } from '../eventbuilder';
import { ContextLines } from './contextlines';
var DEFAULT_KEY = 'cause';
var DEFAULT_LIMIT = 5;
/** Adds SDK info to an event. */
var LinkedErrors = /** @class */ (function () {
/**
* @inheritDoc
*/
function LinkedErrors(options) {
if (options === void 0) { options = {}; }
/**
* @inheritDoc
*/
this.name = LinkedErrors.id;
this._key = options.key || DEFAULT_KEY;
this._limit = options.limit || DEFAULT_LIMIT;
}
/**
* @inheritDoc
*/
LinkedErrors.prototype.setupOnce = function () {
addGlobalEventProcessor(function (event, hint) {
var self = getCurrentHub().getIntegration(LinkedErrors);
if (self) {
var handler = self._handler && self._handler.bind(self);
return typeof handler === 'function' ? handler(event, hint) : event;
}
return event;
});
};
/**
* @inheritDoc
*/
LinkedErrors.prototype._handler = function (event, hint) {
var _this = this;
if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {
return resolvedSyncPromise(event);
}
return new SyncPromise(function (resolve) {
void _this._walkErrorTree(hint.originalException, _this._key)
.then(function (linkedErrors) {
if (event && event.exception && event.exception.values) {
event.exception.values = __spread(linkedErrors, event.exception.values);
}
resolve(event);
})
.then(null, function () {
resolve(event);
});
});
};
/**
* @inheritDoc
*/
LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {
if (stack === void 0) { stack = []; }
var _a;
return __awaiter(this, void 0, void 0, function () {
var exception, contextLines;
var _this = this;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {
return [2 /*return*/, Promise.resolve(stack)];
}
exception = exceptionFromError(error[key]);
contextLines = getCurrentHub().getIntegration(ContextLines);
if (!(contextLines && ((_a = exception.stacktrace) === null || _a === void 0 ? void 0 : _a.frames))) return [3 /*break*/, 2];
return [4 /*yield*/, contextLines.addSourceContextToFrames(exception.stacktrace.frames)];
case 1:
_b.sent();
_b.label = 2;
case 2: return [2 /*return*/, new Promise(function (resolve, reject) {
void _this._walkErrorTree(error[key], key, __spread([exception], stack))
.then(resolve)
.then(null, function () {
reject();
});
})];
}
});
});
};
/**
* @inheritDoc
*/
LinkedErrors.id = 'LinkedErrors';
return LinkedErrors;
}());
export { LinkedErrors };
//# sourceMappingURL=linkederrors.js.map