Feat/standalone indexer fetch block

Resolve #441
This is the rest of work of https://github.com/dbpunk-labs/db3/pull/445
Changes

Support get_block rpc in db3 node
Fetch block when there is new block event
verify block and parse transaction
Parse database mutation and add it into database mutation queue

Future work

apply database mutation in the future PR
refactoring some method to remove redundant code.

PR-Codex overview
This PR adds the ability to fetch blocks from the node service and parse mutations from block transactions.
Detailed summary

Added BlockType, BlockRequest, and BlockResponse to db3_node.proto for fetching blocks from the node service.
Added fetch_block_by_height function to MutationSDK for fetching blocks by height.
Modified IndexerImpl to fetch blocks and parse mutations from block transactions.

The following files were skipped due to too many changes: src/node/src/indexer_impl.rs

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Codecov Report

Merging #448 (580c86e) into main (0562ba7) will decrease coverage by 1.14%.
The diff coverage is 14.05%.

:exclamation: Current head 580c86e differs from pull request most recent head 847e350. Consider uploading reports for the commit 847e350 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #448      +/-   ##
==========================================
- Coverage   64.98%   63.85%   -1.14%
==========================================
  Files          56       57       +1
  Lines       10734    10980     +246
==========================================
+ Hits         6976     7011      +35
- Misses       3758     3969     +211

Flag
Coverage Δ

rust
63.85% <14.05%> (-1.14%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/error/src/lib.rs
100.00% <ø> (ø)

src/node/src/command.rs
39.09% <0.00%> (-2.59%)
:arrow_down:

src/node/src/indexer_impl.rs
0.00% <0.00%> (ø)

src/node/src/storage_node_impl.rs
0.36% <0.00%> (-0.02%)
:arrow_down:

src/sdk/src/store_sdk.rs
76.30% <0.00%> (-0.64%)
:arrow_down:

src/sdk/src/mutation_sdk.rs
96.37% <97.22%> (+0.14%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Demo
❯ ./target/debug/db3 indexer                                                                               ─╯
2023-05-22T18:30:07.105762Z  INFO db3_node::command:
██████╗ ██████╗ ██████╗
██╔══██╗██╔══██╗╚════██╗
██║  ██║██████╔╝ █████╔╝
██║  ██║██╔══██╗ ╚═══██╗
██████╔╝██████╔╝██████╔╝
╚═════╝ ╚═════╝ ╚═════╝
@db3.network🚀🚀🚀
2023-05-22T18:30:07.162804Z  INFO db3_node::auth_storage: a new node started
2023-05-22T18:30:07.162870Z  INFO db3_node::indexer_impl: [Indexer] start indexer ...
2023-05-22T18:30:07.162899Z  INFO db3_node::indexer_impl: [Indexer] subscribe event from db3 network
2023-05-22T18:30:07.191424Z  INFO db3_node::indexer_impl: listen and handle event message
2023-05-22T18:30:09.760678Z  INFO db3_node::indexer_impl: Block	4	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:09.773166Z  INFO db3_node::indexer_impl: Block Id: [156, 149, 41, 85, 102, 84, 214, 20, 177, 216, 223, 50, 40, 75, 202, 71, 33, 76, 207, 85, 226, 191, 60, 226, 171, 37, 180, 122, 168, 132, 244, 249]
2023-05-22T18:30:09.773582Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:10.878474Z  INFO db3_node::indexer_impl: Block	5	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:10.882065Z  INFO db3_node::indexer_impl: Block Id: [32, 20, 171, 0, 214, 67, 73, 39, 188, 23, 157, 249, 88, 19, 188, 226, 113, 5, 149, 141, 26, 42, 98, 9, 176, 168, 172, 151, 2, 249, 92, 107]
2023-05-22T18:30:10.882250Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:12.109887Z  INFO db3_node::indexer_impl: Block	6	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:12.112205Z  INFO db3_node::indexer_impl: Block Id: [128, 112, 139, 228, 0, 99, 129, 123, 144, 132, 131, 144, 147, 69, 132, 222, 32, 221, 26, 65, 192, 89, 139, 115, 229, 134, 138, 10, 23, 160, 191, 176]
2023-05-22T18:30:12.112318Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:13.278387Z  INFO db3_node::indexer_impl: Block	7	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:13.280849Z  INFO db3_node::indexer_impl: Block Id: [12, 20, 0, 84, 136, 155, 38, 154, 151, 103, 42, 56, 63, 137, 80, 145, 217, 217, 85, 201, 235, 188, 44, 58, 211, 122, 109, 32, 73, 116, 98, 81]
2023-05-22T18:30:13.281008Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:14.539151Z  INFO db3_node::indexer_impl: Block	8	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:14.542166Z  INFO db3_node::indexer_impl: Block Id: [245, 122, 251, 232, 33, 241, 220, 156, 11, 204, 156, 50, 226, 47, 68, 138, 245, 86, 144, 195, 167, 127, 120, 28, 130, 197, 90, 115, 168, 39, 10, 135]
2023-05-22T18:30:14.542329Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:15.770918Z  INFO db3_node::indexer_impl: Block	9	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:15.773668Z  INFO db3_node::indexer_impl: Block Id: [24, 17, 161, 248, 91, 211, 172, 82, 141, 39, 9, 112, 135, 99, 159, 128, 121, 202, 243, 154, 136, 81, 213, 220, 122, 7, 238, 0, 76, 6, 180, 29]
2023-05-22T18:30:15.773856Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:17.027562Z  INFO db3_node::indexer_impl: Block	10	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:17.030083Z  INFO db3_node::indexer_impl: Block Id: [130, 11, 64, 122, 8, 249, 126, 133, 53, 166, 49, 234, 13, 162, 204, 188, 43, 205, 209, 217, 108, 74, 209, 238, 79, 120, 48, 73, 17, 172, 115, 79]
2023-05-22T18:30:17.030376Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:18.301548Z  INFO db3_node::indexer_impl: Block	11	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:18.303897Z  INFO db3_node::indexer_impl: Block Id: [20, 1, 241, 47, 29, 138, 151, 132, 74, 128, 155, 199, 149, 102, 243, 213, 50, 248, 46, 121, 74, 101, 205, 170, 25, 127, 94, 29, 128, 103, 43, 122]
2023-05-22T18:30:18.304056Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:19.481136Z  INFO db3_node::indexer_impl: Block	12	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:19.483391Z  INFO db3_node::indexer_impl: Block Id: [250, 135, 95, 218, 247, 56, 127, 218, 3, 231, 139, 80, 55, 137, 221, 137, 115, 61, 234, 83, 12, 24, 71, 81, 247, 148, 12, 153, 33, 113, 226, 7]
2023-05-22T18:30:19.483533Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:20.700064Z  INFO db3_node::indexer_impl: Block	13	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:20.702513Z  INFO db3_node::indexer_impl: Block Id: [225, 8, 133, 17, 41, 94, 79, 21, 1, 249, 63, 161, 96, 203, 93, 128, 111, 144, 190, 5, 32, 54, 177, 96, 77, 42, 117, 195, 246, 156, 50, 103]
2023-05-22T18:30:20.702658Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:21.848567Z  INFO db3_node::indexer_impl: Block	14	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:21.850633Z  INFO db3_node::indexer_impl: Block Id: [86, 63, 105, 188, 7, 31, 10, 222, 118, 55, 208, 191, 88, 103, 63, 234, 231, 29, 19, 222, 114, 210, 187, 253, 242, 158, 254, 223, 143, 171, 7, 24]
2023-05-22T18:30:21.850764Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:23.021714Z  INFO db3_node::indexer_impl: Block	15	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:23.023833Z  INFO db3_node::indexer_impl: Block Id: [66, 153, 161, 139, 61, 39, 50, 114, 59, 111, 88, 1, 138, 238, 179, 23, 191, 194, 136, 88, 250, 109, 85, 29, 67, 19, 172, 194, 250, 120, 235, 225]
2023-05-22T18:30:23.023961Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:24.163451Z  INFO db3_node::indexer_impl: Block	16	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:24.165478Z  INFO db3_node::indexer_impl: Block Id: [42, 156, 70, 141, 73, 193, 153, 118, 98, 134, 188, 11, 21, 155, 185, 114, 191, 242, 4, 99, 196, 81, 138, 75, 125, 197, 60, 0, 193, 204, 129, 10]
2023-05-22T18:30:24.165603Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:25.359838Z  INFO db3_node::indexer_impl: Block	17	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:25.362912Z  INFO db3_node::indexer_impl: Block Id: [60, 1, 181, 4, 103, 98, 160, 65, 224, 90, 128, 37, 173, 205, 72, 206, 207, 103, 242, 167, 200, 9, 87, 241, 53, 231, 55, 138, 50, 215, 161, 248]
2023-05-22T18:30:25.363022Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:26.521150Z  INFO db3_node::indexer_impl: Block	18	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:26.523191Z  INFO db3_node::indexer_impl: Block Id: [27, 235, 125, 227, 91, 123, 216, 102, 223, 162, 76, 226, 140, 151, 70, 173, 92, 157, 239, 52, 150, 27, 46, 226, 107, 13, 220, 116, 168, 7, 192, 212]
2023-05-22T18:30:26.523326Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:27.682325Z  INFO db3_node::indexer_impl: Block	19	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:27.684377Z  INFO db3_node::indexer_impl: Block Id: [148, 152, 83, 213, 45, 209, 134, 72, 62, 75, 103, 169, 110, 166, 111, 4, 158, 16, 8, 50, 124, 38, 184, 201, 61, 57, 201, 164, 94, 40, 69, 109]
2023-05-22T18:30:27.684541Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:28.810547Z  INFO db3_node::indexer_impl: Block	20	0x8e2b0e7485f11bb510046eeae4ab990c8d75a2f0a362199e31c3b9e1325cc86a	0x0000000000000000000000000000000000000000000000000000000000000000	0
2023-05-22T18:30:28.812783Z  INFO db3_node::indexer_impl: Block Id: [191, 80, 17, 97, 164, 215, 124, 92, 157, 157, 174, 242, 30, 122, 174, 144, 66, 197, 90, 154, 243, 220, 68, 92, 234, 229, 103, 107, 202, 23, 148, 31]
2023-05-22T18:30:28.813003Z  INFO db3_node::indexer_impl: Block transaction size: 2
2023-05-22T18:30:28.813109Z  INFO db3_node::indexer_impl: TxId: OsCTCsxbeNsFWZinDcsJiBzV3QwBDvk/pxGcezDbOpo=
2023-05-22T18:30:28.813967Z  INFO db3_node::indexer_impl: Pending database mutation size: 0
2023-05-22T18:30:28.813983Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:28.814057Z  INFO db3_node::indexer_impl: TxId: UN/lP9Knun3qvsLDvi79g7eJNWE3Z/VcQ21RDWlwivI=
2023-05-22T18:30:28.814491Z  INFO db3_node::indexer_impl: Pending database mutation size: 1
2023-05-22T18:30:28.814503Z  INFO db3_node::indexer_impl: Add action: Some(AddCollection), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddCollection, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [CollectionMutation { index: [Index { name: "idx1", id: 0, fields: [IndexField { field_path: "name", value_mode: Some(Order(Ascending)) }] }, Index { name: "idx2", id: 1, fields: [IndexField { field_path: "age", value_mode: Some(Order(Ascending)) }] }, Index { name: "idx_name_age", id: 2, fields: [IndexField { field_path: "name", value_mode: Some(Order(Ascending)) }, IndexField { field_path: "age", value_mode: Some(Order(Ascending)) }] }], collection_name: "test_books" }], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:29.953399Z  INFO db3_node::indexer_impl: Block	21	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x18216bcd655fde8a19389894864a22f5c1d7ad06bd93bf6c656a1ef34188ede6	0
2023-05-22T18:30:29.956640Z  INFO db3_node::indexer_impl: Block Id: [73, 216, 209, 170, 96, 99, 140, 36, 167, 163, 131, 250, 136, 213, 205, 121, 134, 132, 99, 48, 179, 203, 141, 193, 146, 123, 218, 208, 170, 123, 50, 122]
2023-05-22T18:30:29.956823Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:31.102885Z  INFO db3_node::indexer_impl: Block	22	0x4ec888775e15e7b8a975184d66118f8c920a523d8718e3695d855091bd25518a	0x18216bcd655fde8a19389894864a22f5c1d7ad06bd93bf6c656a1ef34188ede6	0
2023-05-22T18:30:31.105440Z  INFO db3_node::indexer_impl: Block Id: [15, 72, 130, 53, 11, 3, 7, 234, 46, 120, 35, 62, 52, 252, 179, 244, 251, 89, 45, 192, 73, 102, 128, 255, 81, 209, 251, 111, 243, 229, 201, 157]
2023-05-22T18:30:31.105626Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:31.105692Z  INFO db3_node::indexer_impl: TxId: mMY+ReQ/zU6acOx0+GMmk7DJba7YAcJS0DWgGM0KrRs=
2023-05-22T18:30:31.106167Z  INFO db3_node::indexer_impl: Pending database mutation size: 2
2023-05-22T18:30:31.106179Z  INFO db3_node::indexer_impl: Add action: Some(AddCollection), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddCollection, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [CollectionMutation { index: [Index { name: "idx1", id: 0, fields: [IndexField { field_path: "name", value_mode: Some(Order(Ascending)) }] }], collection_name: "test_student" }], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:32.251339Z  INFO db3_node::indexer_impl: Block	23	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0xddd26a9bf1f1d3d74e9905cf11a0aa9f8ece3ffea2b288843e29d57411d9a55f	0
2023-05-22T18:30:32.254720Z  INFO db3_node::indexer_impl: Block Id: [105, 183, 131, 57, 123, 122, 163, 50, 247, 145, 149, 107, 169, 176, 159, 38, 123, 120, 50, 72, 56, 158, 46, 126, 158, 15, 142, 84, 157, 250, 254, 75]
2023-05-22T18:30:32.254904Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:33.402442Z  INFO db3_node::indexer_impl: Block	24	0x016422a80dd4751e8a55e9a887ef04475231f77649291e25db08a516a0054d53	0xddd26a9bf1f1d3d74e9905cf11a0aa9f8ece3ffea2b288843e29d57411d9a55f	0
2023-05-22T18:30:33.404577Z  INFO db3_node::indexer_impl: Block Id: [3, 5, 13, 144, 2, 99, 125, 224, 170, 135, 186, 105, 147, 189, 140, 184, 162, 8, 105, 63, 14, 156, 34, 199, 37, 88, 112, 111, 75, 65, 232, 208]
2023-05-22T18:30:33.404732Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:33.404802Z  INFO db3_node::indexer_impl: TxId: exWKiFwttxlbrdGfmQdd5gTb9EzmXQRm4Hzs5X88ok0=
2023-05-22T18:30:33.405312Z  INFO db3_node::indexer_impl: Pending database mutation size: 3
2023-05-22T18:30:33.405325Z  INFO db3_node::indexer_impl: Add action: Some(AddDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddDocument, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "test_books", documents: [[88, 0, 0, 0, 2, 110, 97, 109, 101, 0, 9, 0, 0, 0, 74, 111, 104, 110, 32, 68, 111, 101, 0, 18, 97, 103, 101, 0, 43, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0]], ids: [], masks: [] }], db_desc: "" } into pending queue
2023-05-22T18:30:34.577550Z  INFO db3_node::indexer_impl: Block	25	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x42445f9348b9f081ad6c0f6b9a61a32749361b7679a324ee6a256717cc7bc8a1	0
2023-05-22T18:30:34.580433Z  INFO db3_node::indexer_impl: Block Id: [74, 252, 32, 243, 35, 75, 193, 105, 208, 197, 158, 172, 94, 204, 125, 163, 133, 240, 243, 132, 226, 204, 227, 168, 156, 15, 245, 140, 130, 161, 48, 51]
2023-05-22T18:30:34.580617Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:35.727165Z  INFO db3_node::indexer_impl: Block	26	0x361cecf7a954da4f4711f1fd6bfb478f04a89a2ee80cb258962a5a072e2e3eab	0x42445f9348b9f081ad6c0f6b9a61a32749361b7679a324ee6a256717cc7bc8a1	0
2023-05-22T18:30:35.729572Z  INFO db3_node::indexer_impl: Block Id: [189, 152, 128, 204, 250, 98, 50, 78, 184, 143, 165, 250, 80, 142, 25, 230, 56, 211, 236, 43, 77, 231, 20, 39, 90, 57, 145, 45, 60, 79, 104, 140]
2023-05-22T18:30:35.729747Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:35.729834Z  INFO db3_node::indexer_impl: TxId: /KqbZsWvmstNFKZLvViVVmoZ7+u9p/8twMLJkRQBbdk=
2023-05-22T18:30:35.730375Z  INFO db3_node::indexer_impl: Pending database mutation size: 4
2023-05-22T18:30:35.730388Z  INFO db3_node::indexer_impl: Add action: Some(AddDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddDocument, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "test_books", documents: [[84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 77, 105, 107, 101, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 45, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0]], ids: [], masks: [] }], db_desc: "" } into pending queue
2023-05-22T18:30:36.875072Z  INFO db3_node::indexer_impl: Block	27	0x00525fdbc753bb7c7bbba84aa9367f5a916fdc64c80eb2494c11d61284140d74	0x0ca30b2c271ce9b77a55459203b8d93ea5fc313a34895d1c4950c4ed2341fa46	0
2023-05-22T18:30:36.877242Z  INFO db3_node::indexer_impl: Block Id: [109, 140, 245, 196, 79, 154, 227, 194, 110, 20, 22, 220, 105, 225, 207, 18, 154, 81, 198, 38, 169, 176, 160, 82, 200, 45, 207, 2, 97, 55, 65, 50]
2023-05-22T18:30:36.877439Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:36.877513Z  INFO db3_node::indexer_impl: TxId: Lr65yUByk1v+h+ICj+p+355r3tCkaGhEoI8+k3mA3eA=
2023-05-22T18:30:36.878037Z  INFO db3_node::indexer_impl: Pending database mutation size: 5
2023-05-22T18:30:36.878050Z  INFO db3_node::indexer_impl: Add action: Some(UpdateDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: UpdateDocument, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "test_books", documents: [[20, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 74, 97, 99, 107, 0, 0], [18, 0, 0, 0, 18, 97, 103, 101, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0]], ids: ["AQAAAAAAAAAUAAIAAQAAAAAAAAAaAAEABA==", "AQAAAAAAAAAUAAIAAQAAAAAAAAAaAAEACA=="], masks: [DocumentMask { fields: ["name", "age"] }, DocumentMask { fields: ["age", "phones"] }] }], db_desc: "" } into pending queue
2023-05-22T18:30:38.049732Z  INFO db3_node::indexer_impl: Block	28	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x30b8ebe12d870182efaa3c1491bfd3201d3b42491be2acba30887fd3077a54d8	0
2023-05-22T18:30:38.053141Z  INFO db3_node::indexer_impl: Block Id: [203, 179, 169, 211, 163, 102, 18, 223, 153, 217, 53, 106, 86, 81, 212, 253, 226, 58, 247, 32, 184, 135, 17, 66, 72, 43, 141, 7, 115, 153, 75, 45]
2023-05-22T18:30:38.053324Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:39.194572Z  INFO db3_node::indexer_impl: Block	29	0xc659c38601e70e88871fbba7ba1a1ec81a463d7bf788b16976daf52574b5e25a	0x30b8ebe12d870182efaa3c1491bfd3201d3b42491be2acba30887fd3077a54d8	0
2023-05-22T18:30:39.197069Z  INFO db3_node::indexer_impl: Block Id: [57, 80, 194, 126, 102, 232, 159, 123, 209, 151, 34, 183, 106, 238, 190, 145, 17, 168, 2, 193, 155, 244, 211, 254, 115, 35, 14, 4, 65, 143, 108, 182]
2023-05-22T18:30:39.197247Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:39.197324Z  INFO db3_node::indexer_impl: TxId: 9EQwmF7OUBuZFlXy6xqua9aMfaHALIr8tRZ0Zn3kyGA=
2023-05-22T18:30:39.197822Z  INFO db3_node::indexer_impl: Pending database mutation size: 6
2023-05-22T18:30:39.197835Z  INFO db3_node::indexer_impl: Add action: Some(DeleteDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: DeleteDocument, db_address: [130, 231, 50, 61, 60, 40, 202, 150, 229, 130, 37, 139, 82, 27, 44, 93, 53, 34, 111, 26], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "test_books", documents: [], ids: ["AQAAAAAAAAAUAAIAAQAAAAAAAAAaAAEAAA=="], masks: [] }], db_desc: "" } into pending queue
2023-05-22T18:30:40.357065Z  INFO db3_node::indexer_impl: Block	30	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x0bdd765ad30b9b6c615601a89393614d900ee5b4ed0dd79ee77cebcee07dcdc2	0
2023-05-22T18:30:40.359195Z  INFO db3_node::indexer_impl: Block Id: [194, 155, 104, 169, 173, 4, 77, 218, 239, 215, 202, 255, 127, 87, 56, 89, 43, 183, 150, 192, 145, 112, 15, 46, 205, 250, 32, 191, 100, 34, 182, 178]
2023-05-22T18:30:40.359324Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:41.662018Z  INFO db3_node::indexer_impl: Block	31	0xac694f66de9c9cc30387978bcba71f3638e614355265310b915650ac3c67239d	0x0bdd765ad30b9b6c615601a89393614d900ee5b4ed0dd79ee77cebcee07dcdc2	0
2023-05-22T18:30:41.664083Z  INFO db3_node::indexer_impl: Block Id: [220, 94, 37, 21, 255, 128, 239, 3, 137, 87, 131, 228, 39, 229, 113, 247, 142, 205, 160, 156, 97, 184, 69, 128, 145, 11, 196, 97, 253, 68, 34, 22]
2023-05-22T18:30:41.664217Z  INFO db3_node::indexer_impl: Block transaction size: 1
2023-05-22T18:30:41.664264Z  INFO db3_node::indexer_impl: TxId: kRoemmVwsWiP0bZdNciGORd61VngeC79RCD52vR2W/4=
2023-05-22T18:30:41.664495Z  INFO db3_node::indexer_impl: Pending database mutation size: 7
2023-05-22T18:30:41.664506Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:42.824499Z  INFO db3_node::indexer_impl: Block	32	0xe3eccf2b0d9855862443465ad4274da95a93f300c6ca60e16aa57f4923bb0d5b	0x6b8f7de5051683accec8517f9aba5a66ce70ef4c7481e6af517ebabaf9514772	0
2023-05-22T18:30:42.826680Z  INFO db3_node::indexer_impl: Block Id: [198, 197, 109, 48, 71, 142, 197, 212, 177, 148, 99, 34, 202, 244, 230, 190, 127, 170, 194, 212, 122, 220, 40, 146, 50, 182, 172, 233, 8, 112, 222, 83]
2023-05-22T18:30:42.826848Z  INFO db3_node::indexer_impl: Block transaction size: 5
2023-05-22T18:30:42.826894Z  INFO db3_node::indexer_impl: TxId: aZrX8Q68VNa09OIWqV2Ob/0UFInWFsDi3hemFBZzpsQ=
2023-05-22T18:30:42.827118Z  INFO db3_node::indexer_impl: Pending database mutation size: 8
2023-05-22T18:30:42.827129Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:42.827164Z  INFO db3_node::indexer_impl: TxId: 55CNuKQ+1f2Hz5jhkVdUYTmCbFGBWCIoT3adfk2mz+A=
2023-05-22T18:30:42.827361Z  INFO db3_node::indexer_impl: Pending database mutation size: 9
2023-05-22T18:30:42.827371Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:42.827400Z  INFO db3_node::indexer_impl: TxId: nn79bH5Q8xkWCJrkNMW6TVEcgsHZZXYV0nsOl8CRvZ4=
2023-05-22T18:30:42.827599Z  INFO db3_node::indexer_impl: Pending database mutation size: 10
2023-05-22T18:30:42.827610Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:42.827651Z  INFO db3_node::indexer_impl: TxId: /UkLZsH/Rqg9xbCcf4gNVMdGocb7QC3ba06AR65ZsnM=
2023-05-22T18:30:42.828043Z  INFO db3_node::indexer_impl: Pending database mutation size: 11
2023-05-22T18:30:42.828054Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:42.828088Z  INFO db3_node::indexer_impl: TxId: VmO2SZrPxYfh5c6h1NqRAIEvA8cTJARV0kyvH05l0gg=
2023-05-22T18:30:42.828290Z  INFO db3_node::indexer_impl: Skip MintCreditsPayload
2023-05-22T18:30:43.971174Z  INFO db3_node::indexer_impl: Block	33	0x66be0593ef0e165a8fb032224b88c648a6c4af4e2ddd56f7803c19052f2dcdad	0xb8da9667f9adccc01804927f18550ea02ef4585278fb162ec3e2aa11a5ae0396	0
2023-05-22T18:30:43.973485Z  INFO db3_node::indexer_impl: Block Id: [61, 203, 138, 88, 102, 155, 119, 249, 241, 118, 185, 122, 55, 191, 56, 212, 43, 203, 26, 125, 225, 141, 229, 157, 106, 178, 8, 79, 64, 236, 177, 143]
2023-05-22T18:30:43.973697Z  INFO db3_node::indexer_impl: Block transaction size: 7
2023-05-22T18:30:43.973760Z  INFO db3_node::indexer_impl: TxId: FoJxLbKX0Sfq4BFpaJtTa0+op0CHTTda4uZmWNZobz0=
2023-05-22T18:30:43.973999Z  INFO db3_node::indexer_impl: Pending database mutation size: 12
2023-05-22T18:30:43.974010Z  INFO db3_node::indexer_impl: Add action: Some(AddCollection), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddCollection, db_address: [183, 130, 66, 65, 13, 128, 103, 189, 152, 190, 253, 210, 104, 157, 32, 237, 124, 220, 196, 11], collection_mutations: [CollectionMutation { index: [Index { name: "idx1", id: 1, fields: [IndexField { field_path: "name", value_mode: Some(Order(Ascending)) }] }], collection_name: "collection1" }], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:43.974068Z  INFO db3_node::indexer_impl: TxId: saG1Gcvx7+Z8r7kT1u1yVfPgwyNf+X7/hWa6LsuCbjs=
2023-05-22T18:30:43.974491Z  INFO db3_node::indexer_impl: Pending database mutation size: 13
2023-05-22T18:30:43.974503Z  INFO db3_node::indexer_impl: Add action: Some(AddCollection), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddCollection, db_address: [227, 238, 124, 101, 232, 71, 119, 41, 227, 167, 171, 242, 193, 241, 240, 72, 162, 17, 185, 240], collection_mutations: [CollectionMutation { index: [Index { name: "idx1", id: 1, fields: [IndexField { field_path: "name", value_mode: Some(Order(Ascending)) }] }], collection_name: "collection1" }], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:43.974545Z  INFO db3_node::indexer_impl: TxId: /plhzHSQgR2VdxfIWVxUeIm0khScBuPFREK8xpF7vuU=
2023-05-22T18:30:43.975020Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:43.975057Z  INFO db3_node::indexer_impl: TxId: MzzTqCXzzz0ijMBxky2STkNpEMyPurSRelkGH2HozIM=
2023-05-22T18:30:43.975471Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:43.975512Z  INFO db3_node::indexer_impl: TxId: eH8w0lEmwLUOIMZe1YEw42aMSw6MUoTlysl8eAW3c5E=
2023-05-22T18:30:43.975844Z  INFO db3_node::indexer_impl: Pending database mutation size: 14
2023-05-22T18:30:43.975855Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:43.975898Z  INFO db3_node::indexer_impl: TxId: DlkEYGnfaik/+aBR7BMvYOE+yzt1rrU/9dHduJeNynI=
2023-05-22T18:30:43.976229Z  INFO db3_node::indexer_impl: Pending database mutation size: 15
2023-05-22T18:30:43.976240Z  INFO db3_node::indexer_impl: Add action: Some(CreateDb), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: CreateDb, db_address: [], collection_mutations: [], document_mutations: [], db_desc: "" } into pending queue
2023-05-22T18:30:43.976273Z  INFO db3_node::indexer_impl: TxId: 67G3PMkczJ39E44ds6NSkUfYgXGaKKwUVN7AubP1er0=
2023-05-22T18:30:43.976466Z  INFO db3_node::indexer_impl: Skip MintCreditsPayload
2023-05-22T18:30:45.118579Z  INFO db3_node::indexer_impl: Block	34	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x19c9de346aae8fe71e8e402cd0fccaa4000e5203721ec459195da9a218816f91	0
2023-05-22T18:30:45.121941Z  INFO db3_node::indexer_impl: Block Id: [207, 172, 75, 214, 172, 197, 206, 161, 26, 76, 174, 50, 59, 76, 45, 71, 28, 74, 32, 215, 208, 49, 245, 24, 147, 121, 247, 119, 98, 82, 240, 159]
2023-05-22T18:30:45.122128Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:46.269672Z  INFO db3_node::indexer_impl: Block	35	0xc4b9e18354746bde4edd2684acadbba536d7733c43fe918f76344f597fee035f	0x19c9de346aae8fe71e8e402cd0fccaa4000e5203721ec459195da9a218816f91	0
2023-05-22T18:30:46.272112Z  INFO db3_node::indexer_impl: Block Id: [222, 26, 116, 203, 135, 104, 128, 176, 180, 11, 190, 151, 208, 152, 69, 84, 5, 76, 102, 140, 249, 176, 238, 139, 78, 120, 49, 65, 226, 169, 30, 47]
2023-05-22T18:30:46.272347Z  INFO db3_node::indexer_impl: Block transaction size: 4
2023-05-22T18:30:46.272417Z  INFO db3_node::indexer_impl: TxId: 656+E6e2Qo34JLDLbL9Jw0vmhDoriGOEmjVOGqILzbo=
2023-05-22T18:30:46.272665Z  INFO db3_node::indexer_impl: Pending database mutation size: 16
2023-05-22T18:30:46.272676Z  INFO db3_node::indexer_impl: Add action: Some(AddDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddDocument, db_address: [183, 130, 66, 65, 13, 128, 103, 189, 152, 190, 253, 210, 104, 157, 32, 237, 124, 220, 196, 11], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "collection1", documents: [[88, 0, 0, 0, 2, 110, 97, 109, 101, 0, 9, 0, 0, 0, 74, 111, 104, 110, 32, 68, 111, 101, 0, 18, 97, 103, 101, 0, 43, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 77, 105, 107, 101, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 45, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0]], ids: [], masks: [] }], db_desc: "" } into pending queue
2023-05-22T18:30:46.272861Z  INFO db3_node::indexer_impl: TxId: OAwe7arSYYgjZ3MHZRZKYQDD6Uiyujrow/Rq4TncpaM=
2023-05-22T18:30:46.273388Z  INFO db3_node::indexer_impl: Pending database mutation size: 17
2023-05-22T18:30:46.273401Z  INFO db3_node::indexer_impl: Add action: Some(AddDocument), mutation : DatabaseMutation { meta: Some(BroadcastMeta { nonce:<PHONE_NUMBER>, chain_id: DevNet, chain_role: StorageShardChain }), action: AddDocument, db_address: [227, 238, 124, 101, 232, 71, 119, 41, 227, 167, 171, 242, 193, 241, 240, 72, 162, 17, 185, 240], collection_mutations: [], document_mutations: [DocumentMutation { collection_name: "collection1", documents: [[88, 0, 0, 0, 2, 110, 97, 109, 101, 0, 9, 0, 0, 0, 74, 111, 104, 110, 32, 68, 111, 101, 0, 18, 97, 103, 101, 0, 43, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 77, 105, 107, 101, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 44, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0], [84, 0, 0, 0, 2, 110, 97, 109, 101, 0, 5, 0, 0, 0, 66, 105, 108, 108, 0, 18, 97, 103, 101, 0, 45, 0, 0, 0, 0, 0, 0, 0, 4, 112, 104, 111, 110, 101, 115, 0, 43, 0, 0, 0, 2, 48, 0, 12, 0, 0, 0, 43, 52, 52, 32, 49, 50, 51, 52, 53, 54, 55, 0, 2, 49, 0, 12, 0, 0, 0, 43, 52, 52, 32, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0]], ids: [], masks: [] }], db_desc: "" } into pending queue
2023-05-22T18:30:46.273505Z  INFO db3_node::indexer_impl: TxId: KNgDLbPmL6IUflOeCEWijd0Pxlx0jQSeuSgYpZF76Fw=
2023-05-22T18:30:46.273953Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:46.274001Z  INFO db3_node::indexer_impl: TxId: EPAqVsFC56NESWGcapCjDzbTiOm+bdVXKf9NeK53hlM=
2023-05-22T18:30:46.274432Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:47.432668Z  INFO db3_node::indexer_impl: Block	36	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x9b085e5f83d494fbeca1404a587a13282eddfde66d4adb7320ad83f6b3f47053	0
2023-05-22T18:30:47.434697Z  INFO db3_node::indexer_impl: Block Id: [247, 75, 230, 159, 53, 48, 103, 138, 32, 170, 119, 244, 70, 44, 24, 78, 158, 89, 224, 77, 98, 131, 51, 232, 106, 109, 50, 168, 195, 187, 2, 186]
2023-05-22T18:30:47.434828Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:48.585039Z  INFO db3_node::indexer_impl: Block	37	0xa30127851bd9b2d95abeca3b562bdbb7e90249043941fcc52bc5e67b6e6c9a23	0x9b085e5f83d494fbeca1404a587a13282eddfde66d4adb7320ad83f6b3f47053	0
2023-05-22T18:30:48.587239Z  INFO db3_node::indexer_impl: Block Id: [46, 147, 40, 205, 246, 235, 134, 90, 232, 59, 47, 134, 194, 116, 25, 173, 170, 98, 188, 255, 44, 149, 30, 49, 40, 7, 218, 71, 18, 139, 96, 94]
2023-05-22T18:30:48.587401Z  INFO db3_node::indexer_impl: Block transaction size: 2
2023-05-22T18:30:48.587466Z  INFO db3_node::indexer_impl: TxId: ZaTdOQQmjzGqBi6+WZwyR10qfS66A64/F4rLgD6cM20=
2023-05-22T18:30:48.587922Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:48.587959Z  INFO db3_node::indexer_impl: TxId: o5tku43PSzzqo6ZnuX8N78wkUKQ6Qz/yLuM51LV77hk=
2023-05-22T18:30:48.588381Z  INFO db3_node::indexer_impl: Skip QuerySessionPayload
2023-05-22T18:30:49.766578Z  INFO db3_node::indexer_impl: Block	38	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:49.768733Z  INFO db3_node::indexer_impl: Block Id: [109, 160, 217, 214, 170, 170, 167, 115, 120, 45, 80, 179, 149, 242, 67, 56, 50, 62, 63, 42, 187, 86, 93, 240, 144, 136, 251, 112, 182, 146, 187, 64]
2023-05-22T18:30:49.768948Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:50.892587Z  INFO db3_node::indexer_impl: Block	39	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:50.895769Z  INFO db3_node::indexer_impl: Block Id: [186, 195, 12, 252, 35, 77, 214, 39, 167, 213, 118, 31, 27, 213, 86, 174, 91, 165, 115, 61, 11, 112, 234, 249, 106, 236, 66, 250, 57, 69, 129, 20]
2023-05-22T18:30:50.896001Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:52.055782Z  INFO db3_node::indexer_impl: Block	40	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:52.058924Z  INFO db3_node::indexer_impl: Block Id: [115, 216, 113, 179, 193, 188, 116, 26, 241, 251, 248, 224, 165, 4, 30, 186, 127, 98, 171, 211, 145, 179, 158, 240, 30, 18, 243, 185, 99, 17, 218, 224]
2023-05-22T18:30:52.059136Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:53.246354Z  INFO db3_node::indexer_impl: Block	41	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:53.249669Z  INFO db3_node::indexer_impl: Block Id: [208, 206, 12, 216, 65, 187, 65, 222, 93, 129, 92, 146, 135, 174, 56, 248, 14, 10, 91, 13, 97, 79, 144, 37, 33, 51, 69, 102, 194, 42, 91, 74]
2023-05-22T18:30:53.249860Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:54.374695Z  INFO db3_node::indexer_impl: Block	42	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:54.377910Z  INFO db3_node::indexer_impl: Block Id: [124, 81, 160, 216, 33, 153, 8, 8, 130, 140, 160, 50, 49, 31, 179, 73, 109, 27, 105, 248, 149, 204, 44, 69, 53, 94, 177, 245, 127, 185, 68, 88]
2023-05-22T18:30:54.378095Z  INFO db3_node::indexer_impl: Block transaction size: 0
2023-05-22T18:30:55.588968Z  INFO db3_node::indexer_impl: Block	43	0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855	0x31f5f86fa1f40be0a324b4db903b74f3b20d430aeeb1461eb47c78f7ec12fe4d	0
2023-05-22T18:30:55.592215Z  INFO db3_node::indexer_impl: Block Id: [55, 40, 88, 40, 111, 124, 252, 113, 98, 117, 72, 23, 213, 168, 253, 62, 91, 144, 13, 88, 131, 17, 248, 216, 236, 181, 134, 73, 159, 12, 52, 1]
2023-05-22T18:30:55.592399Z  INFO db3_node::indexer_impl: Block transaction size: 0


Migrate from bower to npm

Hi! Great job with this addon :)
I was wondering if you guys are thinking about migrating bower packages to npm (as all the packages exist in npm and bower is getting deprecated). If it makes sense, I can help with that.
Hope to hear something from you

Nope, not yet, we had some problems and it got stuck. I might have to get back at it to completely remove bower :/


Inverted colour?

I have built three av boards now and all appear to have inverted colours resulting in a grey screen with shadowed graphics, audio works fine,
If I take the rgbs feed from the IO board into my GBS-C everything displays as normal.
At first I thought I had just built the unit wrong but after building two more and them also having the same issues I know now that's not the case.
Do you have any suggestions?

No clue,  it would like something might be connected wrong.  Make sure your sockets are on correctly and the signals are going to the proper places.

I tried this too by individually switching the rgb lines but nothing displays unless sync is connected but again it looks the same...I switched out my scart to a composite lead and got the same result but it was flickering .I am running through a scart to HDMI converter could this cause an issue?On 3 Apr 2022 13:57, TianFeng @.***> wrote:
No clue,  it would like something might be connected wrong.  Make sure your sockets are on correctly and the signals are going to the proper places.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
On 3 Apr 2022 13:57, TianFeng @.> wrote:
No clue,  it would like something might be connected wrong.  Make sure your sockets are on correctly and the signals are going to the proper places.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
On 3 Apr 2022 13:57, TianFeng @.> wrote:
No clue,  it would like something might be connected wrong.  Make sure your sockets are on correctly and the signals are going to the proper places.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

There is no composite from this circut.  It’s just pure rgb.  The composite sync is 75 ohm on pin 4 and ttl on pin 5 following the standard for mini 9 din and hd retrovision cables. Not sure what else it could be.  It’s a pretty simple circuit. The scart to hdmi is likely the issue.  You can msg avram on twitter and see if he has any ideas.

Well I'm happy to confirm the HDMI converter was the issue,After digging around I was able to pull out an only TV with a Scart socket and faster connecting directly to this I was greeted with a perfect picture 😁...This is the same for al three of the boards I have built (I knew I had built them correctly ☺) I'll just build a lead for my GBS-C now and ditch the HDMI converter.Thanks for your helpOn 3 Apr 2022 15:49, TianFeng @.***> wrote:
There is no composite from this circut.  It’s just pure rgb.  The composite sync is 75 ohm on pin 4 and ttl on pin 5 following the standard for mini 9 din and hd retrovision cables. Not sure what else it could be.  It’s a pretty simple circuit. The scart to hdmi is likely the issue.  You can msg avram on twitter and see if he has any ideas.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Awesome.  That’s good news.  Lots of people have used the gbsc with it so it would be a great combo. Have fun.

Is there any way to also obtain the composite signal in this circuit? I would love to get both forms of video signal.


Add initial value selector

This seemed like an important missing selector. While a user of redux-form will usually have access to the initial values they passed in one way or another, exposing a selector for them can make it easier to hook into redux-form with epics and sagas and keep business logic out of the component.
I'd be happy to describe a specific use case if desired.

Current coverage is 100% (diff: 100%)

Merging #2460 into master will not change coverage

@@           master   #2460   diff @@
=====================================
  Files          65      66     +1
  Lines        1322    1325     +3
  Methods         0       0
  Messages        0       0
  Branches        0       0
=====================================
+ Hits         1322    1325     +3
  Misses          0       0
  Partials        0       0

Powered by Codecov. Last update d3f5146...08d9589

Released as v6.5.0.


Why I can't use .reply_to_comments

[ ] Searched the bugtracker for similar issues including closed ones

Purpose of your issue?

[ ] Bug report (encountered problems/errors)
[ ] Feature request (request for a new functionality)
[+ ] Question
[ ] Other

The following sections requests more details for particular types of issues, you can remove any section (the contents between the triple ---) not applicable to your issue.

For a bug report, you must include the Python version used, code that will reproduce the error, and the error log/traceback.
Paste the output of python -V here:
Code:
# Example code that will produce the error reported
from instabot import Bot

bot = Bot()
bot.reply_to_comments()

Error/Debug Log:
AttributeError: 'Bot' object has no attribute 'reply_to_comments'

Describe your issue
I can't use bot.reply_to_comments() function. Help please

have you updated the instabot?
pip install -U instabot


OSS Project URL Errors

The following projects have issues with their project URLs (both 404):

poolfish-xyz
nested

#65


client secrets must be base64 encoded in --no-db mode

Using the SQL code for --no-db mode exposed the fact that the SQL code assumes that client secrets are base64 decodable: https://github.com/coreos/dex/blob/f51125f55538c8fc5a3ad1e780296fd505fb948d/db/client.go#L206
Is there anyway we can get around this?

Client secrets no longer have encoding issuers


Linter

We need to set up eslint to have to enforce a certain code style.
Why? It will help us code in lots of ways. First of all, it will help by having all our quotes the same, it will help by enforcing spaces between certain items such as if () vs if() ect, it will help with indentation it will indent the code so we will all have the same indentation.
Lastly it helps with showing what has exactly in a commit. If someone makes a commit with no longer then it could make it look like the person changed something when they really didn't they just saved the file.
If we lint the file all files will have the same indetation, spacing, and code style. It's also good practice to use a linter

I finished the linter please look at my pull request and see if you like the rules


Brew upgrade warning

When I run brew upgrade I get the following warning:
$ brew upgrade
Warning: Calling bottle :unneeded is deprecated! There is no replacement.
Please report this issue to the ko1nksm/getoptions tap (not Homebrew/brew or Homebrew/core):
  /opt/homebrew/Library/Taps/ko1nksm/homebrew-getoptions/getoptions.rb:7

Fixed in https://github.com/ko1nksm/homebrew-getoptions/pull/1


host: Fix initializing the TUF client

Calling tuf.FileLocalStore creates the local TUF db, so if a method after that fails then just checking for its's existence isn't enough to determine whether it needs initializing.
Instead we should check for ErrNoRootKeys from the TUF client to determine whether it needs initializing.
This was causing installations to fail in #1143 after an initial failure due to a network timeout fetching the remote root.json.

LGTM


Update layout.html for boostrap 5.2.2 css

Thanks! Any idea how I can deduplicate the version number?

I can see if I can look into a solution but I don't have one off the top of my head. I think the bootstrap included is using the latest version but maybe it can be defined explicitly and then that explicit value can be inserted dynamically somehow. More research is needed when I'm not doing my day job. :-)


repeated renames do not work

Tab Modifier version
Browser: Chrome
Extension version: 0.22.0
Expected behavior
When "rename tab" is used multiple times on the same tab, the last name should stick.
Actual behavior
The first title is the one used.
Steps to reproduce the behavior

Rename tab to "tab1"
Rename tab to "tab2"
The tab refreshes and the name is still tab1... looks like renames should delete the conflicting rules for the same url

Hello,
Quoted from the Help page:

The order of your rules is important, if an URL triggers more than one rule, the first one will be applied. You can reorder your rules anyway.

Dear all,
I think there is something here we can improve.
If you rename a tab from the context menu option and then repeat this very same procedure, in my opinion, Tab Modifier should disregard the first renaming rule and only apply the second one.
What do you think?
Yours,
Robert

I think the current behavior is OK, small extra logics are not necessary at this point.
 :)
"Take control of your tabs" 💪
Regards

Hi @sylouuu ,
I think it's inconvenient since usually we will usually rename a tab two or three times. For example, if I have typo and I need to fix, I will rename the tab again through context menu.
However, I have to click every tab rule in TabModifier since the name are all starting will "Rule created from right-click ..." and I can't search rule by url.
I think that keeping url unique in all ruleset is important, or having a button in TabModifier to remove all duplicated rule (this is more customizable and is compatible to older version).
Thanks.

Hi @orschiro  @sershe ,
I have made a fork version to achieve the purpose.  See https://github.com/imageslr/chrome-tab-modifier .
Please try it!
Yours


Support more types for data logging in LighterLogger

Description
Currently, only image and single scalar logging is possible. Implement other types as we work on different projects and update the list below:

[ ] Multiple scalars
[ ] Histograms
[ ] Strings
[ ] Audio
[ ] Video
[ ] ... more to add

The idea is to do these incrementally as we do projects with such data.
References:

Tensorboard (all the add_* methods)
Weights & Biases

Current update status:

[ ] Multiple scalars
[x] Histograms
[ ] Strings
[ ] Audio
[ ] Video
[ ] ... more to add

@ibro45 Another thing that would be nice to support is mask-images.
https://docs.wandb.ai/ref/python/data-types/imagemask
This probably needs some thinking to fit into our structure of logging right now


JSON file destroyed on save

VSCode Version: Code 1.5.2 (66f37fd2a99eb9d628dd374d81d78835b410c39b, 2016-09-12T13:05:12.065Z)
OS Version: Darwin x64 15.6.0

Steps to Reproduce: difficult -- seems sporadic -- doesn't always do this with the same json content:
create a json file with the following content:
{
  "vertical": "apps",
  "device": "responsive",
  "head": {
    "css": [
      "../../../global/apps/css/apps.css",
      "../../../global/responsive/css/owl.carousel.css",
      "../../../global/responsive/css/cms.css"
    ],
    "js": []
  },
  "footer": {
    "js": [
      "../../../global/responsive/js/vendors/owl.carousel.js",
      "../../../global/responsive/js/vendors/owl.carousel.js",
      "../../../global/responsive/js/vendors/owl.carousel.js"
    ]
  }
}

When I save it, my content gets converted to:
{
  "vertical": "apps",
  "device": "responsive",
  "head": {
    ,: [];
  }

  "footer": {
    ,: ;
  }
}

@Nemesarial
I wonder if this issue is being caused by an installed extension. Can you try to run VS Code without extensions? From the command line, execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

The built-in JSON support does not make changes on save. Also when I test format with the given file all seems fine. Closing.


RegEx leaks memory when search() is called.

Godot version
v3.3.stable.mono
System information
Windows 10
Issue description
The RegEx class leaks memory whenever RegEx.search() is called.
Steps to reproduce

Create a RegEx object and use compile() to configure the object with a regular expression pattern.
Then in a _process() loop, call search() with some string.
Open up the debugger and monitor the static memory usage.
The static memory usage rises over time.

Code used in reproduction project:

Monitor indicating memory leak:

Even if the RegEx object goes out of scope, the search() function will still have leaked memory:

Calling RegEx.clear() does not solve the memory leak either.
Minimal reproduction project
Regex Memory Leaking.zip

I cannot reproduce this leak on ubuntu.
RegEx is a Reference which is automatically cleared when it is not used.
Are you sure that this code produce leak?(I tested it in both mono and gdscript version)

I cannot reproduce this leak on ubuntu.
RegEx is a Reference which is automatically cleared when it is not used.
Are you sure that this code produce leak?(I tested it in both mono and gdscript version)

Maybe this is a platform-dependent bug? I've run the test project on a fresh installation of Godot and the issue still persists.
Monitor of newly downloaded Godot editor running in self contained mode:

Maybe that's monitor's issue, something like memnew/memdelete mismatch?
For reference, Godot keeps track of memory allocations via custom memnew/memdelete macros. If thirdparty code (pcre2) frees memory via free() function and Godot allocates with memnew() and not malloc(), it may appear that memory keeps growing. But that's just an assumption.

I tested this on Wine and leak is visible here

Hello all,
I tested this RegEx memory leak, because I used Godot for app which heavily use RegEx searching and I think fix for this memory leak is pretty easy. In regex.cpp match context is not freed before conditional exit (but only for case when sizeof(CharType) == 2):
(...)
if (sizeof(CharType) == 2) {
		pcre2_code_16 *c = (pcre2_code_16 *)code;
		pcre2_general_context_16 *gctx = (pcre2_general_context_16 *)general_ctx;
		pcre2_match_context_16 *mctx = pcre2_match_context_create_16(gctx);
		PCRE2_SPTR16 s = (PCRE2_SPTR16)p_subject.c_str();

		pcre2_match_data_16 *match = pcre2_match_data_create_from_pattern_16(c, gctx);

		int res = pcre2_match_16(c, s, length, p_offset, 0, match, mctx);

		if (res < 0) {
			pcre2_match_data_free_16(match);
			pcre2_match_context_free_16(mctx);  //This is missing
			return nullptr;
		}

		uint32_t size = pcre2_get_ovector_count_16(match);
		PCRE2_SIZE *ovector = pcre2_get_ovector_pointer_16(match);

		result->data.resize(size);

		for (uint32_t i = 0; i < size; i++) {
			result->data.write[i].start = ovector[i * 2];
			result->data.write[i].end = ovector[i * 2 + 1];
		}

		pcre2_match_data_free_16(match);
		pcre2_match_context_free_16(mctx);

	} else {
(...)

I tested this myself on Windows 10 64 bit with VisualStudio 2019 and without above fix I was able to reproduce issue. VisualStudio showed that leaked memory is from pcre2_match_context_create_16 and with above fix issue doesn't reproduce for me. Maybe this will be helpful for someone.

If you want you can make a Pull Request with your proposed fix. See PR workflow for details if you're not used to using Git / doing PRs on GitHub.

Fixed by #56763 (and for master it was fixed a while ago when refactoring String).


Address CG issue in SLES 12 image

SLES 12 got left behind when we fixed dotnet/arcade#13186 in !32218. We need to continue work to

Find a way to bump the offending package version on the legacy machine
Remove this platform from our queues if we're unable to complete (1)
Get an exception for the CG issue — after we've exhausted other options

Release Note Category

[x] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Install Python 3.6 on the SLES 12 image. This allowed us to increase the installed Python cryptography and
pyopenssl versions in our sles.12.* queues to to 41.0.1 and 23.2.0, respectively. Due to restrictions in our infrastructure, this change will be reflected on https://helix.dot.net as >=39.0.1 and >=23.0.0 rather than the exact versions installed.
See dotnet/arcade#13186 for a similar but much more broad change affecting the cryptography and pyopenssl versions installed in our images.

!32479 fix has rolled out


discovery/gossiper: check ErrNoGraphEdgesFound for

restransmitStaleChannels
In this commit, we add an additional error check for
ErrNoGraphEdgesFound when restransmitting stale channels during the
gossiper's startup. We do this to prevent benign log messages as we'll
log that we were unable to retransmit stale channels when we didn't have
any channels in our graph to begin with.
This fixes the log message:
DISC: unable to rebroadcast stale channels: error while retrieving outgoing channels: no graph edges exist

discovery/gossiper.go:1386::error: unreachable code (vet)


chore: reduce test spark logging

close #311

It seems that I can't remove completly the logs during the test phase. At least, there is no logs in between anymore.


debugging ipython kernel in jupyter notebook - requesting visualstudio_py_debugger.py

Hello PTVS team,
I am able to debug into my python code called from ipython kernel using import statement. However it one point it requests to Find Source for visualstudio_py_debugger.py in the same folder as the notebook file is located.
This is perhaps because it has to step into function passed as argument to another function?

Python 2.7 interactive window [PTVS 2.2.40119.00-14.0]
Type $help for a list of commands.

1+1
Out[1]: 2
Python 2.7.9 |Continuum Analytics, Inc.| (default, Dec 12 2014, 14:56:54) [MSC v.1500 32 bit (Intel)]


CNSMR-2878: Assign Mark Bates instead of Andreea for CRP tickets

Ticket: https://babylonpartners.atlassian.net/browse/CNSMR-2878
Why?
Andreea asked to be replaced by Mark Bates as accountable person for all CRP tickets except Telus
How?
Update the username in the code from Andreea to Mark
PR checklist

[x] I've assigned this PR to myself

With :heart:

@mr-v How come did you manage to merge the PR while it was still waiting for CODEOWNERS from at least one person from the ios-bot-owners GitHub group to be able to be merged? 🤔

Honestly, it looked like a bug that iOS-PullAssigner and iOS-Bot-Owners were still assigned (instead of people being assigned by pull panda). Got two things mixed up - should have double-checked, sorry.

It is definitely intentional, and configured properly. And it is actually assigned by Pull Assigners.
On our Bots repos, our PullAssigners is configured to assign both those teams, because we want people from the team to gradually learn to review the bot's codebase, but we still require that at least one of us bot owners (Ilya, David or Me) review every PR on the bot and validate it and only merge those once we have one of us give our approval, to avoid that those PRs gets only approved by people that are less familiar with Vapor and the Bot code.
It's ok for this time because this PR was trivial, but please don't use your admin privileges on the Bot PRs in the future before checking with us first.


initialize all components

In this project I implemented:

Add 2 routes in my application, each should render a page component.
Create component that contains individual book state, as well as a button to delete the book.
Create component that contains a list to renders individual books.
Create component that contains a form to create new books.
Create component that contains a navigation to link to the 2 routes you created.

Now I display Books component in Books page and also change the Home page name into Books.


feat: associative_vector rework

Fixes #34
Fixes #35
Fixes #37
Fixes #39
Fixes #40
To make sure the changes are easy to trace, I was going to split this into 3 PRs, because I am used to squash merging. But since it looks like this repo is using rebase merge, I figured I can just lump all changes in to 1 PR.

To make sure the changes are easy to trace, I was going to split this into 3 PRs, because I am used to squash merging. But since it looks like this repo is using rebase merge, I figured I can just lump all changes in to 1 PR.

Yes. There is no need to split and keep track of multiple PRs. Especially when all changes are related somehow and there are no competing PRs messing with the same code.

About conventional commits, you can use "test" instead of "feat" for whatever is only related to tests.

types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others.

This array contains a more formal list of the commit types: https://github.com/alandefreitas/cpp-actions/blob/3507d049fa58363fd14aac8dfcf32732e54cc782/create-changelog/create-changelog.py#L87-L101

Right, I will reword my commit titles then.

Man, I have no idea what clang-12 is on about... How is this not a constant expression?
/home/runner/work/small/small/include/small/detail/container/associative_vector.hpp:105:31: error: constexpr variable 'is_comp_tr' must be initialized by a constant expression
        static auto constexpr is_comp_tr = is_transparent_v<Compare>;
                              ^            ~~~~~~~~~~~~~~~~~~~~~~~~~

Meanwhile on my local machine with clang-14, there is a completely different error... And it also does not make sense.
In file included from /path/to/small/test/unit/small_set.cpp:8:
In file included from /path/to/small/include/small/set.hpp:12:
/path/to/small/include/small/detail/container/associative_vector.hpp:913:51: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
            return std::count_if(begin(), end(), [this, &x](auto const &v) {
                                                  ^

Man, I have no idea what clang-12 is on about... How is this not a constant expression?

It seems like you fixed then. :)

It seems like you fixed it then. :)

Err, if you can call "updating clang to a newer version that doesn't show this warning" fixing it, then yes. :)
Anyways, ready for review now.

THERE we go.

OK... I just tried the reworked small::map with std::shared_ptr as mapped_type in Transmission, now I am consistently getting shared_ptrs that deference deallocated memory... Oh boy

fsanitize output
=================================================================
==808017==ERROR: AddressSanitizer: heap-use-after-free on address 0x508000175a30 at pc 0x000000ec2974 bp 0x7f8c247f7400 sp 0x7f8c247f73f8
READ of size 1 at 0x508000175a30 thread T1
    #0 0xec2973 in int tr_compare_3way<tr_address_type>(tr_address_type const&, tr_address_type const&) /path/to/Transmission/libtransmission/../libtransmission/utils.h:165:16
    #1 0xebda39 in tr_address::compare(tr_address const&) const /path/to/Transmission/libtransmission/net.cc:559:26
    #2 0xde00da in tr_address::operator<(tr_address const&) const /path/to/Transmission/libtransmission/../libtransmission/net.h:220:22
    #3 0x10a9892 in int tr_compare_3way<tr_address>(tr_address const&, tr_address const&) /path/to/Transmission/libtransmission/../libtransmission/utils.h:165:14
    #4 0x10a970d in tr_socket_address::compare(tr_socket_address const&) const /path/to/Transmission/libtransmission/../libtransmission/net.h:313:30
    #5 0xfa103a in tr_socket_address::operator==(tr_socket_address const&) const /path/to/Transmission/libtransmission/../libtransmission/net.h:392:16
    #6 0xf4f355 in (anonymous namespace)::connect_helpers::get_peer_candidates(unsigned long, tr_torrents&, small::vector<std::pair<int, tr_socket_address>, 36ul, std::allocator<std::pair<int, tr_socket_address>>, std::integral_constant<bool, false>, unsigned long, std::ratio<3l, 2l>>&) /path/to/Transmission/libtransmission/peer-mgr.cc:2530:13
    #7 0xf4ab04 in tr_peerMgr::make_new_peer_connections() /path/to/Transmission/libtransmission/peer-mgr.cc:2611:9
    #8 0xf46d70 in tr_peerMgr::reconnect_pulse() /path/to/Transmission/libtransmission/peer-mgr.cc:2303:5
    #9 0xf4beb0 in tr_peerMgr::bandwidth_pulse() /path/to/Transmission/libtransmission/peer-mgr.cc:2343:5
    #10 0x1073172 in tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()::operator()() const /path/to/Transmission/libtransmission/peer-mgr.cc:1084:59
    #11 0x1073103 in void std::__invoke_impl<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>(std::__invoke_other, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
    #12 0x1073013 in std::enable_if<is_invocable_r_v<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>, void>::type std::__invoke_r<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>(tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:111:2
    #13 0x1072c72 in std::_Function_handler<void (), tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:290:9
    #14 0x8757a9 in std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591:9
    #15 0x8755ce in libtransmission::EvTimer::handleTimer() /path/to/Transmission/libtransmission/timer-ev.cc:151:9
    #16 0x87347d in libtransmission::EvTimer::onTimer(int, short, void*) /path/to/Transmission/libtransmission/timer-ev.cc:143:39
    #17 0x1681e9f in event_persist_closure /path/to/Transmission/third-party/libevent/event.c:1623:9
    #18 0x167c431 in event_process_active_single_queue /path/to/Transmission/third-party/libevent/event.c:1682:4
    #19 0x16565e2 in event_process_active /path/to/Transmission/third-party/libevent/event.c:1783:9
    #20 0x164e6ce in event_base_loop /path/to/Transmission/third-party/libevent/event.c:2006:12
    #21 0x135ee4e in tr_session_thread_impl::session_thread_func(event_base*) /path/to/Transmission/libtransmission/session-thread.cc:244:9
    #22 0x1365245 in void std::__invoke_impl<void, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>(std::__invoke_memfun_deref, void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:74:14
    #23 0x1364db1 in std::__invoke_result<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>::type std::__invoke<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>(void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:96:14
    #24 0x1364cd9 in void std::thread::_Invoker<std::tuple<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_thread.h:292:13
    #25 0x1364b1b in std::thread::_Invoker<std::tuple<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>>::operator()() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_thread.h:299:11
    #26 0x13642fe in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>>>::_M_run() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_thread.h:244:13
    #27 0x7f8c296e31e2  (/lib64/libstdc++.so.6+0xe31e2) (BuildId: 43b5fe9c4fe0185772be4b57539be137c14a5c05)
    #28 0x4d9bae in asan_thread_start(void*) asan_interceptors.cpp.o
    #29 0x7f8c294ac896 in start_thread (/lib64/libc.so.6+0x8e896) (BuildId: 7ea8d85df0e89b90c63ac7ed2b3578b2e7728756)
    #30 0x7f8c2953380b in __GI___clone3 (/lib64/libc.so.6+0x11580b) (BuildId: 7ea8d85df0e89b90c63ac7ed2b3578b2e7728756)

0x508000175a30 is located 16 bytes inside of 88-byte region [0x508000175a20,0x508000175a78)
freed by thread T1 here:
    #0 0x51bcc1 in operator delete(void*) (/path/to/Transmission/build_fsanitize_small/daemon/transmission-daemon+0x51bcc1) (BuildId: 353246b98339d123afd5f4e9d4a6394c7e5d451e)
    #1 0x10c0941 in std::__new_allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>::deallocate(std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/new_allocator.h:172:2
    #2 0x10bcfe3 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>>::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>&, std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/alloc_traits.h:517:13
    #3 0x10bcfe3 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>>::~__allocated_ptr() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/allocated_ptr.h:74:4
    #4 0x10bd960 in std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:623:7
    #5 0x7ce497 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:347:8
    #6 0x7cdf8f in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:1071:11
    #7 0x109fbef in std::__shared_ptr<tr_peer_info, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:1524:31
    #8 0xf9dc9b in std::shared_ptr<tr_peer_info>::~shared_ptr() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr.h:175:11
    #9 0x11736ac in tr_peerMsgs::~tr_peerMsgs() /path/to/Transmission/libtransmission/peer-msgs.cc:2100:1
    #10 0x1180bfc in (anonymous namespace)::tr_peerMsgsImpl::~tr_peerMsgsImpl() /path/to/Transmission/libtransmission/peer-msgs.cc:411:5
    #11 0x1180c6b in (anonymous namespace)::tr_peerMsgsImpl::~tr_peerMsgsImpl() /path/to/Transmission/libtransmission/peer-msgs.cc:403:5
    #12 0x1104519 in tr_swarm::remove_peer(tr_peerMsgs*) /path/to/Transmission/libtransmission/peer-mgr.cc:437:9
    #13 0xf6996c in (anonymous namespace)::disconnect_helpers::close_peer(tr_peerMsgs*) /path/to/Transmission/libtransmission/peer-mgr.cc:2165:18
    #14 0xf480f4 in (anonymous namespace)::disconnect_helpers::close_bad_peers(tr_swarm*, long, small::vector<tr_peerMsgs*, 512ul, std::allocator<tr_peerMsgs*>, std::integral_constant<bool, true>, unsigned long, std::ratio<3l, 2l>>&) /path/to/Transmission/libtransmission/peer-mgr.cc:2216:9
    #15 0xf46696 in tr_peerMgr::reconnect_pulse() /path/to/Transmission/libtransmission/peer-mgr.cc:2286:13
    #16 0xf4beb0 in tr_peerMgr::bandwidth_pulse() /path/to/Transmission/libtransmission/peer-mgr.cc:2343:5
    #17 0x1073172 in tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()::operator()() const /path/to/Transmission/libtransmission/peer-mgr.cc:1084:59
    #18 0x1073103 in void std::__invoke_impl<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>(std::__invoke_other, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
    #19 0x1073013 in std::enable_if<is_invocable_r_v<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>, void>::type std::__invoke_r<void, tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&>(tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:111:2
    #20 0x1072c72 in std::_Function_handler<void (), tr_peerMgr::tr_peerMgr(tr_session*, libtransmission::TimerMaker&, tr_torrents&, libtransmission::Blocklists&)::'lambda'()>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:290:9
    #21 0x8757a9 in std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591:9
    #22 0x8755ce in libtransmission::EvTimer::handleTimer() /path/to/Transmission/libtransmission/timer-ev.cc:151:9
    #23 0x87347d in libtransmission::EvTimer::onTimer(int, short, void*) /path/to/Transmission/libtransmission/timer-ev.cc:143:39
    #24 0x1681e9f in event_persist_closure /path/to/Transmission/third-party/libevent/event.c:1623:9
    #25 0x167c431 in event_process_active_single_queue /path/to/Transmission/third-party/libevent/event.c:1682:4
    #26 0x16565e2 in event_process_active /path/to/Transmission/third-party/libevent/event.c:1783:9
    #27 0x164e6ce in event_base_loop /path/to/Transmission/third-party/libevent/event.c:2006:12
    #28 0x135ee4e in tr_session_thread_impl::session_thread_func(event_base*) /path/to/Transmission/libtransmission/session-thread.cc:244:9
    #29 0x1365245 in void std::__invoke_impl<void, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>(std::__invoke_memfun_deref, void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:74:14
    #30 0x1364db1 in std::__invoke_result<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>::type std::__invoke<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>(void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:96:14

previously allocated by thread T1 here:
    #0 0x51b441 in operator new(unsigned long) (/path/to/Transmission/build_fsanitize_small/daemon/transmission-daemon+0x51b441) (BuildId: 353246b98339d123afd5f4e9d4a6394c7e5d451e)
    #1 0x10bd198 in std::__new_allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/new_allocator.h:151:27
    #2 0x10bc752 in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>>::allocate(std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>&, unsigned long) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/alloc_traits.h:482:20
    #3 0x10bc752 in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>> std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>>(std::allocator<std::_Sp_counted_ptr_inplace<tr_peer_info, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>>&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/allocated_ptr.h:98:21
    #4 0x10bc18f in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tr_peer_info, std::allocator<void>, tr_socket_address const&, unsigned char const&, tr_peer_from const&>(tr_peer_info*&, std::_Sp_alloc_shared_tag<std::allocator<void>>, tr_socket_address const&, unsigned char const&, tr_peer_from const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:969:19
    #5 0x10bbe00 in std::__shared_ptr<tr_peer_info, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, tr_socket_address const&, unsigned char const&, tr_peer_from const&>(std::_Sp_alloc_shared_tag<std::allocator<void>>, tr_socket_address const&, unsigned char const&, tr_peer_from const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr_base.h:1712:14
    #6 0x10bbabe in std::shared_ptr<tr_peer_info>::shared_ptr<std::allocator<void>, tr_socket_address const&, unsigned char const&, tr_peer_from const&>(std::_Sp_alloc_shared_tag<std::allocator<void>>, tr_socket_address const&, unsigned char const&, tr_peer_from const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr.h:464:4
    #7 0x10a293d in std::shared_ptr<std::enable_if<!is_array<tr_peer_info>::value, tr_peer_info>::type> std::make_shared<tr_peer_info, tr_socket_address const&, unsigned char const&, tr_peer_from const&>(tr_socket_address const&, unsigned char const&, tr_peer_from const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/shared_ptr.h:1009:14
    #8 0xf9d804 in tr_swarm::ensure_info_exists(tr_socket_address const&, unsigned char, tr_peer_from) /path/to/Transmission/libtransmission/peer-mgr.cc:504:58
    #9 0xf35737 in tr_peerMgrAddPex(tr_torrent*, tr_peer_from, tr_pex const*, unsigned long) /path/to/Transmission/libtransmission/peer-mgr.cc:1426:16
    #10 0x128a8a0 in tr_resume::(anonymous namespace)::addPeers(tr_torrent*, unsigned char const*, unsigned long) /path/to/Transmission/libtransmission/resume.cc:65:12
    #11 0x12817b1 in tr_resume::(anonymous namespace)::loadPeers(tr_variant*, tr_torrent*) /path/to/Transmission/libtransmission/resume.cc:76:34
    #12 0x127b236 in tr_resume::(anonymous namespace)::load_from_file(tr_torrent*, tr_torrent::ResumeHelper&, unsigned long) /path/to/Transmission/libtransmission/resume.cc:740:26
    #13 0x1277599 in tr_resume::load(tr_torrent*, tr_torrent::ResumeHelper&, unsigned long, tr_ctor const&) /path/to/Transmission/libtransmission/resume.cc:868:12
    #14 0x8e1ec8 in tr_torrent::init(tr_ctor const&) /path/to/Transmission/libtransmission/torrent.cc:962:18
    #15 0x8ebbc7 in tr_torrentNew(tr_ctor*, tr_torrent**) /path/to/Transmission/libtransmission/torrent.cc:1094:10
    #16 0x742998 in (anonymous namespace)::load_torrents_helpers::session_load_torrents(tr_session*, tr_ctor*, std::promise<unsigned long>*) /path/to/Transmission/libtransmission/session.cc:1446:56
    #17 0x83b7df in void std::__invoke_impl<void, void (*&)(tr_session*, tr_ctor*, std::promise<unsigned long>*), tr_session*&, tr_ctor*&, std::promise<unsigned long>*&>(std::__invoke_other, void (*&)(tr_session*, tr_ctor*, std::promise<unsigned long>*), tr_session*&, tr_ctor*&, std::promise<unsigned long>*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
    #18 0x83b230 in std::__invoke_result<void (*&)(tr_session*, tr_ctor*, std::promise<unsigned long>*), tr_session*&, tr_ctor*&, std::promise<unsigned long>*&>::type std::__invoke<void (*&)(tr_session*, tr_ctor*, std::promise<unsigned long>*), tr_session*&, tr_ctor*&, std::promise<unsigned long>*&>(void (*&)(tr_session*, tr_ctor*, std::promise<unsigned long>*), tr_session*&, tr_ctor*&, std::promise<unsigned long>*&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:96:14
    #19 0x83b09c in void std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>::__call<void, 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/functional:506:11
    #20 0x83abb0 in void std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>::operator()<void>() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/functional:591:17
    #21 0x83aa93 in void std::__invoke_impl<void, std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>&>(std::__invoke_other, std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:61:14
    #22 0x83a983 in std::enable_if<is_invocable_r_v<void, std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>&>, void>::type std::__invoke_r<void, std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>&>(std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/invoke.h:111:2
    #23 0x839ef2 in std::_Function_handler<void (), std::_Bind<void (* (tr_session*, tr_ctor*, std::promise<unsigned long>*))(tr_session*, tr_ctor*, std::promise<unsigned long>*)>>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:290:9
    #24 0x8757a9 in std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591:9
    #25 0x13622bd in tr_session_thread_impl::on_work_available() /path/to/Transmission/libtransmission/session-thread.cc:272:13
    #26 0x135e95d in tr_session_thread_impl::on_work_available_static(int, short, void*) /path/to/Transmission/libtransmission/session-thread.cc:257:54
    #27 0x167cb39 in event_process_active_single_queue /path/to/Transmission/third-party/libevent/event.c:1691:4
    #28 0x16565e2 in event_process_active /path/to/Transmission/third-party/libevent/event.c:1783:9
    #29 0x164e6ce in event_base_loop /path/to/Transmission/third-party/libevent/event.c:2006:12
    #30 0x135ee4e in tr_session_thread_impl::session_thread_func(event_base*) /path/to/Transmission/libtransmission/session-thread.cc:244:9

Thread T1 created by T0 here:
    #0 0x4c30c1 in pthread_create (/path/to/Transmission/build_fsanitize_small/daemon/transmission-daemon+0x4c30c1) (BuildId: 353246b98339d123afd5f4e9d4a6394c7e5d451e)
    #1 0x7f8c296e32b8 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State>>, void (*)()) (/lib64/libstdc++.so.6+0xe32b8) (BuildId: 43b5fe9c4fe0185772be4b57539be137c14a5c05)
    #2 0x135e04d in tr_session_thread_impl::tr_session_thread_impl() /path/to/Transmission/libtransmission/session-thread.cc:155:19
    #3 0x135a147 in std::__detail::_MakeUniq<tr_session_thread_impl>::__single_object std::make_unique<tr_session_thread_impl>() /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/unique_ptr.h:1070:34
    #4 0x1358f8d in tr_session_thread::create() /path/to/Transmission/libtransmission/session-thread.cc:297:12
    #5 0x754664 in tr_session::tr_session(std::basic_string_view<char, std::char_traits<char>>, tr_variant const&) /path/to/Transmission/libtransmission/session.cc:2120:24
    #6 0x724c34 in tr_sessionInit(char const*, bool, tr_variant const&) /path/to/Transmission/libtransmission/session.cc:575:31
    #7 0x526d56 in tr_daemon::start(bool) /path/to/Transmission/daemon/daemon.cc:720:21
    #8 0x662df0 in tr_daemon::spawn(bool, int*, tr_error&) /path/to/Transmission/daemon/daemon-posix.cc:192:18
    #9 0x533367 in main /path/to/Transmission/daemon/daemon.cc:950:42
    #10 0x7f8c29446149 in __libc_start_call_main (/lib64/libc.so.6+0x28149) (BuildId: 7ea8d85df0e89b90c63ac7ed2b3578b2e7728756)
    #11 0x7f8c2944620a in<EMAIL_ADDRESS>(/lib64/libc.so.6+0x2820a) (BuildId: 7ea8d85df0e89b90c63ac7ed2b3578b2e7728756)
    #12 0x43f2a4 in _start (/path/to/Transmission/build_fsanitize_small/daemon/transmission-daemon+0x43f2a4) (BuildId: 353246b98339d123afd5f4e9d4a6394c7e5d451e)

SUMMARY: AddressSanitizer: heap-use-after-free /path/to/Transmission/libtransmission/../libtransmission/utils.h:165:16 in int tr_compare_3way<tr_address_type>(tr_address_type const&, tr_address_type const&)
Shadow bytes around the buggy address:
  0x508000175780: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175800: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175880: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175900: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175980: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
=>0x508000175a00: fa fa fa fa fd fd[fd]fd fd fd fd fd fd fd fd fa
  0x508000175a80: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175b00: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175b80: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175c00: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x508000175c80: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==808017==ABORTING

Err, if you can call "updating clang to a newer version that doesn't show this warning" fixing it, then yes. :)

😆

OK... I just tried the reworked small::map with std::shared_ptr as mapped_type in Transmission, now I am consistently getting shared_ptrs that deference deallocated memory...  The way CI is set up does not scale well.
So do you think this is good to go in the sense that it's better than before and whatever bugs we have were already there before?

Some files have changed enough that you add your name to the copyright :)

So do you think this is good to go in the sense that it's better than before and whatever bugs we have were already there before?

Yes, I think this PR is good to go. I'm not aware of any more bugs within associative_vector.hpp now. I tried to use std::vector as the underlying storage, and it is working fine so far.

Some files have changed enough that you add your name to the copyright :)

Done, is this format ok? be11365

Done, is this format ok? https://github.com/alandefreitas/small/commit/be11365eca480f7437b8dde4c23655ee64a9ff0c

I think it should be something like
// Copyright (c) 2024 Yat Ho<EMAIL_ADDRESS>// Copyright (c) 2021 alandefreitas<EMAIL_ADDRESS>

Yes, I think this PR is good to go. I'm not aware of any more bugs within associative_vector.hpp now. I tried to use std::vector as the underlying storage, and it is working fine so far.

Great. The way the commits are split also looks great.

I think it should be something like

Done 3c06653

That's looking great. Thanks!


Music Transcription with Transformers colab notebook get error AttributeError: module 'orbax.checkpoint' has no attribute 'Checkpointer'

Detail
AttributeError                            Traceback (most recent call last)
 in ()
14 import seqio
15 import t5
---> 16 import t5x
17
18 from mt3 import metrics_utils
2 frames
/content/t5x/init.py in ()
15 """Import API modules."""
16
---> 17 import t5x.adafactor
18 import t5x.checkpoints
19 import t5x.decoding
/content/t5x/adafactor.py in ()
61 import jax.numpy as jnp
62 import numpy as np
---> 63 from t5x import utils
64 from t5x.optimizers import OptimizerDef
65 from t5x.optimizers import OptimizerState
/content/t5x/utils.py in ()
152
153
--> 154 class LegacyCheckpointer(orbax.checkpoint.Checkpointer):
155   """Implementation of Checkpointer interface for T5X.
156
AttributeError: module 'orbax.checkpoint' has no attribute 'Checkpointer'

It seems that because orbax released version 0.0.3 yesterday, the Checkpointer was removed, and there was no error when using orbax version 0.0.2

!pip install orbax==0.0.2

Should be fixed as of #58 (thank you @Saisimon)


Sorry, your request failed. Please report the following request id 3f2da629-760e-476b-8710-bcf5a4672bd9 and try again

Copilot Chat Extension Version:
VS Code Version:
OS Version:
Logs:

Steps to Reproduce:

Dup of https://github.com/microsoft/vscode-copilot-release/issues/2233


Not working for me

It doesn't work for me with Python 3.9 on macOS.
First, the following packages are required:
• pillow
• scikit-image
• tensorflow-transform
but even with that, I get the error 'ModuleNotFoundError: No module named 'tensorflow.tools.graph_transforms'

You need to downgrade your tensorflow version

me too, now work
Traceback (most recent call last):
  File "/Users/51pwn/MyWork/EDSR_Tensorflow/main.py", line 3, in <module>
    import run
  File "/Users/51pwn/MyWork/EDSR_Tensorflow/run.py", line 7, in <module>
    from skimage import io
  File "/Users/51pwn/anaconda3/envs/51pwn4ai/lib/python3.9/site-packages/skimage/__init__.py", line 122, in <module>
    from ._shared import geometry
  File "geometry.pyx", line 1, in init skimage._shared.geometry
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

$ pip list|grep -E "tensorflow|numpy|skimage"
numpy                          1.19.5
tensorflow                     2.5.0
tensorflow-estimator           2.5.0
tensorflow-io-gcs-filesystem   0.32.0
$ python -V
Python 3.9.16


Cannot find module 'unplugin-vue-macros/vite' or its corresponding type declarations VScode

Describe the bug
After installing dependency unplugin-vue-macros and importing in vite.config.ts as docs says
import VueMacros from 'unplugin-vue-macros/vite';

I've got TS error in VSCode:
Cannot find module 'unplugin-vue-macros/vite' or its corresponding type declarations.ts(2307)

But plugin still works.

Reproduction
npm i -D unplugin-vue-macros and see bug description
System Info
System:
    OS: macOS 13.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 177.41 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.17.1 - ~/.nvm/versions/node/v16.17.1/bin/node
    npm: 8.15.0 - ~/.nvm/versions/node/v16.17.1/bin/npm
  Browsers:
    Chrome: 112.0.5615.49
    Safari: 16.2

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Duplicate of #257


Test if spend tx is mined using new and old protocol on new node

There are 2 new system tests:

new node can sync the old chain from another new node. It can
start mining on the top of the old chain using the old protocol
and include spend tx in the blocks.

new node can sync the old chain from another new node. It can
start mining on the top of the old chain using the new protocol
and include spend tx in the blocks.

@lucafavatella the PR is updated. new_node1 is just used for restoring DB backup and syncing the chain with new_node3, then new_node1 is killed. There is also new_node4 which syncs the chain (that includes the spend tx) from new_node3.


Webview opening an URL with 'https:/domain.com' crashes the app

Description
Using a faulty URL, with only one /, in a WebView crashes the app.
Version
0.70.5
Output of npx react-native info
System:
OS: macOS 13.1
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 20.98 MB / 32.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 18.12.1 - /usr/local/opt/node@18/bin/node
Yarn: 1.22.0 - ~/.yarn/bin/yarn
npm: 8.19.2 - /usr/local/opt/node@18/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
Android SDK:
API Levels: 28, 30
Build Tools: 29.0.2, 30.0.1, 30.0.2
System Images: android-33 | Google Play Intel x86 Atom_64
Android NDK: Not Found
IDEs:
Android Studio: 2021.3 AI-213.7172.25.2113.9014738
Xcode: 14.2/14C18 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_292 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.1.0 => 18.1.0
react-native: 0.70.5 => 0.70.5
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
info React Native v0.71.1 is now available (your project is running on v0.70.5).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.71.1
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.70.5
info For more info, check out "https://reactnative.dev/docs/upgrading".
Steps to reproduce
Open a screen with WebView and a faulty URL. It just crashes on the iOS simulator

Snack, code example, screenshot, or link to a repository
<WebView
      source={{ uri:'https:/domain.com' }}
      thirdPartyCookiesEnabled={false}
      javaScriptEnabled={false}
      onLoadEnd={() => setLoading(false)}
      onError={()=>setError('noe feilet')}
    />

Isn't WebView depreciated? Try https://github.com/react-native-webview/react-native-webview

Yes, I use import WebView from 'react-native-webview';
So then i close the issue on this repo.


Zabbix plugin (4.2.10) doesn't work after Grafana Update (9.2.4)

hello, I have searched a lot in the issue to see if someone had already had exactly the same problem as me but when I look, most of the problems are due to the config file of grafana which has not been modified or the logs provided to describe the error are not the same for me
when I go into the plugins to see if zabbix is present, it is, it is declared as installed

here is the config file of grafana which has been modified

zabbix does not appear in the list of data sources

I already had a zabbix datasource when grafana was in version 9.1.5, but since the update I don't have the zabbix logo next to the data source

and when I click on the old zabbix datasource the following menu appears

The only error I see in the logs :

If I have created a duplicate of an existing issue I am sorry, but would it be possible to have the link of the exit that I duplicated in response ?
Thanks in advance
| Grafana | Zabbix | Grafana-Zabbix Plugin |
| 9.2.4      | 6.2.3    | 4.2.10                            |

I tried to reinstall the plugin completely
I see now that it is signed but impossible to activate it

I saw that by adding a file in the directory :
C:\Program Files\GrafanaLabs\grafana\conf\provisioning\plugins
We could make the application activate automatically, so I tried to do this

Unfortunately after doing this the Zabbix source data was still not available in the list

here are the logs after reinstalling the plugin, I really have no idea why I have this behavior when I have exactly the same configuration that worked well when I was in version 9.1.5 of Grafana

I even made a backup of the grafana config before updating it, so I compare the .txt (defaults.ini) of the 2 grafana (config of grafana in version 9.1.5 and config of grafana in 9.2.4) and apart from some feature that have been added the config is the same in the 2 defaults.ini files

I redo the setup on grafana version 9.1.5 and it works without any problem

just not compatible with Grafana 9.2.4?

replace

by

And It's work's for me