Skip to content

ace-builds: dom.$fixPositionBug is not a functionΒ #5883

@davidjb

Description

@davidjb

Describe the bug

When attempting to display a tooltip, the exception Uncaught TypeError: dom.$fixPositionBug is not a function is thrown from https://github.com/ajaxorg/ace-builds/blob/v1.43.4/src/ext-language_tools.js#L1310.

Expected Behavior

Exception not to throw, tooltip to function correctly.

Current Behavior

Uncaught TypeError: dom.$fixPositionBug is not a function
    tryShow ext-language_tools.js:1310
    $updatePopupPosition ext-language_tools.js:1726
    call ace.js:452
    $onPopupChange ext-language_tools.js:1641

Source:
https://github.com/ajaxorg/ace-builds/blob/v1.43.4/src/ext-language_tools.js#L1310

Reproduction Steps

import ace from 'ace-builds/src-noconflict/ace';

const { HoverTooltip } = ace.require('ace/tooltip');
const tooltip = new HoverTooltip();
// throws trying to call undefined dom.$fixPositionBug
tooltip.showForRange(editor, new Range(0, 0, 0, 0), document.createElement('div'), null);

Possible Solution

Searching the ace-builds repo via https://github.com/search?q=repo%3Aajaxorg%2Face-builds%20fixpositionbug&type=code it appears this function isn't present here in v1.43.4 but was added very recently into ace via #5872. Does ace-builds need further updating?

Pinning to v1.43.3 allows Ace works around the issue.

Additional Information/Context

No response

Ace Version / Browser / OS / Keyboard layout

1.43.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions