Skip to content

feat(call): start 1-1 call from anywhere#17205

Open
Antreesy wants to merge 6 commits intomainfrom
feat/15416/call-from-anywhere
Open

feat(call): start 1-1 call from anywhere#17205
Antreesy wants to merge 6 commits intomainfrom
feat/15416/call-from-anywhere

Conversation

@Antreesy
Copy link
Copy Markdown
Contributor

@Antreesy Antreesy commented Feb 24, 2026

โ˜‘๏ธ Resolves

๐Ÿ–Œ๏ธ UI Checklist

๐Ÿ–ผ๏ธ Screenshots / Screencasts

Entry points ๐Ÿšง WIP Integration ๐Ÿšง WIP
2026-04-22_14h52_01 image 2026-04-22_14h40_46

๐Ÿšง Tasks

Feature related:

  • Integration app:

    • Drag-n-drop
    • Drop some features (see light-weight)
    • z-index on top of Viewer
    • Open in separate window
    • Do not intercept notification links, only callee should join via integration
    • Survive/reconnect after page-reload
      • local storage flag?
      • Or keep warn leaving?
    • Check two instances on the tab?
    • Top-right button - open full Talk in a new tab
      • should close the integration, if joined there?
  • Contacts app:

    • Check implementation, why actions aren't used
  • Design (cc @nimishavijay):

    • Phone icon -> video icon
    • round up corners for local video
    • hide reactions button
    • hide live translations? a11y concerns?
    • blur background -> device checker
    • show screenshare button ๐Ÿ–ฅ๏ธ
    • warn leaving: suggest 'leave call and navigate' or 'open call separately in Talk'
    • inform about 'opening in a new tab'?

Technical:

  • Lazy load
    • interceptor/trigger is ~9 kB
    • integration ~ 1.25 Mb
  • Reduce size (where seems possible)
    • Light-weight versions of existing components?
    • Do not use TopBar - keep name and timer only
  • Limit PR changes to relevant
    • Split unrelated changes to pre-requisites
    • Split design / general components changes to pre-requisites

๐Ÿ Checklist

  • ๐ŸŒ Tested with different browsers / clients:
    • Chromium (Chrome / Edge / Opera / Brave)
    • Firefox
    • Safari
    • Talk Desktop
    • Integrations with Files sidebar and other apps
    • Not risky to browser differences / client
  • ๐Ÿ–Œ๏ธ Design was reviewed, approved or inspired by the design team
  • โ›‘๏ธ Tests are included or not possible
  • ๐Ÿ“— User documentation in https://github.com/nextcloud/documentation/tree/master/user_manual/talk has been updated or is not required

๐Ÿ› ๏ธ API Checklist

๐Ÿšง Tasks

  • Abstract profile actions
  • set priority

๐Ÿ Checklist

  • โ›‘๏ธ Tests (unit and/or integration) are included or not possible
  • ๐Ÿ“˜ API documentation in docs/ has been updated or is not required
  • ๐Ÿ”– Capability is added or not needed

@Antreesy Antreesy self-assigned this Feb 24, 2026
@Antreesy Antreesy added enhancement feature: frontend ๐Ÿ–Œ๏ธ "Web UI" client feature: talk-sidebar โฌ…๏ธ Sidebar integration of Talk into other apps like sharing and documents feature: call ๐Ÿ“น Voice and video calls labels Feb 24, 2026
@Antreesy Antreesy moved this to ๐Ÿ—๏ธ In progress in ๐Ÿ’ฌ Talk team Mar 13, 2026
@Antreesy Antreesy force-pushed the feat/15416/call-from-anywhere branch 4 times, most recently from 3d933c2 to 9185c55 Compare April 15, 2026 12:02
Comment thread lib/Profile/TalkCallAction.php
Comment thread lib/Profile/TalkCallAction.php
@Antreesy Antreesy force-pushed the feat/15416/call-from-anywhere branch from 9185c55 to 3104c7f Compare April 21, 2026 17:35
Comment thread lib/ContactsMenu/Providers/CallProvider.php
@Antreesy Antreesy force-pushed the feat/15416/call-from-anywhere branch from 3104c7f to 906fffd Compare April 22, 2026 13:22
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
@Antreesy Antreesy force-pushed the feat/15416/call-from-anywhere branch from 906fffd to a2b7efb Compare April 22, 2026 13:52
@Antreesy Antreesy marked this pull request as ready for review April 22, 2026 13:52
@Antreesy Antreesy requested a review from DorraJaouad April 22, 2026 13:52
@Antreesy Antreesy changed the title feat(call): start 1-1 call from 'Talk to {person}' action feat(call): start 1-1 call from anywhere Apr 22, 2026
$directIconUrl = $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('spreed', 'icon-phone-dark.svg'));
$directCallUrl = $this->urlGenerator->linkToRouteAbsolute('spreed.Page.index') . '?callUser=' . $user->getUID() . '#direct-call';
$directAction = $this->actionFactory->newLinkAction($directIconUrl, $directTalkAction, $directCallUrl, Application::APP_ID);
$directAction->setPriority(9);
Copy link
Copy Markdown
Member

@nickvergessen nickvergessen Apr 22, 2026

Choose a reason for hiding this comment

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

Higher is more important (shown)
I'd go with 30 now, so it's the option that shows outside

Image
Suggested change
$directAction->setPriority(9);
$directAction->setPriority(30);

At least above 20, so it comes as an outside action before the profile?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Oh, I understood it should be below 'Chat with user' ๐Ÿ™ˆ
Fine by me, but I'd align with designers

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Worth mentioning: Hover cards with a nice layout nextcloud/server#30868

Any chance it's possible to change the order depending on where this menu is used? Calling is definitely more useful as an outside action than viewing profile in the contacts menu but in Talk it feels weird for the order to be "Call, view profile, local time, email, chat". If it's just in this contacts menu then it can be outside, but in Talk it would be nice to group all the "contacting" options together.

If not possible we just do calling as the highest priority and try to do the nice hover cards in the future ๐Ÿคท

Comment thread img/icon-phone-dark.svg
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we should use a camera icon like on start-call?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Or we use Talk for the call and a speech bubble for chat

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Then it would be confusing?

  • Talk icon > open small popup with a call
  • speech buble icon > open Talk app

Copy link
Copy Markdown
Member

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd vote for a simple video cam icon. Second preference would be video-chat

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

Labels

enhancement feature: call ๐Ÿ“น Voice and video calls feature: frontend ๐Ÿ–Œ๏ธ "Web UI" client feature: talk-sidebar โฌ…๏ธ Sidebar integration of Talk into other apps like sharing and documents

Projects

Status: ๐Ÿ—๏ธ In progress

Development

Successfully merging this pull request may close these issues.

๐Ÿ“ Call from anywhere - Integration of calls into the avatar menu

3 participants