kz930 opened a new issue, #8616:
URL: https://github.com/apache/texera/issues/8616
### Task Summary
`isSink` matches with
`operator.operatorType.toLocaleLowerCase().includes("sink")`
(`workflow-graph.ts:81`). `toLocaleLowerCase()` folds case using the runtime's
current locale, which in the frontend is whatever language the browser is set
to, so the same operator type can fold two ways for two users. Turkish is the
case that bites: an uppercase `I` maps to the dotless `ı`, so a type spelled
`SINK` folds to `sınk` and stops matching.
Nothing is broken today. The only operator type containing "sink" is
`SimpleSink`, and its `i` is already lowercase, so no locale touches it. An
operator type is a machine identifier though, and folding one should not depend
on where the browser runs. `toLowerCase()` is the locale-independent form and
is what this comparison wants.
Four call sites read it: the `setViewOperatorResult` and `markReuseResult`
guards (`workflow-graph.ts:465`, `:518`), the result panel's sink list
(`result-panel.component.ts:189`), and the cache-toggle filter
(`operator-menu.service.ts:175`). A type that folded differently would drop out
of the result panel and become eligible for the two toggles it is meant to be
excluded from.
### Required Test
`workflow-graph.spec.ts` already asserts that `SINK` is a sink. That is the
case that would flip, so it serves as the regression test.
### Related
Surfaced while reviewing #8603, which added the first coverage for this
helper.
### Task Type
- [x] Refactor / Cleanup
- [ ] DevOps / Deployment / CI
- [ ] Testing / QA
- [ ] Documentation
- [ ] Performance
- [ ] Other
--
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]