Skip to content

Add support for adding caller Namespace even if it's not in list of allowed Namespace options for Nexus endpoint#3167

Draft
laurakwhit wants to merge 3 commits intomainfrom
DT-3533-support-caller-NS-as-text
Draft

Add support for adding caller Namespace even if it's not in list of allowed Namespace options for Nexus endpoint#3167
laurakwhit wants to merge 3 commits intomainfrom
DT-3533-support-caller-NS-as-text

Conversation

@laurakwhit
Copy link
Collaborator

Description & motivation 💭

  • Updates the /nexus/{endpoint} page so Description isn't pushed to bottom if Allowed Caller Namespaces are defined.
  • Adds allowCustomValue prop to Combobox that lets users type and add values not present in the predefined options list.
  • Enables allowCustomValue on the Allowed Caller Namespaces field in the Nexus endpoint form, so users can specify Namespaces that they don't have access to (and therefore aren't listed).

Screenshots (if applicable) 📸

Nexus Endpoint Details Page
Screenshot 2026-02-18 at 3 05 06 PM Screenshot 2026-02-18 at 3 04 55 PM
Screenshot 2026-02-18 at 3 07 37 PM Screenshot 2026-02-18 at 3 07 47 PM
Screenshot 2026-02-18 at 3 08 13 PM Screenshot 2026-02-18 at 3 08 03 PM
Allowed Caller Namespaces Input
Screenshot 2026-02-18 at 3 15 05 PM Screenshot 2026-02-18 at 3 49 54 PM
Screenshot 2026-02-18 at 3 50 15 PM Screenshot 2026-02-18 at 3 50 31 PM

Design Considerations 🎨

Testing 🧪

How was this tested 👻

  • Manual testing
  • E2E tests added
  • Unit tests added

Steps for others to test: 🚶🏽‍♂️🚶🏽‍♀️

On Cloud > Navigate to a Nexus endpoint create/edit form

  • Type a custom Namespace in the Allowed Caller Namespaces field
    • Verify the "Add" option should appear
  • Press Enter or click the "Add" option
    • Verify it should be added and appear as selected in the dropdown
  • Deselect the custom value by clicking it in the list
    • Verify it remains available for re-selection
  • Verify selecting from the dropdown should still work as before
  • Type an exact match of an existing option
    • Verify no "Add" option should appear

Checklists

Draft Checklist

Merge Checklist

Issue(s) closed

DT-3533

Docs

Any docs updates needed?

@vercel
Copy link

vercel bot commented Feb 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
holocene Ready Ready Preview, Comment Feb 18, 2026 11:21pm

Request Review

active = false,
selected,
destructive = false,
disabled = false,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ Type 'null' is not assignable to type 'string'.

{#snippet allowedCallerNamespacesTable()}
<Card class="flex flex-col gap-4">
<div class="flex items-center gap-2">
<h5>{translate('nexus.allowed-caller-namespaces')}</h5>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ 'allowedCallerNamespaces' is possibly 'undefined'.

previousPageButtonLabel={translate('common.previous-page')}
nextPageButtonLabel={translate('common.next-page')}
pageButtonLabel={(page) => translate('common.go-to-page', { page })}
variant="primary"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ Type 'string[] | undefined' is not assignable to type 'string[]'.

@temporal-cicd
Copy link
Contributor

temporal-cicd bot commented Feb 18, 2026

Warnings
⚠️

📊 Strict Mode: 16 errors in 5 files (1.4% of 1123 total)

src/lib/holocene/menu/menu-item.svelte (2)
  • L54:4: Type 'null' is not assignable to type 'string'.
  • L55:4: Type 'null' is not assignable to type 'string'.
src/lib/holocene/combobox/combobox.svelte (10)
  • L152:4: Type 'null' is not assignable to type 'string'.
  • L155:4: Type 'null' is not assignable to type '"activity" | "add-square" | "add" | "apple" | "archives" | "arrow-down" | "arrow-left" | "arrow-up" | "arrow-right" | "ascending" | "astronaut" | "batch-operation" | "book" | ... 129 more ... | "xmark-square"'.
  • L157:4: Type 'null' is not assignable to type 'keyof T'.
  • L241:4: 'inputElement' is possibly 'null'.
  • L242:4: 'inputElement' is possibly 'null'.
  • L248:14: Argument of type 'string | T | undefined' is not assignable to parameter of type 'string | T'.
  • L253:14: Argument of type 'string | T | undefined' is not assignable to parameter of type 'string | T'.
  • L297:60: Function lacks ending return statement and return type does not include 'undefined'.
  • L390:10: Type 'HTMLLIElement | null' is not assignable to type 'HTMLLIElement'.
  • L390:43: 'menuElement' is possibly 'null'.
src/lib/holocene/combobox/combobox.stories.svelte (1)
  • L275:6: Element implicitly has an 'any' type because expression of type '"action"' can't be used to index type '{}'.
src/lib/pages/nexus-form.svelte (1)
  • L85:18: Parameter 'name' implicitly has an 'any' type.
src/lib/pages/nexus-endpoint.svelte (2)
  • L101:27: 'allowedCallerNamespaces' is possibly 'undefined'.
  • L112:8: Type 'string[] | undefined' is not assignable to type 'string[]'.

Generated by 🚫 dangerJS against 9bb3b68

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments