Async transfer notifications

Problem

There are proposals to make part of our basic workflows for groups and projects (creation, transfer) async in order to improve performance of these operations. See &17829, for example.

For some of these operations that are supposed to be handled async, the time frame is probably just a few seconds. For others, these could be longer, for instance during transfer operations. The larger a group or project is, the more likely it is that these operations take longer to be completed.

This creates a challenge: we need to notify users when these operations complete, since they can take minutes or even hours to finish. During such lengthy processes, users will likely shift their attention to other tasks, making completion notifications essential.

Read more about Group and project operations and state management

Design process

Define action threshold

We've established a 3-second threshold to determine async notification behaviour:

  • Actions completing < 3s
    • Present toast feedback after completion
  • Actions completing > 3s
    • Present both toast feedback and async notifications after action initiation
      • Async notifications will cover: (1) process initiation and (2) process completion
      • For incomplete processes: provide retry options and admin contact functionality
  • If it's not possible to distinguish between sync and async actions, we can default to the async flow for now for all transfer actions

Ideations

  1. Actions completing < 3s
  • Toast feedback
  1. Actions completing > 3s
  • Toast feedback (e.g. transfer begins)
  • Process update (e.g. transfer complete, transfer fails)
    • In-app notifications
      • Option 1 : Enhanced "Items that need your attention" section
        • Add "Long operations" covering:
          • Process completion notifications
          • Error alerts requiring user action
      • Option 2: Dedicated "Process Status" card
      • Option 3: Enhanced Activity Feed integration
      • Option 4: Reuse to-do list to service process update
    • Email notifications (Lower priority fallback option)
      • Consider for failed notification

Service areas

Home page - option 1 - 3 To-Do List - option 4
Frame 1.png Frame 4.png

Transfer prevention alerts

  1. Cannot update the path because there are projects under this group that contain Docker images in their container registry. Please remove the images from your projects first and try again.
  2. Validation failed: Group URL has already been taken
  3. Group is already a root group.
  4. Validation failed: Name has already been taken

In scope

  • To-do: Add transfer failure events to the system
  • Audit events: Collaborate with the compliance team to determine which transfer events (initiation, completion, or both) should be logged as audit events

Out of scope

  • The Activities feature needs more comprehensive consideration across the platform
    • Transfer events are not currently captured in group/project-level activities
    • If we integrate these events into the activities system, we should simultaneously enhance the existing activities page with improved filtering and discovery capabilities

User flows

Transfer async process.png

FigJam

Design proposal

Transfer item from quick action dropdown in 3 steps, the design workflow has been discussed in #556017.

Quick action - Initiate Transfer modal - Configuration Toast feedback - Complete
Sync notification Frame 11.png Frame 12.png Frame 15.png
Async notification Frame 11.png Frame 12.png Frame_16

Asynchronous transfers can result in two outcomes: success or failure.

State Banner Activity feed To-Do
Success Transfer_in_progress_notification Group_activities N/A - Nothing to do
Failure Transfer_in_progress_notification N/A - If the transfer fails, the group state remains unchanged To-Do_List

Implementation

TBD

Edited by Christina Lohr