Commit graph

1087 commits

Author SHA1 Message Date
Marc Durdin
593aa1448b chore: move to .localhost for local server URLs
Match website-local-proxy nginx server setup.

Test-bot: skip
2026-05-18 13:15:51 +02:00
Shawn Schantz
7f203cd6c7 fix(mac): removed unused code and extra logging 2026-03-26 06:27:04 -04:00
sgschantz
b22b036f6b maint(mac): upgrade to Xcode 26
change cocoa-sentry version to one compatible with
Xcode 26
2026-03-26 06:17:55 -04:00
Shawn Schantz
4c4643644e fix(mac): surrogate pair backspace handling
replaces with surrogate pair or single character
but not with a larger composed character or
grapheme cluster

Fixes: #15543
2026-02-26 11:30:27 -05:00
Shawn Schantz
f8e9f72210 fix(mac): improved adherence to backspace rule
deals with preceding character being a surrogate pair
when a delete occurs

Fixes: #15543
2026-02-14 16:02:53 -05:00
Shawn Schantz
553a2e5571
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-02-10 21:54:00 -05:00
Shawn Schantz
c2a667635a
Update mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodEventHandler.m
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-02-10 21:53:05 -05:00
Shawn Schantz
65c151b33c fix(mac): improved adherence to backspace rule
introduces an alternative to approach to backspace
for compliant apps by using the insertText API to
replace a character to be deleted and the preceding
character from the context with only the character
from the context

Fixes: #15543
2026-02-04 14:40:43 -05:00
Darcy Wong
356ef54c86 chore(common): Update Crowdin strings for de 2026-01-29 16:38:12 +07:00
Darcy Wong
665e82a104 chore(common): Update Crowdin strings for Italian 2026-01-13 09:37:15 +07:00
PekingSpades
5b3aecc1f8 fix(mac): correct memory width mismatch in keyCodeForChar 2025-12-31 20:58:49 +08:00
Darcy Wong
f0fc8f9d13
Merge branch 'master' into chore/common/crowdin-pt 2025-12-19 06:02:14 +07:00
Darcy Wong
cbca7630e1 chore(common): Update crowdin strings for PT 2025-12-18 16:13:25 +07:00
Marc Durdin
5451c70743 fix(mac): ensure retry for mac disk detach actually repeats
Increment needed a guard in order to not abort the script. I have tested
locally (stubbing out hdiutil and replacing with false!) -- so I am more
confident this time.

Test-bot: skip
Build-bot: skip
Follows: #15176
2025-12-09 18:04:44 +00:00
Shawn Schantz
323a2f99fc
Merge pull request #14972 from keymanapp/chore/mac/key-trace-log
chore(mac): add keyTrace log
2025-11-20 13:26:25 -05:00
Marc Durdin
9940de591c maint(mac): handle hdiutil detach failure correctly in make-km-dmg.sh
Fixes: #10201
Test-bot: skip
Build-bot: skip release:mac
2025-11-15 06:57:22 +01:00
Marc Durdin
7e1d38b498
Merge pull request #15028 from keymanapp/maint/mac/tweak-macos-env
maint(mac): minor tweaks to mac setup, using build.sh
2025-10-28 13:31:39 +01:00
Marc Durdin
1d223908ff maint(mac): minor tweaks to mac setup, using build.sh
Build-bot: skip
Test-bot: skip
2025-10-27 09:10:33 +01:00
Marc Durdin
a51f4ff965 fix(mac): ignore non-Unicode key caps when preparing OSK
The typeFlags property is used to differentiate Unicode and non-Unicode
keys in the array of keys in a .kvk file. All non-Unicode keys should
be ignored, as we do not support non-Unicode keyboards on macOS.

The reason this fixes #15007, is that the keyboard in question had both
ANSI and Unicode sections in its .kvk file, and the ANSI section was
stored after the Unicode section, so the font spec for ANSI was
overriding the previously (correctly) set Unicode font spec.

Fixes: #15007
2025-10-24 11:00:07 +02:00
Shawn Schantz
30897514e4 chore(mac): additional log statements 2025-10-16 17:07:22 -04:00
Shawn Schantz
7811ac92a8 chore(mac): added keyTrace logger
this logger is used to categorize statements related
to the processing of a KeyDown event by Keyman for
more effective debugging of unexpected output
2025-10-16 12:05:05 -04:00
Shawn Schantz
4fd2adc8b0
Merge pull request #14940 from keymanapp/fix/mac/14160-bengali-word
fix(mac): add Microsoft Word to non-compliant app list
2025-10-14 21:14:41 -04:00
Shawn Schantz
9f755c075d fix(mac): add Microsoft Word to non-compliant app list
addresses issue with Bengali text

Fixes: #14160
2025-10-10 16:52:11 -04:00
Darcy Wong
c38f488986 chore(common): Update crowdin strings for Vietnamese 2025-10-09 11:40:18 +07:00
Marc Durdin
377b1056ec maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME
Address review comment from #14703.

Test-bot: skip
Build-bot: skip
Relates-to: #14703
Relates-to: #10521
2025-09-10 11:17:41 +02:00
Marc Durdin
b061944223 maint(mac): use versioned filenames for PR artifacts
Relates-to: #10521
Test-bot: skip
Build-bot: skip release:mac
2025-09-08 12:44:57 +02:00
Marc Durdin
0d27ac91f7 maint(mac): use mac_ prefix for functions in mac.inc.sh
* Also renames resources/environment.sh to resources/build/mac/xcode-environment.inc.sh.
* Adds a few more exclusions to linux/scripts/dist.sh

Fixes: #14478
Test-bot: skip
Build-bot: build
2025-08-20 05:40:32 +02:00
Marc Durdin
3cdce9b371
Merge pull request #14467 from keymanapp/maint/mac/14287-skip-publishing-on-build-buildlevel
maint(mac): skip unnecessary network steps when buildLevel is build 🦌
2025-08-19 15:42:59 +07:00
Marc Durdin
4314088071 maint(mac): only publish sentry for CI builds 2025-08-18 11:28:08 +02:00
Marc Durdin
bdbd748d82
Merge pull request #14458 from keymanapp/maint/common/mac-scripts
maint(common): reorganize mac/ios build script includes 🐸
2025-08-12 10:41:35 +07:00
Marc Durdin
a81138c62b
Merge pull request #14449 from keymanapp/maint/common/14065-consolidate-builder-scripts
maint(common): consolidate builder scripts 🐸
2025-08-12 10:41:09 +07:00
Marc Durdin
f95b26ac1f
Merge pull request #14446 from keymanapp/maint/common/14275-rename-and-cleanup-shellHelperFunctions.sh
maint(common): rename shellHelperFunctions.sh to utils.inc.sh 🐸
2025-08-12 10:40:59 +07:00
Marc Durdin
8caf66ce9e maint(mac): address review comments 2025-08-12 05:27:48 +02:00
Marc Durdin
c3ce6adfaf
Merge branch 'maint/ios/14286-skip-publishing-on-build-buildlevel' into maint/mac/14287-skip-publishing-on-build-buildlevel 2025-08-07 11:44:32 +07:00
Darcy Wong
afd4256ce6 chore(common): Update Crowdin strings for Spanish 2025-08-06 11:36:52 +07:00
Marc Durdin
637b59d2e2 maint(mac): skip unnecessary network steps when buildLevel is build
Skips sentry upload, notarization, and code signing.

Fixes: #14287
2025-08-06 11:09:47 +08:00
Marc Durdin
be61cb74b5 maint(mac): remove unused scripts 2025-08-05 13:26:19 +10:00
Marc Durdin
f03be501a6 maint(common): reorganize mac/ios build script includes
Move mac-specific build scripts and functions into our established
patterns for scripts under resources/build:

* new mac/mac.inc.sh for mac-specific functions, from mac-utils.inc.sh,
  utils.inc.sh, builder-basic.inc.sh
* move other mac-specific scripts into mac/

Relates-to: #14065
Build-bot: build
Test-bot: skip
2025-08-05 12:57:32 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Marc Durdin
808b6557d6 maint(common): use cpp_std=c++17 in meson project default_options
We attempted to set the C++ version in standard.meson.build, but this
does not work well as the option name varies by platform, and it also
triggers a warning in meson. This fix moves the setting into each
meson.build project() default_options. As there are only a handful
of these, the maintenance burden is not high.

Fixes: #14432
Relates-to: #14355
Build-bot: build
Test-bot: skip
2025-08-01 10:23:57 +10:00
Eberhard Beilharz
51ca604b47
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/14109_isOsFuncs 2025-07-21 09:20:12 +02:00
Eberhard Beilharz
982ff9b8ce
Merge pull request #14325 from keymanapp/maint/mac/write-download-info
Mac had a separate `write-download_info.sh` script that duplicates what is done in the `write_download_info` function. Also remove the unused `dl_info_display_usage` function that is unused and seems to be related to the script we're deleting.

Follow-up-of: #14270
2025-07-21 09:13:34 +02:00
Eberhard Beilharz
faa521d82c
maint(common): set C++17 in standard.meson.build
Note that the ICU subprojects still explicitly specify C++17 since they
are maintained outside of Keyman and so shouldn't be tied to the Keyman
compiler version requirement.

Fixes: #12526
Test-bot: skip
2025-07-18 14:04:11 +02:00
Eberhard Beilharz
bcc6ecc3eb
maint(mac): consolidate write-download_info
Mac had a separate `write-download_info.sh` script that duplicates what
is done in the `write_download_info` function. Also remove the unused
`dl_info_display_usage` function that is unused and seems to be related
to the script we're deleting.

Test-bot: skip
2025-07-09 19:12:29 +02:00
Eberhard Beilharz
3b136fcec9
maint(common): consolidate functions to determine OS
- add `builder_is_windows`, `builder_is_macos` and `builder_is_linux`
  functions
- add/move `BUILDER_OS` env variable to `resources/builder.inc.sh`
- use the new functions and env variable

Fixes: #14109
Test-bot: skip
2025-07-09 18:33:09 +02:00
Marc Durdin
dd712333e5 maint(mac): make make-km-dmg.sh less quiet
When build.sh was converted to a builder-style script, the -quiet flag
was then passed into make-km-dmg.sh, which meant that it no longer gave
valuable diagnostic output. This returns the script to default levels of
output (there is also a -verbose or -debug level we could use). The
variable QUIET_FLAG appears to have been used only in that one place.
2025-06-03 05:58:48 +07:00
Darcy Wong
ed0b747722
Merge pull request #13871 from keymanapp/chore/crowdin-it
chore(mac,windows): Update Crowdin strings for Italian
2025-05-16 09:00:49 +07:00
Shawn Schantz
79d5347c80
Merge pull request #13876 from keymanapp/fix/mac/13718-sanskrit-unicode-crash
fix(mac): handle PackageInfo section in kmp.inf file
2025-05-13 15:48:55 +07:00
Shawn Schantz
df21808616
Merge pull request #13848 from keymanapp/fix/mac/replace-km-binary-file-format
chore(mac): remove obsolete key processing code
2025-05-12 18:39:40 +07:00