diff --git a/Dockerfile b/Dockerfile
index 2a92e516..1694806e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG BUILDER_CONFIGURATION="release"
-FROM php:8.4-apache@sha256:51da594c844a97f31b1cd6b1ac6660982f40788f4fe13e75f7fd39e2f9b58651 AS composer-builder
+FROM php:8.4-apache@sha256:56e7dab56ae21ec10aae951f93cbe7069c1ca68a714dd22ca78724268c78f5de AS composer-builder
ENV BUILDER_PLATFORM=docker-composer
# Install Zip to use composer
@@ -28,7 +28,7 @@ RUN if [ "$BUILDER_CONFIGURATION" = "debug" ]; then \
fi
# Site
-FROM php:8.4-apache@sha256:51da594c844a97f31b1cd6b1ac6660982f40788f4fe13e75f7fd39e2f9b58651
+FROM php:8.4-apache@sha256:56e7dab56ae21ec10aae951f93cbe7069c1ca68a714dd22ca78724268c78f5de
ENV BUILDER_PLATFORM=docker
COPY resources/keyman-site.conf /etc/apache2/conf-available/
diff --git a/_content/about/team/index.md b/_content/about/team/index.md
index ff267b8e..51d1be18 100644
--- a/_content/about/team/index.md
+++ b/_content/about/team/index.md
@@ -489,6 +489,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/AgMenos47 "AgMenos47")
[
](https://github.com/Aixther "Aixther")
[
](https://github.com/AKAAA252 "AKAAA252")
+[
](https://github.com/akpanakpan "akpanakpan")
[
](https://github.com/aldorsvo21 "aldorsvo21")
[
](https://github.com/alevy03 "alevy03")
[
](https://github.com/alex-larkin "alex-larkin")
@@ -536,6 +537,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/erros84 "erros84")
[
](https://github.com/evangaline-fpcc "evangaline-fpcc")
[
](https://evertype.com "evertype")
+[
](https://github.com/facundojaureguibehere "facundojaureguibehere")
[
](https://community.software.sil.org/u/gaikhuanlung "gaikhuanlung")
[
](https://github.com/geschantz "geschantz")
[
](https://github.com/gichegemi "gichegemi")
@@ -620,6 +622,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/MuratKaribay "MuratKaribay")
[
](https://github.com/mx-ash "mx-ash")
[
](https://github.com/Narvey "Narvey")
+[
](https://github.com/ngalalevisankinimbom-commits "ngalalevisankinimbom-commits")
[
](https://github.com/ngaretou "ngaretou")
[
](https://github.com/ngoohebi "ngoohebi")
[
](https://github.com/nikita-moor "nikita-moor")
@@ -636,6 +639,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/pndaza "pndaza")
[
](https://github.com/poetcin "poetcin")
[
](https://github.com/PostmodernEnglish "PostmodernEnglish")
+[
](https://github.com/pricejoshua "pricejoshua")
[
](https://github.com/punchcutter "punchcutter")
[
](https://github.com/purple-monkey "purple-monkey")
[
](https://github.com/rachitralli "rachitralli")
diff --git a/_content/about/team/team.json b/_content/about/team/team.json
index 283bf601..b596d52f 100644
--- a/_content/about/team/team.json
+++ b/_content/about/team/team.json
@@ -53,6 +53,7 @@
{ "level": "contributor", "handle": "seyhachhorn-dev", "pr": "keymanapp/keyman#15827" },
{ "level": "contributor", "handle": "phyphy-svg", "pr": "keymanapp/keyman#15827" },
{ "level": "contributor", "handle": "facundojaureguibehere", "pr": "keymanapp/keyboards#4119" },
- { "level": "contributor", "handle": "MLocria", "pr": "keymanapp/keyboards#4119" }
+ { "level": "contributor", "handle": "MLocria", "pr": "keymanapp/keyboards#4119" },
+ { "level": "contributor", "handle": "asnakeberhanu", "pr": "keymanapp/keyboards#4062" }
]
diff --git a/_content/keyboards/index.php b/_content/keyboards/index.php
index f5c37eb2..b4069dec 100644
--- a/_content/keyboards/index.php
+++ b/_content/keyboards/index.php
@@ -75,7 +75,7 @@
diff --git a/cdn/dev/keyboard-search/search.mjs b/cdn/dev/keyboard-search/search.mjs
index 9ac2ce61..9209b738 100644
--- a/cdn/dev/keyboard-search/search.mjs
+++ b/cdn/dev/keyboard-search/search.mjs
@@ -303,7 +303,10 @@ function process_response(q, obsolete, res) {
"");
if(kbd.isDedicatedLandingPage) {
- $('.title a', k).text(kbd.name).attr('href', `${page_root}/h${encodeURIComponent(kbd.id)}${embed_query_q}`);
+ // note: for kbd.id here, it has an embedded / and comes from
+ // dedicated-landing-pages.js, thus is not user-specified and should not
+ // be re-encoded.
+ $('.title a', k).text(kbd.name).attr('href', `${page_root}/h${kbd.id}${embed_query_q}`);
} else {
$('.title a', k).text(kbd.name).attr('href', `${page_root}/${encodeURIComponent(kbd.id)}`+(kbd.match.tag ? '?bcp47='+kbd.match.tag+embed_query_x : embed_query_q));
}