history-store.json 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. {
  2. "schemaVersion": 1,
  3. "pageVersion": "sha256:af82818f0b14ff0161574d8625a43bed0807de3f4b8dc152a3283e1a40bccf24",
  4. "claims": [
  5. {
  6. "id": "claim_3afb8d7c0dbf446090433a98b74ad2e5",
  7. "statement": "History::open creates missing parent directories, opens the SQLite file and applies the schema.",
  8. "evidence": [
  9. {
  10. "resource": "repo://src/history.rs#L65-L98",
  11. "version": "repo-lines-v1:sha256:43f65e608bb68aead3f44bea548e6e7b8169cd5274874c39a748cec236b2373e:eyJzZWxlY3RlZExpbmVDb3VudCI6MzQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImVmODI1MzY0MWU3OWEzYzQyOTk5MDgzODFhZGQxMDhhYTE4OWJkMTI1YTVhYWE0MGMyMTk3NDgxZjNlOTRhNTciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBmNzY3M2M5ZTc2ODA2MmJjOTM3MmNlZGQwM2JiYjJiYmQ5ODcxMjEzZWVjNTc2MDA0MjcyM2U1M2E1NTMzZTkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjlmZTMxZjY0OWZmMjg3ZDhhMzU3ODI3MzJmNDQ3MjgyOWVjZTdkZmUyZGIyMDc1MmY3M2M0Y2JkMDBjNjczZDIifQ"
  12. }
  13. ]
  14. },
  15. {
  16. "id": "claim_f1b5347b6c074646bf967856b976ca8c",
  17. "statement": "The schema defines messages, chats, contacts and settings tables plus an index on messages(chat_jid, timestamp) using CREATE IF NOT EXISTS, with no migrations.",
  18. "evidence": [
  19. {
  20. "resource": "repo://src/history.rs#L340-L374",
  21. "version": "repo-lines-v1:sha256:4cff43e18fae30b0a29423e81000ae1701552bd4bcf0333d49a79580fee2a62b:eyJzZWxlY3RlZExpbmVDb3VudCI6MzUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijg2MTQ5Yjg1MjZhMTc4ZjhmMzMzNTViZjU1MmMxNjJlYzdiZDRhNTQyNjk2MzhmNzlhOTkwODIzNzg1YjM5NWYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImEzNWM0OWE4ZjYxOTQzMjJkOTYwYTAwZjQwNzA2ZDJkODAzMTE2NDRkNmZmZDhmZWJlNmZjZWIyN2EyZDhkZjYifQ"
  22. }
  23. ]
  24. },
  25. {
  26. "id": "claim_2475975236b94cb4ace4ac11cc0aad54",
  27. "statement": "save_message inserts with INSERT OR IGNORE keyed by message_id and upserts the chat only for new messages, in one transaction, returning whether the message was new.",
  28. "evidence": [
  29. {
  30. "resource": "repo://src/history.rs#L105-L116",
  31. "version": "repo-lines-v1:sha256:598d40867f709e3d9ec09cccd1e752c4ba2ae078a93b814058400d12451c022f:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjJjY2YyOTI3M2ZhMDRlMTFmMTY4ODliZTBiYWY2ZDg1MjdjN2Y1ZGNmY2VjMGVhMmZmNmU3NmViNDA1MGVhZTkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImYzMWE1ZDk2MDM0YzIyMWYyMWVkZTQyYTlkOWM3ODgwMjQxZTI2YzJjMzQxOWQ4Y2M4MmNiM2JiMjdjNWJhY2MiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImQxZmRlNjg0N2FkMzhlOWUyYjA1ZjdmYTRiNDUzOTY2YzE2NjRkNmJmYTExMDJmY2YyYzJiOWNjNDM5MGQ1OTUifQ"
  32. },
  33. {
  34. "resource": "repo://src/history.rs#L380-L401",
  35. "version": "repo-lines-v1:sha256:c8657638062a2f1c8faa48bb2091b77a95206c5c18fb7f83ad66ee472be3b0cc:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjgwYzA2MDFlNTlmNWFmYmUyODNlZjFmYzQxNjFlYjJmOGE1MGMwNGEzZjEzODY1N2NkMTIzOWMxYmQ4MWJjZGIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImFhODg5OGI0M2QxZDJjNzcwOTgxMzgwNTc4Yjg1N2E3OTY3MzAxMmY4ZGFlYmYyYmIzMTkzNTk5MDg5OWNkZTgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjViNmM5OWZlNDhhNTllM2Q4NzBhODg1YjNlYzIzZDIyNGNlYmE0Njg5MTZiMzhiOWQ5OTEwZjAwOWQzZDRjNTEifQ"
  36. }
  37. ]
  38. },
  39. {
  40. "id": "claim_bafe577d51c0463fb3dbfcc97a6c221e",
  41. "statement": "The chat upsert keeps the maximum last_timestamp and only sets the name when the chat has no non-empty name.",
  42. "evidence": [
  43. {
  44. "resource": "repo://src/history.rs#L408-L421",
  45. "version": "repo-lines-v1:sha256:6acfe5aab3d7f5a481c785e16736ae25b7d72275d885003104132702619fa2c1:eyJzZWxlY3RlZExpbmVDb3VudCI6MTQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImFlMjhiYjUwNmYwZTUwYzIxZDU0Y2ZhNWJhNTBhZDA2MzBkNDYxODJlNzUwN2U4ZDcxNzMwM2YzM2UzODBlNTkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImM5MzAwMTI1YjUzZjIyNWI5MTFmNjc3YmFjZWM4MWM2MmIwMzAyZjg2NWJkN2NhNTAyYmNmNTZhN2UzYjdkOGYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjgxZWMzYmUyNjA1OTc3Njk1OWJlMTExMjVhN2JkNDUzNmMxZTk2MTRiZDlkMjhkZmU5NThmOTZlM2Y4YTI1NGMifQ"
  46. }
  47. ]
  48. },
  49. {
  50. "id": "claim_bca92f868687480c9f642dfd8af67e33",
  51. "statement": "Only the trimmed non-blank push name of incoming messages can name a chat.",
  52. "evidence": [
  53. {
  54. "resource": "repo://src/history.rs#L427-L437",
  55. "version": "repo-lines-v1:sha256:0b03e9dc798065c6f1704fcb1a70ba4927bcb0ef47900c115b45a6cca449bfaf:eyJzZWxlY3RlZExpbmVDb3VudCI6MTEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImMwOTZhZGVlYmNmNjA0ZWMzMTNlMTJkOTI4ODk0NGE4OTZkYmJhZWRlZDJkMzdmZmFjYzFmOTRjMzc4MjVjYWUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjhhN2NlZDc2NTcxNDVkZjIyMjc1ZDI4Zjc0NGI5Mjg1YWVmYzU2NmE5NjZjNjhjYzVhYjQ4YjgwZGQwZDgxYjAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjlhZDRhMTk0MTFmMjVhNWNjOWFmOTAzNWNhMmQ2MmY5ZjdmMzViOWIzYTJmZWJlNDczY2JiZDRmOTNlZTEwYWEifQ"
  56. }
  57. ]
  58. },
  59. {
  60. "id": "claim_7fb47c2acdc84d76b88fdf8a279133f0",
  61. "statement": "recent_messages returns the latest messages up to the limit in ascending timestamp order.",
  62. "evidence": [
  63. {
  64. "resource": "repo://src/history.rs#L122-L140",
  65. "version": "repo-lines-v1:sha256:ae0fb8914ec3b6efd265ce9615d6c692fb12c57e2d724423247cb5d9f7780159:eyJzZWxlY3RlZExpbmVDb3VudCI6MTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjA2NTI5NjE3OGQwMTk0ZTc4MmI1ZWM1ZTY5NTZkMTY5YzBkNjA3ZTBmN2UxOGE2ZjE1MWUxNmQ1Y2U1NGFjZmIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImVjMzAxNGZjZDcxYmQ4ZDRhNzE5ZWFlNTgyZDM3ZDQ0Nzk0ZTBmNzFkNmE5YjM3Yjc1MTFlMWMyZmUzYTU4MTIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhlZWMyZTE2YzJiYmJhOWFmMmQyMGY4MTcyNTJhZmQ3ZDdiYWRhZjgwYTM0YTcwYWE3N2Y0YzM5NzQxNzFhNzYifQ"
  66. }
  67. ]
  68. },
  69. {
  70. "id": "claim_8625004e2cf54a8cab46ebb64c0ada4a",
  71. "statement": "list_chats orders chats by last_timestamp descending and names them by contact name, chat name or JID user part.",
  72. "evidence": [
  73. {
  74. "resource": "repo://src/history.rs#L173-L189",
  75. "version": "repo-lines-v1:sha256:21c241cfd2393adfe0d73994422db78368373279b5a142e4604f76c30b8092c6:eyJzZWxlY3RlZExpbmVDb3VudCI6MTcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImViODI2ZTYxYWIwODc5YTZkZGEzYTVhZWYyNTc4NTEyZGMzNzYyMjA0ZjcyNDc5NzI3MWVhMDI1YzFlMWI2NjEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImFlNjMxYmYzODIyNWIyNzIzNWJjOTE2NTg0YjEzNWMwZjZkNWY3NjQzYzYzZDVkMTU3NzYyODM1NjdjMTRiNTIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjdhYWZlOThkYmNlMTM2NmMxYmU4OTdkZjk0MmE3NzFmZDI0YzQzODE1Nzc3ZDUzZTAzNjgzYmEyYTk4Zjk3N2UifQ"
  76. },
  77. {
  78. "resource": "repo://src/history.rs#L468-L479",
  79. "version": "repo-lines-v1:sha256:65dc24e0ca6d8e29340e1116eab12f58e8fd73c4ed13f85023a071ca22aacfac:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZhMDdjZTgwZGE1NThjZWQxZDcxMjdiMjIzN2U0OWVmOTQ5OGNmYTA1OGNjNDZmMzY0NzdhNDcxM2ExNDljZGYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijg2NTQ5MzhhNmY0OTljMDQ1ZjcyY2ZkNzNhNDNkMmExZWQ4MjhiZTk3YjI2ZTc1OWY1ZTQ3YjQ2MzllNzcwY2YiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjdiYzk4ZDZiMGRjNDkyYzUwMTZkZjEwODA1YTNhNTRlYjljMTg0YTVhNjEzN2U3ZjRiZWNmYTBjMjIwNTUwZDAifQ"
  80. }
  81. ]
  82. },
  83. {
  84. "id": "claim_964bf1e009a647fc934ee47de064d8c8",
  85. "statement": "list_contacts orders by name case-insensitively and upsert_contact ignores blank names.",
  86. "evidence": [
  87. {
  88. "resource": "repo://src/history.rs#L195-L234",
  89. "version": "repo-lines-v1:sha256:1ff51b6f0919932929d0afd41b6744292e7b841e616f004b76cfa3d7250bacf2:eyJzZWxlY3RlZExpbmVDb3VudCI6NDAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImNmMjc0NmNmOTY0YmJjYjA0YjdjM2M3ZmY4NTY5NmQ2YjNmZmUxNzMzZTkxOTQ5YjVkOGZmNDE1NmUwY2JhMTAiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjkwZDU5NDJlMDYzYTE4ZDFiOTNjOTU5YWU1YzMwZDJiYTMzNmE4NzM3NjNhZjUyMmM3NmFiNzJhMWVmNTkwNTEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQxNTZlNzZjODk5MjcxYzEyYzljMTY1MTg5ZmNhMGJiODI2MzJhZjBlMmM5YzA5Y2MwYjkwMDQ2NDEwNjEwYmYifQ"
  90. }
  91. ]
  92. },
  93. {
  94. "id": "claim_5697810b4a584bbcb2453ed98a56e27d",
  95. "statement": "display_name resolves contact name, then chat name, then the JID user part.",
  96. "evidence": [
  97. {
  98. "resource": "repo://src/history.rs#L240-L251",
  99. "version": "repo-lines-v1:sha256:e0059167165c59201523d30ec94c3c3e391b151fa8043b42c1010cc0f2e31c99:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImYyMjExZTkxNDI1Y2FlNjdlNjhiODUyN2FkMjg1OTJjNjE5NzQ3NWVmNjY0MzllYmQzYTUwMjAzNzk4NzMzOTQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjEzOWRiMDQ5N2ZjZjUyNTVhYTJkYThhZTg0MzYyNzY3MmNhYWUwMzYyMDc3ODIzZjNiMDA5ODQ2MzMyYjRjMTUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjM1NGY2MzVmNzkyYWYxZDQ3ZTlkODM5OWY4OGFmYjkxMjgwZGMwZmFjYjVhNDc2OGYxYTc2OWEwOWVlYTg0MDUifQ"
  100. }
  101. ]
  102. },
  103. {
  104. "id": "claim_7c7b84370ef94ca885a5a67cb28258bc",
  105. "statement": "set_autoreply upserts the chat row and is_autoreply defaults to false for unknown chats.",
  106. "evidence": [
  107. {
  108. "resource": "repo://src/history.rs#L257-L283",
  109. "version": "repo-lines-v1:sha256:956f230dd6020d91e8b2d7d137d9fa4fa04d0a316c598d90f38729025889cd02:eyJzZWxlY3RlZExpbmVDb3VudCI6MjcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjNkMDNkMmIyZWM0M2RjMGIxYjg3NDg1MjQyNDRmZDc3ODVlNzcwZWJkNGJmZjBhZTUxODc5MjM1ZTFjZjM4OGEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjQ3NzVhZDM0NjMyYTRjYjNmZjQ4NjA5Zjk2NWI4OTY3NDFmNTIzYjNkODY1Y2FiODQyZTgzZTI0YTZhOGQ3M2IiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImYyZWNiYWUyM2ZlZTE0ZTViOWIzNWQ0NDcwNmFmOGQ1OWY1NWQyOWIwNzYzNjU4ZjI4YjIzNjZkNWUzNWM5Y2UifQ"
  110. }
  111. ]
  112. },
  113. {
  114. "id": "claim_933775dca11c4c7f91c5349e4f8a2cf4",
  115. "statement": "History::messages_since returns up to limit most recent messages of a chat with timestamp >= since (inclusive), in ascending timestamp order.",
  116. "evidence": [
  117. {
  118. "resource": "repo://src/history.rs#L142-L166",
  119. "version": "repo-lines-v1:sha256:6daa209756bdfb87ba10954b88d7b52b35ee2212dc1328db974b019c47aab510:eyJzZWxlY3RlZExpbmVDb3VudCI6MjUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRiNWUzOWMyMzYyNTg2NWE5NGNiY2ZlMTVhMDNkNThiYTZkZDY3YTkxNWE4OGJjNzdiMjBkOTc1NTlmMjU2NGUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjAzODg4YWU3MTJlMTVmZTE3NTYzNDgzMWQ4ZTcwYWZkYWEwMTMxZGI2ZDAxZWZkNzExZjQ1NmFkNThjZmExNjUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhlZWMyZTE2YzJiYmJhOWFmMmQyMGY4MTcyNTJhZmQ3ZDdiYWRhZjgwYTM0YTcwYWE3N2Y0YzM5NzQxNzFhNzYifQ"
  120. }
  121. ]
  122. },
  123. {
  124. "id": "claim_89c1cb5b384e4710bb7b86feb0901cfb",
  125. "statement": "The global autoreply flag is stored as the global_autoreply row of the settings table, defaults to false when never set, and is independent of the per-chat autoreply flags.",
  126. "evidence": [
  127. {
  128. "resource": "repo://src/history.rs#L18-L21",
  129. "version": "repo-lines-v1:sha256:fb1e0c7f933e63c16b33cec6c6d4ababced3866d36d400b459bc168ff203aab4:eyJzZWxlY3RlZExpbmVDb3VudCI6NCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiYzgyOGY3ZjM1MjgwY2ZjMDUzOGY5NmMwNmMxNzczZGIyODVhNTdjOWNhMWM2MDYyZjljYmU5MjEzMzA1Yzg3MCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiODliZTkwZWUzOWU5M2U0N2MzOWRkMTg5NTY0NzNlYTkzZjkxY2MyZjVlNjdlM2Y1MTZlYTZlZTc2NjBjYWE3ZCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYjhjNjIyOGY4NDg1ZWFkNTEwZjNjYTEwZGM1YzRhOGE5Zjg5ZTU5MzY4YTJlNjEwZTUyMDY0ODlmMjMzY2MxYiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZWRhNzYxMjkwMjY1MmNkNzBlZmVjZWE4MWJhN2NhMjM5Y2NmZjViMjAzN2M2NjQyZDUzZjM5YjVlZDVmMTViNSJ9"
  130. },
  131. {
  132. "resource": "repo://src/history.rs#L285-L315",
  133. "version": "repo-lines-v1:sha256:7446cd3d43ecedda818c27075602eb8b9f1b3ef669ea39edf3a6c5520cc4bec3:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImE2OTlhMTQ5OTg2YzgxZjQ4OGYwMjQxMmU4Zjk0YjE1NjdhNWQ2OTEzZTNiYTg0NjJlMmFmYzY5NDJkYWYxMTMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjZTNjZDVlMGE4OTI3NjIwMWQ2ZWU2OWE2ZGM4ZTEyMzgxNDVmMzEyYmE2ODQxZjUzMGYzNDQ0MmU0Njc2NjIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk4NTAwNmMxYjY0YjM5MzI5ZWZhMmUxZmU2YTEwMWRiYzg0MTIzYjkxNjkyYjM1MjhjOTg4YzhhOGVmNGRjY2QifQ"
  134. },
  135. {
  136. "resource": "repo://src/history.rs#L670-L681",
  137. "version": "repo-lines-v1:sha256:a3499b20fe534b6969c5dd2ce949d44f4ccf9e144ef0dc6beff4386a09b24b59:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjdmNTE1NGVmMDNiMmZjYTVjNzk0NTNlZDVjNGIxYjI2MzllMDVhNDM0Y2U1Y2YzM2RiYjM0NTIwZDA0OGJiMmYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImEwMGRiMDQwZjI5MDliZjk3OGZmMGE5NTZhNTVlODNjNjUzNDE4ZGU2YmI2OGY4MDQxZGE5NzZmOGQzZDIyNzAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImE4ZTcyMmMzMzU5NWJkZDhiNWE3YTI0YTdlM2ZlYmQxMzFjNzA5NTYyMGQ0NTllMWFjZDg4MWYzOWIzNWEzZGQifQ"
  138. }
  139. ]
  140. },
  141. {
  142. "id": "claim_90e7318d49a04a75a346fa0021f65ba4",
  143. "statement": "delete_chat atomically removes a chat's messages and its chats row (including its autoreply flag) while keeping the contact and other chats.",
  144. "evidence": [
  145. {
  146. "resource": "repo://src/history.rs#L317-L337",
  147. "version": "repo-lines-v1:sha256:ec26488ad71019d7a49c9f323eba53ad1d0c270a4114d45cdd0b86d09ecb04f6:eyJzZWxlY3RlZExpbmVDb3VudCI6MjEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImNkMTFhNTg0ZDdhNWU5N2U1ZmY4NmU3MzY5ZDBkMzdhNGYxZjlmZjBlYzRlMzk5OWEyZWRkYTc2MDMyNTQwMGYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImY5OTM0OWRjNmNiNTFlOWIwMzQxMTdiZjQxMzkzZDE5YzQzMGM3NTNmZDcxZWZmZmZjZmQzYmIzOGFhNjU0ZmYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImYyZWNiYWUyM2ZlZTE0ZTViOWIzNWQ0NDcwNmFmOGQ1OWY1NWQyOWIwNzYzNjU4ZjI4YjIzNjZkNWUzNWM5Y2UifQ"
  148. },
  149. {
  150. "resource": "repo://src/history.rs#L695-L717",
  151. "version": "repo-lines-v1:sha256:167f97ca14887b3abaed94df2233c76fafe73a7a65f58396500a10a95260ff41:eyJzZWxlY3RlZExpbmVDb3VudCI6MjMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjhkZWE5MGY2NjhiMTNkZjZiMjNmMmYzNjhiYzYyYzY5ZWU5ZTI0YmU2MzJjMGI4MTg4MTljOGJiYTJiNTRiMWYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImEwMGRiMDQwZjI5MDliZjk3OGZmMGE5NTZhNTVlODNjNjUzNDE4ZGU2YmI2OGY4MDQxZGE5NzZmOGQzZDIyNzAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk1ODAwYjU1YWE2ZWY1OGE3ZjFhZDVhZmEwNWE2MDNhZWE3YmE2ZTBmZjEwY2M5Yjc0NDMwY2I1Yzk4ZTMyZDkifQ"
  152. }
  153. ]
  154. }
  155. ],
  156. "verification": {
  157. "by": "openwiki/0.7.2",
  158. "at": "2026-10-20T20:27:06.515Z"
  159. }
  160. }