Commit graph

1485 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
Darcy Wong
356ef54c86 chore(common): Update Crowdin strings for de 2026-01-29 16:38:12 +07:00
Darcy Wong
cbca7630e1 chore(common): Update crowdin strings for PT 2025-12-18 16:13:25 +07: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
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
d678215371
Merge branch 'maint/resources/14419-build-sh-style-build-bot' into maint/ios/14286-skip-publishing-on-build-buildlevel 2025-08-07 11:44:22 +07:00
Marc Durdin
bfd9fe85bd maint(ios): skip unnecessary network steps when buildLevel is build
Skips codesigning and upload to TestFlight in this case.

Fixes: #14286
2025-08-06 11:07:16 +08: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
Joshua Horton
970d93c7f5 fix(ios): restore keyboard scale map for iPad Air 2
Fixes: KEYMAN-IOS-JC
2025-07-07 07:58:03 -05:00
Joshua Horton
bfb97ca0c6 maint(web): upgrade Sentry to 8.55.0
Fixes: KEYMAN-WEB-RX
(It was produced artificially after this PR's changes to validate them.)

Cross-reference with https://github.com/getsentry/sentry-javascript/blob/master/docs/migration/v7-to-v8.md in regard to minimum supported versions.

@keymanapp-test-bot skip
2025-05-22 14:02:16 +07:00
Joshua Horton
5942ce0bf6 change(ios): revert temp dev-changes to display "force error" option
Also adds minor documentation to new SentryManager.swift additions

Fixes: KEYMAN-IOS-MJ
This error was manually triggered to  validate this PR's actual changes, given that the aim is to enhance error logging.
2025-05-21 09:07:08 +07:00
Joshua Horton
bc39ed46a5 change(ios): temporarily display crash-forcing settings option 2025-05-20 13:44:32 +07:00
Joshua Horton
472ca9e1af feat(ios): log active keyboard, model IDs with reported errors 2025-05-20 13:44:16 +07:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Joshua Horton
b80eef4a97 change(ios): limit reports about devices without predefined scaling entries
Warnings about known devices without predefined keyboard-scale map entries will be
limited to once per startup of the app and/or app-extension.

Test-bot: skip
See-also: #13769
2025-04-30 14:12:58 +07:00
Joshua Horton
cf85aca104 fix(ios): restore keyboard-scale settings for older, still-supported iOS devices
Fixes: #13769
Fixes: KEYMAN-IOS-JC
Fixes: KEYMAN-IOS-JG
Fixes: KEYMAN-IOS-JH
Fixes: KEYMAN-IOS-JJ
Fixes: KEYMAN-IOS-JY
Fixes: KEYMAN-IOS-JS
2025-04-28 13:26:06 +07:00
Joshua Horton
5004360743
Merge pull request #13701 from keymanapp/fix/ios/picker-dismissal-kbd-resummon
fix(ios): resummon keyboard when keyboard picker is dismissed
2025-04-21 08:46:58 +07:00
Joshua Horton
495aba3e71
Merge pull request #13698 from keymanapp/fix/ios/update-notification-background
fix(ios): ensure update notification does not go translucent/transparent
2025-04-21 08:46:44 +07:00
Joshua Horton
3d1f677407 fix(ios): dismissal of keyboard picker should resummon keyboard
Fixes: #13699
2025-04-11 08:32:52 +07:00
Joshua Horton
c132fe204e fix(ios): ensure update notification is consistently rendered
Fixes: #12589
Fixes: #13688

At some point, iOS seems to have enacted behavior that will cause a toolbar to go translucent/transparent in certain scenarios - such as when it would cover up the bottom of a fully-scrolled view.  This has been triggering on our keyboard-search page, directly causing the behavior seen in #12589.

Reference: https://stackoverflow.com/a/71985231

It appears fixing this thoroughly _also_ addresses #13688, so... yay for "two birds, one stone"!
2025-04-10 13:09:15 +07:00
Joshua Horton
6316684371 chore(ios): update keyboard-size data for current iOS devices
This PR updates the database that KeymanEngine uses to determine what size of keyboard to use for each device.  This should ensure the default size for the keyboard matches the system keyboard's dimensions.
2025-04-10 10:57:26 +07:00
Joshua Horton
8a97943152
Merge pull request #13687 from keymanapp/fix/ios/do-not-double-notify-keyboard-download
fix(ios): do not show notification for downloaded keyboard when showing its installer
2025-04-09 15:52:14 +07:00
Joshua Horton
5e92b142be chore(ios): fix new codeline's indentation 2025-04-08 11:58:35 +07:00
Joshua Horton
9082011294 fix(ios): do not notify keyboard download when showing package installer for it
Fixes: #12590

If we're already showing the package-installer for a keyboard the user found via search... then we clearly downloaded it successfully.  Why double-notify?

It turns out that #12590 itself was due to our usage of a TabBarController outside the prescribed safe use cases.  We're actually fine most of the time... but it seems the tab area doesn't play nicely with a NavigationController toolbar, which is what displays download + update notifications.  Rather than find a way to force that to work, it's simpler to just... not show the toolbar, **ever**, when the package installer is displayed.
2025-04-08 11:39:43 +07:00
Joshua Horton
29bb9c5c5b fix(ios): allow swipe-dismissal of Settings to be cancelled
This tweaks the recently-merged #13631, which accidentally introduced a bug in which _any_ downward swiping motion on the Settings view would always dismiss it, even should the user attempt to cancel dismissal.
2025-04-08 10:35:32 +07:00
Joshua Horton
ca075242c6
Merge pull request #13643 from keymanapp/fix/ios/engine-settings-dismissal
fix(ios): ensure keyboard height is set when engine settings view is used in a NavigationController
2025-04-07 08:06:10 +07:00
Joshua Horton
1a79fd2b1e
Merge pull request #13631 from keymanapp/fix/ios/keyboard-height-slide-dismissal
fix(ios): slide dismissal of keyboard-height adjuster will properly resize the keyboard
2025-04-04 08:17:43 +07:00
Joshua Horton
50a4421133 fix(ios): ensures keyboard height is set when settings dismissed when in nav controller 2025-04-02 08:25:34 +07:00
Joshua Horton
a514569596 change(ios): rename doneClicked -> settingsDismissed 2025-04-02 08:24:41 +07:00
Joshua Horton
0e055b2e67
Merge pull request #13549 from keymanapp/fix/ios/remove-missing-keyboards
fix(ios): uninstalls keyboards upon failure to load
2025-04-01 14:56:17 +07:00
Joshua Horton
002b7fc03b docs(ios): tweaks code comment for clarity 2025-04-01 12:53:07 +07:00
Joshua Horton
2e300fcbba fix(ios): slide dismissal of keyboard-height adjuster did not resize keyboard
Fixes: #13443

Slide-dismissal of the settings menu, and of the keyboard-height setting view in particular, should apply changes after dismissal... not only after backing out via navigation buttons.

Certain aspects of the iOS API didn't make it easy, though.  After some searching, I found that "presentation controllers" and related can be leveraged to ensure we can detect Settings menu dismissal.  With that detection in place, we can use the same method that's been working fine for us when backing out of Settings via button.  This also ensures the keyboard will immediately display after dismissal, too!
2025-04-01 10:58:24 +07:00
Joshua Horton
4ee498d1ef fix(ios): uninstalls keyboards upon failure to load
Fixes #13120.

Well, fixes the state left by the error, but doesn't prevent it - that part is covered by the predecessor, #13548.
2025-03-20 13:12:52 +07:00
Joshua Horton
1c54bf5b58 change(ios): prevent file erasure during copyWithOverwrite error state
Adds measures to prevent the state causing #13120, but does not fix it.
2025-03-20 13:04:05 +07:00
Darcy Wong
2e896e316f chore(common): Update crowdin strings for Italian 2025-03-14 09:23:26 +07:00
Darcy Wong
1380597be2
Merge branch 'beta' into chore/common/crowdin-vi 2025-03-05 19:45:39 +07:00
Shawn Schantz
94ff78ad5e added Vietnamese localization to iOS project file 2025-03-05 19:17:08 +07:00
Joshua Horton
439980a02c change(ios): re-order host page script load so Sentry can report script load failures
This change is designed to help further investigate #13312.
2025-02-24 13:12:17 +07:00
Darcy Wong
1a1056ca50 chore(common): Add crowdin strings for Vietnamese 2025-02-22 07:37:36 +07:00
Darcy Wong
af9d7bbe46 chore(common): Update crowdin strings for Polytonic Greek 2025-02-19 06:54:56 +07:00
Darcy Wong
a1153bfa29
Merge pull request #13242 from keymanapp/chore/crowdin/cs
chore(ios,windows): Update Crowdin strings for Czech
2025-02-14 10:54:32 +07:00
Darcy Wong
0c7ae8d9c7
Merge pull request #13241 from keymanapp/chore/crowdin/mnw
chore(common): Update crowdin strings for Mon
2025-02-14 10:37:56 +07:00
Shawn Schantz
aa84902487
Merge pull request #13201 from keymanapp/chore/ios/increase-min-ios-version
chore(ios): increase minimum ios version to 15
2025-02-14 10:34:24 +07:00
Darcy Wong
c25a238877 chore(ios): Update crowdin strings for Czech 2025-02-14 09:50:37 +07:00
Darcy Wong
6404ccc5e9 chore(common): Update crowdin strings for Mon 2025-02-14 09:43:28 +07:00
Shawn Schantz
f07a565d88 chore(ios): added back accidentally deleted line 2025-02-13 15:55:30 +07:00