Commit graph

876 commits

Author SHA1 Message Date
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
e4c1867583
maint(windows): remove another (unused) include of win/zip.inc.sh
Addresses code review comment.
2025-07-21 10:26:32 +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
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
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
5afaf7cbaf feat(windows): human text message for 413 error 2025-05-27 20:54:58 +10: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
rc-swag
b2463be19a fix(windows): review comments 2025-03-28 10:36:46 +10:00
rc-swag
79b15dfeb4 fix(windows): move thread check guard
Removed the redundant thread check guard on load modifer. Added guard
to reading the option. Also fixed some formating. and made the load
modifier private.
2025-03-27 16:05:28 +10:00
rc-swag
e3f2e85945 fix(windows): reload right modifier key option
Fixes: #13440

This refactors the cached of the right modifier key used in hotkeys
option. In the lowlevelhook you couldn't reset the cached value.
It is now part of the hotkeys class which is more logical encapsulation
the logic assocaited with the hotkeys.
2025-03-27 13:30:05 +10:00
rc-swag
d1a371d693
Merge pull request #13421 from keymanapp/fix/windows/13176/remove-online-update-deadcode
fix(windows): remove online update deadcode
2025-03-06 15:30:43 +10:00
rc-swag
e56f6b908c
Merge pull request #13413 from keymanapp/fix/windows/13216/checkforupdates-reg-one-location
fix(windows): Check for updates registry value stored under the one Key
2025-03-06 15:29:17 +10:00
rc-swag
5dd36e4aad
fix(windows): review comments
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-03-06 12:01:06 +10:00
rc-swag
489ef98c47 fix(windows): onlineupdate icon deadcode removed
Fixes:#13176
2025-03-05 16:28:22 +10:00
rc-swag
bbbce44f3c fix(windows): add comments re default values 2025-03-05 10:39:49 +10:00
rc-swag
5855b8b3f2
Merge pull request #13215 from keymanapp/fix/windows/12660/preserve-report-usage
fix(windows): Check registry report usage value in setup process
2025-03-05 10:03:13 +10:00
rc-swag
80be1e9434 fix(windows): checkforupdates in keyman engine key
The SRegValue_CheckForUpdates was written my utilkeymanoptions
to the Keyman Engine Key but read from Keyman Desktop Key.
This change moves it to only be read in Keyman Engine Key.
It also move the last update time to this Key for completness

Fixes: #13216
2025-03-04 21:09:09 +10:00
rc-swag
c99bf7b508 fix(windows): whitespace fix 2025-03-04 15:45:30 +10:00
rc-swag
95f748888a fix(windows): sets options values in firstrun
Previously it only set the startwithwindows, checkforupdats and
autmaticallyreportusage values in firstrun if the flag was true.
It was only true if the argument was passed to the install executable on
the command line. However, it is valid to treat its non existance on the
command line as false for these 3 values.
2025-03-04 14:45:24 +10:00
Marc Durdin
d83454ab77 chore(windows): ensure dependencies for keyman32 exclude core:wasm
Fixes: #13374
2025-02-28 17:52:27 +01:00
Marc Durdin
f9ab3c7045
Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-24 09:58:48 +01:00
Marc Durdin
ef60c08d7c chore: add build.sh edit action for Delphi projects
This opens up the Delphi IDE with the correct KEYMAN_ROOT environment,
which allows for debugging. This is very helpful when working with
multiple worktrees, and also helps to avoid editing a project in the
wrong tree.
2025-02-22 06:18:47 +01:00
rc-swag
ba22be570e fix(windows): automaticaly report usage defualt false in options
The process is quite confusing. The options from the setup install
options will only resualt in a command line option being past through
to firstrun if it is true. If is false the options will not be passed
through. Therefore if this is the first installation once when the
Keyman Configuration is opened it will show the default option
configured in utilkeymanoptions.pas, in kmcomapi. This result of all
this was a user would deselect the option in setup. When they opened
configuration it was set to true.
2025-02-17 15:59:15 +10:00
rc-swag
96b3c4f983
feat(windows): review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-10 15:00:17 +10:00
rc-swag
b074c2c0ef feat(windows): add release ownership rename mutex owned
Add a ReleaseOwnership member to TKeymanMutex.
Rename MutexOwned to TakeOwnership.

Fixes: #13167
2025-02-10 13:50:18 +10:00
rc-swag
9eec271011 feat(windows): check updates and automatic update merged
Check updates meaning has slightly changed it is now automatic updates
and it will now check, download and when possible start the install.

Previously it just meant a check for upates was made and notified
the user of updates.

Fixes:#13114
2025-02-03 14:25:44 +10:00
rc-swag
53daacd6e7
Merge pull request #12995 from keymanapp/feat/windows/12994/add-boot-switch
feat(windows): add boot switch
2025-01-31 12:09:25 +10:00
Marc Durdin
30b5c80833 feat(windows): report on processor type in tsysinfo 2025-01-30 15:13:01 +07:00
rc-swag
00d177b411
Merge pull request #13023 from keymanapp/fix/windows/api-additional-function
fix(windows): add api GetContext and TIPProcessKeyEx with IsTextSelected bool
2025-01-30 16:28:31 +10:00
rc-swag
b26151eb51 fix(windows): add const for clarity 2025-01-28 11:58:08 +10:00
rc-swag
608d2cdde8 fix(windows): rename TIPGetContextIsEx TIPGetContextIsSelected
rename TIPGetContextIsEx TIPGetContextIsSelected
2025-01-28 11:19:42 +10:00
rc-swag
15b522e3f3
fix(windows): review comment name consistency
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-01-28 09:55:08 +10:00
rc-swag
5034ce8830 fix(windows): remove blank lines 2025-01-24 14:06:36 +10:00
rc-swag
69c0f3861e fix(windows): add GetContextEx and TIPProcessKeyEx
Add the api calls that include the output bool isSelected, which is
true if text is selected.
2025-01-24 14:03:09 +10:00
rc-swag
1bcafb1a72 chore(windows): Merge branch 'master' into fix/windows/7870/add-is-text-selected-flag-api
# 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-01-23 11:23:12 +10:00
rc-swag
4387418564 feat(windows): initall adding -boot
This updates the registry entry or run on start up and the switch
to initprog. TODO is to actually process the switch correctly when
set.
2025-01-23 11:08:20 +10:00
rc-swag
16a529c52c chore: Merge branch 'master' into chore/merge-master-epic-windows-updates
# 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-01-16 09:16:01 +10:00
rc-swag
c4ea97c889 feat(windows): onlineupdatecheck references removed
All but one references and calls to OnlineUpdateCheck where removed
this is the first step towards removing these units completley.
HttpServer.App.OnlineUpdate.pas is still calling this so the code will
remain untill removed.
2025-01-14 13:44:10 +10:00
rc-swag
f9640d1a92 chore(windows): Merge branch 'epic/windows-updates' into feat/windows/ui-layout-for-update-tab
# 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-01-07 16:16:57 +10:00
rc-swag
7b5f69be57 chore(windows): add bcp47 code and tips to diagnostic
Add HKCU\Control Panel\International to diagnosit report
the xml was already there. I just needed to modify the xlst to
display the information.
2024-12-20 14:42:19 +10:00