【问题标题】:Sentry error - IndexSizeError: The index is not in the allowed rangeSentry 错误 - IndexSizeError:索引不在允许的范围内
【发布时间】:2021-04-26 13:24:41
【问题描述】:

我在 ios - safari 14.0 in react 项目中重复地从 Sentry 收到此错误。

没有代码跟踪,也没有其他信息,但它几乎在每个 URL 中都重复。

我已经到处搜索了选项。我试过调试,但我无法复制它,所以我无法解决它。

有谁知道这个错误是什么意思?或者如何在 Sentry 中添加调试信息?

我一直在寻找解决方案,但无法得到它。我知道提供的信息有点缺乏,但这就是我问这个的原因。如果有人可以告诉我如何处理哨兵错误,如果您不知道为什么它会如此频繁地重复,那将非常有帮助。

【问题讨论】:

  • 补充一点:我没有使用画布,所以没有什么相关的。
  • 我遇到了完全相同的问题。我希望我们能从中获得更多信息,以确定问题的严重性。如果这被认为是低严重性和罕见的极端情况,则可能值得添加到 ignoreErrors Sentry 选项。
  • FWIW 我在 Ember 项目中遇到了同样的事情。我们的堆栈跟踪似乎表明它总是在用户单击按钮时发生。
  • @PeterBrown 同样的事情。它说当用户单击按钮时会发生这种情况。我确实认为有什么东西会触发它,因为它在几天前开始并且仍在发生。也许按钮上有一个事件对象,点击 safari 和边缘。仍在调查中。
  • 我也遇到了同样的问题。事件的用户代理字符串是否偶然包含“edgios”?我认为这些问题发生在 Edge for iOS 上,但 Sentry 将它们标记为移动 safari。

标签: ios reactjs safari sentry


【解决方案1】:

类似的问题仍然存在。 Draft.js 更新编辑器状态时在 Safari 中遇到此问题。 我看到的错误:IndexSizeError: The index is not in the allowed range.

对我来说,在右键单击编辑器选项后玩Paragraph Directioncontext 菜单项会重现错误。

我的解决方案/破解: 将其添加到编辑器文件之前执行的任何 JS 文件中。

const nativeSelectionExtend = Selection.prototype.extend;

  Selection.prototype.extend = function (...args) {
    try {
      return nativeSelectionExtend.apply(this, args);
    } catch (error) {
      console.log('Selection error.', error);
    }
  };

它适合我。也许对某人也有用。

感谢https://github.com/shpakkdv

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2013-07-11
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多