From 4ef6ca817e36e207f57dd810727f7225e7d26eff Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 28 Aug 2026 16:11:46 +0200 Subject: feat(hub): search downloads, photos view, pre-connect optimization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Downloads from search: FilesPanel accepts a getTransport callback for cross-group file downloads. Select/Download are available in search; delete and zip are hidden (readOnly). Each download connects to the entry's group via the pool on demand. Photos view: PhotosApp reused in search with the same pattern as Videos/Music — synthetic root, per-entry transport refs, group badges on album cards. Lightbox uses per-entry transport for full-resolution image fetches. Zip download hidden in search context. Pre-connecting: connections to all groups start as soon as indexing finishes, regardless of the active view. Thumbnails cache across pool evictions, so they're ready when the user switches views. Co-Authored-By: Claude Opus 4.6 --- packages/meshbay-hub/src/meshbay_hub/static/locales/de.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/en.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/es.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/it.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js | 1 + packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js | 1 + 10 files changed, 10 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js index e64d910..e3d9ee2 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js @@ -533,6 +533,7 @@ export default { 'search.view_files': 'Dateien', 'search.view_videos': 'Videos', 'search.view_music': 'Musik', + 'search.view_photos': 'Fotos', 'search.connecting': 'Verbindung zu Gruppen wird hergestellt …', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js index 06d54a7..e8bfca3 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js @@ -611,6 +611,7 @@ export default { 'search.view_files': 'Files', 'search.view_videos': 'Videos', 'search.view_music': 'Music', + 'search.view_photos': 'Photos', 'search.connecting': 'Connecting to groups...', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js index af211c6..0847d79 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js @@ -529,6 +529,7 @@ export default { 'search.view_files': 'Archivos', 'search.view_videos': 'Vídeos', 'search.view_music': 'Música', + 'search.view_photos': 'Fotos', 'search.connecting': 'Conectando a los grupos…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js index 92ab2b9..bcc82d1 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js @@ -533,6 +533,7 @@ export default { 'search.view_files': 'Fichiers', 'search.view_videos': 'Vidéos', 'search.view_music': 'Musique', + 'search.view_photos': 'Photos', 'search.connecting': 'Connexion aux groupes…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js index 201fdfc..bfdd964 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js @@ -531,6 +531,7 @@ export default { 'search.view_files': 'File', 'search.view_videos': 'Video', 'search.view_music': 'Musica', + 'search.view_photos': 'Foto', 'search.connecting': 'Connessione ai gruppi…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js index a421e25..5d86e32 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js @@ -519,6 +519,7 @@ export default { 'search.view_files': 'ファイル', 'search.view_videos': '動画', 'search.view_music': '音楽', + 'search.view_photos': '写真', 'search.connecting': 'グループに接続中…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js index b2e3b24..77ba822 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js @@ -533,6 +533,7 @@ export default { 'search.view_files': 'Bestanden', 'search.view_videos': 'Video\'s', 'search.view_music': 'Muziek', + 'search.view_photos': 'Foto\'s', 'search.connecting': 'Verbinding maken met groepen…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js index 2c2bacd..23fc4d9 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js @@ -552,6 +552,7 @@ export default { 'search.view_files': 'Pliki', 'search.view_videos': 'Filmy', 'search.view_music': 'Muzyka', + 'search.view_photos': 'Zdjęcia', 'search.connecting': 'Łączenie z grupami…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js index 96dbc75..5c217f0 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js @@ -530,6 +530,7 @@ export default { 'search.view_files': 'Arquivos', 'search.view_videos': 'Vídeos', 'search.view_music': 'Música', + 'search.view_photos': 'Fotos', 'search.connecting': 'Conectando aos grupos…', // Presence, chat paging, leaving a group, the profile page diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js index 45d89f7..b00779d 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js @@ -505,6 +505,7 @@ export default { 'search.view_files': '文件', 'search.view_videos': '视频', 'search.view_music': '音乐', + 'search.view_photos': '照片', 'search.connecting': '正在连接群组…', // Presence, chat paging, leaving a group, the profile page -- cgit v1.2.3