Skip to content

Feat/web fixes - #261

Open
diocas wants to merge 4 commits into
cernboxfrom
feat/web_fixes
Open

Feat/web fixes#261
diocas wants to merge 4 commits into
cernboxfrom
feat/web_fixes

Conversation

@diocas

@diocas diocas commented Jul 27, 2026

Copy link
Copy Markdown

Usability fixes:

  • allows users to paste a list of emails in the sharing search box;
  • allow picking which app to open when creating a new file (from the allowed apps).

diocas added 4 commits July 27, 2026 13:54
The invite-collaborator search box now recognizes a pasted block of
emails - "jane@x.com, john@x.com", "Jane <jane@x.com>; John <john@x.com>",
newline separated, or any mix of those - extracts just the addresses,
and looks up each one automatically instead of treating the whole
paste as one literal search term. Matches get selected right away; the
search box is disabled and shows the existing loading spinner while
the lookups are in flight, and an error message reports any addresses
that couldn't be matched to a user.

A single, plain-typed query (e.g. "jane") still goes through the
normal live-search/autocomplete flow unchanged.
Lets consumers embed content (e.g. a chip/dropdown) inside the input's
box, next to the clear button, without forking the component.
FilePickerModal was hardcoded to open the picked resource in a new tab
with a different app (its only consumer, useFileActionsOpenWithApp). Swap
its `app` prop for `allowedFileTypes`/`callbackFn`, and move the
route-resolution/window.open logic that used to live in the component into
useFileActionsOpenWithApp's own callback, so the modal becomes a generic
"pick a resource, hand it back to me" primitive.

Needed so web-app-external's upcoming insert-graphic/insert-file/insert-link
common functions can reuse this modal instead of duplicating it.
…al candidates

Instead of a separate app-picker step before the filename dialog,
the "Create a new file" dialog now shows a dropdown to switch apps
inline, defaulting to the priority app, when several apps can open
the chosen extension.

@rawe0 rawe0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good if we can understand why we get the 502 from the gateway when testing.

}

return emails.length > 1 || emails[0].toLowerCase() !== query.trim().toLowerCase()
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There's a case missing here when email.length === 1? (may be intended? just results in a normal search)

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.

2 participants