bpmn-io / bpmn-io/form-js

Improve form performance (tracking issue)

Open
#855 5 comments 0 reactions 0 assignees View on GitHub
backlog enhancement
Dominant language
JavaScript
Stars
550
Forks
157
Avg merge
3d 4h
Merged PRs (30d)
5

Description

### What should we do?

We should conduct an optimization pass for fjs, as there are some performance issues reported when dealing with large forms.

### Why should we do it?

To keep the modeling experience as fluid as possible.

Sample form available [here](https://forum.camunda.io/t/camunda-modeler-with-large-form/48076).

### Potential improvements

#### To research

- [ ] can we improve the evaluation time of FEEL ?
- [ ] can we efficiently cache the result of FEEL evaluation, and if so, would performance improve ?
- [ ] can we reduce the overall number of re-renders by using signals ?

#### To implement

- [x] minimize the number of recalculations of the feel data context (shipped via #808)
- [x] https://github.com/bpmn-io/form-js/issues/958

Contributor guide

Open the contributing guide

Research direction

Start with the linked large-form sample and review the remaining unchecked questions around FEEL evaluation, caching evaluation results, and reducing re-renders with signals. Check the completed work in #808 and #958 to avoid duplicating it. Done means identifying and implementing measurable improvements for large forms, with performance results recorded.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.