While it is still “not working”, it appears the error messages have disappeared; I don’t get the error log you reported above when I visit the site.
Instead, I get errors regarding some of the other local code… though admittedly, yes, the keyboard doesn’t show. Looking at your code, I can see a few points for some guidance. From line 796 on your index page:
var kmw = keyman;
kmw.init({attachType:'auto'});
kmw.addKeyboards('@en','@ti');
kmw.osk.hide();
if($(".s_drop").val()=="3"){
kmw.setActiveKeyboard('gff_tir_er_7','ti');
kmw.osk.hide();
}else{
kmw.setActiveKeyboard('english','en');
kmw.osk.hide();
}
While I can’t speak to exactly how things were working before, I’d like to point out that your code is making a very large assumption here - in particular, that the specific keyboards you want will be returned from an API call on just the language codes. Unfortunately, this is currently not happening - neither for the ‘en’ or the ‘ti’ codes. This may be partly our fault; we’ve recently noted some issues with how keyboards are returned from API calls that likely effected this situation. There’s also the fact that we’ve marked all current Web keyboards for Tigrinya as deprecated, which means they’re generally not returned from our language-code-only API calls.
To ensure you always get the specific keyboards you want, please note the documentation at https://help.keyman.com/DEVELOPER/ENGINE/WEB/13.0/guide/adding-keyboards. Following the format specified at the very bottom, I would suggest modifying your addKeyboards
line as follows:
kmw.addKeyboards('kbdus@en','gff_tir_er_7@ti');
or
kmw.addKeyboards('sil_euro_latin@en', 'gff_tir_er_7@ti');
Since there is no plain ‘english’ keyboard for ‘en’, I’d suggest picking one of those two as the English keyboard id for your site.
Then again… it looks like that keyboard isn’t being returned; looks like a recent adjustment to our keyboard API may have been a bit overzealous. @Marc, it looks like deprecated keyboards are now never returned by the API, even if a deprecated keyboard is specifically requested. While this is probably fine for general, language-code only requests, this breaks pages that rely on specific keyboards once they are deprecated.