apache / apache/texera

Decide whether the disabled CollabWrapperComponent should be removed

Open
#7,350 0 comments 0 reactions 1 assignee Claimed by @aglinxinyuan View on GitHub
Dominant language
Scala
Stars
314
Forks
187
Avg merge
1d 21h
Merged PRs (30d)
214

Description

### Task Summary

`CollabWrapperComponent` cannot be instantiated. It is declared in `app.module.ts` and registered as the formly wrapper `"collab-wrapper"` in `formly-config.ts`, but nothing ever applies that wrapper name to a field — the only code that does is `CollabWrapperComponent.setupFieldConfig`, inside the component's own file, and its sole caller in `operator-property-edit-frame.component.ts` is commented out.

It shows in coverage at **6.8% across 73 lines**, currently the largest uncovered frontend file.

The important caveat, and the reason this needs a decision rather than a routine cleanup: the caller was disabled with

> `// TODO: we temporarily disable this due to Yjs update causing issues in Formly.`

That disabling predates the October 2025 `core/gui` relocation, so it has been off for well over a year, and every commit touching the component since has been mechanical upkeep — an Angular 19 upgrade, the standalone-components refactor, and a dependabot `y-quill` bump keeping a dependency current for code that never runs.

So the question for maintainers is whether the intent to restore is still live. If it is, this should stay and the coverage line should simply be accepted or ignored. If it is not, the component is dead weight that Renovate and refactors keep paying for.

Scope if removed: the component plus its template and styles, the `app.module` import and declaration, the `formly-config` import and wrapper registration, and the commented-out caller.

Two things to know before touching it:

- `operator-property-edit-frame.component.spec.ts` imports `COLLAB_DEBOUNCE_TIME_MS` from the component, but only as a `tick()` duration during fixture setup — unrelated to the debounce its assertions actually wait on (`FORM_DEBOUNCE_TIME_MS`). It is an incidental borrow, not a real dependency.
- `quill`, `y-quill` and `quill-cursors` are **not** removable alongside it: `operator-property-edit-frame` and `port-property-edit-frame` both still use them.

### Task Type

- [x] Refactor / Cleanup
- [ ] DevOps / Deployment / CI
- [ ] Testing / QA
- [ ] Documentation
- [ ] Performance
- [ ] Other

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.