Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enable custom community storenodes #4532

Merged
merged 60 commits into from
Feb 20, 2024
Merged

Conversation

plopezlpz
Copy link
Contributor

A community owner can specify a store node for the community.

If the store node of a community is specified then all messages belonging to the community's chats will be requested to the specified store node.

Current limitations

  • It is assumed the store node is always connected: this should be improved to allow multiple store nodes per community and do a cycle similar to current store node cycle
  • If a store node is setup for a community, we won't use any other store node for that community, maybe we want to fallback to the default store nodes.

Closes #4357

@status-im-auto
Copy link
Member

status-im-auto commented Jan 5, 2024

Jenkins Builds

Click to see older builds (157)
Commit #️⃣ Finished (UTC) Duration Platform Result
✖️ 9fc2c4a #1 2024-01-05 09:57:58 ~3 min tests 📄log
✔️ 9fc2c4a #1 2024-01-05 09:58:56 ~4 min linux 📦zip
✔️ 9fc2c4a #1 2024-01-05 09:59:59 ~5 min ios 📦zip
✔️ 9fc2c4a #1 2024-01-05 10:00:42 ~5 min android 📦aar
✔️ e13828b #2 2024-01-05 10:07:52 ~1 min linux 📦zip
✔️ e13828b #2 2024-01-05 10:08:17 ~2 min android 📦aar
✔️ e13828b #2 2024-01-05 10:09:28 ~3 min ios 📦zip
✔️ e13828b #2 2024-01-05 10:44:01 ~37 min tests 📄log
✔️ e5ca058 #3 2024-01-05 12:45:30 ~1 min linux 📦zip
✖️ e5ca058 #3 2024-01-05 12:46:13 ~2 min tests 📄log
✔️ e5ca058 #3 2024-01-05 12:46:17 ~2 min android 📦aar
✔️ e5ca058 #3 2024-01-05 12:47:15 ~3 min ios 📦zip
✔️ c82ac14 #4 2024-01-05 14:26:39 ~1 min linux 📦zip
✔️ c82ac14 #4 2024-01-05 14:27:00 ~1 min android 📦aar
✔️ c82ac14 #4 2024-01-05 14:28:49 ~3 min ios 📦zip
✖️ c82ac14 #4 2024-01-05 14:57:56 ~32 min tests 📄log
✔️ 5f28298 #5 2024-01-05 14:54:38 ~2 min android 📦aar
✔️ 5f28298 #5 2024-01-05 14:55:33 ~3 min ios 📦zip
✔️ 5f28298 #5 2024-01-05 14:55:46 ~3 min linux 📦zip
✖️ 5f28298 #5 2024-01-05 14:59:37 ~1 min tests 📄log
✖️ 344238c #6 2024-01-05 15:05:57 ~1 min tests 📄log
✔️ 344238c #6 2024-01-05 15:06:30 ~1 min linux 📦zip
✔️ 344238c #6 2024-01-05 15:06:59 ~2 min android 📦aar
✔️ 344238c #6 2024-01-05 15:08:01 ~3 min ios 📦zip
✔️ fb183a4 #7 2024-01-05 15:15:52 ~6 min android 📦aar
✔️ fb183a4 #7 2024-01-05 15:17:24 ~7 min linux 📦zip
✔️ fb183a4 #7 2024-01-05 15:20:30 ~10 min ios 📦zip
✖️ fb183a4 #8 2024-01-05 15:36:19 ~25 min tests 📄log
✖️ fb183a4 #9 2024-01-05 16:11:21 ~19 min tests 📄log
✖️ fb183a4 #10 2024-01-05 16:35:23 ~20 min tests 📄log
✖️ fb183a4 #11 2024-01-05 16:56:15 ~20 min tests 📄log
✖️ fb183a4 #12 2024-01-05 17:13:24 ~14 min tests 📄log
✖️ fb183a4 #13 2024-01-05 17:50:09 ~32 min tests 📄log
✔️ fb183a4 #14 2024-01-06 07:54:41 ~37 min tests 📄log
✔️ 0a7e9fa #8 2024-01-11 08:44:24 ~3 min ios 📦zip
✔️ 0a7e9fa #8 2024-01-11 08:44:32 ~3 min linux 📦zip
✔️ 0a7e9fa #8 2024-01-11 08:45:26 ~4 min android 📦aar
✔️ 0a7e9fa #15 2024-01-11 09:20:02 ~38 min tests 📄log
✔️ ca441c8 #9 2024-01-11 08:52:37 ~2 min android 📦aar
✔️ ca441c8 #9 2024-01-11 08:53:11 ~2 min linux 📦zip
✔️ ca441c8 #9 2024-01-11 08:53:13 ~2 min ios 📦zip
✔️ ca441c8 #16 2024-01-11 09:57:55 ~37 min tests 📄log
7414171 #10 2024-02-03 10:36:53 ~26 sec android 📄log
7414171 #10 2024-02-03 10:37:36 ~1 min ios 📄log
7414171 #10 2024-02-03 10:37:43 ~1 min linux 📄log
✖️ 7414171 #17 2024-02-03 10:38:38 ~2 min tests 📄log
58c1b64 #11 2024-02-03 10:38:42 ~17 sec linux 📄log
58c1b64 #11 2024-02-03 10:38:44 ~22 sec android 📄log
58c1b64 #11 2024-02-03 10:39:03 ~41 sec ios 📄log
✖️ 58c1b64 #18 2024-02-03 10:40:41 ~1 min tests 📄log
✖️ 51d9f43 #19 2024-02-03 13:25:10 ~1 min tests 📄log
✔️ 51d9f43 #12 2024-02-03 13:25:53 ~2 min linux 📦zip
✔️ 51d9f43 #12 2024-02-03 13:26:39 ~2 min ios 📦zip
✔️ 51d9f43 #12 2024-02-03 13:29:00 ~5 min android 📦aar
✔️ 04edc82 #13 2024-02-03 13:33:35 ~1 min linux 📦zip
✔️ 04edc82 #13 2024-02-03 13:34:42 ~2 min ios 📦zip
✔️ 04edc82 #13 2024-02-03 13:36:22 ~4 min android 📦aar
✔️ 04edc82 #20 2024-02-03 14:09:09 ~36 min tests 📄log
✖️ 8f0e773 #21 2024-02-06 07:32:45 ~1 min tests 📄log
✔️ 8f0e773 #14 2024-02-06 07:32:59 ~1 min linux 📦zip
✔️ 8f0e773 #14 2024-02-06 07:33:20 ~1 min android 📦aar
✔️ 8f0e773 #14 2024-02-06 07:34:21 ~2 min ios 📦zip
✖️ 59eb4d5 #22 2024-02-06 08:33:55 ~1 min tests 📄log
✔️ 59eb4d5 #15 2024-02-06 08:34:17 ~1 min linux 📦zip
✔️ 59eb4d5 #15 2024-02-06 08:34:42 ~1 min android 📦aar
✔️ 59eb4d5 #15 2024-02-06 08:35:12 ~2 min ios 📦zip
✔️ f19916c #16 2024-02-06 09:01:03 ~1 min android 📦aar
✖️ f19916c #23 2024-02-06 09:01:41 ~2 min tests 📄log
✔️ f19916c #16 2024-02-06 09:01:50 ~2 min ios 📦zip
✔️ f19916c #16 2024-02-06 09:02:54 ~3 min linux 📦zip
✔️ b4865b9 #17 2024-02-06 09:24:36 ~1 min linux 📦zip
✔️ b4865b9 #17 2024-02-06 09:24:56 ~1 min android 📦aar
✔️ b4865b9 #17 2024-02-06 09:25:38 ~2 min ios 📦zip
✔️ b4865b9 #24 2024-02-06 09:58:27 ~35 min tests 📄log
✔️ 7c11b00 #18 2024-02-10 05:02:46 ~3 min linux 📦zip
✔️ 7c11b00 #18 2024-02-10 05:04:15 ~5 min ios 📦zip
✔️ 7c11b00 #18 2024-02-10 05:04:57 ~5 min android 📦aar
✖️ 7c11b00 #26 2024-02-10 07:06:43 ~29 min tests 📄log
✔️ 7f48935 #19 2024-02-10 16:09:50 ~1 min linux 📦zip
✔️ 7f48935 #19 2024-02-10 16:11:44 ~3 min ios 📦zip
✔️ 7f48935 #19 2024-02-10 16:13:34 ~5 min android 📦aar
✖️ 7f48935 #27 2024-02-10 16:39:06 ~30 min tests 📄log
✔️ 4df94f0 #20 2024-02-12 09:32:02 ~1 min linux 📦zip
✔️ 4df94f0 #20 2024-02-12 09:32:40 ~2 min android 📦aar
✔️ 4df94f0 #20 2024-02-12 09:33:45 ~3 min ios 📦zip
✖️ 4df94f0 #28 2024-02-12 10:10:37 ~40 min tests 📄log
✖️ 4df94f0 #29 2024-02-12 10:27:28 ~16 min tests 📄log
✖️ 4df94f0 #30 2024-02-12 11:12:16 ~30 min tests 📄log
✖️ 4df94f0 #31 2024-02-12 11:45:01 ~30 min tests 📄log
✖️ 4df94f0 #32 2024-02-12 12:25:22 ~21 min tests 📄log
✔️ 0bf1536 #21 2024-02-16 14:20:23 ~1 min linux 📦zip
✔️ 0bf1536 #21 2024-02-16 14:23:00 ~4 min android 📦aar
✔️ 0bf1536 #21 2024-02-16 14:23:13 ~4 min ios 📦zip
✔️ a37fc07 #22 2024-02-16 18:25:37 ~1 min linux 📦zip
✔️ a37fc07 #22 2024-02-16 18:26:09 ~1 min android 📦aar
✔️ a37fc07 #22 2024-02-16 18:26:56 ~2 min ios 📦zip
✖️ a37fc07 #34 2024-02-16 18:55:59 ~31 min tests 📄log
✔️ 7ad3773 #23 2024-02-16 18:43:02 ~1 min linux 📦zip
✔️ 7ad3773 #23 2024-02-16 18:43:34 ~1 min android 📦aar
✔️ 7ad3773 #23 2024-02-16 18:44:22 ~2 min ios 📦zip
✖️ 7ad3773 #35 2024-02-16 19:13:04 ~16 min tests 📄log
✔️ 2a43140 #24 2024-02-17 07:25:06 ~1 min linux 📦zip
✔️ 2a43140 #24 2024-02-17 07:25:32 ~1 min android 📦aar
✔️ 2a43140 #24 2024-02-17 07:26:12 ~2 min ios 📦zip
✖️ 2a43140 #36 2024-02-17 07:55:46 ~32 min tests 📄log
✔️ 5b5cbde #25 2024-02-17 09:31:51 ~1 min linux 📦zip
✔️ 5b5cbde #25 2024-02-17 09:32:04 ~1 min android 📦aar
✔️ 5b5cbde #25 2024-02-17 09:33:14 ~2 min ios 📦zip
✖️ 5b5cbde #37 2024-02-17 10:02:41 ~31 min tests 📄log
✔️ 0314369 #26 2024-02-17 10:49:59 ~1 min linux 📦zip
✔️ 0314369 #26 2024-02-17 10:50:29 ~1 min android 📦aar
✔️ 0314369 #26 2024-02-17 10:51:11 ~2 min ios 📦zip
✖️ 0314369 #38 2024-02-17 11:19:59 ~31 min tests 📄log
✔️ bf81733 #27 2024-02-17 14:09:35 ~1 min linux 📦zip
✔️ bf81733 #27 2024-02-17 14:09:42 ~1 min android 📦aar
✔️ bf81733 #27 2024-02-17 14:10:57 ~2 min ios 📦zip
✖️ bf81733 #39 2024-02-17 14:24:43 ~16 min tests 📄log
✖️ bf81733 #40 2024-02-17 14:43:39 ~16 min tests 📄log
✖️ bf81733 #41 2024-02-17 15:06:12 ~20 min tests 📄log
✖️ bf81733 #42 2024-02-17 15:47:51 ~34 min tests 📄log
✖️ bf81733 #43 2024-02-17 19:01:43 ~16 min tests 📄log
✔️ bf81733 #44 2024-02-18 05:31:35 ~39 min tests 📄log
✔️ a3753c3 #28 2024-02-19 07:03:00 ~3 min linux 📦zip
✔️ a3753c3 #28 2024-02-19 07:03:10 ~3 min ios 📦zip
✔️ a3753c3 #28 2024-02-19 07:04:00 ~4 min android 📦aar
✖️ 7cc7805 #46 2024-02-19 07:44:10 ~1 min tests 📄log
✔️ 7cc7805 #29 2024-02-19 07:44:23 ~1 min linux 📦zip
✔️ 7cc7805 #29 2024-02-19 07:44:53 ~2 min android 📦aar
✔️ 7cc7805 #29 2024-02-19 07:45:53 ~3 min ios 📦zip
✔️ bedc55c #30 2024-02-19 07:47:46 ~1 min linux 📦zip
✔️ bedc55c #30 2024-02-19 07:48:08 ~1 min android 📦aar
✔️ bedc55c #30 2024-02-19 07:49:26 ~2 min ios 📦zip
✔️ bedc55c #47 2024-02-19 08:26:40 ~39 min tests 📄log
✔️ 52d69da #31 2024-02-19 07:58:08 ~1 min linux 📦zip
✔️ 52d69da #31 2024-02-19 07:58:22 ~1 min android 📦aar
✔️ 52d69da #31 2024-02-19 07:59:40 ~2 min ios 📦zip
✖️ 52d69da #48 2024-02-19 08:47:26 ~20 min tests 📄log
✖️ 52d69da #49 2024-02-19 10:12:11 ~36 min tests 📄log
✖️ 52d69da #50 2024-02-19 10:47:57 ~29 min tests 📄log
✔️ 52d69da #51 2024-02-19 11:27:17 ~39 min tests 📄log
bfc428b #32 2024-02-19 16:35:22 ~14 sec linux 📄log
bfc428b #32 2024-02-19 16:35:24 ~20 sec android 📄log
bfc428b #32 2024-02-19 16:35:27 ~21 sec ios 📄log
✖️ bfc428b #52 2024-02-19 16:36:02 ~54 sec tests 📄log
924a335 #33 2024-02-19 16:35:43 ~13 sec linux 📄log
924a335 #33 2024-02-19 16:35:49 ~18 sec android 📄log
924a335 #33 2024-02-19 16:35:51 ~19 sec ios 📄log
✖️ 924a335 #53 2024-02-19 16:36:54 ~45 sec tests 📄log
✔️ 7f9113c #34 2024-02-19 16:41:55 ~1 min linux 📦zip
✔️ 7f9113c #34 2024-02-19 16:42:19 ~1 min android 📦aar
✔️ 7f9113c #34 2024-02-19 16:43:24 ~3 min ios 📦zip
✖️ 7f9113c #54 2024-02-19 17:18:19 ~37 min tests 📄log
✖️ 7f9113c #56 2024-02-19 18:10:54 ~28 min tests 📄log
✔️ f3c6fef #35 2024-02-19 16:47:28 ~1 min linux 📦zip
✔️ f3c6fef #35 2024-02-19 16:47:53 ~1 min android 📦aar
✔️ f3c6fef #35 2024-02-19 16:48:55 ~2 min ios 📦zip
✖️ f3c6fef #55 2024-02-19 17:40:05 ~21 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ e8e7bda #36 2024-02-20 07:15:46 ~1 min linux 📦zip
✔️ e8e7bda #36 2024-02-20 07:16:17 ~1 min android 📦aar
✔️ e8e7bda #36 2024-02-20 07:17:24 ~3 min ios 📦zip
✔️ e8e7bda #57 2024-02-20 07:54:15 ~39 min tests 📄log
✔️ e3c35f1 #37 2024-02-20 07:21:34 ~1 min linux 📦zip
✔️ e3c35f1 #37 2024-02-20 07:22:00 ~1 min android 📦aar
✔️ e3c35f1 #37 2024-02-20 07:22:56 ~2 min ios 📦zip
✔️ e3c35f1 #58 2024-02-20 08:34:04 ~39 min tests 📄log

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the files are not generated with nix-shell.
reference: #4745

@igor-sirotin
Copy link
Contributor

@plopezlpz do you mind creating a meeting and tell about the changes?
There're quite a lot of things, I think it would save the reviewers (not just me) a lot of time.

Copy link
Member

@richard-ramos richard-ramos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, i added only a couple of comments that can be ignored if necessary.

protocol/storenodes/database.go Outdated Show resolved Hide resolved
protocol/messenger_store_node_request_manager.go Outdated Show resolved Hide resolved
protocol/messenger_mailserver_cycle.go Outdated Show resolved Hide resolved
plopezlpz and others added 4 commits February 19, 2024 18:34
Co-authored-by: richΛrd <info@richardramos.me>
Co-authored-by: richΛrd <info@richardramos.me>
Copy link
Contributor

@kaichaosun kaichaosun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done! one small nitpick.

protocol/storenodes/storenodes.go Outdated Show resolved Hide resolved
@plopezlpz plopezlpz merged commit 3f19972 into develop Feb 20, 2024
7 checks passed
@plopezlpz plopezlpz deleted the chore/storenodes-by-community-2 branch February 20, 2024 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Communities should be able to define the list of store nodes
5 participants