Skip to content

feat: new Shell (jump to) home screen #17916

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

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open

Conversation

caybro
Copy link
Member

@caybro caybro commented May 12, 2025

What does the PR do

  • Shell becomes the new startup/home screen; hidden behind a feature flag
  • has a searchable grid, providing an overview of chats, communities, wallets, settings etc
  • some related smaller component and storybook page fixes
  • cleanup some clazy warnings

(additional fixes in separate commits)

Fixes #18032
Part of #17971

Affected areas

AppMain, Shell

Architecture compliance

Screenshot of functionality (including design for comparison)

  • I've checked the design and this PR matches it
Zaznam.obrazovky.z.2025-05-23.12-46-30.mp4

@caybro caybro force-pushed the feat/shell-mode-home branch from 797014f to e7070cb Compare May 12, 2025 13:48
@status-im-auto
Copy link
Member

status-im-auto commented May 12, 2025

Jenkins Builds

Click to see older builds (219)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ e7070cb #2 2025-05-12 13:58:39 ~9 min tests/nim 📄log
✔️ e7070cb #2 2025-05-12 14:01:16 ~11 min macos/aarch64 🍎dmg
e7070cb #2 2025-05-12 14:02:45 ~13 min tests/ui 📄log
✔️ e7070cb #2 2025-05-12 14:06:15 ~16 min macos/x86_64 🍎dmg
e7070cb #2 2025-05-12 14:08:14 ~18 min windows/x86_64 📄log
✔️ e7070cb #2 2025-05-12 14:13:46 ~24 min linux-nix/x86_64 📦tgz
✔️ e7070cb #2 2025-05-12 14:17:40 ~28 min linux/x86_64 📦tgz
✔️ b2a23e8 #3 2025-05-13 09:19:52 ~9 min tests/nim 📄log
✔️ b2a23e8 #3 2025-05-13 09:20:21 ~9 min macos/aarch64 🍎dmg
b2a23e8 #3 2025-05-13 09:23:36 ~12 min tests/ui 📄log
✔️ b2a23e8 #3 2025-05-13 09:24:37 ~13 min macos/x86_64 🍎dmg
b2a23e8 #3 2025-05-13 09:28:59 ~18 min windows/x86_64 📄log
✔️ b2a23e8 #3 2025-05-13 09:34:01 ~23 min linux-nix/x86_64 📦tgz
✔️ b2a23e8 #3 2025-05-13 09:36:30 ~25 min linux/x86_64 📦tgz
✔️ bfc9264 #4 2025-05-13 10:17:46 ~7 min macos/aarch64 🍎dmg
✔️ bfc9264 #4 2025-05-13 10:18:59 ~9 min tests/nim 📄log
✔️ bfc9264 #4 2025-05-13 10:21:27 ~11 min macos/x86_64 🍎dmg
bfc9264 #4 2025-05-13 10:21:45 ~11 min tests/ui 📄log
✔️ bfc9264 #4 2025-05-13 10:35:49 ~25 min windows/x86_64 💿exe
✔️ bfc9264 #4 2025-05-13 10:36:19 ~26 min linux-nix/x86_64 📦tgz
✔️ dfd0776 #5 2025-05-13 10:43:41 ~6 min macos/aarch64 🍎dmg
✔️ dfd0776 #5 2025-05-13 10:45:49 ~9 min tests/nim 📄log
dfd0776 #5 2025-05-13 10:49:49 ~13 min tests/ui 📄log
✔️ dfd0776 #5 2025-05-13 10:50:32 ~13 min macos/x86_64 🍎dmg
✔️ dfd0776 #5 2025-05-13 10:56:17 ~19 min linux-nix/x86_64 📦tgz
✔️ dfd0776 #5 2025-05-13 10:58:14 ~21 min windows/x86_64 💿exe
✔️ dfd0776 #5 2025-05-13 10:59:41 ~22 min linux/x86_64 📦tgz
✔️ bc97950 #6 2025-05-13 22:28:28 ~7 min macos/aarch64 🍎dmg
✔️ bc97950 #6 2025-05-13 22:30:25 ~9 min tests/nim 📄log
✔️ bc97950 #6 2025-05-13 22:34:36 ~13 min macos/x86_64 🍎dmg
bc97950 #6 2025-05-13 22:34:44 ~13 min tests/ui 📄log
✔️ bc97950 #6 2025-05-13 22:41:23 ~20 min linux-nix/x86_64 📦tgz
✔️ bc97950 #6 2025-05-13 22:45:35 ~24 min windows/x86_64 💿exe
✔️ bc97950 #6 2025-05-13 22:46:14 ~24 min linux/x86_64 📦tgz
✔️ d766c09 #7 2025-05-14 07:57:58 ~6 min macos/aarch64 🍎dmg
✔️ d766c09 #7 2025-05-14 07:59:49 ~8 min tests/nim 📄log
✔️ d766c09 #7 2025-05-14 08:02:59 ~11 min macos/x86_64 🍎dmg
d766c09 #7 2025-05-14 08:05:12 ~14 min tests/ui 📄log
✔️ d766c09 #7 2025-05-14 08:12:42 ~21 min linux-nix/x86_64 📦tgz
✔️ d766c09 #7 2025-05-14 08:13:22 ~22 min linux/x86_64 📦tgz
✔️ d766c09 #7 2025-05-14 08:15:34 ~24 min windows/x86_64 💿exe
✔️ 728570c #8 2025-05-14 09:22:21 ~7 min macos/aarch64 🍎dmg
✔️ 728570c #8 2025-05-14 09:24:01 ~9 min tests/nim 📄log
728570c #8 2025-05-14 09:27:03 ~12 min tests/ui 📄log
✔️ 728570c #8 2025-05-14 09:30:20 ~15 min macos/x86_64 🍎dmg
✔️ 728570c #8 2025-05-14 09:36:57 ~22 min linux-nix/x86_64 📦tgz
✔️ 728570c #8 2025-05-14 09:37:36 ~23 min windows/x86_64 💿exe
✔️ 728570c #8 2025-05-14 09:42:54 ~28 min linux/x86_64 📦tgz
✔️ 51ca16a #9 2025-05-14 15:28:25 ~7 min macos/aarch64 🍎dmg
✔️ 51ca16a #9 2025-05-14 15:29:29 ~8 min tests/nim 📄log
✔️ 51ca16a #9 2025-05-14 15:34:25 ~13 min macos/x86_64 🍎dmg
51ca16a #9 2025-05-14 15:34:28 ~13 min tests/ui 📄log
✔️ 51ca16a #9 2025-05-14 15:42:13 ~20 min linux-nix/x86_64 📦tgz
✔️ 51ca16a #9 2025-05-14 15:43:00 ~21 min windows/x86_64 💿exe
✔️ 51ca16a #9 2025-05-14 15:46:28 ~25 min linux/x86_64 📦tgz
✔️ 954cfd5 #10 2025-05-15 09:52:29 ~7 min macos/aarch64 🍎dmg
✔️ 954cfd5 #10 2025-05-15 09:54:51 ~9 min tests/nim 📄log
✔️ 954cfd5 #10 2025-05-15 09:58:41 ~13 min macos/x86_64 🍎dmg
954cfd5 #10 2025-05-15 09:59:05 ~13 min tests/ui 📄log
✔️ 954cfd5 #10 2025-05-15 10:08:57 ~23 min windows/x86_64 💿exe
✔️ 954cfd5 #10 2025-05-15 10:09:30 ~24 min linux-nix/x86_64 📦tgz
✔️ 954cfd5 #10 2025-05-15 10:10:27 ~25 min linux/x86_64 📦tgz
✔️ acd2565 #11 2025-05-15 11:39:16 ~6 min macos/aarch64 🍎dmg
✔️ acd2565 #11 2025-05-15 11:41:54 ~9 min tests/nim 📄log
✔️ acd2565 #11 2025-05-15 11:44:16 ~11 min macos/x86_64 🍎dmg
acd2565 #11 2025-05-15 11:46:06 ~13 min tests/ui 📄log
✔️ acd2565 #11 2025-05-15 11:52:51 ~20 min linux-nix/x86_64 📦tgz
✔️ acd2565 #11 2025-05-15 11:55:44 ~22 min windows/x86_64 💿exe
✔️ acd2565 #11 2025-05-15 11:56:48 ~23 min linux/x86_64 📦tgz
acd2565 #12 2025-05-15 13:28:12 ~13 min tests/ui 📄log
✔️ ee64a6d #12 2025-05-15 14:40:31 ~7 min macos/aarch64 🍎dmg
✔️ ee64a6d #12 2025-05-15 14:42:39 ~9 min tests/nim 📄log
ee64a6d #13 2025-05-15 14:45:58 ~12 min tests/ui 📄log
✔️ ee64a6d #12 2025-05-15 14:46:41 ~13 min macos/x86_64 🍎dmg
✔️ ee64a6d #12 2025-05-15 14:52:47 ~19 min linux-nix/x86_64 📦tgz
✔️ ee64a6d #12 2025-05-15 14:57:49 ~24 min windows/x86_64 💿exe
✔️ ee64a6d #12 2025-05-15 14:59:20 ~26 min linux/x86_64 📦tgz
✔️ 7e7b6cc #14 2025-05-15 15:40:22 ~7 min macos/aarch64 🍎dmg
✔️ 7e7b6cc #14 2025-05-15 15:41:41 ~9 min tests/nim 📄log
7e7b6cc #15 2025-05-15 15:45:16 ~12 min tests/ui 📄log
✔️ 7e7b6cc #14 2025-05-15 15:47:32 ~15 min macos/x86_64 🍎dmg
✔️ 7e7b6cc #14 2025-05-15 15:53:35 ~21 min linux-nix/x86_64 📦tgz
✔️ 7e7b6cc #14 2025-05-15 15:55:39 ~23 min linux/x86_64 📦tgz
✔️ 7e7b6cc #14 2025-05-15 15:56:52 ~24 min windows/x86_64 💿exe
✔️ 014e15c #15 2025-05-16 11:20:54 ~8 min macos/aarch64 🍎dmg
✔️ 014e15c #15 2025-05-16 11:21:37 ~9 min tests/nim 📄log
014e15c #16 2025-05-16 11:24:58 ~12 min tests/ui 📄log
✔️ 014e15c #15 2025-05-16 11:27:20 ~15 min macos/x86_64 🍎dmg
✔️ 987cdb8 #16 2025-05-16 11:40:18 ~7 min macos/aarch64 🍎dmg
✔️ 987cdb8 #16 2025-05-16 11:41:35 ~8 min tests/nim 📄log
✔️ 987cdb8 #16 2025-05-16 11:45:49 ~12 min macos/x86_64 🍎dmg
987cdb8 #17 2025-05-16 11:46:04 ~13 min tests/ui 📄log
✔️ 987cdb8 #16 2025-05-16 11:54:51 ~22 min linux/x86_64 📦tgz
✔️ 987cdb8 #16 2025-05-16 11:56:18 ~23 min linux-nix/x86_64 📦tgz
✔️ 987cdb8 #16 2025-05-16 11:57:07 ~24 min windows/x86_64 💿exe
✔️ 1aafc51 #17 2025-05-16 12:19:57 ~6 min macos/aarch64 🍎dmg
✔️ 1aafc51 #17 2025-05-16 12:23:22 ~9 min tests/nim 📄log
1aafc51 #18 2025-05-16 12:26:13 ~12 min tests/ui 📄log
✔️ 1aafc51 #17 2025-05-16 12:26:23 ~12 min macos/x86_64 🍎dmg
✔️ 86d90f4 #18 2025-05-16 12:40:09 ~7 min macos/aarch64 🍎dmg
✔️ 86d90f4 #18 2025-05-16 12:41:35 ~9 min tests/nim 📄log
✔️ 86d90f4 #18 2025-05-16 12:43:49 ~11 min macos/x86_64 🍎dmg
86d90f4 #19 2025-05-16 12:45:58 ~13 min tests/ui 📄log
✔️ 86d90f4 #18 2025-05-16 12:56:09 ~23 min windows/x86_64 💿exe
✔️ 86d90f4 #18 2025-05-16 12:57:08 ~24 min linux/x86_64 📦tgz
✔️ 86d90f4 #18 2025-05-16 12:58:34 ~26 min linux-nix/x86_64 📦tgz
✔️ 26018e9 #19 2025-05-16 13:08:09 ~6 min macos/aarch64 🍎dmg
✔️ e242576 #20 2025-05-16 13:16:10 ~6 min macos/aarch64 🍎dmg
✔️ e242576 #20 2025-05-16 13:18:24 ~8 min tests/nim 📄log
e242576 #21 2025-05-16 13:22:37 ~12 min tests/ui 📄log
✔️ e242576 #20 2025-05-16 13:22:50 ~12 min macos/x86_64 🍎dmg
✔️ e242576 #20 2025-05-16 13:32:53 ~23 min linux-nix/x86_64 📦tgz
✔️ e242576 #20 2025-05-16 13:34:26 ~24 min windows/x86_64 💿exe
✔️ e242576 #20 2025-05-16 13:34:51 ~25 min linux/x86_64 📦tgz
✔️ 0bf0e0c #21 2025-05-16 15:49:50 ~6 min macos/aarch64 🍎dmg
✔️ 0bf0e0c #21 2025-05-16 15:52:35 ~9 min tests/nim 📄log
0bf0e0c #22 2025-05-16 15:56:26 ~13 min tests/ui 📄log
✔️ 0bf0e0c #21 2025-05-16 15:57:31 ~14 min macos/x86_64 🍎dmg
✔️ 0bf0e0c #21 2025-05-16 16:06:51 ~23 min linux-nix/x86_64 📦tgz
✔️ 0bf0e0c #21 2025-05-16 16:07:18 ~23 min linux/x86_64 📦tgz
✔️ 0bf0e0c #21 2025-05-16 16:07:47 ~24 min windows/x86_64 💿exe
✔️ 4c87e1b #22 2025-05-18 09:49:49 ~8 min macos/aarch64 🍎dmg
✔️ 4c87e1b #22 2025-05-18 09:50:14 ~8 min tests/nim 📄log
✔️ 4c87e1b #22 2025-05-18 09:54:26 ~13 min macos/x86_64 🍎dmg
4c87e1b #23 2025-05-18 09:54:39 ~13 min tests/ui 📄log
✔️ 4c87e1b #22 2025-05-18 10:01:42 ~20 min linux-nix/x86_64 📦tgz
✔️ 4c87e1b #22 2025-05-18 10:04:31 ~23 min linux/x86_64 📦tgz
✔️ 4c87e1b #22 2025-05-18 10:06:03 ~24 min windows/x86_64 💿exe
✔️ 46f8a04 #23 2025-05-19 08:09:24 ~7 min macos/aarch64 🍎dmg
✔️ 46f8a04 #23 2025-05-19 08:12:15 ~10 min tests/nim 📄log
✔️ 46f8a04 #23 2025-05-19 08:13:29 ~11 min macos/x86_64 🍎dmg
46f8a04 #24 2025-05-19 08:15:18 ~13 min tests/ui 📄log
✔️ 46f8a04 #23 2025-05-19 08:23:05 ~21 min linux-nix/x86_64 📦tgz
✔️ 46f8a04 #23 2025-05-19 08:23:54 ~22 min linux/x86_64 📦tgz
✔️ 46f8a04 #23 2025-05-19 08:24:58 ~23 min windows/x86_64 💿exe
✔️ 3e203d9 #24 2025-05-21 07:53:00 ~8 min macos/aarch64 🍎dmg
✔️ 3e203d9 #24 2025-05-21 07:54:29 ~9 min tests/nim 📄log
3e203d9 #25 2025-05-21 07:57:14 ~12 min tests/ui 📄log
✔️ 3e203d9 #24 2025-05-21 07:57:52 ~13 min macos/x86_64 🍎dmg
✔️ 3e203d9 #24 2025-05-21 08:06:49 ~22 min linux-nix/x86_64 📦tgz
✔️ 3e203d9 #24 2025-05-21 08:07:06 ~22 min linux/x86_64 📦tgz
✔️ 3e203d9 #24 2025-05-21 08:10:06 ~25 min windows/x86_64 💿exe
✔️ c7b79fa #25 2025-05-22 12:56:38 ~6 min macos/aarch64 🍎dmg
✔️ c7b79fa #25 2025-05-22 12:59:04 ~9 min tests/nim 📄log
✔️ c7b79fa #25 2025-05-22 13:03:04 ~13 min macos/x86_64 🍎dmg
c7b79fa #26 2025-05-22 13:03:10 ~13 min tests/ui 📄log
✔️ c7b79fa #25 2025-05-22 13:12:04 ~22 min linux-nix/x86_64 📦tgz
✔️ c7b79fa #25 2025-05-22 13:15:32 ~25 min windows/x86_64 💿exe
✔️ c7b79fa #25 2025-05-22 13:15:40 ~26 min linux/x86_64 📦tgz
✔️ ab5c0d0 #26 2025-05-23 11:40:04 ~7 min macos/aarch64 🍎dmg
✔️ ab5c0d0 #26 2025-05-23 11:42:13 ~9 min tests/nim 📄log
ab5c0d0 #27 2025-05-23 11:42:24 ~9 min tests/ui 📄log
✔️ ab5c0d0 #26 2025-05-23 11:46:13 ~13 min macos/x86_64 🍎dmg
✔️ ab5c0d0 #26 2025-05-23 11:55:43 ~22 min linux-nix/x86_64 📦tgz
✔️ ab5c0d0 #26 2025-05-23 11:58:47 ~25 min linux/x86_64 📦tgz
✔️ ab5c0d0 #26 2025-05-23 11:58:49 ~25 min windows/x86_64 💿exe
✔️ e245a4a #27 2025-05-23 12:38:12 ~6 min macos/aarch64 🍎dmg
✔️ e245a4a #27 2025-05-23 12:40:00 ~8 min tests/nim 📄log
e245a4a #28 2025-05-23 12:44:07 ~12 min tests/ui 📄log
✔️ e245a4a #27 2025-05-23 12:44:21 ~13 min macos/x86_64 🍎dmg
✔️ e245a4a #27 2025-05-23 12:51:53 ~20 min linux-nix/x86_64 📦tgz
✔️ e245a4a #27 2025-05-23 12:52:22 ~21 min windows/x86_64 💿exe
✔️ e245a4a #27 2025-05-23 12:52:33 ~21 min linux/x86_64 📦tgz
e245a4a #29 2025-05-25 19:06:05 ~12 min tests/ui 📄log
✔️ 7338be6 #28 2025-05-26 10:03:15 ~6 min macos/aarch64 🍎dmg
✔️ 7338be6 #28 2025-05-26 10:04:53 ~8 min tests/nim 📄log
7338be6 #30 2025-05-26 10:09:12 ~12 min tests/ui 📄log
✔️ 7338be6 #28 2025-05-26 10:09:27 ~13 min macos/x86_64 🍎dmg
✔️ 7338be6 #28 2025-05-26 10:17:12 ~20 min linux-nix/x86_64 📦tgz
✔️ 7338be6 #28 2025-05-26 10:19:38 ~23 min linux/x86_64 📦tgz
✔️ 7338be6 #28 2025-05-26 10:20:30 ~24 min windows/x86_64 💿exe
✔️ db5dd41 #29 2025-05-26 14:08:59 ~6 min macos/aarch64 🍎dmg
✔️ db5dd41 #29 2025-05-26 14:11:52 ~9 min tests/nim 📄log
✔️ db5dd41 #29 2025-05-26 14:15:27 ~12 min macos/x86_64 🍎dmg
✔️ db5dd41 #31 2025-05-26 14:16:56 ~14 min tests/ui 📄log
✔️ db5dd41 #29 2025-05-26 14:26:04 ~23 min windows/x86_64 💿exe
✔️ db5dd41 #29 2025-05-26 14:26:11 ~23 min linux-nix/x86_64 📦tgz
✔️ db5dd41 #29 2025-05-26 14:28:16 ~25 min linux/x86_64 📦tgz
✔️ 21956c2 #30 2025-05-26 18:42:51 ~7 min macos/aarch64 🍎dmg
✔️ 21956c2 #30 2025-05-26 18:44:31 ~8 min tests/nim 📄log
✔️ 21956c2 #32 2025-05-26 18:48:55 ~13 min tests/ui 📄log
✔️ 21956c2 #30 2025-05-26 18:49:01 ~13 min macos/x86_64 🍎dmg
✔️ 21956c2 #30 2025-05-26 18:55:22 ~19 min linux-nix/x86_64 📦tgz
✔️ 21956c2 #30 2025-05-26 18:57:30 ~21 min linux/x86_64 📦tgz
✔️ 21956c2 #30 2025-05-26 18:59:45 ~23 min windows/x86_64 💿exe
✔️ a22c7d6 #31 2025-05-27 10:05:52 ~7 min macos/aarch64 🍎dmg
✔️ a22c7d6 #31 2025-05-27 10:07:50 ~9 min tests/nim 📄log
✔️ a22c7d6 #31 2025-05-27 10:11:47 ~12 min macos/x86_64 🍎dmg
✔️ a22c7d6 #33 2025-05-27 10:12:40 ~13 min tests/ui 📄log
✔️ a22c7d6 #31 2025-05-27 10:19:23 ~20 min linux-nix/x86_64 📦tgz
✔️ a22c7d6 #31 2025-05-27 10:21:23 ~22 min windows/x86_64 💿exe
✔️ a22c7d6 #31 2025-05-27 10:22:23 ~23 min linux/x86_64 📦tgz
✔️ e6029b7 #32 2025-05-27 12:03:46 ~6 min macos/aarch64 🍎dmg
✔️ e6029b7 #32 2025-05-27 12:06:36 ~8 min tests/nim 📄log
✔️ e6029b7 #32 2025-05-27 12:09:03 ~11 min macos/x86_64 🍎dmg
✔️ e6029b7 #34 2025-05-27 12:11:36 ~13 min tests/ui 📄log
✔️ e6029b7 #32 2025-05-27 12:16:53 ~19 min linux-nix/x86_64 📦tgz
✔️ e6029b7 #32 2025-05-27 12:18:53 ~21 min windows/x86_64 💿exe
✔️ e6029b7 #32 2025-05-27 12:21:14 ~23 min linux/x86_64 📦tgz
✔️ 15a5e21 #33 2025-05-27 18:46:26 ~7 min macos/aarch64 🍎dmg
✔️ 15a5e21 #33 2025-05-27 18:48:33 ~9 min tests/nim 📄log
✔️ 15a5e21 #33 2025-05-27 18:51:58 ~12 min macos/x86_64 🍎dmg
✔️ 15a5e21 #35 2025-05-27 18:52:22 ~13 min tests/ui 📄log
✔️ 15a5e21 #33 2025-05-27 19:01:31 ~22 min linux-nix/x86_64 📦tgz
✔️ 15a5e21 #33 2025-05-27 19:04:51 ~25 min linux/x86_64 📦tgz
✔️ 15a5e21 #33 2025-05-27 19:04:59 ~25 min windows/x86_64 💿exe
✔️ 52b9734 #34 2025-05-28 10:05:27 ~9 min tests/nim 📄log
✔️ 52b9734 #34 2025-05-28 10:07:01 ~10 min macos/aarch64 🍎dmg
✔️ 52b9734 #34 2025-05-28 10:07:37 ~11 min macos/x86_64 🍎dmg
✔️ 52b9734 #36 2025-05-28 10:09:37 ~13 min tests/ui 📄log
✔️ 52b9734 #34 2025-05-28 10:16:51 ~20 min linux-nix/x86_64 📦tgz
✔️ 52b9734 #34 2025-05-28 10:20:37 ~24 min windows/x86_64 💿exe
✔️ 52b9734 #34 2025-05-28 10:21:49 ~25 min linux/x86_64 📦tgz
✔️ 800f29d #35 2025-05-28 14:09:42 ~7 min macos/aarch64 🍎dmg
✔️ 800f29d #35 2025-05-28 14:12:16 ~9 min tests/nim 📄log
✔️ 800f29d #35 2025-05-28 14:13:58 ~11 min macos/x86_64 🍎dmg
✔️ 800f29d #37 2025-05-28 14:15:58 ~13 min tests/ui 📄log
✔️ 800f29d #35 2025-05-28 14:16:38 ~14 min linux-nix/x86_64 📦tgz
✔️ 800f29d #35 2025-05-28 14:24:14 ~21 min windows/x86_64 💿exe
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 80bdad5 #36 2025-05-28 19:10:22 ~6 min tests/nim 📄log
✔️ 80bdad5 #36 2025-05-28 19:11:13 ~6 min macos/aarch64 🍎dmg
✔️ 80bdad5 #38 2025-05-28 19:14:29 ~10 min tests/ui 📄log
✔️ 80bdad5 #36 2025-05-28 19:17:02 ~12 min linux/x86_64 📦tgz
✔️ 80bdad5 #36 2025-05-28 19:17:18 ~13 min macos/x86_64 🍎dmg
✔️ 80bdad5 #36 2025-05-28 19:22:44 ~18 min linux-nix/x86_64 📦tgz
✔️ 80bdad5 #36 2025-05-28 19:29:19 ~25 min windows/x86_64 💿exe
✔️ 971272a #37 2025-05-29 15:08:29 ~9 min macos/aarch64 🍎dmg
✔️ 971272a #37 2025-05-29 15:08:45 ~9 min tests/nim 📄log
✔️ 971272a #37 2025-05-29 15:12:22 ~12 min macos/x86_64 🍎dmg
✔️ 971272a #39 2025-05-29 15:13:20 ~13 min tests/ui 📄log
✔️ 971272a #37 2025-05-29 15:21:25 ~22 min linux/x86_64 📦tgz
✔️ 971272a #37 2025-05-29 15:23:07 ~23 min linux-nix/x86_64 📦tgz
✔️ 971272a #37 2025-05-29 15:23:43 ~24 min windows/x86_64 💿exe

@caybro caybro force-pushed the feat/shell-mode-home branch 21 times, most recently from 4c87e1b to 46f8a04 Compare May 19, 2025 08:01
@caybro caybro linked an issue May 20, 2025 that may be closed by this pull request
@caybro caybro force-pushed the feat/shell-mode-home branch 6 times, most recently from 7338be6 to db5dd41 Compare May 26, 2025 14:02
@caybro caybro requested review from alexjba, noeliaSD and a team as code owners May 27, 2025 11:58
@caybro caybro requested review from dlipicar and removed request for a team May 27, 2025 11:58
@caybro caybro force-pushed the feat/shell-mode-home branch from e6029b7 to 15a5e21 Compare May 27, 2025 18:38
- Shell becomes the new startup/home screen; hidden behind a feature
flag
- has a searchable grid, providing an overview of chats, communities,
wallets, settings etc
- some related smaller component and storybook page fixes
- cleanup some clazy warnings

Fixes #17971
@caybro caybro force-pushed the feat/shell-mode-home branch from 15a5e21 to 52b9734 Compare May 28, 2025 09:55
@caybro caybro requested a review from Khushboo-dev-cpp May 28, 2025 13:18
caybro added 2 commits May 28, 2025 16:01
- consistently for all notification badges/counters, instead of deriving it from the
item's (community, chat, ...) color
- everytime a user activates/interacts with some element, we update the
item's timestamp, and use that for sorting
- plus the according persistance fixes
Copy link
Member

@jrainville jrainville left a comment

Choose a reason for hiding this comment

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

That's awesome! Very good work.

I added a lot of comments, but a lot of them are repeated or just asking for info.

Question: is the shell keyboard navigable? If not, we should add that as an issue. Having it on ctrl+J then navigating with the keyboard sounds very cool and useful

anchors.fill: parent

Component.onCompleted: {
if (appMain.featureFlagsStore.shellEnabled)
appMain.rootStore.mainModuleInst.setActiveSectionBySectionType(Constants.appSection.chat) // force the chat section to finish loading
Copy link
Member

Choose a reason for hiding this comment

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

I think this code should be in the main module. In load and/or in onChatsLoaded. That's where the current code for setting the current active section is.

Copy link
Member

Choose a reason for hiding this comment

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

However, is there a way to close the Shell to actually go back to the last section opened? I'm not sure if that's a real user flow, but as the app is right now, it's kinda cool that it reopens the last chat for example. So as a chat app it's nice.
Though as an OS, it makes sense to show the "desktop" or shell in this case when reopening.

Anyway, just brainstorming here.

readonly property bool sectionsLoaded: appMain.rootStore.mainModuleInst && appMain.rootStore.mainModuleInst.sectionsLoaded

sectionsBaseModel: sectionsLoaded ? appMain.rootStore.mainModuleInst.sectionsModel : null
chatsBaseModel: sectionsLoaded ? appMain.rootStore.mainModuleInst.getChatSectionModule().model // FIXME model null initially or with empty images
Copy link
Member

Choose a reason for hiding this comment

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

Needs another issue?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I think there's some missing "dataChanged" signal somewhere in NIM code; will open a separate issue

Copy link
Member Author

Choose a reason for hiding this comment

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

You can see it here:

image

Topleft (grid) item doesn't have the icon; bottom right in the dock (pinned) does, as the latter is done async and later (probably the model is properly initialized at that point already)

Once I activate that chat, everything's fine

@caybro
Copy link
Member Author

caybro commented May 28, 2025

Question: is the shell keyboard navigable? If not, we should add that as an issue. Having it on ctrl+J then navigating with the keyboard sounds very cool and useful

Nope :( But again this is a generic problem; we are missing keyboard focus states for all the buttons and grid items and whatnot CC @benjthayer

@caybro caybro requested a review from jrainville May 29, 2025 15:02
@caybro
Copy link
Member Author

caybro commented May 29, 2025

@jrainville addressed your comments/feedback (in separate followup commits); pls have a second look. I can raise separate issues for the missing/faulty chat section behavior

@jrainville
Copy link
Member

I just realized, in your video, the chat icons are square for the ones without images:
image

@caybro
Copy link
Member Author

caybro commented May 30, 2025

I just realized, in your video, the chat icons are square for the ones without images:
image

Yeah I fixed that already in the meantime, just forgot to update the video

Copy link
Member

@jrainville jrainville left a comment

Choose a reason for hiding this comment

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

Nice work. Code looks good to me!

Can you create the issues for the 2-3 points still in comments. You can put them as children of the main issue.

I can work on them Monday

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.

[Shell] Implement MVP shell
3 participants