bito-code-review[bot] commented on PR #35832:
URL: https://github.com/apache/superset/pull/35832#issuecomment-3443716569

   <details open>
     <summary><strong>Interaction Diagram by <a 
href="https://bito.ai#sequence_diagram";>Bito</a></strong></summary>
   
   ```mermaid
   sequenceDiagram
   participant User as User<br/>
   participant Modal as AlertReportModal
   participant NotifComp as NotificationMethod<br/>🔄 Updated | ●●● High
   participant AsyncSel as AsyncSelect<br/>🔄 Updated | ●●● High
   participant API as REST API<br/>🔄 Updated | ●●○ Medium
   participant SlackUtil as get_channels_with_search<br/>🔄 Updated | ●●● High
   participant SlackSDK as Slack SDK
   User->>Modal: Open alert/report settings
   Modal->>NotifComp: Render notification method selector
   User->>NotifComp: Select SlackV2 method
   NotifComp->>AsyncSel: Initialize with fetchSlackChannels callback
   User->>AsyncSel: Search or scroll for channels
   AsyncSel->>NotifComp: Call fetchSlackChannels(search, page, pageSize)
   NotifComp->>API: GET /api/v1/report/slack_channels/?q=...
   API->>SlackUtil: get_channels_with_search(search_string, cursor, limit)
   SlackUtil->>SlackSDK: conversations_list(cursor, limit, types)
   SlackSDK-->>SlackUtil: Return channels page + next_cursor
   SlackUtil-->>API: &#123;result, next_cursor, has_more&#125;
   API-->>NotifComp: Paginated channel list
   NotifComp-->>AsyncSel: &#123;data: channels, totalCount&#125;
   AsyncSel-->>User: Display channels with pagination
   ```
   Critical path: 
User-&gt;AlertReportModal-&gt;NotificationMethod-&gt;AsyncSelect-&gt;REST 
API-&gt;get_channels_with_search-&gt;Slack SDK
   
   
   > **Note:** The diff refactors Slack channel selection from eager-loaded 
Select to lazy-loaded AsyncSelect with cursor-based pagination. Frontend now 
streams channels on-demand from backend, which implements two-mode pagination: 
fast direct fetch without search, and streaming search through pages until 
limit reached. This improves performance for large workspaces.
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to