Closed sakibguy closed 1 year ago
Fix resolved ticket pagination on scroll behavior https://alicelabs.atlassian.net/browse/APP-109
Fix resolved ticket pagination on scroll behavior
https://alicelabs.atlassian.net/browse/APP-109
// All of the rows are returned as a list of maps, where each map is // a key-value list of columns. Future<List<DataSource>> getAllTickets() async { Database db = await instance.database; //String sortOrder = await _sharedPref.readBool('sortNew') ?? false ? 'DESC' : 'ASC'; List<Map<String, dynamic>> tickets = await db.query(tableTickets, orderBy: '$cardTimeStamp DESC'); print('TICKETS\n'); tickets.forEach((element) { print(element.toString()); }); // Convert the List<Map<String, dynamic> into a List<Dog>. return List.generate(tickets.length, (i) { return DataSource( id: tickets[i][id], description: tickets[i][description], priority: tickets[i][priority], priorityStr: tickets[i][priorityStr], conversationId: tickets[i][conversationId], createdAt: tickets[i][createdAt], isReplied: (tickets[i][isReplied] as int) == 0 ? false : true, isResolved: (tickets[i][isResolved] as int) == 0 ? false : true, resolvedAt: tickets[i][resolvedAt], resolvedBy: tickets[i][resolvedBy], isLocked: (tickets[i][isLocked] as int) == 0 ? false : true, lockedAt: tickets[i][lockedAt], lockedBy: tickets[i][lockedBy], customerAvatar: tickets[i][customerAvatar], customerFullName: tickets[i][customerFullName], customerLastMsg: tickets[i][customerLastMsg], customerLastMsgTm: tickets[i][customerLastMsgTm], agentAvatar: tickets[i][agentAvatar], agentFullName: tickets[i][agentFullName], groupFullName: tickets[i][groupFullName], isAssignedToAgent: (tickets[i][isAssignedToAgent] as int) == 0 ? false : true, isAssignedToGroup: (tickets[i][isAssignedToGroup] as int) == 0 ? false : true, platformType: tickets[i][platformType], cardText: tickets[i][cardText], cardTimeStamp: tickets[i][cardTimeStamp], ); }); }
D/EGL_emulation( 8303): app_time_stats: avg=10629.99ms min=7.60ms max=222872.16ms count=21 D/EGL_emulation( 8303): app_time_stats: avg=56.34ms min=7.73ms max=950.87ms count=25 I/flutter ( 8303): null D/PusherClientPlugin( 8303): Unsubscribed: ticket-T_262 I/flutter ( 8303): --> GET https://stage-api.myalice.ai/api/crm/projects/262/tickets I/flutter ( 8303): Content type: null I/flutter ( 8303): QueryParams: {is_resolved: 1, offset: 0, queue: all, limit: 20, ecom: , channels: all, agents: all, groups: all, tags: all, order: desc, start: , end: } I/flutter ( 8303): Headers: {Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjYxMjU0MjQ3LCJqdGkiOiIyOGI1ODYyYzlmZjk0MWZiOWEzMzE2YWYwZjk1N2FlOSIsInVzZXJfaWQiOjI1Nn0.-hhP2GDibsaHYKZg0Z6fYTdV3Sax_f18ASONHh67EU0} I/flutter ( 8303): Data: null I/flutter ( 8303): ERROR[401] => PATH: https://stage-api.myalice.ai/api/crm/projects/262/tickets I/flutter ( 8303): *** Request *** I/flutter ( 8303): uri: https://stage-api.myalice.ai/api/accounts/refresh I/flutter ( 8303): D/EGL_emulation( 8303): app_time_stats: avg=21.26ms min=6.83ms max=84.65ms count=40 I/flutter ( 8303): *** Response *** I/flutter ( 8303): uri: https://stage-api.myalice.ai/api/accounts/refresh I/flutter ( 8303): Response Text: I/flutter ( 8303): {"access":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjYxMjc2Njc4LCJqdGkiOiIzOTI0ZTUwMjUwMmU0NGU2YjkxNTg5Mjk3MTY5ZjU4ZCIsInVzZXJfaWQiOjI1Nn0.45wM04Y3xKaW1WU8QtL4ZbM4CYZ-h84oR515pZxnVLE"} I/flutter ( 8303): I/flutter ( 8303): *** Request *** I/flutter ( 8303): uri: https://stage-api.myalice.ai/api/crm/projects/262/tickets?is_resolved=1&offset=0&queue=all&limit=20&ecom=&channels=all&agents=all&groups=all&tags=all&order=desc&start=&end= I/flutter ( 8303): I/flutter ( 8303): *** Response *** I/flutter ( 8303): uri: https://stage-api.myalice.ai/api/crm/projects/262/tickets?is_resolved=1&offset=0&queue=all&limit=20&ecom=&channels=all&agents=all&groups=all&tags=all&order=desc&start=&end= I/flutter ( 8303): Response Text: I/flutter ( 8303): {"success":true,"dataSource":[{"id":2567,"description":"","priority":0,"priority_str":"Low","conversation_id":"17","created_at":"1657175453","is_replied":false,"customer":{"id":1242,"platform":{"id":1739,"primary_id":"39025862fdbe11ec9eb55afe358458ec","title":"telegram-test-zerin","name":"","type":"telegram_messenger","platform_type":"telegram_messenger","whatsapp_message_templates":[]},"primary_id":"5092436410","avatar":null,"first_name":"Zerin","last_name":"User","full_name":"value","gender":"","timezone":null,"locale":"en","language":"","phone":"","email":null,"meta":{},"created_at":"1657175399","last_message_text":"User has sent an recorded audio.","last_message_time":"1660461463"},"agents":[{"id":106,"email":"mehran@myalice.ai","avatar":"https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/80fe8390a7f511eb91c80242ac120005.jpeg","full_name":"Mehran Kader","status":"online"}],"tags":[],"groups":[],"is_resolved":true,"resolved_at":"1659876808","resolved_by":{"id":243,"email":"raisul.islam@myalice.ai I/flutter ( 8303): D/PusherClientPlugin( 8303): Unsubscribed: ticket-T_262 I/flutter ( 8303): INSERTED VALUES7 I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): Instance of 'Future<int>' I/flutter ( 8303): JSON FOR DB {id: 2567, description: , priority: 0, priority_str: Low, conversation_id: 17, created_at: 1657175453, is_replied: 0, customer_avatar: null, customer_full_name: value, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/80fe8390a7f511eb91c80242ac120005.jpeg, agent_full_name: Mehran Kader, group_full_name: , customer_last_message: User has sent an recorded audio., customer_last_message_time: 1660461463, is_resolved: 1, resolved_at: 1659876808, resolved_by: {id: 243, email: raisul.islam@myalice.ai, avatar: null, full_name: raisul islam}, is_locked: 0, locked_at: null, locked_by: null, platform_type: telegram_messenger, card_text: hi, card_timestamp: 1659876804} I/flutter ( 8303): JSON FOR DB {id: 2634, description: , priority: 0, priority_str: Low, conversation_id: m_JljnEP1TwjhBxIffVO-XKioPpbRBILEtpyfP3LhkF04GLMCwuK5gSkSuSCoYMeQEB44hXOqMwWB8oqj04c6NBg, created_at: 1659000847, is_replied: 0, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/4d4d0e74c53411ec84e3d6ee431d0f50.jpeg, customer_full_name: Alexander Navsky, is_assigned_to_agent: 0, is_assigned_to_group: 0, agent_avatar: , agent_full_name: , group_full_name: , customer_last_message: User has sent an audio, customer_last_message_time: 1659428280, is_resolved: 1, resolved_at: 1659000878, resolved_by: {id: 98, email: imam.mahadi@getalice.ai, avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, full_name: imam mahadi}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: hi, card_timestamp: 1659000847} I/flutter ( 8303): JSON FOR DB {id: 2347, description: , priority: 0, priority_str: Low, conversation_id: m_vpmc9zPKen8-3rviOy9QIyoPpbRBILEtpyfP3LhkF070L_1HrMj42FBdgu3kvPLNxpHu-OqlLj4glBlVUi7O6w, created_at: 1651003709, is_replied: 0, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/4d4d0e74c53411ec84e3d6ee431d0f50.jpeg, customer_full_name: Alexander Navsky, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, agent_full_name: imam mahadi, group_full_name: , customer_last_message: User has sent an audio, customer_last_message_time: 1659428280, is_resolved: 1, resolved_at: 1659000765, resolved_by: {id: 98, email: imam.mahadi@getalice.ai, avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, full_name: imam mahadi}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: hi, card_timestamp: 165900075 I/flutter ( 8303): JSON FOR DB {id: 2486, description: , priority: 0, priority_str: Low, conversation_id: m_YGCOA73XKLkqc4I4dzWrhEGZogkS6dRuk42DU_FTrmxEACCJFLuxQKqsmQytrOkgRgsZVra2GpFilu71DsdXoA, created_at: 1653562825, is_replied: 0, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/e859af92dce211ecbd4db6be4cb69932.jpeg, customer_full_name: Râïsùl Îsläm Sãjål, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, agent_full_name: imam mahadi, group_full_name: , customer_last_message: Ki somossa vai, customer_last_message_time: 1658670186, is_resolved: 1, resolved_at: 1658670135, resolved_by: {id: 243, email: raisul.islam@myalice.ai, avatar: null, full_name: raisul islam}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: Resovle koro, card_timestamp: 1658670134} I/flutter ( 8303): JSON FOR DB {id: 2508, description: , priority: 0, priority_str: Low, conversation_id: m_kaa3jHs3qcrvKUU7HQZI5JaRUfsmMCl-isXzn-YBBebQGfk1L9ZNr4KzdlKuSSbVeLKn4NxBG7qrRA7y9jtm3Q, created_at: 1655021025, is_replied: 0, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/856bba12473011eca04a0242c0a82004.jpeg, customer_full_name: Rook Chessman, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, agent_full_name: imam mahadi, group_full_name: , customer_last_message: hi, customer_last_message_time: 1655811717, is_resolved: 1, resolved_at: 1655934488, resolved_by: {id: 106, email: mehran@myalice.ai, avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/80fe8390a7f511eb91c80242ac120005.jpeg, full_name: Mehran Kader}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: hi, card_timestamp: 1655811717} I/flutter ( 8303): JSON FOR DB {id: 2324, description: , priority: 0, priority_str: Low, conversation_id: m_D3i-qdO9KnYwdJ9qbg9Y-5aRUfsmMCl-isXzn-YBBebutouA9Fmujn7OCekFPBdqdd6josHMgLYFlYG0VTd7Aw, created_at: 1650543511, is_replied: 0, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/856bba12473011eca04a0242c0a82004.jpeg, customer_full_name: Rook Chessman, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/80fe8390a7f511eb91c80242ac120005.jpeg, agent_full_name: Mehran Kader, group_full_name: , customer_last_message: hi, customer_last_message_time: 1655811717, is_resolved: 1, resolved_at: 1655021009, resolved_by: {id: 98, email: imam.mahadi@getalice.ai, avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/misc/e96cb9ae8ee211ec861ec6b405482d5d.webp, full_name: imam mahadi}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: Bot: Healthy!, card_timestamp: 1655020880} I/flutter ( 8303): JSON FOR DB {id: 2485, description: , priority: 0, priority_str: Low, conversation_id: m__LeDXmklJV5G4BQDWJaw-kGZogkS6dRuk42DU_FTrmx-DgEbuCDrJs83v-UzEWaRC9Q8RW89Wx7xqoKtwLBYyA, created_at: 1653562770, is_replied: 1, customer_avatar: https://s3-ap-southeast-1.amazonaws.com/stage-alice-v3/shoppers/e859af92dce211ecbd4db6be4cb69932.jpeg, customer_full_name: Râïsùl Îsläm Sãjål, is_assigned_to_agent: 1, is_assigned_to_group: 0, agent_avatar: null, agent_full_name: raisul islam, group_full_name: , customer_last_message: Ki somossa vai, customer_last_message_time: 1658670186, is_resolved: 1, resolved_at: 1653562812, resolved_by: {id: 243, email: raisul.islam@myalice.ai, avatar: null, full_name: raisul islam}, is_locked: 0, locked_at: null, locked_by: null, platform_type: facebook_messenger, card_text: Agent: thans, card_timestamp: 1653562808} D/PusherClientPlugin( 8303): Event stream cancelled. D/PusherClientPlugin( 8303): Event stream listening... D/PusherClientPlugin( 8303): [BIND] ticket-update D/PusherClientPlugin( 8303): Event stream cancelled. D/PusherClientPlugin( 8303): Event stream listening... D/PusherClientPlugin( 8303): [BIND] ticket-resolve D/PusherClientPlugin( 8303): [ON_EVENT] Channel: ticket-T_262, EventName: pusher:subscription_succeeded, D/PusherClientPlugin( 8303): Data: null, User Id: null D/PusherClientPlugin( 8303): [PUBLIC] Subscribed: ticket-T_262 D/EGL_emulation( 8303): app_time_stats: avg=21.56ms min=5.42ms max=260.82ms count=45 D/EGL_emulation( 8303): app_time_stats: avg=121445.71ms min=72.94ms max=242818.50ms count=2 D/EGL_emulation( 8303): app_time_stats: avg=19.12ms min=8.61ms max=75.95ms count=35
https://github.com/alice-labs/myalice_app/pull/28
Problem 1
Step 1: On resolved tickets query method
Step 2: Only 6/7 data points/objects/listitems received
Snap