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
- Present both toast feedback and async notifications after action initiation
- 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
- Actions completing < 3s
- Toast feedback
- 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
- Add "Long operations" covering:
- Option 2: Dedicated "Process Status" card
- Option 3: Enhanced Activity Feed integration
- Option 4: Reuse to-do list to service process update
-
Option 1
-
Email notifications (Lower priority fallback option)
- Consider for failed notification
-
In-app notifications
Service areas
| Home page - option 1 - 3 | To-Do List - option 4 |
|---|---|
|
|
Transfer prevention alerts
- 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.
- Validation failed: Group URL has already been taken
- Group is already a root group.
- 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
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 |
|
|
|
| Async notification |
|
|
|
Asynchronous transfers can result in two outcomes: success or failure.
| State | Banner | Activity feed | To-Do |
|---|---|---|---|
|
|
|
|
N/A - Nothing to do |
|
|
|
N/A - If the transfer fails, the group state remains unchanged |
|
Implementation
TBD










