Commit graph

3762 commits

Author SHA1 Message Date
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
Darcy Wong
afd4256ce6 chore(common): Update Crowdin strings for Spanish 2025-08-06 11:36:52 +07: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
rc-swag
ad962172e9 fix(windows): remove dead code 2025-07-28 16:54:37 +10:00
rc-swag
f38145eaa2
Merge branch 'master' into fix/windows/14342/invalid-data-type-for-regkey 2025-07-25 10:58:55 +10:00
rc-swag
3c311a5aaa fix(windows): free the correct object KeyboardToggleReg 2025-07-24 16:59:41 +10:00
Eberhard Beilharz
b6c0c68af3
maint(windows): cd before adding to zip 2025-07-22 18:09:41 +02:00
Eberhard Beilharz
e4c1867583
maint(windows): remove another (unused) include of win/zip.inc.sh
Addresses code review comment.
2025-07-21 10:26:32 +02:00
Eberhard Beilharz
4a2cf53fbc
maint(windows): replace use of wzzip with add_zip_files
This makes use of the new functionality refactored in the previous
commit by replacing the use of the `wzzip` function with `add_zip_files`.

Test-bot: skip
2025-07-21 10:26:31 +02:00
rc-swag
314c606aec fix(windows): add check a fix for registry datatypes
Fixes: #14342
The Windows system level keyboard hotkeys controlled in
registry have sometimes been incorrectly written as
a DWORD datatype. There 106 events in sentry for just
July. When opening the Windows setting dialog and the registry
has DWORDS it will show unassinged in the dialog if apply
is pressed it will convert the keys to REG_SZ.
This fix follows a similar pattern it will check the data
type of the registry key if it is DWORD it will remove it
and add a new key of the same name as REG_SZ and set it to
the unassigned value.

Fixes: KEYMAN-WINDOWS-4NK
2025-07-15 16:27:14 +10:00
rc-swag
6345a0b9b3
fix(windows): review comment
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-07-01 15:13:02 +10:00
rc-swag
82649634e5 chore(windows): Merge branch 'master' into feat/windows/13918/human-readble-msg-413-err 2025-06-27 14:54:04 +10:00
Marc Durdin
a6936a3a41
Merge pull request #14196 from keymanapp/maint/developer/support-buildLevel
maint(developer): support buildLevel 🤖
2025-06-24 05:53:13 +07:00
rc-swag
145f19b009
fix(windows): review comments
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-06-16 10:12:15 +10:00
Marc Durdin
825f7d2df0
Merge branch 'maint/common/pr-build-bot' into maint/developer/support-buildLevel 2025-06-16 04:54:29 +07:00
Marc Durdin
156bdcdd8a maint(common): rename and move builder_if_release_build_level 2025-06-16 06:45:42 +10:00
Marc Durdin
f3136d5ab2 maint(developer): skip signature check on buildLevel build 2025-06-16 05:54:33 +10:00
Marc Durdin
870d37f56b maint(developer): only copy .dbg/.pdb on release buildLevel 2025-06-16 05:40:30 +10:00
rc-swag
d1adc63f80
Merge pull request #14166 from keymanapp/fix/windows/keyboard-only-install-return-idle
fix(windows): keyboard only install return idle
2025-06-13 10:57:58 +10:00
rc-swag
26c39fd3bb
feat(windows): review comments
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-06-13 10:57:06 +10:00
rc-swag
0d23efeae3 fix(windows): if only keyboards return to idle
There will be no `firstrun` for kmshell.exe if it is a keyboard only
install. We can therefore return to the idle state in the current
process
2025-06-12 15:31:22 +10:00
rc-swag
0408262eed chore(windows): Merge branch 'fix/windows/13767/error-updates-not-downloaded-after-3' into fix/windows/add-wuc-enum-result 2025-06-12 14:58:20 +10:00
rc-swag
cbd9146e31 chore(windows): Merge branch 'master' into fix/windows/13767/error-updates-not-downloaded-after-3
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-06-11 22:11:11 +10:00
rc-swag
4b2b9c1a84 fix(windows): early return when download meta data invalid
is invalid or the version is not newer then currently installed
2025-06-11 22:09:48 +10:00
rc-swag
7ad4ba8527 feat(windows): Fix error checking order 2025-06-06 15:54:32 +10:00
rc-swag
770506c331 feat(windows): tweak diagnositc error message 2025-06-06 11:14:26 +10:00
rc-swag
0de78e808f feat(windows): don't send logs with diagnostics 2025-06-06 10:29:14 +10:00
rc-swag
4462be9166 fix(windows): update TODO with issue number 2025-06-05 14:38:20 +10:00
rc-swag
c0dcec60f1 fix(windows): update all update check code 2025-06-05 11:10:14 +10:00
rc-swag
b33fec44a5 fix(windows): TRemoteUpdateCheckResult two new values
TRemoteUpdateCheckResult now has wucUpdateAvailable and
wucNotChecked to avoid confusion
2025-06-05 10:58:15 +10:00
rc-swag
ba3bcd95ac fix(windows): use ucrsUpdateReady in check for updates
When determining whether to move to the update available the
ucrsUpdateReady is now taken into account, not just the wucSuccess
flag. All the cases that check if there is Keyman installer file in
the metadata now check for this, and this was the original intent.
A two new function HasKeymanInstallFileUpdate and
CheckMetaDataForUpdate have been added to aid this check.
2025-06-05 09:08:58 +10:00
rc-swag
004c40606a
fix(windows): review comment fix log msg
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-06-02 20:54:07 +10:00
rc-swag
b1b065b912 fix(windows): fix download failing when cache.json missing
or stale. This commit adds a precondition check when entering the
Download state. It checks to see if the cache.json file still exists
then it checks if there are packages or installer files to download.
This will also check the version with ucrsUpdateReady, so if the
installed version is already newer it will not attempt the download.
If the check fails it will removed any cached files and return to
the idle state and check for updates.

Fixes: #13767
2025-06-02 20:39:46 +10:00
rc-swag
e33322fe8a fix(windows): change from error to breadcrumb and log
As this will also be seen when a user declines elevation
it is not really an error just breadcrumb incase there is
some actual error as a result.
fixes: #14066
2025-05-29 13:32:33 +10:00
rc-swag
5afaf7cbaf feat(windows): human text message for 413 error 2025-05-27 20:54:58 +10:00
rc-swag
a1a736a0ad
Merge pull request #14027 from keymanapp/fix/windows/sentry-message-reporting-fix
fix(windows): fix sentry error message reporting
2025-05-22 15:32:15 +10:00
rc-swag
c9e14b03f0
Merge pull request #13989 from keymanapp/fix/windows/13770/skip-sm-when-kbd-update
fix(windows): skip sending handle kmshell events to upgrade state machine  for keyboard install modes
2025-05-22 15:10:09 +10:00
rc-swag
309637474e fix(windows): fix sentry error message reporting 2025-05-22 13:24:12 +10:00
rc-swag
3857157fda
Merge pull request #13984 from keymanapp/fix/windows/13771/first-run-updateavailble-state
fix(windows): only breadcrumb unexpected state on first run
2025-05-22 11:44:55 +10:00
rc-swag
be4a698e95
fix(windows): commit review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-22 09:52:06 +10:00
rc-swag
878bd3fd94
Merge pull request #13867 from keymanapp/fix/windows/13831/install-the-correct-update
fix(windows): use json file name against cache folder
2025-05-21 13:25:38 +10:00
rc-swag
0dfe141114
Merge pull request #13920 from keymanapp/fix/windows/13831/rename-exit-method
fix(windows): rename Enter and Exit methods TState
2025-05-21 13:24:27 +10:00
rc-swag
2bc9008d0f fix(windows): skip handlekmshell for kbb updates
Before we only skipped the handlekmshell checks if we
were in installing state and the FMode was related to
upgrading or installing the keyboard packages. However
like as seen in 13984 if an upgraded is started from the
standalone installer the statemachine state could be
in UpdateAvailable instead of the Installing State.
Due to this limitation we will skip handlekmshell when in
these FModes in any state.

Fixes: #13770
2025-05-20 17:20:19 +10:00
rc-swag
73fa622092 fix(windows): only breadcrumb unexpected state on first run
If configuration is set to not automatically downloadupdates
and then from the configuration tab the check for update button is
clicked. If an update is found the upgrade statemachine is now in
state UpdateAvailable. If a updated keyman installer file is then
download direclty from keyman.com. Then installed by running the self
installer then on firstrun the statemachine will still be in the
UpdateState. This is should be fine, but it will be good to breadcrumb
incase we start to see some crashes on firstrun with this interaction.

The setup executable could modify the registry state directly but it is
cleaner to have the one master of the registry state value.

Fixes: #13771
2025-05-20 14:41:33 +10:00
rc-swag
f54601dc3e
fix(windows): address review comment ignore case
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-19 10:50:35 +10:00
rc-swag
588fcae1b0 fix(windows): add info breadcrumb for keyman installer
status
2025-05-16 23:22:33 +10:00
rc-swag
2b53497046 fix(windows): add breadcrumbs and remove klogs
Add some extra breadcrumbs for when loading cache file fails.
2025-05-16 18:37:28 +10: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