From 5567022348aebbe4b6a1b5d7ea8d0fb04a3cacde Mon Sep 17 00:00:00 2001 From: Ivan Date: Wed, 22 Jul 2026 18:10:31 -0500 Subject: [PATCH] feat: update discovery map with dual-halo badge icons, update default basemap to OpenStreetMap, and improve marker label visibility --- CHANGELOG.md | 2 + meshchatx.rsm | Bin 169906 -> 170140 bytes .../src/frontend/components/map/MapPage.vue | 174 ++++----- .../components/map/internal/markerStyles.js | 351 ++++++++++++++++++ meshchatx/src/frontend/js/mapTileProviders.js | 6 +- meshchatx/src/frontend/locales/de.json | 2 +- meshchatx/src/frontend/locales/en.json | 2 +- meshchatx/src/frontend/locales/es.json | 2 +- meshchatx/src/frontend/locales/fi.json | 2 +- meshchatx/src/frontend/locales/fr.json | 2 +- meshchatx/src/frontend/locales/it.json | 2 +- meshchatx/src/frontend/locales/nl.json | 2 +- meshchatx/src/frontend/locales/ru.json | 2 +- meshchatx/src/frontend/locales/zh.json | 2 +- scripts/dev-local.sh | 4 +- tests/frontend/mapMarkerStyles.test.js | 190 ++++++++++ tests/frontend/mapTileProviders.test.js | 8 + 17 files changed, 644 insertions(+), 109 deletions(-) create mode 100644 meshchatx/src/frontend/components/map/internal/markerStyles.js create mode 100644 tests/frontend/mapMarkerStyles.test.js diff --git a/CHANGELOG.md b/CHANGELOG.md index d9ba18c8..5788e1b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,8 @@ All notable changes to this project will be documented in this file. ### Changed +- Discovery map markers use dual-halo badge icons (peers, LXMF, discovered, tracking, stale) with banded cluster badges, zoom-gated labels, and cached styles for denser maps +- Map default basemap is OpenStreetMap (OSM). Style presets list OSM first and identity config wins over stale cached tile URLs - UI opens sooner: HTTP binds first, Reticulum starts in the background - Conversations load faster: slim list and thread queries via fields_meta and attachment flags - Conversation list uses a per-peer summary table so refreshes no longer scan the full message history diff --git a/meshchatx.rsm b/meshchatx.rsm index e7a9229123747a25580b6f75c43e837f613db6a1..fa92840b365d5a03ad834d2bd1cc909855725b9d 100644 GIT binary patch delta 1379 zcmYL}Pl%RP6vq7qYD_1PkP@RZ!EK#$|D1a-g7X>Xs38+`1%t-ic_?RRf~a^K=V7Z*=|yZfAr+P>)yRNd*b@l7e3qUo_pY# z7x$ewdU|2+{OfZQ<1=UfI=*_?DAwpGki_gMhwh-1?kYqn=zK(qITXo~OX^6WPXI+y6ix+OXsFGqCk3Vs#cNFBnq3n|^Vc?w z*8F(Kxl=#;Sicg&72|Tj>5G^aab_-8kJ+UqEeJfrsQC})eqK> zK3|v`UAQzg^>Urv+h(7B?eM-fckamL?Yp-00%SLksDqwe6|cUA%HVp@>|1Lc#Fd&- zW-+xUpt5fjYSktupB&sje)GY>ou6*pIM_7Zy=ysG5msVIrRL;QalR*2@s1Ni?gFAv zSb7OyGO!5{#STiNW8beIKeThOaz@)DFU`HOe^rDA8ViGXwz?=@Tt|DV;4$XPlp{ON zK?#C6k&(N7=K|h(fzg4VmJ5#moEfZ~CX*zQi_hYH_Nbm4h0Q)GSNG^DS91xM3!DHr>V5Ejdj&-#7`|ZJ< zFgu27q@x)s#M+xH#rzO!Ft8}MVAxiWV)SXo=(Iub+PK*{Df+%R|di z$oizQJFn!ER@SyJpWFoF}a*`3)XC+36?Hn`D&UzWw5zqo7g-f)NxKtfC{fZC~2 zodvc_>bcg=zLzeXd)JDn#&<3@Fd&Z3O8`gZ{0GMeNB$U!1>aIq&4zL-N@{B&1px0N zC1|(KqA2!+WZNWg3>v(}N6dDzERGisPOM$M`~Sp_?>;m!JG20H1wq5X76w+djZn!U kVJ&1-*e5l&Fl$KCG}_SE0XIXS+o}pnWzSzaG_kPZKgrvsLI3~& delta 1212 zcmYLJO=w<46y>E#Yg%fh2*oU{Q50P0ojY^qrx3o+wAde05JcQ|X6{_9XvHKYB8q0? zMzNM)ABaK?7MBu(q!fQ>q5eRrxDiFDU5KI*sOUnWf;W7E4;}+=X3jn5+;iVsE8`!$ zKR$f9ZFhgY`S(449Nlr@_7C@6y7SNV*-M{1^6{gOy?E{2-#`Ct&!**jpZR9zfwNcl z{&Mroo|opo*m>jgM{fORW`6mG=T02nbaJ?B_ea~ep1Csh#!o+AJa=U9<-^xLyZ-vV z*;8lsuDy2dhr`F0KRx;E+}Np$E9yEV+s+%&|eJVl6xH=soClblIm;Tq_*G)ff$9 ze|ox`Si1V%w$-=4`f>B>*tgS%23U1JMG+7_Bk&NuM}5k*Rl)$0Lpfmp~$b*C54N@4dAyI3(BDA*UAEIw+nq$wM)r3q#085w z!j%)Uk0k^~Po6L{uT8w#z3^+_EsQ-rbe=R-7{x>|IyudU783^(Ea)6HNgMN|v2{&s cjii47$ifEotER^E4=jxBT06fm_WkaE0X7nK1^@s6 diff --git a/meshchatx/src/frontend/components/map/MapPage.vue b/meshchatx/src/frontend/components/map/MapPage.vue index f955b0f6..f207221c 100644 --- a/meshchatx/src/frontend/components/map/MapPage.vue +++ b/meshchatx/src/frontend/components/map/MapPage.vue @@ -590,8 +590,8 @@