From 6487fbe6879f72fa2a8ffb2b2c9a0da738ccffa1 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 9 Jan 2025 11:39:34 -0500 Subject: [PATCH] Update libsignal to 0.65.0 --- .../backupTests/account_data_00.binproto | Bin 214 -> 248 bytes .../backupTests/account_data_01.binproto | Bin 444 -> 478 bytes .../backupTests/account_data_02.binproto | Bin 541 -> 575 bytes .../backupTests/account_data_03.binproto | Bin 465 -> 499 bytes .../backupTests/account_data_04.binproto | Bin 463 -> 497 bytes .../backupTests/account_data_05.binproto | Bin 402 -> 436 bytes .../backupTests/account_data_06.binproto | Bin 492 -> 526 bytes .../backupTests/account_data_07.binproto | Bin 352 -> 386 bytes .../backupTests/account_data_08.binproto | Bin 325 -> 359 bytes .../backupTests/account_data_09.binproto | Bin 256 -> 290 bytes .../backupTests/account_data_10.binproto | Bin 376 -> 410 bytes .../backupTests/account_data_11.binproto | Bin 359 -> 393 bytes .../backupTests/account_data_12.binproto | Bin 289 -> 323 bytes .../backupTests/account_data_13.binproto | Bin 351 -> 385 bytes .../backupTests/account_data_14.binproto | Bin 383 -> 417 bytes .../backupTests/account_data_15.binproto | Bin 323 -> 357 bytes .../backupTests/account_data_16.binproto | Bin 318 -> 352 bytes .../backupTests/account_data_17.binproto | Bin 358 -> 392 bytes .../backupTests/account_data_18.binproto | Bin 281 -> 315 bytes .../backupTests/account_data_19.binproto | Bin 352 -> 386 bytes .../backupTests/account_data_20.binproto | Bin 325 -> 359 bytes .../backupTests/account_data_21.binproto | Bin 322 -> 356 bytes .../backupTests/account_data_22.binproto | Bin 376 -> 410 bytes .../backupTests/account_data_23.binproto | Bin 359 -> 393 bytes .../backupTests/account_data_24.binproto | Bin 289 -> 323 bytes .../backupTests/account_data_25.binproto | Bin 351 -> 385 bytes .../backupTests/account_data_26.binproto | Bin 383 -> 417 bytes .../backupTests/account_data_27.binproto | Bin 257 -> 291 bytes .../backupTests/ad_hoc_call_00.binproto | Bin 421 -> 455 bytes .../backupTests/ad_hoc_call_01.binproto | Bin 428 -> 462 bytes .../backupTests/ad_hoc_call_02.binproto | Bin 428 -> 462 bytes .../assets/backupTests/chat_00.binproto | Bin 582 -> 616 bytes .../assets/backupTests/chat_01.binproto | Bin 657 -> 691 bytes .../assets/backupTests/chat_02.binproto | Bin 647 -> 681 bytes .../assets/backupTests/chat_03.binproto | Bin 630 -> 664 bytes .../assets/backupTests/chat_04.binproto | Bin 548 -> 582 bytes .../assets/backupTests/chat_05.binproto | Bin 644 -> 678 bytes .../assets/backupTests/chat_06.binproto | Bin 490 -> 524 bytes .../assets/backupTests/chat_07.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_08.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_09.binproto | Bin 484 -> 518 bytes .../assets/backupTests/chat_10.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_11.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_12.binproto | Bin 490 -> 524 bytes .../assets/backupTests/chat_13.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_14.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_15.binproto | Bin 484 -> 518 bytes .../assets/backupTests/chat_16.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_17.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_18.binproto | Bin 490 -> 524 bytes .../assets/backupTests/chat_19.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_20.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_21.binproto | Bin 484 -> 518 bytes .../assets/backupTests/chat_22.binproto | Bin 504 -> 538 bytes .../assets/backupTests/chat_23.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_24.binproto | Bin 490 -> 524 bytes .../assets/backupTests/chat_25.binproto | Bin 498 -> 532 bytes .../assets/backupTests/chat_26.binproto | Bin 504 -> 538 bytes .../backupTests/chat_folder_00.binproto | Bin 814 -> 848 bytes .../backupTests/chat_folder_01.binproto | Bin 808 -> 842 bytes .../backupTests/chat_folder_02.binproto | Bin 822 -> 856 bytes .../backupTests/chat_folder_03.binproto | Bin 808 -> 842 bytes .../chat_item_contact_message_00.binproto | Bin 522 -> 585 bytes .../chat_item_contact_message_01.binproto | Bin 706 -> 745 bytes .../chat_item_contact_message_02.binproto | Bin 940 -> 1045 bytes .../chat_item_contact_message_03.binproto | Bin 720 -> 715 bytes .../chat_item_contact_message_04.binproto | Bin 787 -> 776 bytes .../chat_item_contact_message_05.binproto | Bin 794 -> 976 bytes .../chat_item_contact_message_06.binproto | Bin 695 -> 712 bytes .../chat_item_contact_message_07.binproto | Bin 806 -> 737 bytes .../chat_item_contact_message_08.binproto | Bin 768 -> 898 bytes .../chat_item_contact_message_09.binproto | Bin 519 -> 582 bytes .../chat_item_contact_message_10.binproto | Bin 705 -> 744 bytes .../chat_item_contact_message_11.binproto | Bin 940 -> 1045 bytes .../chat_item_contact_message_12.binproto | Bin 718 -> 713 bytes .../chat_item_contact_message_13.binproto | Bin 789 -> 778 bytes .../chat_item_contact_message_14.binproto | Bin 794 -> 976 bytes ...t_item_expiration_timer_update_00.binproto | Bin 492 -> 526 bytes ...t_item_expiration_timer_update_01.binproto | Bin 499 -> 533 bytes ...t_item_expiration_timer_update_02.binproto | Bin 499 -> 533 bytes .../chat_item_gift_badge_00.binproto | Bin 844 -> 878 bytes .../chat_item_gift_badge_01.binproto | Bin 842 -> 876 bytes .../chat_item_gift_badge_02.binproto | Bin 834 -> 868 bytes .../chat_item_gift_badge_03.binproto | Bin 508 -> 542 bytes .../chat_item_gift_badge_04.binproto | Bin 839 -> 873 bytes .../chat_item_gift_badge_05.binproto | Bin 836 -> 870 bytes .../chat_item_gift_badge_06.binproto | Bin 841 -> 875 bytes .../chat_item_gift_badge_07.binproto | Bin 508 -> 542 bytes .../chat_item_gift_badge_08.binproto | Bin 832 -> 866 bytes .../chat_item_gift_badge_09.binproto | Bin 843 -> 877 bytes .../chat_item_gift_badge_10.binproto | Bin 841 -> 875 bytes .../chat_item_gift_badge_11.binproto | Bin 499 -> 533 bytes .../chat_item_gift_badge_12.binproto | Bin 839 -> 873 bytes .../chat_item_gift_badge_13.binproto | Bin 843 -> 877 bytes .../chat_item_gift_badge_14.binproto | Bin 836 -> 870 bytes .../chat_item_group_call_update_00.binproto | Bin 819 -> 851 bytes .../chat_item_group_call_update_01.binproto | Bin 827 -> 859 bytes .../chat_item_group_call_update_02.binproto | Bin 829 -> 861 bytes .../chat_item_group_call_update_03.binproto | Bin 821 -> 853 bytes .../chat_item_group_call_update_04.binproto | Bin 829 -> 863 bytes .../chat_item_group_call_update_05.binproto | Bin 827 -> 861 bytes .../chat_item_group_call_update_06.binproto | Bin 819 -> 853 bytes .../chat_item_group_call_update_07.binproto | Bin 827 -> 859 bytes ...up_change_chat_multiple_update_00.binproto | Bin 1143 -> 1177 bytes ...up_change_chat_multiple_update_01.binproto | Bin 1185 -> 1219 bytes ...up_change_chat_multiple_update_02.binproto | Bin 1145 -> 1179 bytes ...up_change_chat_multiple_update_03.binproto | Bin 1253 -> 1287 bytes ...up_change_chat_multiple_update_04.binproto | Bin 1149 -> 1183 bytes ...up_change_chat_multiple_update_05.binproto | Bin 1149 -> 1183 bytes ...up_change_chat_multiple_update_06.binproto | Bin 1165 -> 1199 bytes ...up_change_chat_multiple_update_07.binproto | Bin 1199 -> 1233 bytes ...up_change_chat_multiple_update_08.binproto | Bin 1149 -> 1183 bytes ..._item_group_change_chat_update_00.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_01.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_02.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_03.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_04.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_05.binproto | Bin 1111 -> 1145 bytes ..._item_group_change_chat_update_06.binproto | Bin 1116 -> 1150 bytes ..._item_group_change_chat_update_07.binproto | Bin 1112 -> 1146 bytes ..._item_group_change_chat_update_08.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_09.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_10.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_11.binproto | Bin 1155 -> 1189 bytes ..._item_group_change_chat_update_12.binproto | Bin 1129 -> 1163 bytes ..._item_group_change_chat_update_13.binproto | Bin 1119 -> 1153 bytes ..._item_group_change_chat_update_14.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_15.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_16.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_17.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_18.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_19.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_20.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_21.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_22.binproto | Bin 1119 -> 1153 bytes ..._item_group_change_chat_update_23.binproto | Bin 1117 -> 1151 bytes ..._item_group_change_chat_update_24.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_25.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_26.binproto | Bin 1117 -> 1151 bytes ..._item_group_change_chat_update_27.binproto | Bin 1117 -> 1151 bytes ..._item_group_change_chat_update_28.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_29.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_30.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_31.binproto | Bin 1099 -> 1133 bytes ..._item_group_change_chat_update_32.binproto | Bin 1101 -> 1135 bytes ..._item_group_change_chat_update_33.binproto | Bin 1101 -> 1135 bytes ...at_item_individual_call_update_00.binproto | Bin 509 -> 543 bytes ...at_item_individual_call_update_01.binproto | Bin 517 -> 551 bytes ...at_item_individual_call_update_02.binproto | Bin 515 -> 549 bytes ...at_item_individual_call_update_03.binproto | Bin 509 -> 543 bytes ...at_item_learned_profile_update_00.binproto | Bin 498 -> 532 bytes ...at_item_learned_profile_update_01.binproto | Bin 498 -> 532 bytes ...at_item_learned_profile_update_02.binproto | Bin 505 -> 539 bytes ...at_item_learned_profile_update_03.binproto | Bin 503 -> 537 bytes ...at_item_learned_profile_update_04.binproto | Bin 500 -> 534 bytes ...chat_item_payment_notification_00.binproto | Bin 728 -> 762 bytes ...chat_item_payment_notification_01.binproto | Bin 801 -> 835 bytes ...chat_item_payment_notification_02.binproto | Bin 801 -> 835 bytes ...chat_item_payment_notification_03.binproto | Bin 607 -> 641 bytes ...chat_item_payment_notification_04.binproto | Bin 554 -> 588 bytes ...chat_item_payment_notification_05.binproto | Bin 613 -> 647 bytes ...chat_item_payment_notification_06.binproto | Bin 793 -> 827 bytes ...chat_item_payment_notification_07.binproto | Bin 791 -> 825 bytes ...chat_item_payment_notification_08.binproto | Bin 731 -> 765 bytes ...chat_item_payment_notification_09.binproto | Bin 618 -> 652 bytes ...chat_item_payment_notification_10.binproto | Bin 626 -> 660 bytes ...chat_item_payment_notification_11.binproto | Bin 598 -> 632 bytes ...chat_item_payment_notification_12.binproto | Bin 723 -> 757 bytes ...chat_item_payment_notification_13.binproto | Bin 802 -> 836 bytes ...chat_item_payment_notification_14.binproto | Bin 803 -> 837 bytes ...hat_item_profile_change_update_00.binproto | Bin 518 -> 552 bytes ...hat_item_profile_change_update_01.binproto | Bin 519 -> 553 bytes ...hat_item_profile_change_update_02.binproto | Bin 516 -> 550 bytes .../chat_item_remote_delete_00.binproto | Bin 508 -> 542 bytes .../chat_item_remote_delete_01.binproto | Bin 504 -> 538 bytes .../chat_item_remote_delete_02.binproto | Bin 496 -> 530 bytes .../chat_item_remote_delete_03.binproto | Bin 505 -> 539 bytes .../chat_item_remote_delete_04.binproto | Bin 503 -> 537 bytes .../chat_item_remote_delete_05.binproto | Bin 498 -> 532 bytes .../chat_item_remote_delete_06.binproto | Bin 503 -> 537 bytes .../chat_item_remote_delete_07.binproto | Bin 505 -> 539 bytes .../chat_item_remote_delete_08.binproto | Bin 496 -> 530 bytes .../chat_item_remote_delete_09.binproto | Bin 505 -> 539 bytes .../chat_item_remote_delete_10.binproto | Bin 503 -> 537 bytes .../chat_item_remote_delete_11.binproto | Bin 496 -> 530 bytes .../chat_item_remote_delete_12.binproto | Bin 503 -> 537 bytes .../chat_item_remote_delete_13.binproto | Bin 505 -> 539 bytes .../chat_item_remote_delete_14.binproto | Bin 498 -> 532 bytes ...item_session_switchover_update_00.binproto | Bin 498 -> 532 bytes ...item_session_switchover_update_01.binproto | Bin 499 -> 533 bytes .../chat_item_simple_updates_00.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_01.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_02.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_03.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_04.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_05.binproto | Bin 503 -> 537 bytes .../chat_item_simple_updates_06.binproto | Bin 516 -> 550 bytes .../chat_item_simple_updates_07.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_08.binproto | Bin 516 -> 550 bytes .../chat_item_simple_updates_09.binproto | Bin 516 -> 550 bytes .../chat_item_simple_updates_10.binproto | Bin 516 -> 550 bytes .../chat_item_simple_updates_11.binproto | Bin 516 -> 550 bytes .../chat_item_simple_updates_12.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_13.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_14.binproto | Bin 494 -> 528 bytes .../chat_item_simple_updates_15.binproto | Bin 494 -> 528 bytes ...tandard_message_formatted_text_00.binproto | Bin 914 -> 948 bytes ...tandard_message_formatted_text_01.binproto | Bin 930 -> 964 bytes ...tandard_message_formatted_text_02.binproto | Bin 934 -> 968 bytes ...tandard_message_formatted_text_03.binproto | Bin 962 -> 996 bytes ...tandard_message_formatted_text_04.binproto | Bin 994 -> 1028 bytes ...tandard_message_formatted_text_05.binproto | Bin 966 -> 1000 bytes ...tandard_message_formatted_text_06.binproto | Bin 930 -> 964 bytes ...tandard_message_formatted_text_07.binproto | Bin 962 -> 996 bytes ...tandard_message_formatted_text_08.binproto | Bin 918 -> 952 bytes ...tandard_message_formatted_text_09.binproto | Bin 962 -> 996 bytes ...tandard_message_formatted_text_10.binproto | Bin 994 -> 1028 bytes ...tandard_message_formatted_text_11.binproto | Bin 974 -> 1008 bytes ...tandard_message_formatted_text_12.binproto | Bin 930 -> 964 bytes ...tandard_message_formatted_text_13.binproto | Bin 946 -> 980 bytes ...tandard_message_formatted_text_14.binproto | Bin 926 -> 960 bytes ...tem_standard_message_long_text_00.binproto | Bin 647 -> 681 bytes ...tem_standard_message_long_text_01.binproto | Bin 695 -> 729 bytes ...tem_standard_message_long_text_02.binproto | Bin 707 -> 741 bytes ...tem_standard_message_long_text_03.binproto | Bin 644 -> 678 bytes ...tem_standard_message_long_text_04.binproto | Bin 653 -> 687 bytes ...tem_standard_message_long_text_05.binproto | Bin 682 -> 716 bytes ...tem_standard_message_long_text_06.binproto | Bin 625 -> 659 bytes ...tem_standard_message_long_text_07.binproto | Bin 599 -> 633 bytes ...tem_standard_message_long_text_08.binproto | Bin 686 -> 720 bytes ...tem_standard_message_long_text_09.binproto | Bin 673 -> 707 bytes ...tem_standard_message_long_text_10.binproto | Bin 686 -> 720 bytes ...tem_standard_message_long_text_11.binproto | Bin 686 -> 720 bytes ...tem_standard_message_long_text_12.binproto | Bin 629 -> 663 bytes ...tem_standard_message_long_text_13.binproto | Bin 661 -> 695 bytes ...tem_standard_message_long_text_14.binproto | Bin 672 -> 706 bytes ...chat_item_standard_message_sms_00.binproto | Bin 519 -> 553 bytes ...chat_item_standard_message_sms_01.binproto | Bin 619 -> 653 bytes ...chat_item_standard_message_sms_02.binproto | Bin 1030 -> 1064 bytes ...chat_item_standard_message_sms_03.binproto | Bin 520 -> 554 bytes ...chat_item_standard_message_sms_04.binproto | Bin 614 -> 648 bytes ...chat_item_standard_message_sms_05.binproto | Bin 1036 -> 1070 bytes ...chat_item_standard_message_sms_06.binproto | Bin 514 -> 548 bytes ...chat_item_standard_message_sms_07.binproto | Bin 620 -> 654 bytes ...chat_item_standard_message_sms_08.binproto | Bin 1030 -> 1064 bytes ...chat_item_standard_message_sms_09.binproto | Bin 520 -> 554 bytes ...chat_item_standard_message_sms_10.binproto | Bin 614 -> 648 bytes ...chat_item_standard_message_sms_11.binproto | Bin 1034 -> 1068 bytes ...chat_item_standard_message_sms_12.binproto | Bin 514 -> 548 bytes ...chat_item_standard_message_sms_13.binproto | Bin 620 -> 654 bytes ...chat_item_standard_message_sms_14.binproto | Bin 1032 -> 1066 bytes ...rd_message_special_attachments_00.binproto | Bin 609 -> 643 bytes ...rd_message_special_attachments_01.binproto | Bin 622 -> 656 bytes ...rd_message_special_attachments_02.binproto | Bin 636 -> 670 bytes ...rd_message_special_attachments_03.binproto | Bin 606 -> 640 bytes ...rd_message_special_attachments_04.binproto | Bin 621 -> 655 bytes ...rd_message_special_attachments_05.binproto | Bin 638 -> 672 bytes ...rd_message_special_attachments_06.binproto | Bin 603 -> 637 bytes ...rd_message_special_attachments_07.binproto | Bin 623 -> 657 bytes ...rd_message_special_attachments_08.binproto | Bin 636 -> 670 bytes ...rd_message_special_attachments_09.binproto | Bin 606 -> 640 bytes ...rd_message_special_attachments_10.binproto | Bin 621 -> 655 bytes ...rd_message_special_attachments_11.binproto | Bin 636 -> 670 bytes ...rd_message_special_attachments_12.binproto | Bin 603 -> 637 bytes ...rd_message_special_attachments_13.binproto | Bin 623 -> 657 bytes ...rd_message_special_attachments_14.binproto | Bin 638 -> 672 bytes ...d_message_standard_attachments_00.binproto | Bin 608 -> 642 bytes ...d_message_standard_attachments_01.binproto | Bin 1086 -> 1120 bytes ...d_message_standard_attachments_02.binproto | Bin 1142 -> 1176 bytes ...d_message_standard_attachments_03.binproto | Bin 758 -> 792 bytes ...d_message_standard_attachments_04.binproto | Bin 961 -> 995 bytes ...d_message_standard_attachments_05.binproto | Bin 1231 -> 1265 bytes ...d_message_standard_attachments_06.binproto | Bin 718 -> 752 bytes ...d_message_standard_attachments_07.binproto | Bin 1000 -> 1034 bytes ...d_message_standard_attachments_08.binproto | Bin 1205 -> 1239 bytes ...d_message_standard_attachments_09.binproto | Bin 689 -> 723 bytes ...d_message_standard_attachments_10.binproto | Bin 972 -> 1006 bytes ...d_message_standard_attachments_11.binproto | Bin 1268 -> 1302 bytes ...d_message_standard_attachments_12.binproto | Bin 618 -> 652 bytes ...d_message_standard_attachments_13.binproto | Bin 917 -> 951 bytes ...d_message_standard_attachments_14.binproto | Bin 1314 -> 1348 bytes ...tem_standard_message_text_only_00.binproto | Bin 541 -> 575 bytes ...tem_standard_message_text_only_01.binproto | Bin 560 -> 594 bytes ...tem_standard_message_text_only_02.binproto | Bin 580 -> 614 bytes ...tem_standard_message_text_only_03.binproto | Bin 538 -> 572 bytes ...tem_standard_message_text_only_04.binproto | Bin 559 -> 593 bytes ...tem_standard_message_text_only_05.binproto | Bin 582 -> 616 bytes ...tem_standard_message_text_only_06.binproto | Bin 536 -> 570 bytes ...tem_standard_message_text_only_07.binproto | Bin 561 -> 595 bytes ...tem_standard_message_text_only_08.binproto | Bin 580 -> 614 bytes ...tem_standard_message_text_only_09.binproto | Bin 538 -> 572 bytes ...tem_standard_message_text_only_10.binproto | Bin 559 -> 593 bytes ...tem_standard_message_text_only_11.binproto | Bin 580 -> 614 bytes ...tem_standard_message_text_only_12.binproto | Bin 536 -> 570 bytes ...tem_standard_message_text_only_13.binproto | Bin 561 -> 595 bytes ...tem_standard_message_text_only_14.binproto | Bin 582 -> 616 bytes ...em_standard_message_with_edits_00.binproto | Bin 637 -> 671 bytes ...em_standard_message_with_edits_01.binproto | Bin 776 -> 810 bytes ...em_standard_message_with_edits_02.binproto | Bin 625 -> 659 bytes ...dard_message_with_link_preview_00.binproto | Bin 598 -> 632 bytes ...dard_message_with_link_preview_01.binproto | Bin 785 -> 819 bytes ...dard_message_with_link_preview_02.binproto | Bin 876 -> 910 bytes ...dard_message_with_link_preview_03.binproto | Bin 773 -> 807 bytes ...dard_message_with_link_preview_04.binproto | Bin 769 -> 803 bytes ...dard_message_with_link_preview_05.binproto | Bin 815 -> 849 bytes ...dard_message_with_link_preview_06.binproto | Bin 769 -> 803 bytes ...dard_message_with_link_preview_07.binproto | Bin 748 -> 782 bytes ...dard_message_with_link_preview_08.binproto | Bin 717 -> 751 bytes ...dard_message_with_link_preview_09.binproto | Bin 595 -> 629 bytes ...dard_message_with_link_preview_10.binproto | Bin 784 -> 818 bytes ...dard_message_with_link_preview_11.binproto | Bin 876 -> 910 bytes ...dard_message_with_link_preview_12.binproto | Bin 771 -> 805 bytes ...dard_message_with_link_preview_13.binproto | Bin 771 -> 805 bytes ...dard_message_with_link_preview_14.binproto | Bin 815 -> 849 bytes ...em_standard_message_with_quote_00.binproto | Bin 618 -> 652 bytes ...em_standard_message_with_quote_01.binproto | Bin 835 -> 869 bytes ...em_standard_message_with_quote_02.binproto | Bin 1355 -> 1389 bytes ...em_standard_message_with_quote_03.binproto | Bin 850 -> 884 bytes ...em_standard_message_with_quote_04.binproto | Bin 592 -> 626 bytes ...em_standard_message_with_quote_05.binproto | Bin 931 -> 965 bytes ...em_standard_message_with_quote_06.binproto | Bin 895 -> 929 bytes ...em_standard_message_with_quote_07.binproto | Bin 815 -> 849 bytes ...em_standard_message_with_quote_08.binproto | Bin 918 -> 952 bytes ...em_standard_message_with_quote_09.binproto | Bin 912 -> 946 bytes ...em_standard_message_with_quote_10.binproto | Bin 881 -> 915 bytes ...em_standard_message_with_quote_11.binproto | Bin 934 -> 968 bytes ...em_standard_message_with_quote_12.binproto | Bin 818 -> 852 bytes ...em_standard_message_with_quote_13.binproto | Bin 897 -> 931 bytes ...em_standard_message_with_quote_14.binproto | Bin 643 -> 677 bytes .../chat_item_sticker_message_00.binproto | Bin 667 -> 701 bytes .../chat_item_sticker_message_01.binproto | Bin 706 -> 740 bytes .../chat_item_sticker_message_02.binproto | Bin 735 -> 769 bytes .../chat_item_sticker_message_03.binproto | Bin 674 -> 708 bytes .../chat_item_sticker_message_04.binproto | Bin 672 -> 706 bytes .../chat_item_sticker_message_05.binproto | Bin 706 -> 740 bytes .../chat_item_sticker_message_06.binproto | Bin 652 -> 686 bytes .../chat_item_sticker_message_07.binproto | Bin 617 -> 651 bytes .../chat_item_sticker_message_08.binproto | Bin 697 -> 731 bytes .../chat_item_sticker_message_09.binproto | Bin 695 -> 729 bytes .../chat_item_sticker_message_10.binproto | Bin 723 -> 757 bytes .../chat_item_sticker_message_11.binproto | Bin 699 -> 733 bytes .../chat_item_sticker_message_12.binproto | Bin 646 -> 680 bytes .../chat_item_sticker_message_13.binproto | Bin 698 -> 732 bytes .../chat_item_sticker_message_14.binproto | Bin 692 -> 726 bytes .../chat_item_thread_merge_update_00.binproto | Bin 498 -> 532 bytes .../chat_item_thread_merge_update_01.binproto | Bin 499 -> 533 bytes .../chat_item_view_once_00.binproto | Bin 509 -> 543 bytes .../chat_item_view_once_01.binproto | Bin 605 -> 639 bytes .../chat_item_view_once_02.binproto | Bin 681 -> 715 bytes .../chat_item_view_once_03.binproto | Bin 657 -> 691 bytes .../chat_item_view_once_04.binproto | Bin 679 -> 713 bytes .../chat_item_view_once_05.binproto | Bin 598 -> 632 bytes .../chat_item_view_once_06.binproto | Bin 660 -> 694 bytes .../chat_item_view_once_07.binproto | Bin 589 -> 623 bytes .../chat_item_view_once_08.binproto | Bin 568 -> 602 bytes .../chat_item_view_once_09.binproto | Bin 506 -> 540 bytes .../chat_item_view_once_10.binproto | Bin 603 -> 637 bytes .../chat_item_view_once_11.binproto | Bin 681 -> 715 bytes .../chat_item_view_once_12.binproto | Bin 655 -> 689 bytes .../chat_item_view_once_13.binproto | Bin 681 -> 715 bytes .../chat_item_view_once_14.binproto | Bin 598 -> 632 bytes .../notification_profile_00.binproto | Bin 814 -> 848 bytes .../notification_profile_01.binproto | Bin 831 -> 865 bytes .../notification_profile_02.binproto | Bin 836 -> 870 bytes .../notification_profile_03.binproto | Bin 825 -> 859 bytes .../notification_profile_04.binproto | Bin 844 -> 878 bytes .../notification_profile_05.binproto | Bin 842 -> 876 bytes .../notification_profile_06.binproto | Bin 830 -> 864 bytes .../notification_profile_07.binproto | Bin 845 -> 879 bytes .../notification_profile_08.binproto | Bin 828 -> 862 bytes .../notification_profile_09.binproto | Bin 819 -> 853 bytes .../notification_profile_10.binproto | Bin 844 -> 878 bytes .../notification_profile_11.binproto | Bin 840 -> 874 bytes .../recipient_call_link_00.binproto | Bin 350 -> 386 bytes .../recipient_call_link_01.binproto | Bin 403 -> 439 bytes .../recipient_call_link_02.binproto | Bin 370 -> 406 bytes .../recipient_call_link_03.binproto | Bin 384 -> 420 bytes .../recipient_call_link_04.binproto | Bin 369 -> 405 bytes .../recipient_call_link_05.binproto | Bin 404 -> 440 bytes .../recipient_call_link_06.binproto | Bin 350 -> 386 bytes .../recipient_call_link_07.binproto | Bin 403 -> 439 bytes .../recipient_call_link_08.binproto | Bin 370 -> 406 bytes .../recipient_call_link_09.binproto | Bin 384 -> 420 bytes .../recipient_call_link_10.binproto | Bin 369 -> 405 bytes .../recipient_call_link_11.binproto | Bin 404 -> 440 bytes .../recipient_call_link_12.binproto | Bin 350 -> 386 bytes .../recipient_call_link_13.binproto | Bin 403 -> 439 bytes .../recipient_call_link_14.binproto | Bin 370 -> 406 bytes .../recipient_call_link_15.binproto | Bin 384 -> 420 bytes .../recipient_contacts_00.binproto | Bin 384 -> 418 bytes .../recipient_contacts_01.binproto | Bin 482 -> 516 bytes .../recipient_contacts_02.binproto | Bin 469 -> 503 bytes .../recipient_contacts_03.binproto | Bin 483 -> 517 bytes .../recipient_distribution_list_00.binproto | Bin 777 -> 811 bytes .../recipient_distribution_list_01.binproto | Bin 792 -> 826 bytes .../recipient_distribution_list_02.binproto | Bin 786 -> 820 bytes .../recipient_distribution_list_03.binproto | Bin 796 -> 830 bytes .../backupTests/recipient_groups_00.binproto | Bin 1278 -> 1312 bytes .../backupTests/recipient_groups_01.binproto | Bin 1462 -> 1496 bytes .../backupTests/recipient_groups_02.binproto | Bin 1420 -> 1454 bytes .../backupTests/recipient_groups_03.binproto | Bin 1409 -> 1443 bytes .../backupTests/standard_frames.binproto | Bin 327 -> 361 bytes .../backupTests/sticker_pack_00.binproto | Bin 382 -> 416 bytes .../backupTests/sticker_pack_01.binproto | Bin 382 -> 416 bytes .../backupTests/sticker_pack_02.binproto | Bin 382 -> 416 bytes .../securesms/backup/v2/BackupRepository.kt | 5 +- .../v2/exporters/ChatArchiveExporter.kt | 2 +- .../v2/exporters/ChatItemArchiveExporter.kt | 48 +++-- .../securesms/contactshare/Contact.java | 2 +- .../model/GroupCallUpdateDetailsUtil.java | 2 +- .../securesms/keyvalue/BackupValues.kt | 6 + app/src/main/protowire/Backup.proto | 57 ++--- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 20 +- .../api/svr/SecureValueRecoveryV3.kt | 204 +++++++++--------- 415 files changed, 181 insertions(+), 167 deletions(-) diff --git a/app/src/androidTest/assets/backupTests/account_data_00.binproto b/app/src/androidTest/assets/backupTests/account_data_00.binproto index 33cd94511a7138b036c878b51e9c94c411dd4c0b..bf4210d340c1427d0e4f10f8757fdf7f9f81d1a2 100644 GIT binary patch delta 47 rcmcb{_=AzrcOs*;M1& delta 13 UcmdnbGM9x>dm^LuM!%1Y034kJKL7v# diff --git a/app/src/androidTest/assets/backupTests/account_data_03.binproto b/app/src/androidTest/assets/backupTests/account_data_03.binproto index d01e72252939cc7ea3353b72768ba4ee136665ef..ea1a8cf637d8a0821962d986a38eb890769dfab3 100644 GIT binary patch delta 48 scmcb}{F#~2cOs*e(hcOs*V!Z diff --git a/app/src/androidTest/assets/backupTests/account_data_11.binproto b/app/src/androidTest/assets/backupTests/account_data_11.binproto index f47ecc535adaabb9d6d5eed840f2296400f0f0ae..7bafd52ee2a4473c7948f55e020ae4095e54709f 100644 GIT binary patch delta 48 scmaFP)XB`~JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOBAQ07{AtM*si- delta 13 UcmeBVe$K?GJ&{p+qn|Y+02_e=ng9R* diff --git a/app/src/androidTest/assets/backupTests/account_data_12.binproto b/app/src/androidTest/assets/backupTests/account_data_12.binproto index 7a09f4565eed4aba6d30318dac46017cabe2b393..b8aa62d0a5b5e5a8931d7c586bd72cb3685eccb3 100644 GIT binary patch delta 47 rcmZ3;beM_JcOs*`;w delta 12 ScmX@iw2+BWdm<3|eFXp*G6W_7 diff --git a/app/src/androidTest/assets/backupTests/account_data_13.binproto b/app/src/androidTest/assets/backupTests/account_data_13.binproto index b0b29708bc6a6d00280b9c587ea37022d4c2919d..4e7a218b5aa027d67b2b5dee2453cc208d585baf 100644 GIT binary patch delta 48 scmcc5)X2=}JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOB4O07r@qF8}}l delta 13 UcmZoz03J;PtpET3 diff --git a/app/src/androidTest/assets/backupTests/account_data_16.binproto b/app/src/androidTest/assets/backupTests/account_data_16.binproto index eccec0a43340727535f099d6be78d05ac63ff053..f6fc4f80a69bd728c04f6eadb403b99b1019870f 100644 GIT binary patch delta 48 scmdnT^ni)ccOs* delta 13 UcmaFBw2z5Vdm^LuMn54&03FK%o&W#< diff --git a/app/src/androidTest/assets/backupTests/account_data_17.binproto b/app/src/androidTest/assets/backupTests/account_data_17.binproto index 8a68ee11b124fe25e31135763c3d3d0203399002..d90f3ba91c84783c0230a3e95974b0252e23a98e 100644 GIT binary patch delta 48 scmaFH)WOW?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAlA07@ziL;wH) delta 13 UcmeBRe#XS8J&{p+qn{Nc02^lmmjD0& diff --git a/app/src/androidTest/assets/backupTests/account_data_18.binproto b/app/src/androidTest/assets/backupTests/account_data_18.binproto index 7b601b50029c4dcf5d95d4caa4a6844d1ba1629d..6da7d672c1c1cb52963d6b6fde85384e09a08429 100644 GIT binary patch delta 47 rcmbQqw3~_1cOs*e(hcOs*V!Z diff --git a/app/src/androidTest/assets/backupTests/account_data_23.binproto b/app/src/androidTest/assets/backupTests/account_data_23.binproto index 62880519b7540584586493d55b632ee936f2ca89..b2968801fd2efa7a26ee85546db4981ca162a106 100644 GIT binary patch delta 48 scmaFP)XB`~JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOBAQ07{AtM*si- delta 13 UcmeBVe$K?GJ&{p+qn|Y+02_e=ng9R* diff --git a/app/src/androidTest/assets/backupTests/account_data_24.binproto b/app/src/androidTest/assets/backupTests/account_data_24.binproto index 82e89cca0b362a38b3f7c94d3f070e2a6c57ba41..7e057ef2f41d4ded2002dc24bc5fbced1cbc3323 100644 GIT binary patch delta 47 rcmZ3;beM_JcOs*`;w delta 12 ScmX@iw2+BWdm<3|eFXp*G6W_7 diff --git a/app/src/androidTest/assets/backupTests/account_data_25.binproto b/app/src/androidTest/assets/backupTests/account_data_25.binproto index a72712ec64f4a2a231226ea3825f4d71892d0b9e..34d548fbc32682d9c7c9aa291efa6b634ab6e286 100644 GIT binary patch delta 48 scmcc5)X2=}JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOB4O07r@qF8}}l delta 13 UcmZo}`f&c&j delta 13 UcmX@kyp)+ydm^LuM!!l%0325X)c^nh diff --git a/app/src/androidTest/assets/backupTests/ad_hoc_call_01.binproto b/app/src/androidTest/assets/backupTests/ad_hoc_call_01.binproto index cd678780b5727914133decaee3b2bb55895a7c92..c0e3cb1a4ebfafcaa5c6e2b33829017a7f21a32a 100644 GIT binary patch delta 48 scmZ3(e2$sXcOs*Hq)$ diff --git a/app/src/androidTest/assets/backupTests/ad_hoc_call_02.binproto b/app/src/androidTest/assets/backupTests/ad_hoc_call_02.binproto index 2633261e7531060ebe67d3f317982bbcfda1c0d8..58edf44e59d676f08002822311f72820cf64a9b5 100644 GIT binary patch delta 48 scmZ3(e2$sXcOs*Hq)$ diff --git a/app/src/androidTest/assets/backupTests/chat_00.binproto b/app/src/androidTest/assets/backupTests/chat_00.binproto index 3333623fb9dccaeda3c6d4fa2ab3e9db7cc69c0b..22d0b1883abbc40a550030a7cd357a3979a0c714 100644 GIT binary patch delta 48 scmX@c@`8oYcOs* delta 13 UcmdnYI+2x8dm^LuM!!@h02+J)o&W#< diff --git a/app/src/androidTest/assets/backupTests/chat_02.binproto b/app/src/androidTest/assets/backupTests/chat_02.binproto index 50d071621b358755a6fa7b0dcb2a45ac3dfb12fa..77a50c9174462126b41a7983f6be1db4c9c275b6 100644 GIT binary patch delta 48 scmZo?UCGMmJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`Q74)S06%gKEdT%j delta 13 UcmZ3<+Rnn+a delta 13 UcmbQi`i+HAdm^LuMn5km039>~%m4rY diff --git a/app/src/androidTest/assets/backupTests/chat_04.binproto b/app/src/androidTest/assets/backupTests/chat_04.binproto index 6b54ae21dd48eff325b65190ded7268a2371b959..94bc7e0a595bfce894c74ae82b758b67002f791f 100644 GIT binary patch delta 48 scmZ3&a*T!1cOs*(^b diff --git a/app/src/androidTest/assets/backupTests/chat_07.binproto b/app/src/androidTest/assets/backupTests/chat_07.binproto index b1cf4aba486229ec5387564687e0707330305397..52ce6aaf8cf16a32784defb5f70be0f9ee11ede5 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_08.binproto b/app/src/androidTest/assets/backupTests/chat_08.binproto index bced1ced770156bdf76ba0fc7813c30b27774837..5c1fef57c1a8ab7e23b1e4f4a365dfb1fec8adb0 100644 GIT binary patch delta 48 scmeytJd1_VcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_12.binproto b/app/src/androidTest/assets/backupTests/chat_12.binproto index 1b0da8307eacea99a784427dca0354eb25682f62..e0db666f3825b3e56b512da55247e7e245cc2f77 100644 GIT binary patch delta 48 scmaFG+{41?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+|`08IuB(f|Me delta 13 UcmeBSdBx1AJ&{p+qu)M803786B>(^b diff --git a/app/src/androidTest/assets/backupTests/chat_13.binproto b/app/src/androidTest/assets/backupTests/chat_13.binproto index ae49a511b204a604d9b2c9ab442043912d40cdb5..d117f6cbe235032ff6da02051908f23376f6c98d 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_14.binproto b/app/src/androidTest/assets/backupTests/chat_14.binproto index 9f2c775a65722786a6742679d4bca5d5c778982a..eb225292b124b10dac874bffb1d8b3a86d907def 100644 GIT binary patch delta 48 scmeytJd1_VcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_18.binproto b/app/src/androidTest/assets/backupTests/chat_18.binproto index c9dec51c52717cc45a959ec5d91f22f77ea38ceb..c8ba5fcee4ab5c4528f7849de95e95a08a582548 100644 GIT binary patch delta 48 scmaFG+{41?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+|`08IuB(f|Me delta 13 UcmeBSdBx1AJ&{p+qu)M803786B>(^b diff --git a/app/src/androidTest/assets/backupTests/chat_19.binproto b/app/src/androidTest/assets/backupTests/chat_19.binproto index b0a630ae97bcfa86cf7d8b26aa3c3515b280311b..303ffca0257d88b606029a63c4cc7b25a436804a 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_20.binproto b/app/src/androidTest/assets/backupTests/chat_20.binproto index 737d5053a866e57e525f2864a80537119e1688ce..710f6e2da293c035fda91f2bae59ddf0d097246c 100644 GIT binary patch delta 48 scmeytJd1_VcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_24.binproto b/app/src/androidTest/assets/backupTests/chat_24.binproto index c41863fe4f19b663dbb78231aeb11b8ce0221496..709788e3b5c08f0798aa83e26cff405819056105 100644 GIT binary patch delta 48 scmaFG+{41?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+|`08IuB(f|Me delta 13 UcmeBSdBx1AJ&{p+qu)M803786B>(^b diff --git a/app/src/androidTest/assets/backupTests/chat_25.binproto b/app/src/androidTest/assets/backupTests/chat_25.binproto index a533ca441f46a8025a785162438d1b16199ceca9..97ec18ab7a9d8a200f2a96b62b913d35f6e55eff 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_26.binproto b/app/src/androidTest/assets/backupTests/chat_26.binproto index 2e5715090b7fa02e789468e7e2146c04b625c96f..f227a70bbc12c15a2c16f5e3b8cd4600ff23506c 100644 GIT binary patch delta 48 scmeytJd1_VcOs*(^b delta 13 Ucmcb>wvLTadm^LuMn5KI033w_cmMzZ diff --git a/app/src/androidTest/assets/backupTests/chat_folder_01.binproto b/app/src/androidTest/assets/backupTests/chat_folder_01.binproto index c9d3e2dff7cfcc79ad4bfb7b777e19a982814195..5cd860fee0c494d387e6400f6cbdb6005e79fb5f 100644 GIT binary patch delta 48 scmZ3%c8ZPBcOs*tpET3 diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_01.binproto index 1475a4a6a1936b480210fc98d17744b0ede02cd0..3c2a413b9ec30697ee169aac12fbeab250f4fdba 100644 GIT binary patch delta 200 zcmX@a`jVB=cOs*4p| zb8u;88UsyoE+PX;axN+cL}74fZe=nEO=)9jWo&F^lS=|cPB%CV(mWe@-w5Ro}`C#!DQ+B~i1a!eh9$|4YWX+x5d-fJ{@)40)+ O%xg|4w9mqs2RZ=LPBxbS diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_02.binproto index 3df6778b3c3bb980a8236cd4ef83dfecbddc9364..2ae505c826f89d19e6d58deae685993f6b23dad5 100644 GIT binary patch delta 546 zcmYk2JBZV80Ee&XD@|LBog@k#aglmg)1;524z^8S*QV+9k>)Ho{L`js`bcUn$z8fs zmlK>6IZ;pt!RRJx9|3t9 z@v~Fln7W2}>c(yicejmL6y|ip0IDXF?kyW&7!stY6vZ$!%_K+^!U7YnSuVEBy*73p z2_+KgG(j)~LD6y4jRmYCJ8p`WWfk#@2r3AZTDg;*cZ6amrW?xXe6h{i`?-dy;+GJ# zCTkAJRxHhwjaXlwtrX!!f#237)&Xq3oQv`>6bajlc8OQ!I~B7x8eoB9uOXGRMW^@h zBSbEvBJ7U%9K|vf0}E^AIuF!a+O#R%=-}Q}z#K*W?65nih*i?NasV+Cnwi5^VcZwG z?cOvW9FHYy&~*xqvR_36K~>G!q{7+cV;3G!XF!p!&NU?iJGQZHnT>Jwp0Dyb*t@_D zxlyXS)B(e9iP!h|(x$F+o7cqL4y`-LO=LYu$`p~L(-awx4`ez8NP=NxB1QCpOeI%` zK^SWNIeep@y#Mm{;QsfQ&tAX7(bhNbUGnVLgBOA4zR+><&gH)!e*c8XpwJzd9Jd(M TC7WK$AbF`~>1N)Bc5D9t*r29s delta 379 zcmbQrv4)*ddm^LuM!z+T^_Q5H&NFi`2{1~myEy0VX9F)bE*1_JDTbt-%v{@;xwN_1 zgA$W75>s=8*uoP_iu3cNSbU3$^^}-{i}bWuz4B8sQ;pbyON$fp5~T#WxQ&g?j4drK zEG$io1el~4q@=lcOiawp4Gb&|42&%d1(>BcvwZ^HU4u%>gO$X%1SU5#2?sDJ$#V&K zr{+~AI(U@km82HwCFkdYlvV{emsL3WXJ%?iaxe)oNO8JG`6s#MRfR-pF&HseF*q@J zF=$0{FbnaPRRz2Gr58kaltg8uOjcwTpZtW$P|;{QqY`IkZen_>enDQk6_2-HQAoK* zmPjvRU0*|ylGUu<0JD0D2q$0m1%TMD`^T|9Tj>;6@%(4jY Xa0>=2zPxPjD#z5kdYYBdcOs*5?5w!VtT56RzYgI6<1_cq;sB!mq%8W!yH+UuiTUU zndD<*xD-;2EKH1zObv_;42>+zQ%sVRQxlU@Elmv#Escx~O^gMYr38xReqr|9@pR6% z@+V=Nmu_%X5_r^N6ks6Ke&x)ob5jK;89Hmc`tiJp$%rc;F(T6^I62+N!-5F_L*qjt delta 211 zcmV;^04)E@1<(ZnE0F;!u}-W31oid zWNc?xbwG#&NV5WyPXZreR|+6FWic{gVlyydF*7n_Fl9MmWH&iCGhs9~Gc+(cFg0Wl z0~!#zdQm$^S*1_GM|HD&z)2b+5RMY7FrhNQ>8*Klq+>vkT`2RSp;IyjR#H?+a#A<~ NItW*3M^aR7WOAc4L~j59 diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_04.binproto index 9333b464c7d5afa2198999fc321a4e758dfece6b..a23b6abe5e5ffe8cf58245d798a7632b2a206040 100644 GIT binary patch delta 279 zcmbQt*1^W;JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+S!OAnJ$=j1z#GWBm5 zxn44IsdI6-<)oG*XQUPhak^*b8WoNSt6Xqud8kYt=< zX=rY4Aiy9cAZonyTlB5US@nW@lR86qtd#^NO6_A-`+i~a(Tgz)Hs2I4(D**{-clwj Q?uxL|vE0F;!u}-W31i1ntwv+w=9DkVt3YG#22nq&LZ*FdBWf~d^3o|n| zGdVdpI5{*j5Cj?tbwxu_S9NuDMIs{#5LH!cOGi{da8y-AR4#9FXAlG$4SGaQP;O#F zd0|6BM?oq`2mulXd1rNWXL2G1WJ^|8YbpmrW>#cKS4uJka9BuTS2_%BbY@aSYGYMa zQ!ZL;LJMkYVs&Izc|>_vZ4GdVOhIAt(nH8WymWDo!v5b`!Y*_3ey;%HNr8b-+i cKOzuc3ji2qz3;r0Ba~R+#XIdNw9mqs2QwE|N&o-= diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_05.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_05.binproto index 9daeeb8a3e302e6ce8fde5bae583472351ce37af..214eb9afc0a73d42dba1e979f8cbd90c0a53c2ce 100644 GIT binary patch delta 480 zcmbQmc7dJIcOs*4q*OA8B26C(j8Db8%4 zKzG-mlJa0B5iSAm)XAYtg7xxT0->SV-tHj|1tFoXA$s{m=^&+50nTL=j{cdMT7Dc% zLcC>F!ES!(1rZ)4Q5h*xoUT#+Np5*nAyHavZax9Q*^WjWC5ZtZ<&I_fR_v)+5#br` zfleGHj@~5!VG&_o+!>Wo&LKr^iBW}4THzebLTr`kr6uV_QoMOd?!JDBnT2^dfk}}e zO03?%5X;bFcTNjS@d)=aVg=fm7;eRrTap&!l9e19795r1#GRFuRGJc2=~9_q;l&ji znweRWo9*FKW|XhQm6@BEo~oZ!keY7AQCU_LP+H=jHF-aiq6?pwe}!j7Nm)dGYEWTn zgpz<`u+kTi&zxu9+ihK`@ckQ~mcX>zGf(bT^^)FjFO>1xwp43_#naC6SaCTed6(vw JIF%K90{}aak^TSx delta 292 zcmcb>K8uY}dm^LuM!z+TtOuBs_A*WW&nQ;El!Mq+A?5T|=)PEKlZ zL1wBHvu}}}60=v4o)()+VnIe;su728W^zU^9+i<5&A2S5^`~=P%vKBl6>3!- diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_06.binproto index 4723d8f88c9f27354f96c57355a3e0355e1b03e6..4336f0f3070bb3e9074c5acb04fc67983b005b54 100644 GIT binary patch delta 206 zcmdnadV-bFcOs*Cnw)wlnGkH z$hDG@ONWa+C^0!BF*Qes-8m<*vLruGip966SWk&LxJXZn!zaI}C^0iH)ri@%EYYY^ zi8C`dF+EkkATQmDE3zumInTq(Bdf}xi_POE_he5dd0QJUcDITk*Q}f%0VathU4IVl yF;^0>_?>(Ayi5K)t-8CbD>9uYX$e$b-f?l#nQXtqCYq-vT9&FC>|5G;hZz8j-$tMS delta 188 zcmV;t07L)C1-AtOE0F;!u}-W31l<85+LQhP98tXi3c3LbED8ulY-My~Xk~H|23KKp zb8l`M1Wj^tE+PX{axN+bN^fLoWikd+b#q~EVKRCm32AL%XJs#NZf80QM0IOYNn~ti zSam@B8%TeXYyuxoJ_-qUad%Ebb9q&65CRyE#71e4sL5pdO>AwV`fxnXHazP3_@D~ diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_07.binproto index 821b22caede75cafb0583abb1efb6f5bd35be11c..141c84dcd2eec77ed04908ac7bc860a33ffb3974 100644 GIT binary patch delta 257 zcmZ3+_K=m)cOs*Ci^s&o+}yyx(!jvj!cc%&inG+!IWWAmwA58enM=Ss zHLo(!!J{;!-HN`tDJliN-i7PWVF+Ej3 zs~|PqVUDcFS8gF^E01`R{A;KrP;}u;;$q3C@l!tR woO)1f#%?WvM_M15^Vh|l%hx|rk>8T#XYlP>_g6M6?uxL|vCbDhfjV{QDSCZsu8niS)!CQ7mtaFxw(OXrGbI5g`ohm6lb4j0{m?1=?SdF}aq>T-L~1i8C`dF+EkkATQmDqq3|h gptQt4%i*|)$5!^q5115qthk(#yi4;-oXU#50p-tR5dZ)H delta 233 zcmZo-Z(w88p2(=Z(Qgf7{W2z{#Y`Mb0*n&tF3x%T*}#j9i-m*5h#{$$iK~l=i<65z zC^0!BF*Qd@ii_LW*v#0{(!#>h#7KZeinG+!IWWAmwA58ffQ!e(#N6D#z|z3L*uqeN zQAwFgAT%`F+daggASBc^L@&Q69jJx3%Ed1rFUh$w(b>t}QAvbLO~5-fuQJiWqcpE1 zwMZ{HKUaWJ%Y%bah^;ccv?RSqi8aMLEIfNM6SKLF7AFTIly79O#F?3!n4YR%ke6=7 b4p| zb8u;88UsyoE+PX;axN+cL}74fZe=nEO=)9jWo&F^lS%?bPB%CV(mWe@-w5Ro}`C#!DQ+B~i1a!eh9$|4YWX+x5d-fJ{@)40)+ O%xg|4w9mqs2RZ=I5;l)Ho{L`js`bcUn$z8fs zmlMRn2PfX3px|~0qKn`lxH!6s;3BT>iU;;K*AIT*2ft(gA?&I@bX~#mGbLSTr>d-( z>tu|G5z+rZ{1m*|ICd?MJopn2456-bFFqdKe-y9!5D)ChuSvH($cY=-K>RJx9|3t9 z@v~Fln7W2}>c(yicejmL6y|ip0IDXF?kyW&7!stY6vZ$!%_K+^!U7YnSuVEBy*73p z2_+KgG(j)~LD6y4jRmYCJ8p`WWfk#@2r3AZTDg;*cZ6amrW?xXe6h{i`?-dy;+GJ# zCTkAJRxHhwjaXlwtrX!!f#237)&Xq3oQv`>6bajlc8OQ!I~B7x8eoB9uOXGRMW^@p z3q&rXBJ7U%9K|vf0}E^AIuF!a+O#R%=-}Q}z#K*W?65nih*i?NasV+Cnwi5^VcZwG z?cOvW9FHYy&~*xqvR_36K~>G!q{7+cQx_gkXF!p!&NU?iJGQZHnT>Jwp0DyX*t@_D zxlyXS)B(e9iP!h|(x$F+o7cqL4y`-LO=LYu$`p~L(-awx4`ez8NP=NxB1QCpOeI%` zK^SWNIee#{eERnO;K9#V&)$B((bf;|UGnVrgO`ElzR>IBoy&he|NaG$L7_V^Ic_ni TOE$fhLGn_~(#^aL?biMQca){E delta 379 zcmbQrv4)*ddm^LuM!z+T^_Q5H&NFi`2{1}5JTS9olA#wH7YhfA6GPHYX0C0_T-sdh zL5ay3iK#h4Y~hI|#rb(sEWSm>dP>Z}MS5DSUim4RsYYzUrNxPPiBf`G+{VUc#+H^A z7M3PP0!&g2Qqo*JCMM?Q1_qV}2F4bK0?bmJ**<~pu0bW`!AfFW0+XAWgaa6qYpTlJj#xN~;2#%PJiGGc&a$IhcePq&Qup{FB`BszRc)7>pRK7@Qcq z7_=fen1y)Ds)F78(hDLyN}@7SCMz&ne*4hoy*rhQjy=1<)`te`DC6EM`em{W?6)H XxCMh1UtYF%m1AmNa#~16dO!&P|EO&k diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_12.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_12.binproto index 0abb13687edb82813069a0923e245513273adc63..d6d679031d07d7207cd8ff47849974e5bd60f002 100644 GIT binary patch delta 207 zcmX@ddXkmVcOs*5?5w!VtT56RzYgI6<1_cq;sB!mq%8W!yH+UuiTS; zndD<*xD-;2EKH1zObv_;42>+zQ%sVRQxlU@Elmv#Escx~O^gMYr38xReqr|9@pR6% z@+V=Nmu_%X5_r^N6ks6Ke&x)ob5jK;89Hmc`tiJp$%rc;F(T6^I62+N!-5F_JV`?q delta 211 zcmV;^04)E>1d zWNc?xbwG#&NV5WyO#&ZcR|+6FWic{gVlyydF*7n_Fl9MmWH&iCGhs9~Gc+(cFg0Wl z0~!#zdQm$^S*1_GM|HD&z)2b+5RMY7FrhNQ>8*Klq+>vkT`2RSp;IyjR#H?+a#A<~ NItW*3M^aR7WOAC8L}LH| diff --git a/app/src/androidTest/assets/backupTests/chat_item_contact_message_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_contact_message_13.binproto index 4eea60e590edff10c8a42c0dccd832bb7c2b475d..ff9f42b98e286d6b72d38d752929dbd0e43c80f8 100644 GIT binary patch delta 279 zcmbQr*2Tu?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+S!OCOU`_vAZ_a`kT* zxn44IsdI6-<)oG*XQUPhak^*b8WoNSt6Xqud8kYt=< zX=rY4Aiy9cAZonyTlB5US@nW@lR86qtd#^NO6_A-`+i~a(Tgz)Hs2I4(D**{-clwj Q?uxL|vPx# delta 278 zcmV+x0qOpV29*W@E0F;!u}-W31iJzvxRd??9)Fnv3YG#22nq&LZ*FdBWf~d^3o|n| zGdVdpI5{*j5Cj?tbwxu_S9NuDMIs{#5LH!cOGi{da8y-AR4#9FXAlG$4SGaQP;O#F zd0|6BM?oq`2mulXd1rNWXL2G1WJ^|8YbpmrW>#cKS4uJka9BuTS2_%BbY@aSYGYMa zQ!ZL;LJMkYVs&Izc|>_vZ4GdVOhIAt(nH8WymWDo!v5b`!Y*_3ey;%HNr8b-+i cKOzuc3ji2qz3;r0Ba~R+#XIdNw9mqs2R5I&0Dwti)AVgOW7$FC!5Q#il$xc*wH3tl+oaz~nwVQ+vovX&wCS6y?Pb3~ z1_Q;LCqYCH4#b0J4+96{MerYphlyU@ZeAZAc;I=Ce~BZlr^s!ZzFhPD^2D(`xXoqQ z49olnb}qoXJFk(0uNZxb5h#gVeRKNa=NT&y04FX9D1n+EFmQ~4TLAC-p66I;Ts7dr z_b99tWN1tXGE7YHhmOVJQn)ZYgCapHm)qTC*#gUE^E)I$Q6QPk-pdvW`FtVAktmfI zH+%JJAMQ)^79d6IP(iO8TnD70jK#YAa3(8NIpYWRg}UyRqb1*Q9Hvd6>5XVD)!Oz< zYe0Q8q!LxVW7fR2tTTA6*_FmTM?j<7*ykg^7`I$a9o2g!0`em44zz)g9If=S9MlYb zUSd=NOXDj$gmyq}cxJuTHk`RP>6wpZIwqbU8!_?n-eA~J1uk}8G}K~h3itXI_lYu) z^hqh{x@I^WtST#eDF8)r95@{}ni1#Iz?mAhb=RF)c9B>`K{tdQ_wW;Xqp~Soi^gZHnt|Nhxz$fNJiK7YI^TzmUNLB1VZ_t}?6C#fPRnPTX} IQnV2N0pUiI0RR91 delta 292 zcmcb>K8uY}dm^LuM!z+TtOuBs_A*WW&nQ;El!Mq+A?5T|=)PEKlZ zL1wBHvu}}}60=v4o)()+VnIe;su728W^zU^9+i<5&A2S5^`~=P%vKBl6>3!- diff --git a/app/src/androidTest/assets/backupTests/chat_item_expiration_timer_update_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_expiration_timer_update_00.binproto index 7f4ed81c00c8d8ab3ab63460224d1f2cc998a061..bc6a4b1815a02d5cf9d26b7fa9d7f3d441f63b08 100644 GIT binary patch delta 48 scmaFE+{eP`JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRe_708PdX*Z=?k delta 13 UcmeBUdBe=8J&{p+qu&8W038_wD*ylh diff --git a/app/src/androidTest/assets/backupTests/chat_item_expiration_timer_update_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_expiration_timer_update_01.binproto index b7898c1ffb360c50ff6f05e3f7b24aba04b3da0a..78ce669e1726d16f56b9f7d1178ffd82d90771d8 100644 GIT binary patch delta 48 scmey&Je7sfcOs*n+a delta 13 UcmaFEc8ZNrdm^LuMn5@b03Tfg%m4rY diff --git a/app/src/androidTest/assets/backupTests/chat_item_gift_badge_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_gift_badge_02.binproto index 7d9eab59ee087961d09d104d3e59550e7bbe4317..2d8b57706e67398696a4b44e419f5e9b395cc079 100644 GIT binary patch delta 48 scmX@a_JobmcOs*e2mk;8 delta 13 UcmbQo@`ssGdm^LuM!yS;03NvnTL1t6 diff --git a/app/src/androidTest/assets/backupTests/chat_item_gift_badge_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_gift_badge_04.binproto index ecc9412b4685f0dfbf5166ec3d0967122f35a181..2ac91932101e8f3aa4cf56e4176c523b460b186b 100644 GIT binary patch delta 48 scmX@k_L7a!cOs*y09TIe2mk;8 delta 13 UcmbQo@`ssGdm^LuM!yS;03NvnTL1t6 diff --git a/app/src/androidTest/assets/backupTests/chat_item_gift_badge_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_gift_badge_08.binproto index 3495ab52d71a1c16d95abc3f383419130dccd0b9..93e049db112db7abe43511c7e164b6ab1df509d4 100644 GIT binary patch delta 48 scmX@W_K1zqcOs*y09TI2D1hME0F;!u}2D=6UE0F;!u}Q-oTZif($j1Z R0w4q^OC?EnA( delta 61 zcmV-D0K)&>2E7IWE0F;!u}y^; T0~iD#1t_1dq^Qs`FaS6KimMfR diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_call_update_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_call_update_03.binproto index 4ab92d7d2f1b7516e0d43d68c0e3cc2440772acf..c40d450a0b59d69514e2d90747325f53a1a61d76 100644 GIT binary patch delta 86 zcmdnWc9o6McOs*S{_V9LxfY61Nw>-nz~-h@nc2D=6UE0F;!u}Q-oTZif($j1Z R2p|L~(^b diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_04.binproto index b5fba7cb8986b4890bf4d7f1eecf05262c2e3bc7..0a2f9344b4fb6fc913fe8b751738ef7b112b5bbb 100644 GIT binary patch delta 48 scmey%F`tvscOs*i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_05.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_05.binproto index 4211210f00cc01c4b53da3fdff086a4dd87b9a65..6f146e355818e045922ec14136048d6c6b95a25d 100644 GIT binary patch delta 48 scmey%F`tvscOs*i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_06.binproto index b833c99e5e1da2d89ad5b07af6328397b86bb98f..2c9a75c4188811d4992c51dbc0b52038ca5b1eec 100644 GIT binary patch delta 48 scmeC>T+hkqJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`Q74fF07E1VNdN!< delta 13 UcmZ3_*~`hOJ&{p+qhBHm02*!soB#j- diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_multiple_update_07.binproto index d32662b484af823be1d7ff8bedb69ed038960a11..9e6b108c1be6a7ba6f2e7d2ce5192d908ba76705 100644 GIT binary patch delta 48 scmZ3_d6ARRcOs*i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_update_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_update_00.binproto index 6dad124118a705cc797d8156b71b51caaceef0b9..eadb1d17a54676334c11d45e35e1a4a73ea3599c 100644 GIT binary patch delta 48 scmX@j@s@+pcOs*0A1(}r~m)} delta 13 Ucmeyxaf5?Vdm^LuMn4@E03h}Q`v3p{ diff --git a/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_update_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_group_change_chat_update_08.binproto index 4c120a71895f5250148cb4251e2ec921490132c8..7a08a9b01d091664d32efd44c5fc8283031ddbb5 100644 GIT binary patch delta 48 scmX@h@t%XxcOs*UH||9 diff --git a/app/src/androidTest/assets/backupTests/chat_item_individual_call_update_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_individual_call_update_01.binproto index e829a586aa48877d05faeb6aab406ac346dae366..4712318f97f9519fcc2521445b5a6c6ad7fae3b4 100644 GIT binary patch delta 48 scmZo=SS<1rbJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRg}%06vuso&W#< delta 13 UcmZ3=(#*oBJ&{p+qu+H#02%oM@c;k- diff --git a/app/src/androidTest/assets/backupTests/chat_item_individual_call_update_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_individual_call_update_03.binproto index 69b4faef11ee3d2c75745cba75cc8606fa6af0a7..018bd0ef13518b9b3ef1189d90ef09916221bc64 100644 GIT binary patch delta 48 scmey%JfDTpcOs*UH||9 diff --git a/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_00.binproto index affe330ba35b50ac3ed0af6b53c017dee25e259a..6b40952ed8718130067cd8ec1b9a27bdaaad6873 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_01.binproto index be5521c7a47273a411594aa2062437a8ec80be95..9f35ca8e677cd04df064ebf47f24625b0539675a 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_learned_profile_update_02.binproto index 0e97f77e387c14cd6290118a53d6cd9cbdc13796..9e8d39a22a46fd812e25a3da87f296b2d24f39b5 100644 GIT binary patch delta 48 scmey#Je!5lcOs*IRR910 delta 13 UcmeBSeZ|74J&{p+qn{lU02}-Rr~m)} diff --git a/app/src/androidTest/assets/backupTests/chat_item_payment_notification_10.binproto b/app/src/androidTest/assets/backupTests/chat_item_payment_notification_10.binproto index c87c0a08a99853678244ed81bdcf02a8593af46e..6db7d113bda29e65c737509c1a5ccbde6a575fec 100644 GIT binary patch delta 48 scmeywGKH1VcOs*Vm;e9( delta 13 Ucmeyta*c&idm^LuMn5ek03c`s>i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_payment_notification_12.binproto b/app/src/androidTest/assets/backupTests/chat_item_payment_notification_12.binproto index 300a3107131b559ab37a5422b5a745806ddc2aaa..e6ccc6ab9019780bdf9d6b3125162eb5bf9dbf51 100644 GIT binary patch delta 48 scmcc2`jwT@cOs*pF diff --git a/app/src/androidTest/assets/backupTests/chat_item_payment_notification_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_payment_notification_13.binproto index 16e78a428003193cc72b56999dcad38be0cea155..cc1bba57fc1e742ad56a00f4e5d17086aeb8d23b 100644 GIT binary patch delta 48 scmZ3)c7%=5cOs*1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_remote_delete_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_remote_delete_00.binproto index a7f8ea8217c799f6eefb40b73ba0cbfd4968187f..c734c22de935b605645f12bbde6c8a98ac652039 100644 GIT binary patch delta 48 scmeyvJdcIZcOs*e2mk;8 delta 13 UcmbQo@`ssGdm^LuM!yS;03NvnTL1t6 diff --git a/app/src/androidTest/assets/backupTests/chat_item_remote_delete_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_remote_delete_01.binproto index c917b48e910a2b1645fd711341e2bae2b8fa7e24..b88eae9436867639baad8b127dad2202cf897c61 100644 GIT binary patch delta 48 scmeytJd1_VcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_remote_delete_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_remote_delete_06.binproto index 7e2d68eed134a5c6d75e8bf7a59dc6449c7c60d0..f46574c6c9d79a2021219bf5492689cbd2eee254 100644 GIT binary patch delta 48 scmey)Jd=gdcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_session_switchover_update_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_session_switchover_update_00.binproto index bfb521b96dd997d448e67fe79eef25a26cb4a607..8d5b8c3d1abee8d3fbdd9c1fa6b8ce08e4d70050 100644 GIT binary patch delta 48 scmeywJcWhPcOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_session_switchover_update_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_session_switchover_update_01.binproto index fe059b39340f15e4eb6f55be968e23da361c6278..6bde8064cafece78b7a111f38359c8af5034502a 100644 GIT binary patch delta 48 scmey&Je7sfcOs*1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_simple_updates_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_simple_updates_07.binproto index 392612462d4ab9e73225149903e51a531ea99582..46248579fe85cc55e7567479ac0274d43f1ff48b 100644 GIT binary patch delta 48 scmaFIJb{JLcOs*1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_simple_updates_09.binproto b/app/src/androidTest/assets/backupTests/chat_item_simple_updates_09.binproto index 17e1d37e21d8e6f95abec2244b2b1b3cb4c743dc..96d4fe6a5c932beeff35a6f057aa20208ed98d55 100644 GIT binary patch delta 48 scmZo+S;oTXJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfCD06z5%p#T5? delta 13 UcmZ3+(!#>1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_simple_updates_10.binproto b/app/src/androidTest/assets/backupTests/chat_item_simple_updates_10.binproto index 8e1707dd7bad39073e8a15b013705d5fa54a7095..c20351a0c4f1a8c3d9e02226d3b5c81548efbad9 100644 GIT binary patch delta 48 scmZo+S;oTXJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfCD06z5%p#T5? delta 13 UcmZ3+(!#>1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_simple_updates_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_simple_updates_11.binproto index 36ec62618adb971f07ce92d46c002490fdf35e5e..f95b03f8c24f092cfc026cc06061b28ad445ce10 100644 GIT binary patch delta 48 scmZo+S;oTXJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfCD06z5%p#T5? delta 13 UcmZ3+(!#>1J&{p+qu&ii02&hm^Z)<= diff --git a/app/src/androidTest/assets/backupTests/chat_item_simple_updates_12.binproto b/app/src/androidTest/assets/backupTests/chat_item_simple_updates_12.binproto index 63d97ba707aae7ab6015d7adb5cd358cf0cfa55e..030e6d53117f196112d0540eb8eb7c1a0d6412d8 100644 GIT binary patch delta 48 scmaFIJb{JLcOs*02;#srT_o{ diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_01.binproto index baaa9d6d8f26f44144109edbb33d26e4b2877776..8f1a86703c927fd859bf5c67afa66dad136368fe 100644 GIT binary patch delta 48 scmZ3)euSOTcOs*@g8%>k delta 13 UcmX@YzKESsdm^LuM!zy<032fj)&Kwi diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_02.binproto index bdb8554ab748cbb67bd025274804ec3823056313..b513dfa9d62a5bd9ef26f5dd850505885b7ced70 100644 GIT binary patch delta 48 scmZ3+euACRcOs*dm^LuM!#vy03V|SHUIzs diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_04.binproto index 97470d76d8c65f794fd8d93e262a6855f4e51da5..461ac3b3d4ac1d8a3cece616d76e622d0c126b85 100644 GIT binary patch delta 48 scmaFF-onA?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+-7084lc!~g&Q delta 13 UcmZqSc*M@AJ&{p+qu(}W032@w7XSbN diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_05.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_05.binproto index 09b33e05809f4ecc6bdfc732bb008df0a434e5a5..e6323a109baa80191f70ed7640aae4d5cee86cb7 100644 GIT binary patch delta 48 scmX@c{(_y+cOs*@g8%>k delta 13 UcmX@YzKESsdm^LuM!zy<032fj)&Kwi diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_07.binproto index c00f9d564b35658249261965849f181de862aecb..01bb28f39d254c89888c1ef1794f9a9ef849745f 100644 GIT binary patch delta 48 scmX@a{)C;;cOs*dm^LuM!#vy03V|SHUIzs diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_08.binproto index 39b4cc6ed6887c86f82eb2063a33eda2042495d1..7cc5fdfc1bcd3759427f0e6b7e12948b20e23c37 100644 GIT binary patch delta 48 scmbQnzJs07cOs*AGdm^LuM!zg(02?adm^LuM!#vy03V|SHUIzs diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_10.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_10.binproto index 92bc1570efa1959348cf1bac1407e04db2f8c1bf..3588dedde0a48238578792c2fb790d649ba6a645 100644 GIT binary patch delta 48 scmaFF-onA?JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD+-7084lc!~g&Q delta 13 UcmZqSc*M@AJ&{p+qu(}W032@w7XSbN diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_11.binproto index 014efd830ed8263a3a6474a30eb93e7dbaaffca7..78cc9dfb8ac63d2253f862911912470b31849612 100644 GIT binary patch delta 48 scmX@d{(+s*cOs*@g8%>k delta 13 UcmX@YzKESsdm^LuM!zy<032fj)&Kwi diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_formatted_text_13.binproto index 5a9845bc00685caff632c05d2ac45e8ef018a739..01394f4bec0a2718dc2bb5d636080962932aecad 100644 GIT binary patch delta 48 scmdnQeubUUcOs*Px# diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_06.binproto index 903b64ac7f1857abd45f71a5c94c1725aac26ce0..1910ce98a5dbfb30ea15c0c8f5332f8a344f1551 100644 GIT binary patch delta 48 scmey!GMSapcOs*x{j4mdm^LuM!zN|03B`v^#A|> diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_09.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_09.binproto index 171e50341086a6eab32d3143bc755aab22e3f6d6..9506d9f6d8334ae09ee9166b0dabd12539b6f443 100644 GIT binary patch delta 48 scmZ3;dYF~bcOs*x{j4mdm^LuM!zN|03B`v^#A|> diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_11.binproto index a5430b592bcb4c265b361db1bda8d6ae021f4331..809457887ac3b097dc229409cc5056de7d04186d 100644 GIT binary patch delta 48 scmZ3-dV!VEcOs*x{j4mdm^LuM!zN|03B`v^#A|> diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_12.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_long_text_12.binproto index 8b21d5b6ce534368f08f28cbca6e3944dfaf2aea..92b4182c9c7c11b33ffe5b3be7db2d2b675350ab 100644 GIT binary patch delta 48 scmey$GM$ytcOs*b%7 delta 13 UcmZ3%(Z<23J&{p+qu(uN02-kL1ONa4 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_03.binproto index 3699c22e123bf0c75822c815722d1e0c9733d2dd..e732e1acf17fbbea686955fd58be5e9455c6f13e 100644 GIT binary patch delta 48 scmeBRS;fNWJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfaL06=vOtpET3 delta 13 UcmZ3*(!s*0J&{p+qu(7y02+G)00000 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_04.binproto index 9fe749da0412c38df861d6cced90c64d03fa8226..eb871f0ddd2f64bc969e9912cd5583de495c321c 100644 GIT binary patch delta 48 scmaFH(!t8;JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAl207~NxNdN!< delta 13 UcmeBRea6D5J&{p+qn{NM02`D8oB#j- diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_05.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_05.binproto index 969d45dfd3930f46f992007ae85f001f56ee25b5..7b47c1d2ee3c882deba5858cf063d353d2797a23 100644 GIT binary patch delta 48 scmeC-SjWNWJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRe|O07GXD!vFvP delta 13 UcmZ3-(Zj*0J&{p+qu&E&02@67761SM diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_06.binproto index 1412aa063ede718c902a67fcf9921af6eee95e9c..9cd0a11e26ac56b901b36c047948b77eca5971a9 100644 GIT binary patch delta 48 scmZo-S;E5TJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRf;X06sMhn*aa+ delta 13 UcmZ3&(!|23J&{p+qu(_~02$u{?f?J) diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_07.binproto index 5aebbc13ba2955678b5aa95e320e4902f70efebe..0d3e05cf40c809d2c5dab80df42b79094ccf060e 100644 GIT binary patch delta 48 scmaFE(#Oi^JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAJ^08JweTL1t6 delta 13 UcmeBUeZ#`2J&{p+qn`s4030v_t^fc4 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_08.binproto index 55a4bc0f500757ca611f61622fb0adf44cb7fac4..148a9a6a6451548a0cf6e3b379a70340ca587e81 100644 GIT binary patch delta 48 scmZqUSi!;QJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfyj06`}Wu>b%7 delta 13 UcmZ3%(Z<23J&{p+qu(uN02-kL1ONa4 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_09.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_09.binproto index b0d251c6fd207387354c4dbb38c83d3011c3808a..8c3a7e4fd8f67f6e88257f3fe21a0557d32f7b18 100644 GIT binary patch delta 48 scmeBRS;fNWJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfaL06=vOtpET3 delta 13 UcmZ3*(!s*0J&{p+qu(7y02+G)00000 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_10.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_10.binproto index c91f62427d8329eba7feab7b68c13b965f335eab..faf3d943efd7dc0f545db84f54345e9de77c6915 100644 GIT binary patch delta 48 scmaFH(!t8;JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAl207~NxNdN!< delta 13 UcmeBRea6D5J&{p+qn{NM02`D8oB#j- diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_11.binproto index 2027c9b99be839dea70d0fd0c9972ccdb829c519..8ef7569267799f2803d4fbce0de988003c9ab969 100644 GIT binary patch delta 48 scmeC;Si`~SJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRf~r079n?y#N3J delta 13 UcmZ3((Z#{2J&{p+qu)Jd02>Je5C8xG diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_12.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_12.binproto index c57e015dfe45997f5ae42181a54efa57a9931de1..06d2ed2489c4d522f0e0763fb18ccd18df3aa81e 100644 GIT binary patch delta 48 scmZo-S;E5TJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRf;X06sMhn*aa+ delta 13 UcmZ3&(!|23J&{p+qu(_~02$u{?f?J) diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_13.binproto index 5832b33f0dcb265efb4a74af0792a4550a1bc2bd..d0ccd7c1aa4a34a5b4d4611f2d7739e056cab3e0 100644 GIT binary patch delta 48 scmaFE(#Oi^JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAJ^08JweTL1t6 delta 13 UcmeBUeZ#`2J&{p+qn`s4030v_t^fc4 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_14.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_sms_14.binproto index 9ddb002ee5d0e77e86be63af798144bffd327093..c0d6b622f94518b1d38f85cc2b2f6a1ee3195365 100644 GIT binary patch delta 48 scmeC+SjEBUJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfab072&sw*UYD delta 13 UcmZ3*(ZRu}J&{p+qu(8702eaOP7J&{p+qn{}g02>kmjQ{`u diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_01.binproto index 6ef5b12f384bc1ba35b67e2800cfe0702714463f..1bef174991d9141e79d8d2e0546a3149629f3a83 100644 GIT binary patch delta 48 scmaFIGJ%!RcOs*b%7 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_05.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_05.binproto index d5ff79febdbac19b5d863a7ad22b670a61c34de7..8c6bd37654ffb52d885996d82512b1f17c7d2ac3 100644 GIT binary patch delta 48 scmeyzvVfJ*cOs*pF delta 13 UcmbQp`ksYRdm^LuMn7jJ033b;w*UYD diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_08.binproto index 5a6ed591ae4fc242d4645aa6f480344a017740ae..9809e32f47f1a3f5cc8ea42ba77e1d11b3217ad0 100644 GIT binary patch delta 48 scmeyvGLMzfcOs*b%7 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_11.binproto index b4caeed3660b449922e6ab4cf514e6bba5c16d5a..eeed868061f18fb7ada63e197f6c78f63823956f 100644 GIT binary patch delta 48 scmeyvGLMzfcOs*pF delta 13 UcmbQp`ksYRdm^LuMn7jJ033b;w*UYD diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_14.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_special_attachments_14.binproto index ac00c6953b93b3bee21dab31fc1912cc0a5caaad..b8081b4609dfa92780a656079fe970cad47f8089 100644 GIT binary patch delta 48 scmeyzvVfJ*cOs*JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAS{07#<^Hvj+t delta 13 UcmZo-eZaz~J&{p+qn`;A02=rMiU0rr diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_01.binproto index 1d60d5cd7702d574257200d91b3e95f82d8a6b51..9b5f0a25630a4fedacc4fe4184edc435b9afcb22 100644 GIT binary patch delta 48 scmdnT@qmNTcOs*@08}UqS^xk5 delta 13 UcmaFBv5$jMdm^LuMn54I03K2UtpET3 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_02.binproto index cfaf7806360ef34398ac11e46c1ce820cfea5436..dd2dc478fa5827f5064cf42bb792508b7336b394 100644 GIT binary patch delta 48 scmeyyF@uxQcOs*k delta 13 UcmbQi`Hh27dm^LuMn5kW03D74)&Kwi diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_03.binproto index 3a123251aad4f8d58308cc9a3b3531be35b41d60..dd5670121e2b0a046b3fc313c3bef5833b8846ea 100644 GIT binary patch delta 48 scmeyyI)jbTcOs*+cOs*6aWAK diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_09.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_09.binproto index d346d2712cdec7f035f02379cadde4a3d6e739f6..72de168da1645adebd22bb4ed493a3c6fee9e31c 100644 GIT binary patch delta 48 scmdnUdYP5ccOs*IRR910 delta 13 UcmeBSeZ|74J&{p+qn{lU02}-Rr~m)} diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_13.binproto index b1435c709977d24774c0a8d9be3baea7036146fc..bae5002d3c90064e000e89663e3a781998a74057 100644 GIT binary patch delta 48 scmbQrzMY-XcOs*07YvJTmS$7 delta 13 UcmdnaK9!wOdm^LuM!!sE02>hluK)l5 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_14.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_standard_attachments_14.binproto index 3334c445a32afbfd6cde6ef219ade4b91ce7deba..2928474ab49a322e4326cd5f07e936b5817a2044 100644 GIT binary patch delta 48 scmZ3)b%cx2cOs*t<8 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_00.binproto index 24f78ea96aac20399b040c01a33778393004af43..c20dd78714be928ec57cd4ac58966ae981899d12 100644 GIT binary patch delta 48 scmbQsvY&;~cOs*;M1& delta 13 UcmdnbGM9x>dm^LuM!%1Y034kJKL7v# diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_01.binproto index e4d77d1d7286c8b3ad6770770b5e17355742e39c..a68531f455c0d1c115c18cc896896fb941c2591a 100644 GIT binary patch delta 48 scmdnMa*2h}cOs*n+a diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_text_only_02.binproto index 10aef471411c19e5d0db3d0e42af578e92ce6471..2430198fb95b9fbd09a5336f53bfd72849a6a340 100644 GIT binary patch delta 48 scmX@Y@{EPicOs*76cOs*76cOs*@Kdm^LuM!!HN03GTB;Q#;t diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_edits_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_edits_01.binproto index 71de0df433461c1ae32f0d01691882086e807580..e48afdbfd89782fd944293ae8629ea071b91757e 100644 GIT binary patch delta 48 scmeBRTgArcJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRfa506{JdvH$=8 delta 13 UcmZ3**1^W8J&{p+qu(7S02-(S1poj5 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_edits_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_edits_02.binproto index 043668637c745768516490304a5f9e0965039275..0e2b3b8e536f9a39606fb740731a5191eab6b49b 100644 GIT binary patch delta 48 scmey!GMSapcOs*Vm;e9( delta 13 Ucmeyta*c&idm^LuMn5ek03c`s>i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_01.binproto index 6b713ee8e9b1ebf366501a82f27180bb615f26f9..bec6c20578e062a44d7bbd2076485ec5a846fb65 100644 GIT binary patch delta 48 scmbQpwwaC5cOs*V!Z delta 13 UcmdnYHj#}{dm^LuM!%;_02`77AOHXW diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_02.binproto index 946e1af61143e5f1683d552c1fd85c057f540724..0907cfca7873df7ef1d5b7a7a7c18d405d72b3d3 100644 GIT binary patch delta 48 scmaFE*2m81JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOAK908QKtU;qFB delta 13 UcmeBUf5XP8J&{p+qn`sa032Ndvj6}9 diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_03.binproto index 7b9d2b844dece1f33ccfa5237a3ced35919d415e..aa6edcd0fa0fb6f91e6874192e6087c7b066f71a 100644 GIT binary patch delta 48 scmZo=Th7MlJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRgNT06-26sQ>@~ delta 13 UcmZ3^*2>1HJ&{p+qu)&?02*2Y`~Uy| diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_04.binproto index 17a912329b148a177cbb01d2c9a5d471a084db1a..35e7dcdfdacdcf50469f3572ed08b45bf027801f 100644 GIT binary patch delta 48 scmZoTgt}hJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRg}n06$I*qW}N^ delta 13 UcmZ3=*38DJJ&{p+qu+HV02(F(_5c6? diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_13.binproto index 40b08be8c753261ea779dc07f4037ed6f72ce8f8..e5290a2876ec566e91a4b12c0dffcde04f7f93ad 100644 GIT binary patch delta 48 scmZo>Tgt}hJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QRg}n06$I*qW}N^ delta 13 UcmZ3=*38DJJ&{p+qu+HV02(F(_5c6? diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_14.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_link_preview_14.binproto index a57063abbd496c101acd3c3ee7e1d6fe80c8abe8..1668122cbbf3c432ebba4f62acdee5a7318f0476 100644 GIT binary patch delta 48 scmZ3_c9D(IcOs*IRR910 delta 13 UcmeBSeZ|74J&{p+qn{lU02}-Rr~m)} diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_01.binproto index fd7937a4914c31e373a497d53312c15126f16fa2..35c34874023f4391234ee19ac5c5e71380e46caa 100644 GIT binary patch delta 48 scmX@i_LPm$cOs*pF delta 13 UcmaFLc9@M(dm^LuMn7?803N3Uw*UYD diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_02.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_02.binproto index bfe56d3d79fbb3ce7934bffd0456d350e7355aa1..c593c22905a1e03377cbf3057757418bd3d5613b 100644 GIT binary patch delta 48 scmX@j^_Gj#cOs*@`;7fcOs*;M1& diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_07.binproto index 77a0d2527f6f15c32f02b990878235075ff80f75..a6cc7cbe0ae74fc4509e301eed4709694dd89b7c 100644 GIT binary patch delta 48 scmZ3_c9D(IcOs*AGdm^LuM!zg(02?a diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_10.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_10.binproto index 836cfabeb0ef03b2834a82ee8949e08497b60830..3d2bd0ab68652de5bf1871d648ea8de78a33707c 100644 GIT binary patch delta 48 scmey!HkqB#cOs*F#rGn delta 13 Ucmcb@wuy~Vdm^LuMn5)Y037WDga7~l diff --git a/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_13.binproto b/app/src/androidTest/assets/backupTests/chat_item_standard_message_with_quote_13.binproto index 27f36cc18f79fe55ffbbea9e81c165bf7f65f095..8f9bb7f94854b3d9ac781586bc865e37c5a90004 100644 GIT binary patch delta 48 scmZoUCPSnJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`Q74=U06p>zApigX delta 13 UcmZ3=+RVzRJ&{p+qhB}^02vSibN~PV diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_00.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_00.binproto index e11cda1566d854d4b4c820a89e1088c3fc1190dc..366c52d9d5123b6a643d87f834fafe6563f574eb 100644 GIT binary patch delta 48 scmbQux|fyFcOs*wg3PC delta 13 UcmZo<{9 diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_03.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_03.binproto index 66c4d0734cdd6cdf04499a896e4c2f50dd9e5d3f..84916ea202aa7cf72493426e8f2d55f9cf71f285 100644 GIT binary patch delta 48 scmZ3)dW4nHcOs*rgdm^LuM!zy9030?0(EtDd diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_04.binproto index bf2daa0359df9d819391430513e2286f8e4056e8..a71d56fff230713025a2535f5eb8988806d05141 100644 GIT binary patch delta 48 scmZ3$dWeJOBUy delta 13 UcmZ3-+QZ7IJ&{p+qhA6O02%rNj{pDw diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_07.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_07.binproto index 7c88e4c9906a02fba7b8d10f9e8d2c56ac9010eb..f2fda589aa7a7bee744ce9a4d16793f4349004f5 100644 GIT binary patch delta 48 scmaFK(#^`~JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QOA}E089f7QUCw| delta 13 UcmeBXeaXV8J&{p+qn|Ak02|^1r2qf` diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_08.binproto index 65048ab28346edf5e3fc8399efdf5832d405d460..84a2ce9fac3f3e1764c6d362f5488f1e3bea5006 100644 GIT binary patch delta 48 scmdnVdYhHecOs*pF diff --git a/app/src/androidTest/assets/backupTests/chat_item_sticker_message_11.binproto b/app/src/androidTest/assets/backupTests/chat_item_sticker_message_11.binproto index 9baba88c2cd29eaa70bd0eedc676e8b5cb230cef..c6e83a0bf5c83883c73fb30f1624134bbf396c66 100644 GIT binary patch delta 48 scmdnZdY6^acOs*Hq)$ delta 13 UcmbQj@`;&Idm^LuM!#c>03EdiJpcdz diff --git a/app/src/androidTest/assets/backupTests/chat_item_thread_merge_update_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_thread_merge_update_01.binproto index 8a7dbc776d085a735ceeeadfbca480fcc7d68e38..c65fc9fcef8a825a65957fa65796e8d56ba2748a 100644 GIT binary patch delta 48 scmey&Je7sfcOs*UH||9 diff --git a/app/src/androidTest/assets/backupTests/chat_item_view_once_01.binproto b/app/src/androidTest/assets/backupTests/chat_item_view_once_01.binproto index 7411df0e9a505d18176edeaced8fbe5197c4c126..786047518e3b3d7fb6001d032aec7d569e2c992c 100644 GIT binary patch delta 48 scmcc1@}Gs#cOs* delta 13 UcmdnYI+2x8dm^LuM!!@h02+J)o&W#< diff --git a/app/src/androidTest/assets/backupTests/chat_item_view_once_04.binproto b/app/src/androidTest/assets/backupTests/chat_item_view_once_04.binproto index 8e91f10bd982c8e2ccb992ba30f4318b8a2f70e0..d4090f55a13d4c09ed170f52edbd51c6b1be5333 100644 GIT binary patch delta 48 scmZ3^dXkmVcOs*Vm;e9( delta 13 Ucmeyta*c&idm^LuMn5ek03c`s>i_@% diff --git a/app/src/androidTest/assets/backupTests/chat_item_view_once_06.binproto b/app/src/androidTest/assets/backupTests/chat_item_view_once_06.binproto index b0fc494479e843093b7483f6b6b2df61d60b9fa2..94c39512beed29824f9a4e7840adbbf65e77a4c2 100644 GIT binary patch delta 48 scmbQjx{a05cOs*&;S4c diff --git a/app/src/androidTest/assets/backupTests/chat_item_view_once_08.binproto b/app/src/androidTest/assets/backupTests/chat_item_view_once_08.binproto index beeb9ff538b1d7551a4ad27d2b6ea36833e85330..0277fb51071678a2412ac0393d3ac7eeeb90a299 100644 GIT binary patch delta 48 scmdnNa*Ku0cOs*Vm;e9( delta 13 Ucmeyta*c&idm^LuMn5ek03c`s>i_@% diff --git a/app/src/androidTest/assets/backupTests/notification_profile_00.binproto b/app/src/androidTest/assets/backupTests/notification_profile_00.binproto index ff34e2c8b3b3c6daff1dc334d9b36d48e7a62f05..0d824c20da989f74a7a5d687a4c4c8730fe02c0e 100644 GIT binary patch delta 48 scmZ3-c7cu2cOs*(^b delta 13 Ucmcb>wvLTadm^LuMn5KI033w_cmMzZ diff --git a/app/src/androidTest/assets/backupTests/notification_profile_01.binproto b/app/src/androidTest/assets/backupTests/notification_profile_01.binproto index c9d13ecbd539f01b833dbf3a4a4ebf6c452d43bf..1dc35617f93ff4b5c74a965894ff482f544b854a 100644 GIT binary patch delta 48 scmdnb_K=OycOs*n+a delta 13 UcmaFEc8ZNrdm^LuMn5@b03Tfg%m4rY diff --git a/app/src/androidTest/assets/backupTests/notification_profile_06.binproto b/app/src/androidTest/assets/backupTests/notification_profile_06.binproto index 1f29253765b6f9eaf14ea90894d3e9246a8803c8..c380fc0c7325a36286947ccdafe671b0e1e01fb1 100644 GIT binary patch delta 48 scmdnT_JEDicOs*#sB~S diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_00.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_00.binproto index e939040d5e7e7c6a70861a702246bd8317691a7e..26eaa0af3ae74c27696f8a39e280a0afe685d24e 100644 GIT binary patch delta 74 zcmcb|)Wpo_JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QAe6lQbI_KgUd>YOF-w) TmY#rh|AIG9_q!>V?Y9yD_gEHI delta 37 tcmZo-zQ@F+m0qgz+Z=UXVQ!d+YB>=@z43Pi; diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_01.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_01.binproto index b1a37c1106d58f6a06122fc3282392a590c5ed8d..6727177926774a4c9d985ce1d69d6404d5400c63 100644 GIT binary patch delta 58 zcmbQtyq%fRcOs*w_jcOs*@ delta 21 ccmZ3&+`!DJJ&{p+qn|V*vxSh^Hq)$ diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_04.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_04.binproto index b6a73a6214ddc32f810e1b0d503e6a68ef967eea..455b7de41e280d5e95e38837cc592072ef86498a 100644 GIT binary patch delta 58 zcmey!G?kgrcOs*-Kdm^LuMn7prW=$dW$$5q9smFU diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_05.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_05.binproto index b599b39a29d0255560bcc69d582eb3251723e237..863a453ccc37ca153afa2bf98310efe88dac9087 100644 GIT binary patch delta 58 zcmbQjyn~t1cOs*YOF-w) TmY#rh|AIG9_q!>V?Y9yD_gEHI delta 37 tcmZo-zQ@F+m0qgz+Z=UXVQ!d+YB>=@z43Pi; diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_07.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_07.binproto index b1a37c1106d58f6a06122fc3282392a590c5ed8d..6727177926774a4c9d985ce1d69d6404d5400c63 100644 GIT binary patch delta 58 zcmbQtyq%fRcOs*w_jcOs*@ delta 21 ccmZ3&+`!DJJ&{p+qn|V*vxSh^Hq)$ diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_10.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_10.binproto index b6a73a6214ddc32f810e1b0d503e6a68ef967eea..455b7de41e280d5e95e38837cc592072ef86498a 100644 GIT binary patch delta 58 zcmey!G?kgrcOs*-Kdm^LuMn7prW=$dW$$5q9smFU diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_11.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_11.binproto index b599b39a29d0255560bcc69d582eb3251723e237..863a453ccc37ca153afa2bf98310efe88dac9087 100644 GIT binary patch delta 58 zcmbQjyn~t1cOs*YOF-w) TmY#rh|AIG9_q!>V?Y9yD_gEHI delta 37 tcmZo-zQ@F+m0qgz+Z=UXVQ!d+YB>=@z43Pi; diff --git a/app/src/androidTest/assets/backupTests/recipient_call_link_13.binproto b/app/src/androidTest/assets/backupTests/recipient_call_link_13.binproto index b1a37c1106d58f6a06122fc3282392a590c5ed8d..6727177926774a4c9d985ce1d69d6404d5400c63 100644 GIT binary patch delta 58 zcmbQtyq%fRcOs*w_jcOs*@ delta 21 ccmZ3&+`!DJJ&{p+qn|V*vxSh^Hq)$ diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_00.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_00.binproto index ece61620e854272fc705c6acde78504c5102d692..d2c7a24431abc45d700e50eb380c2f6b85c84d48 100644 GIT binary patch delta 48 scmZo*Uc}7kJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`Q742E06ZBD6951J delta 13 UcmZ3)+`!DJJ&{p+qhAOk02q}6W&i*H diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_01.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_01.binproto index 28265026d6bca65800dd0603a46e838756e06a1c..fa38e5c5d66519d28dba43e6a6c76f58ab8d21a3 100644 GIT binary patch delta 48 scmaFF+`_`>JCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`QD++?07?c8x&QzG delta 13 UcmZo+dBn`9J&{p+qu(}002~zr4FCWD diff --git a/app/src/androidTest/assets/backupTests/recipient_contacts_02.binproto b/app/src/androidTest/assets/backupTests/recipient_contacts_02.binproto index 3a72f8c22281103615617dc36bd8c4b35134984f..a091cd70336a3c0f916c41a4ae1b359a695dbd33 100644 GIT binary patch delta 48 scmcc0{GFN6cOs*q031jJH2?qr diff --git a/app/src/androidTest/assets/backupTests/recipient_distribution_list_02.binproto b/app/src/androidTest/assets/backupTests/recipient_distribution_list_02.binproto index 0656bb5529e87c1e6336d637e514a32616a2f25a..e03d2fa50ab56ed238e7952738a466375b0fd9fa 100644 GIT binary patch delta 48 scmbQlwuOz+cOs*z>% diff --git a/app/src/androidTest/assets/backupTests/recipient_groups_00.binproto b/app/src/androidTest/assets/backupTests/recipient_groups_00.binproto index 91e20e643b74751345b3ebf91403128c2145f85d..7b8eaf72b4640adf73c59ac39be6e1f1f4eac0ee 100644 GIT binary patch delta 48 scmeyzxqyq&cOs*2;$p8QV delta 13 Ucmcb?y^Whudm^LuM!zmr03O8z8~^|S diff --git a/app/src/androidTest/assets/backupTests/recipient_groups_02.binproto b/app/src/androidTest/assets/backupTests/recipient_groups_02.binproto index bd3b40635d353cfb766ede42870a4d8ab0dd7201..fefcdcd7047a99e4ac873466a0bc47993a59490b 100644 GIT binary patch delta 48 scmeC-UdPSoJCRXaNr~SrKi@egGc~V7!AQ?Q&p-=Fzz`&`Q73^F07HEZO8@`> delta 13 UcmZ3--NVhOJ&{p+qhA6m02+YcOs*cOs*cOs* 0 }, expirationTimerMs = cursor.requireLong(RecipientTable.MESSAGE_EXPIRATION_TIME).seconds.inWholeMilliseconds.takeIf { it > 0 }, expireTimerVersion = cursor.requireInt(RecipientTable.MESSAGE_EXPIRATION_TIME_VERSION), muteUntilMs = cursor.requireLong(RecipientTable.MUTE_UNTIL).takeIf { it > 0 }?.clampToValidBackupRange(), diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt index 2081359d9d..9c04ca322b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/exporters/ChatItemArchiveExporter.kt @@ -605,7 +605,7 @@ private fun CallTable.Call.toRemoteCallUpdate(db: SignalDatabase, messageRecord: ringerRecipientId = this.ringerRecipient?.toLong(), startedCallRecipientId = ACI.parseOrNull(groupCallUpdateDetails.startedCallUuid)?.let { db.recipientTable.getByAci(it).getOrNull()?.toLong() }, startedCallTimestamp = this.timestamp.clampToValidBackupRange(), - endedCallTimestamp = groupCallUpdateDetails.endedCallTimestamp.clampToValidBackupRange(), + endedCallTimestamp = groupCallUpdateDetails.endedCallTimestamp.clampToValidBackupRange().takeIf { it > 0 }, read = messageRecord.read ) ) @@ -766,32 +766,32 @@ private fun BackupMessageRecord.toRemoteContactMessage(mediaArchiveEnabled: Bool ContactAttachment( name = it.name.toRemote(), avatar = (it.avatar?.attachment as? DatabaseAttachment)?.toRemoteMessageAttachment(mediaArchiveEnabled)?.pointer, - organization = it.organization, + organization = it.organization ?: "", number = it.phoneNumbers.map { phone -> ContactAttachment.Phone( value_ = phone.number, type = phone.type.toRemote(), - label = phone.label + label = phone.label ?: "" ) }, email = it.emails.map { email -> ContactAttachment.Email( value_ = email.email, - label = email.label, + label = email.label ?: "", type = email.type.toRemote() ) }, address = it.postalAddresses.map { address -> ContactAttachment.PostalAddress( type = address.type.toRemote(), - label = address.label, - street = address.street, - pobox = address.poBox, - neighborhood = address.neighborhood, - city = address.city, - region = address.region, - postcode = address.postalCode, - country = address.country + label = address.label ?: "", + street = address.street ?: "", + pobox = address.poBox ?: "", + neighborhood = address.neighborhood ?: "", + city = address.city ?: "", + region = address.region ?: "", + postcode = address.postalCode ?: "", + country = address.country ?: "" ) } ) @@ -802,14 +802,24 @@ private fun BackupMessageRecord.toRemoteContactMessage(mediaArchiveEnabled: Bool ) } -private fun Contact.Name.toRemote(): ContactAttachment.Name { +private fun Contact.Name.toRemote(): ContactAttachment.Name? { + if (givenName.isNullOrEmpty() && + familyName.isNullOrEmpty() && + prefix.isNullOrEmpty() && + suffix.isNullOrEmpty() && + middleName.isNullOrEmpty() && + nickname.isNullOrEmpty() + ) { + return null + } + return ContactAttachment.Name( - givenName = givenName, - familyName = familyName, - prefix = prefix, - suffix = suffix, - middleName = middleName, - nickname = nickname + givenName = givenName ?: "", + familyName = familyName ?: "", + prefix = prefix ?: "", + suffix = suffix ?: "", + middleName = middleName ?: "", + nickname = nickname ?: "" ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/Contact.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/Contact.java index 97cfffb225..cb0adac915 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/Contact.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/Contact.java @@ -356,7 +356,7 @@ public class Contact implements Parcelable { return type; } - public @NonNull String getLabel() { + public @Nullable String getLabel() { return label; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupCallUpdateDetailsUtil.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupCallUpdateDetailsUtil.java index 09d1e7342b..cb1c6014ac 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupCallUpdateDetailsUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/GroupCallUpdateDetailsUtil.java @@ -34,7 +34,7 @@ public final class GroupCallUpdateDetailsUtil { GroupCallUpdateDetails details = new GroupCallUpdateDetails.Builder() .startedCallUuid(Objects.toString(startedCallAci, "")) .startedCallTimestamp(groupCallChatUpdate.startedCallTimestamp) - .endedCallTimestamp(groupCallChatUpdate.endedCallTimestamp) + .endedCallTimestamp(groupCallChatUpdate.endedCallTimestamp != null ? groupCallChatUpdate.endedCallTimestamp : 0) .isCallFull(false) .isRingingOnLocalDevice(false) .build(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt index f07cea117c..89c1a49e6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/BackupValues.kt @@ -39,6 +39,7 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) { private const val KEY_LATEST_BACKUP_TIER = "backup.latestBackupTier" private const val KEY_LAST_CHECK_IN_MILLIS = "backup.lastCheckInMilliseconds" private const val KEY_LAST_CHECK_IN_SNOOZE_MILLIS = "backup.lastCheckInSnoozeMilliseconds" + private const val KEY_FIRST_APP_VERSION = "backup.firstAppVersion" private const val KEY_NEXT_BACKUP_TIME = "backup.nextBackupTime" private const val KEY_LAST_BACKUP_TIME = "backup.lastBackupTime" @@ -120,6 +121,11 @@ class BackupValues(store: KeyValueStore) : SignalStoreValues(store) { */ var lastCheckInSnoozeMillis: Long by longValue(KEY_LAST_CHECK_IN_SNOOZE_MILLIS, 0) + /** + * The first app version to make a backup. Persisted across backup/restores to help indicate backup age. + */ + var firstAppVersion: String by stringValue(KEY_FIRST_APP_VERSION, "") + /** * Key used to backup messages. */ diff --git a/app/src/main/protowire/Backup.proto b/app/src/main/protowire/Backup.proto index 3ae0e294e9..fbb5301963 100644 --- a/app/src/main/protowire/Backup.proto +++ b/app/src/main/protowire/Backup.proto @@ -9,6 +9,8 @@ message BackupInfo { uint64 version = 1; uint64 backupTimeMs = 2; bytes mediaRootBackupKey = 3; // 32-byte random value generated when the backup is uploaded for the first time. + string currentAppVersion = 4; + string firstAppVersion = 5; } // Frames must follow in the following ordering rules: @@ -134,7 +136,7 @@ message Contact { UNVERIFIED = 2; } - message Registered { } + message Registered {} message NotRegistered { uint64 unregisteredTimestamp = 1; } @@ -203,7 +205,7 @@ message Group { message GroupAttributeBlob { oneof content { string title = 1; - bytes avatar = 2; + bytes avatar = 2; uint32 disappearingMessagesDuration = 3; string descriptionText = 4; } @@ -484,7 +486,6 @@ message PaymentNotification { optional string feeMob = 2; // stored as a decimal string, e.g. 1.00001 optional string note = 3; TransactionDetails transactionDetails = 4; - } message GiftBadge { @@ -507,12 +508,12 @@ message ViewOnceMessage { message ContactAttachment { message Name { - optional string givenName = 1; - optional string familyName = 2; - optional string prefix = 3; - optional string suffix = 4; - optional string middleName = 5; - optional string nickname = 6; + string givenName = 1; + string familyName = 2; + string prefix = 3; + string suffix = 4; + string middleName = 5; + string nickname = 6; } message Phone { @@ -524,9 +525,9 @@ message ContactAttachment { CUSTOM = 4; } - optional string value = 1; - optional Type type = 2; - optional string label = 3; + string value = 1; + Type type = 2; + string label = 3; } message Email { @@ -538,9 +539,9 @@ message ContactAttachment { CUSTOM = 4; } - optional string value = 1; - optional Type type = 2; - optional string label = 3; + string value = 1; + Type type = 2; + string label = 3; } message PostalAddress { @@ -551,15 +552,15 @@ message ContactAttachment { CUSTOM = 3; } - optional Type type = 1; - optional string label = 2; - optional string street = 3; - optional string pobox = 4; - optional string neighborhood = 5; - optional string city = 6; - optional string region = 7; - optional string postcode = 8; - optional string country = 9; + Type type = 1; + string label = 2; + string street = 3; + string pobox = 4; + string neighborhood = 5; + string city = 6; + string region = 7; + string postcode = 8; + string country = 9; } optional Name name = 1; @@ -567,7 +568,7 @@ message ContactAttachment { repeated Email email = 4; repeated PostalAddress address = 5; optional FilePointer avatar = 6; - optional string organization = 7; + string organization = 7; } message StickerMessage { @@ -658,7 +659,7 @@ message FilePointer { oneof locator { BackupLocator backupLocator = 1; - AttachmentLocator attachmentLocator= 2; + AttachmentLocator attachmentLocator = 2; InvalidAttachmentLocator invalidAttachmentLocator = 3; } @@ -1069,7 +1070,7 @@ message GroupMemberJoinedByLinkUpdate { } // A gv1->gv2 migration occurred. -message GroupV2MigrationUpdate {} +message GroupV2MigrationUpdate {} // Another user migrated gv1->gv2 but was unable to add // the local user and invited them instead. @@ -1233,4 +1234,4 @@ message ChatFolder { FolderType folderType = 6; repeated uint64 includedRecipientIds = 7; // generated recipient id of groups, contacts, and/or note to self repeated uint64 excludedRecipientIds = 8; // generated recipient id of groups, contacts, and/or note to self -} +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0b9e3d09b3..61fe420b81 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ androidx-window = "1.3.0" glide = "4.15.1" gradle = "8.7.3" kotlin = "2.1.0" -libsignal-client = "0.64.0" +libsignal-client = "0.65.0" mp4parser = "1.9.39" android-gradle-plugin = "8.7.2" accompanist = "0.28.0" diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 2bc491faa5..c0834fbc58 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -9306,20 +9306,20 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - + + - - - + + + - - + + diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt index e10885251c..d152a2f015 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/svr/SecureValueRecoveryV3.kt @@ -9,15 +9,8 @@ import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.fasterxml.jackson.databind.annotation.JsonSerialize import org.signal.core.util.logging.Log -import org.signal.libsignal.attest.AttestationFailedException -import org.signal.libsignal.net.EnclaveAuth import org.signal.libsignal.net.Network -import org.signal.libsignal.net.NetworkException -import org.signal.libsignal.sgxsession.SgxCommunicationFailureException -import org.signal.libsignal.svr.DataMissingException -import org.signal.libsignal.svr.RestoreFailedException import org.whispersystems.signalservice.api.kbs.MasterKey -import org.whispersystems.signalservice.api.kbs.PinHashUtil import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException import org.whispersystems.signalservice.api.svr.SecureValueRecovery.BackupResponse import org.whispersystems.signalservice.api.svr.SecureValueRecovery.DeleteResponse @@ -30,8 +23,6 @@ import org.whispersystems.signalservice.internal.push.ByteArraySerializerBase64N import org.whispersystems.signalservice.internal.push.PushServiceSocket import org.whispersystems.signalservice.internal.util.JsonUtil import java.io.IOException -import java.util.concurrent.CancellationException -import java.util.concurrent.ExecutionException /** * An interface for working with V3 of the Secure Value Recovery service. @@ -86,34 +77,35 @@ class SecureValueRecoveryV3( * There's no concept of "deleting" data with SVR3. */ override fun deleteData(): DeleteResponse { - val authorization: Svr3Credentials = try { - pushServiceSocket.svr3Authorization - } catch (e: NonSuccessfulResponseCodeException) { - return DeleteResponse.ApplicationError(e) - } catch (e: IOException) { - return DeleteResponse.NetworkError(e) - } catch (e: Exception) { - return DeleteResponse.ApplicationError(e) - } - - val enclaveAuth = EnclaveAuth(authorization.username, authorization.password) - - return try { - network.svr3().remove(enclaveAuth).get() - DeleteResponse.Success - } catch (e: ExecutionException) { - when (val cause = e.cause) { - is NetworkException -> DeleteResponse.NetworkError(cause) - is AttestationFailedException -> DeleteResponse.ApplicationError(cause) - is SgxCommunicationFailureException -> DeleteResponse.ApplicationError(cause) - is IOException -> DeleteResponse.NetworkError(cause) - else -> DeleteResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) - } - } catch (e: InterruptedException) { - DeleteResponse.ApplicationError(e) - } catch (e: CancellationException) { - DeleteResponse.ApplicationError(e) - } + throw UnsupportedOperationException("SVR3 disabled for now") +// val authorization: Svr3Credentials = try { +// pushServiceSocket.svr3Authorization +// } catch (e: NonSuccessfulResponseCodeException) { +// return DeleteResponse.ApplicationError(e) +// } catch (e: IOException) { +// return DeleteResponse.NetworkError(e) +// } catch (e: Exception) { +// return DeleteResponse.ApplicationError(e) +// } +// +// val enclaveAuth = EnclaveAuth(authorization.username, authorization.password) +// +// return try { +// network.svr3().remove(enclaveAuth).get() +// DeleteResponse.Success +// } catch (e: ExecutionException) { +// when (val cause = e.cause) { +// is NetworkException -> DeleteResponse.NetworkError(cause) +// is AttestationFailedException -> DeleteResponse.ApplicationError(cause) +// is SgxCommunicationFailureException -> DeleteResponse.ApplicationError(cause) +// is IOException -> DeleteResponse.NetworkError(cause) +// else -> DeleteResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) +// } +// } catch (e: InterruptedException) { +// DeleteResponse.ApplicationError(e) +// } catch (e: CancellationException) { +// DeleteResponse.ApplicationError(e) +// } } @Throws(IOException::class) @@ -126,33 +118,34 @@ class SecureValueRecoveryV3( } private fun restoreData(authorization: AuthCredentials, shareSet: ByteArray?, userPin: String): RestoreResponse { - if (shareSet == null) { - Log.w(TAG, "No share set provided! Assuming no data to restore.") - return RestoreResponse.Missing - } - - val normalizedPin: String = PinHashUtil.normalizeToString(userPin) - val enclaveAuth = EnclaveAuth(authorization.username(), authorization.password()) - - return try { - val result = network.svr3().restore(normalizedPin, shareSet, enclaveAuth).get() - val masterKey = MasterKey(result.value) - RestoreResponse.Success(masterKey, authorization) - } catch (e: ExecutionException) { - when (val cause = e.cause) { - is NetworkException -> RestoreResponse.NetworkError(cause) - is DataMissingException -> RestoreResponse.Missing - is RestoreFailedException -> RestoreResponse.PinMismatch(cause.triesRemaining) - is AttestationFailedException -> RestoreResponse.ApplicationError(cause) - is SgxCommunicationFailureException -> RestoreResponse.ApplicationError(cause) - is IOException -> RestoreResponse.NetworkError(cause) - else -> RestoreResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) - } - } catch (e: InterruptedException) { - return RestoreResponse.ApplicationError(e) - } catch (e: CancellationException) { - return RestoreResponse.ApplicationError(e) - } + throw UnsupportedOperationException("SVR3 disabled for now") +// if (shareSet == null) { +// Log.w(TAG, "No share set provided! Assuming no data to restore.") +// return RestoreResponse.Missing +// } +// +// val normalizedPin: String = PinHashUtil.normalizeToString(userPin) +// val enclaveAuth = EnclaveAuth(authorization.username(), authorization.password()) +// +// return try { +// val result = network.svr3().restore(normalizedPin, shareSet, enclaveAuth).get() +// val masterKey = MasterKey(result.value) +// RestoreResponse.Success(masterKey, authorization) +// } catch (e: ExecutionException) { +// when (val cause = e.cause) { +// is NetworkException -> RestoreResponse.NetworkError(cause) +// is DataMissingException -> RestoreResponse.Missing +// is RestoreFailedException -> RestoreResponse.PinMismatch(cause.triesRemaining) +// is AttestationFailedException -> RestoreResponse.ApplicationError(cause) +// is SgxCommunicationFailureException -> RestoreResponse.ApplicationError(cause) +// is IOException -> RestoreResponse.NetworkError(cause) +// else -> RestoreResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) +// } +// } catch (e: InterruptedException) { +// return RestoreResponse.ApplicationError(e) +// } catch (e: CancellationException) { +// return RestoreResponse.ApplicationError(e) +// } } private fun Svr3Credentials.toAuthCredential(): AuthCredentials { @@ -169,47 +162,48 @@ class SecureValueRecoveryV3( * Performs the PIN change operation. This is safe to call repeatedly if you get back a retryable error. */ override fun execute(): BackupResponse { - val rawAuth: Svr3Credentials = try { - pushServiceSocket.svr3Authorization - } catch (e: NonSuccessfulResponseCodeException) { - return BackupResponse.ApplicationError(e) - } catch (e: IOException) { - return BackupResponse.NetworkError(e) - } catch (e: Exception) { - return BackupResponse.ApplicationError(e) - } - - if (shareSet == null) { - val normalizedPin: String = PinHashUtil.normalizeToString(userPin) - val enclaveAuth = EnclaveAuth(rawAuth.username, rawAuth.password) - - try { - shareSet = network.svr3().backup(masterKey.serialize(), normalizedPin, 10, enclaveAuth).get() - } catch (e: ExecutionException) { - when (val cause = e.cause) { - is NetworkException -> BackupResponse.NetworkError(cause) - is AttestationFailedException -> BackupResponse.ApplicationError(cause) - is SgxCommunicationFailureException -> BackupResponse.ApplicationError(cause) - is IOException -> BackupResponse.NetworkError(cause) - else -> BackupResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) - } - } catch (e: InterruptedException) { - BackupResponse.ApplicationError(e) - } catch (e: CancellationException) { - BackupResponse.ApplicationError(e) - } - } - - return try { - pushServiceSocket.setShareSet(shareSet) - BackupResponse.Success(masterKey, pushServiceSocket.svr3Authorization.toAuthCredential(), SvrVersion.SVR3) - } catch (e: NonSuccessfulResponseCodeException) { - BackupResponse.ApplicationError(e) - } catch (e: IOException) { - BackupResponse.NetworkError(e) - } catch (e: Exception) { - return BackupResponse.ApplicationError(e) - } + throw UnsupportedOperationException("SVR3 disabled for now") +// val rawAuth: Svr3Credentials = try { +// pushServiceSocket.svr3Authorization +// } catch (e: NonSuccessfulResponseCodeException) { +// return BackupResponse.ApplicationError(e) +// } catch (e: IOException) { +// return BackupResponse.NetworkError(e) +// } catch (e: Exception) { +// return BackupResponse.ApplicationError(e) +// } +// +// if (shareSet == null) { +// val normalizedPin: String = PinHashUtil.normalizeToString(userPin) +// val enclaveAuth = EnclaveAuth(rawAuth.username, rawAuth.password) +// +// try { +// shareSet = network.svr3().backup(masterKey.serialize(), normalizedPin, 10, enclaveAuth).get() +// } catch (e: ExecutionException) { +// when (val cause = e.cause) { +// is NetworkException -> BackupResponse.NetworkError(cause) +// is AttestationFailedException -> BackupResponse.ApplicationError(cause) +// is SgxCommunicationFailureException -> BackupResponse.ApplicationError(cause) +// is IOException -> BackupResponse.NetworkError(cause) +// else -> BackupResponse.ApplicationError(cause ?: RuntimeException("Unknown!")) +// } +// } catch (e: InterruptedException) { +// BackupResponse.ApplicationError(e) +// } catch (e: CancellationException) { +// BackupResponse.ApplicationError(e) +// } +// } +// +// return try { +// pushServiceSocket.setShareSet(shareSet) +// BackupResponse.Success(masterKey, pushServiceSocket.svr3Authorization.toAuthCredential(), SvrVersion.SVR3) +// } catch (e: NonSuccessfulResponseCodeException) { +// BackupResponse.ApplicationError(e) +// } catch (e: IOException) { +// BackupResponse.NetworkError(e) +// } catch (e: Exception) { +// return BackupResponse.ApplicationError(e) +// } } override fun serialize(): String {