Skip to content

[Bug] Rapid text widget creation does not apply position offsets #513

Description

@chdenat

Context

When text widgets are created rapidly from the Widgets menu, their default positions are not offset. Newly created widgets are placed at the same location and overlap each other.

Requested behavior

Each newly created text widget should use the following default positioning sequence:

  • First widget: 20% from the left and 20% from the top
  • Each subsequent creation: increase both coordinates by 5%
  • After the ten-position sequence: restart at 20% / 20%
  • If more than two minutes have elapsed since the previous creation: restart at 20% / 20%

The behavior must also work when widgets are created several times in rapid succession from the Widgets menu.

Acceptance criteria

  • Rapidly creating four text widgets produces four distinct positions.
  • The first widget starts at 20% / 20%.
  • Each following widget is offset by 5% horizontally and vertically.
  • The sequence restarts at 20% / 20% after ten creations.
  • The sequence restarts at 20% / 20% after two minutes without a text widget creation.
  • Existing widgets retain their saved positions when rendered again.

Use case to reproduce the error

  • Action performed: Open the Widgets menu and create a text widget four times in rapid succession.
  • Expected result: Each widget is positioned with the next 5% offset.
  • Actual result: All widgets are created at the same position and overlap.
  • Reproducibility: Reproducible when creating widgets rapidly from the Widgets menu.

Technical notes

The issue appears to be related to the dynamic rendering path used by the Widgets menu. A subsequent render can overwrite the position properties assigned during widget creation.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions