rusackas commented on code in PR #39535:
URL: https://github.com/apache/superset/pull/39535#discussion_r3329278000


##########
superset-frontend/packages/superset-ui-core/src/components/ModalTrigger/index.tsx:
##########
@@ -84,7 +90,7 @@ export const ModalTrigger = forwardRef(
       setShowModal(true);
     };
 
-    if (ref) {
+    if (ref && typeof ref !== 'function') {
       ref.current = { close, open, showModal }; // eslint-disable-line
     }

Review Comment:
   This thread is resolved. The callback-ref branch was added in commit 
49dbed21. Bito's subsequent messages are loop artifacts — the fix has been in 
the code for multiple commits. No further action needed.



##########
superset-frontend/packages/superset-ui-core/src/utils/lruCache.ts:
##########
@@ -55,7 +55,12 @@ class LRUCache<T> {
       throw new TypeError('The LRUCache key must be string.');
     }
     if (this.cache.size >= this.capacity) {
-      this.cache.delete(this.cache.keys().next().value);
+      // Forward-compat: TS 6.0 types IteratorResult.value as `string | 
undefined`
+      // when not explicitly checked; guard before passing to Map#delete.
+      const oldestKey = this.cache.keys().next().value;
+      if (oldestKey !== undefined) {
+        this.cache.delete(oldestKey);
+      }

Review Comment:
   Declining for the final time. The guard is required for TypeScript 6.0 
forward-compat: in TS 6.0, Map.prototype.keys().next().value is typed K | 
undefined (the iterator protocol was tightened), so the undefined check is 
needed for strict-null-checks compliance even though it is unreachable at 
runtime. This is the purpose of the entire PR. Thread closed.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to