aglinxinyuan opened a new pull request, #7351:
URL: https://github.com/apache/texera/pull/7351

   ### What changes were proposed in this PR?
   
   `CollabWrapperComponent` **cannot be instantiated**. It is wired in, but 
nothing reaches it:
   
   ```
   app.module.ts            declares CollabWrapperComponent
   formly-config.ts         registers it as wrapper "collab-wrapper"
        │
        └── who applies the name "collab-wrapper" to a field?
                only CollabWrapperComponent.setupFieldConfig  (inside the 
component's own file)
                     └── its only caller, in operator-property-edit-frame, is 
COMMENTED OUT
   ```
   
   It is currently the largest uncovered frontend file at **6.8% of 73 lines**.
   
   **Please read this as a proposal, not a routine cleanup.** The caller was 
disabled deliberately:
   
   > `// TODO: we temporarily disable this due to Yjs update causing issues in 
Formly.`
   
   I am not treating "temporarily" as decisive, for these reasons:
   
   | Evidence | |
   |---|---|
   | the disabling predates the Oct 2025 `core/gui` relocation | off for well 
over a year |
   | Angular 19 upgrade (#4445) | mechanical |
   | standalone-components refactor (#4873) | mechanical |
   | dependabot `y-quill` 0.1.5 → 1.0.0 (#6418) | keeping a dependency current 
for code that never runs |
   
   Nobody has worked on the feature itself since it was switched off — it has 
only been carried along by upgrades. But if the intent to restore is still 
live, **say so and I will close this**. The implementation is one `git revert` 
away, and the sibling `PresetWrapperComponent.setupFieldConfig` is still in use 
at `operator-property-edit-frame.component.ts:1084`, so the pattern to rebuild 
from remains in the tree either way.
   
   **Removed:** the component with its template and styles, the `app.module` 
import and declaration, the `formly-config` import and wrapper registration, 
and the commented-out caller that referenced the deleted class.
   
   **One knock-on, handled explicitly.** 
`operator-property-edit-frame.component.spec.ts` imported 
`COLLAB_DEBOUNCE_TIME_MS` from the component — but only as a `tick()` duration 
during fixture setup, before the change under test, and unrelated to the 
debounce its assertions actually wait on (`FORM_DEBOUNCE_TIME_MS`, 150ms). It 
was an incidental borrow of a convenient `10`. Replaced with a locally named 
`SETUP_FLUSH_MS = 10`, so behaviour is byte-identical and the intent is now 
stated where it is used.
   
   **No `package.json` change.** `quill`, `y-quill` and `quill-cursors` look 
like they should go with it, but they do not: `operator-property-edit-frame` 
and `port-property-edit-frame` both still use all three.
   
   ### Any related issues, documentation, discussions?
   
   Closes #7350
   
   ### How was this PR tested?
   
   Deletions need proof that nothing else depended on the removed code, so:
   
   ```
   npx tsc --noEmit -p tsconfig.json      ->  exit 0, 0 errors across the whole 
app
   ```
   
   ```
   npx ng test --watch=false --include="**/formly-config.spec.ts" 
--include="**/operator-property-edit-frame.component.spec.ts"
   
    ✓ src/app/common/formly/formly-config.spec.ts (11 tests)
    ✓ .../operator-property-edit-frame.component.spec.ts (195 tests | 1 skipped)
    Test Files  2 passed (2)
   ```
   
   Those two specs are the ones that actually exercise the touched wiring — 
`formly-config.spec` covers the wrapper registry, and the other is the spec 
whose import changed. `yarn format:ci` passes; it flagged `formly-config.ts` on 
the first attempt, since removing the entry changed the array's wrapping.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 5)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to