Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
109de5a
Merge remote-tracking branch 'upstream/master' into GPII-3572
stegru Dec 12, 2018
9c64a80
GPII-3830: Detect if a drive exists before opening it.
stegru Mar 27, 2019
6cca89f
GPII-3811: Custom themes working on Windows 10 1809
stegru Apr 4, 2019
3e2a1df
GPII-3811: Custom themes also working on Windows 10 older than 1809
stegru Apr 5, 2019
fcb51a7
GPII-3811: Fixed windows version check
javihernandez May 9, 2019
5c7a4c9
Merge pull request #7 from javihernandez/GPII-3811-version-check
stegru May 9, 2019
3013293
GPII-3853: Implemented sub-sessions.
stegru Jun 24, 2019
eba83d7
GPII-3853: Recording inactivity due to entering sleep mode
stegru Jun 25, 2019
98344b5
GPII-3853: Added calculation of duration between related events.
stegru Jun 25, 2019
8c525ae
GPII-3878: Ignoring extreme mouse distances.
stegru Jun 26, 2019
729ce6b
GPII-3877: Fixed negative key press times
stegru Jun 27, 2019
5eba548
GPII-3906: Capturing window de-activation, app-inactive
stegru Jun 27, 2019
880ecc8
GPII-3906: app-inactive tests
stegru Jun 27, 2019
5a0f3af
GPII-3876: Made typing-session metric work.
stegru Jun 27, 2019
2b0cc62
GPII-3853: Recording space bar
stegru Jul 1, 2019
21a24ef
GPII-3853: Recording if a morphic is active
stegru Jul 1, 2019
e0f4ee3
GPII-3853: Updated test to treat space as non-printable
stegru Jul 1, 2019
8900484
GPII-3853: Documenting recent changes
stegru Jul 1, 2019
ee011b4
GPII-3853: Disabling metrics via siteConfig
stegru Jul 2, 2019
a2489a0
GPII-3830: Fixed array check in tests
stegru Jul 2, 2019
6f75a1b
GPII-3853: Updating package reference to related branch
stegru Jul 2, 2019
c80bf52
Merge remote-tracking branch 'upstream/master' into GPII-3811
stegru Jul 2, 2019
da16a5c
GPII-3845: Moved high-contrast localized name retrieval operation int…
JavierJF Apr 9, 2019
ed894d6
GPII-3845: Added required import and fixed returned 'undefined' in ca…
JavierJF Apr 9, 2019
987a2ec
GPII-3845: Fixed options passed to child process, improved message re…
JavierJF Apr 9, 2019
d73c08f
GPII-3845: Making displayName resolution logic more similar to previo…
JavierJF Apr 9, 2019
57a00da
GPII-3811: Remove universal require from child process
stegru Jul 2, 2019
6ba2d4d
GPII-3811: Reduced the need to start a child process
stegru Jul 2, 2019
16db65c
GPII-4011: Showing the volume change on the screen.
stegru Jul 5, 2019
57324ac
GPII-4011: Putting line separators back to CRLF.
stegru Jul 5, 2019
5a5e957
GPII-4011: Putting line separators back to CRLF. (trying harder)
stegru Jul 5, 2019
2235061
GPII-3853: Potential fix for CI-only test failure.
stegru Jul 8, 2019
b674229
GPII-3853: Better fix for CI-only test failure.
stegru Jul 8, 2019
15073f4
GPII-4016: App-zoom for explorer folder windows, notepad++, and wordpad.
stegru Jul 9, 2019
3ade773
GPII-4016: Added zoom support for IE, improved Edge
stegru Jul 15, 2019
7b3669c
GPII-4016: Removed amateur debugging code
stegru Jul 15, 2019
83d3ff9
GPII-3811: Getting the localised theme names when the language changes.
stegru Jul 16, 2019
073a280
GPII-4033: Removed language constraints when dealing with wmi queries
javihernandez Jul 18, 2019
b72e018
GPII-4033: Re-added NotSupported check but with a non-localised string
javihernandez Aug 1, 2019
cbc4227
Merge remote-tracking branch 'upstream/master' into GPII-3853
stegru Aug 6, 2019
e47c686
GPII-4087: Added hack to stop wallpaper being reset.
stegru Aug 16, 2019
4ba3ed7
GPII-4087: Fixed the high-contrast fix.
stegru Aug 16, 2019
9181471
GPII-4087: Tidied the high-contrast fix.
stegru Aug 16, 2019
5928661
GPII-4087: High-contrast fix returning the correct value.
stegru Aug 16, 2019
12449fd
GPII-4087: Tidied the high-contrast fix.
stegru Aug 16, 2019
b9e5226
GPII-4087: Applying high-contrast if the theme is specified.
stegru Aug 17, 2019
a3aa0c4
GPII-4087: Workaround that prevents deleting system cached wallpaper …
JavierJF Aug 19, 2019
805aa81
GPII-4092: Volume handler returns 0 on failure, instead of rejecting.
stegru Aug 20, 2019
e43360f
GPII-4087: Simplified path creation
JavierJF Aug 20, 2019
3cbf5ae
GPII-4087: Deleted forgotten extra space
JavierJF Aug 20, 2019
0d226a6
Merge pull request #11 from JavierJF/GPII-4087
stegru Aug 20, 2019
a7369c5
GPII-4087: Fixed invalid reference to 'process.env'
JavierJF Aug 21, 2019
aab4295
GPII-4087: Renamed options for deleting wallpaper files fixing redefi…
JavierJF Aug 21, 2019
201b5d3
Merge pull request #12 from JavierJF/GPII-4087
stegru Aug 21, 2019
5bbfd99
GPII-4087: Added accidentally removed resolve for promise
JavierJF Aug 21, 2019
423c62c
GPII-4087: Added new hacky option for making 'gpii.windows.rm' tests …
JavierJF Aug 21, 2019
02c35f8
Merge pull request #13 from JavierJF/GPII-4087
stegru Aug 21, 2019
958824e
GPII-4186: Using windows certificate store for certificates.
stegru Oct 17, 2019
871938e
Merge branch 'stegru/GPII-3830' into GPII-4214
javihernandez Nov 7, 2019
cbedbd8
Merge branch 'stegru/GPII-3811' into GPII-4214
javihernandez Nov 7, 2019
5ddaeb0
Merge branch 'stegru/GPII-2338' into GPII-4214
javihernandez Nov 7, 2019
4fe32f6
GPII-4214: Updated universal reference
javihernandez Nov 7, 2019
c308a91
Merge branch 'stegru/GPII-3853' into GPII-4214
javihernandez Nov 7, 2019
2187454
Merge branch 'origin/GPII-4033' into GPII-4214
javihernandez Nov 7, 2019
fb9dbd7
Merge branch 'stegru/GPII-4087' into GPII-4214
javihernandez Nov 7, 2019
bde545e
Merge branch 'stegru/GPII-4092.master' into GPII-4214
javihernandez Nov 7, 2019
ff7267e
Merge branch 'stegru/GPII-4186' into GPII-4214
javihernandez Nov 7, 2019
f671713
Merge branch 'stegru/GPII-4011' into GPII-4214
javihernandez Nov 8, 2019
0844cfa
Merge branch 'stegru/GPII-4016' into GPII-4214
javihernandez Nov 8, 2019
0974bf3
GPII-4152: Replaced old-managed settingsHelper with new native implem…
JavierJF Nov 15, 2019
66dd0ad
GPII-4152: Added new development dependencies necessary for building …
JavierJF Nov 15, 2019
54df327
GPII-4152: Added new building steps for the native settingsHelper
JavierJF Nov 15, 2019
ed4c99e
GPII-4152: Added project config to place app binary in the root bin f…
JavierJF Nov 15, 2019
55ca835
GPII-4152: Changed executable name to match replaced solution
JavierJF Nov 15, 2019
879136d
GPII-4152: Modified the installed sdk version and changed the way msb…
JavierJF Nov 15, 2019
9237c6f
GPII-4152: Modified project files for being able to build the project…
JavierJF Nov 15, 2019
5480566
GPII-4152: Removed unused variable
JavierJF Nov 15, 2019
0e22cff
GPII-4152: Fixed warning with explicit conversion from 'bool' to 'boo…
JavierJF Nov 15, 2019
dde3b6d
GPII-4152: Fixed non-returning payload readed from standard input
JavierJF Nov 15, 2019
1ee46a4
GPII-4152: Uninstalled box windows-sdk-8.1 and reinstalled after wind…
JavierJF Nov 16, 2019
d8a0e0f
GPII-4152: Added env variable selecting vstudio version for 'Settings…
JavierJF Nov 16, 2019
e9508fe
GPII-4152: Temporarly added more resources to VM to try to make CI pa…
JavierJF Nov 16, 2019
7cd288b
GPII-4152: Reversed the VM resources to regular ones
JavierJF Nov 18, 2019
e572ae7
GPII-4152: Refactored set method using helper function encapsulating …
JavierJF Nov 18, 2019
a5d1ac8
GPII-4152: Removed unnecessary legacy operations in 'handlePayload' f…
JavierJF Nov 18, 2019
2543fcc
GPII-4231: Changed universal reference
JavierJF Nov 18, 2019
aaf085a
Merge remote-tracking branch 'upstream/master' into GPII-3853
stegru Nov 19, 2019
02c78d0
GPII-4152: Added new checking get/set of required setting
JavierJF Nov 19, 2019
ada0636
GPII-4152: Added support for serializing and comparing string value p…
JavierJF Nov 19, 2019
f9ec64a
GPII-4152: Added new tests for required setting and making tests rest…
JavierJF Nov 19, 2019
a27c8cc
GPII-4152: Removed redundant checks
JavierJF Nov 20, 2019
57e6893
GPII-4152: Fixed the access to internal dbSettigns and the member hel…
JavierJF Nov 20, 2019
3cbae25
GPII-4152: Changed the comment style from special test in favour of m…
JavierJF Nov 20, 2019
95fd5fd
GPII-4152: Added multiprocessor compilation to other project configur…
JavierJF Nov 20, 2019
e38914d
GPII-4152: Added example payloads that can be used to test the settin…
JavierJF Nov 20, 2019
769e8a3
GPII-4152: Added copyright headers in project files with brief descri…
JavierJF Nov 20, 2019
14b2417
Merge branch 'GPII-4152' into GPII-4231
JavierJF Nov 20, 2019
5d6913b
GPII-4152: Added forgotten empty-line at the end of file
JavierJF Nov 20, 2019
85aa6cd
GPII-4152: Removed included guards for header files in favour of unif…
JavierJF Nov 20, 2019
b1a7b80
GPII-4152: Changed comment style to reflect the fact that is research…
JavierJF Nov 20, 2019
8c69d98
Merge branch 'GPII-4152' into GPII-4231
JavierJF Nov 20, 2019
bb38ca3
Merge branch 'stegru/GPII-3853' into GPII-4214
javihernandez Nov 21, 2019
c05da02
Merge branch 'JavierJF/GPII-4231' into GPII-4214
javihernandez Nov 21, 2019
c5312fd
GPII-4214: Updated universal reference
javihernandez Nov 21, 2019
880a70c
Merge remote-tracking branch 'upstream/master' into GPII-3572
stegru Nov 22, 2019
2168fca
GPII-4244: expandEnvironmentStrings works recursively for objects.
stegru Nov 25, 2019
073f999
GPII-4244: Expanding environment variables in the whole config object.
stegru Nov 25, 2019
cbddbe9
GPII-4208: Initial refactor of metrics using RAW API
JavierJF Nov 26, 2019
2f2dcbc
GPII-4208: Added work in progress helper function to convert old test…
JavierJF Nov 26, 2019
b50c504
GPII-4244: Documented service.config
stegru Nov 26, 2019
c213e36
GPII-4208: Added comments and fixed wheel direction detection
JavierJF Nov 28, 2019
61be004
GPII-4208: Fixed metrics tests using the new way of obtaining devices…
JavierJF Nov 28, 2019
0e88265
GPII-4208: Replaced number with constant representing WM_INPUT message
JavierJF Nov 28, 2019
7c4727a
GPII-4208: Removed duplicated definition of WM_INPUT
JavierJF Nov 28, 2019
6118b33
GPII-4244: Auto-updating configs implemented
stegru Dec 2, 2019
5914bb3
GPII-4244: Not updating files when no url is configured
stegru Dec 3, 2019
2809cf2
GPII-3572: Reading the metrics switch from site config.
stegru Dec 3, 2019
fbe878d
Merge branch 'GPII-3572' into GPII-3853+3572
stegru Dec 3, 2019
baa4da1
Merge branch 'stegru/GPII-3572' into GPII-4214.GPII-3572
javihernandez Dec 3, 2019
417e743
GPII-4214.GPII-3572: Updated universal reference
javihernandez Dec 3, 2019
b009752
Merge branch 'stegru/GPII-3853' into GPII-4214.GPII-3572
javihernandez Dec 4, 2019
c2ce74c
GPII-4214.GPII-3572: Updated universal reference
javihernandez Dec 4, 2019
379b32e
Merge branch 'stegru/GPII-4244' into GPII-4214.GPII-3572
javihernandez Dec 4, 2019
6436511
GPII-3852: Applied refactoring made in universal.
stegru Dec 4, 2019
f22983a
GPII-4244: Added null reference check
stegru Dec 5, 2019
6e3e06e
Merge branch 'stegru/GPII-3853' into GPII-4214.GPII-3572
javihernandez Dec 5, 2019
2824c01
Merge branch 'stegru/GPII-4244' into GPII-4214.GPII-3572
javihernandez Dec 5, 2019
ec8fc7b
GPII-4214.GPII-3572: Updated universal reference
javihernandez Dec 5, 2019
ce69dae
GPII-4208: Removed unnecessary info from comments links
JavierJF Dec 5, 2019
fd549c5
GPII-4208: Changed check in favor of simpler comparison against zero
JavierJF Dec 5, 2019
dc26d6a
GPII-4208: Improved documentation of the returned value and used help…
JavierJF Dec 5, 2019
fb2820e
GPII-4208: Fixed constants location, bitmask based logic message hand…
JavierJF Dec 6, 2019
ed71fa5
GPII-3853: Correctly identifying UWP/modern app windows
stegru Dec 6, 2019
23ea297
Merge remote-tracking branch 'upstream/master' into GPII-3853
stegru Dec 18, 2019
2fcc5da
Merge branch 'stegru/GPII-3853' into GPII-4214.GPII-3572
javihernandez Dec 19, 2019
c985942
GPII-4214.GPII-3572: Updated universal reference
javihernandez Dec 19, 2019
7416dc6
GPII-4208: Simplified check for checking number sign
JavierJF Dec 23, 2019
3b1c7ff
GPII-4208: Extracted common block from if-else logic
JavierJF Dec 23, 2019
ace464d
Merge branch 'GPII-2338' into GPII-4244
stegru Jan 7, 2020
bd3bd16
Merge remote-tracking branch 'JavierJF/GPII-4208' into GPII-3853
stegru Jan 9, 2020
5cb8e64
GPII-4208: Removed RIDEV_NOLEGACY, which disabled input on the QS.
stegru Jan 9, 2020
dcedeb6
GPII-4208: Fixed bad merge.
stegru Jan 9, 2020
b8c43a3
GPII-4208: Removed redundant inputHook
stegru Jan 9, 2020
5bd8e5c
Merge remote-tracking branch 'upstream/master' into GPII-3853
stegru Jan 9, 2020
11473f0
Merge branch 'stegru/GPII-3853' into GPII-4214.GPII-3572
javihernandez Jan 10, 2020
2c4d82a
GPII-4214.GPII-3572: Updated universal reference
javihernandez Jan 10, 2020
54ea921
Merge remote-tracking branch 'upstream/master' into GPII-4244
stegru Jan 16, 2020
62dab1b
GPII-3853: Supporting absolute mouse positioning (and removed disk fi…
stegru Jan 17, 2020
26b52d5
GPII-4214.GPII-3572: Removed disk filling error log
javihernandez Jan 17, 2020
37ed48d
GPII-4244: Removing/showing the desktop icons, depending on the metri…
stegru Jan 21, 2020
13e1f5d
GPII-4244: Made test pass
stegru Jan 21, 2020
9f9c0ca
Merge branch 'stegru/GPII-4244' into GPII-4214.GPII-3572
javihernandez Jan 22, 2020
5794364
GPII-4244: Putting the desktop icons back
stegru Jan 22, 2020
31eb1c0
GPII-4244: Stringify objects and errors in the log.
stegru Jan 23, 2020
fd4f9b3
GPII-4244: Retrying failed downloads.
stegru Jan 24, 2020
82e2b7c
GPII-4244: Added morphic version and siteconfig to update urls.
stegru Jan 24, 2020
b25cc71
GPII-4244: Using certificates from the Windows certificate stores
stegru Jan 24, 2020
ec9e92f
GPII-4244: Added tests for ${siteConfig} in url
stegru Jan 24, 2020
745ffe8
GPII-4244: Handling more download error
stegru Jan 24, 2020
52a7de9
GPII-4244: Making tests pass from all-tests.js
stegru Jan 25, 2020
14211ee
Merge branch 'stegru/GPII-4244' into GPII-4214.GPII-3572
javihernandez Jan 27, 2020
8cf1c6a
Merge branch 'stegru/GPII-3853' into GPII-4214.GPII-3572
javihernandez Jan 31, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 63 additions & 2 deletions gpii-service/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,68 @@ This gets installed in `c:\Program Files (x86)\Morphic\windows\service.json5`.
"level": "DEBUG"
},
// The file that contains the private site-specific information.
"secretFile": "%ProgramData%\\Morphic Credentials\\secret.txt"
"secretFile": "%ProgramData%\\Morphic Credentials\\secret.txt",
// The gpii-app package.json file (default: "resources/app/package.json")
"package.json": "resources/app/package.json",

// Auto update of files
"autoUpdate": {
"enabled": false, // true to enable
// Where to store the 'last update' info
"lastUpdatesFile": "%ProgramData%\\Morphic\\last-updates.json5",
// Number of times to retry a failed update (default: 3).
"retries": 3,
// Milliseconds to wait after failure (default: 5000).
"retryDelay": 5000,
// The files to update
"files": [{
url: "https://raw.githubusercontent.com/GPII/gpii-app/master/siteconfig.json5",
path: "%ProgramData%\\Morphic\\siteConfig.json5",
isJSON: true // Perform JSON/JSON5 validation before overwriting
}, {
// ${Expanders} can be used to take fields from the secrets file.
// See configUpdater.js:configUpdater.expand for syntax.
// In addition, there is:
// ${version}: "version" field of gpii-app package.json.
// ${siteConfig.xyz}: "xyz" field of the current siteConfig (at the time of download).
url: "https://example.com/${site}", // `site` field of the secrets file
path: "example.json"
}, {
// If an ${expander} resolves to null, the entire string will resolve to null.
// With this in mind, multiple urls can be specified so fallbacks can be used
// when the information isn't available.
// (note: if there's a download error, the next one is NOT used)
url: [
// If the site config has a `updateUrl` value, this url is used.
"${siteConfig.updateUrl}",
// If the secrets contains a `site` field, this url is used.
"https://example.com/${site}",
// Otherwise, this url is used.
"https://example.com/default",
],
path: "example.json"
}],
},
// The path to the site config - The first successfully loaded file in the list is used
"siteConfigFile": [
"%ProgramData%\\Morphic\\siteConfig.json5",
"%ProgramFiles(x86)%\\Morphic\\windows\\resources\\app\\siteConfig.json5",
"%ProgramFiles%\\Morphic\\windows\\resources\\app\\siteConfig.json5"
],
// Set an environment variable based on the "metricsSwitch" value in the site config file
"gpiiConfig": {
// The environment variable name
"env": "NODE_ENV",
// The metricsSwitch value, and the value to set environment variable
// Morphic + metrics:
"on:on": "app.testing.metrics",
// No metrics or morphic:
"off:off": "app.disable", // A special case: Morphic does not get started.
// Metrics only:
"off:on": "app.metrics",
// No metrics:
"on:off": "app.testing"
}
}
```

Expand Down Expand Up @@ -133,7 +194,7 @@ The installer will install and start the service.

## Command line options

`index.js` recognises the following command-line arguments
`index.js` recognises the following command-line arguments

```
--install Install the Windows Service.
Expand Down
29 changes: 28 additions & 1 deletion gpii-service/config/service.dev.child.json5
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,32 @@
"logging": {
"level": "DEBUG"
},
"secretFile": "test-secret.json5"
"secretFile": "test-secret.json5",
"autoUpdate": {
"enabled": false,
"lastUpdatesFile": "%ProgramData%\\Morphic\\last-updates.json5",
"files": [{
// Auto-update the site config.
path: "%ProgramData%\\Morphic\\siteConfig.json5",
// Get the URL from the secrets file
url: "${siteConfigUrl}"
}],
},
"siteConfigFile": [
"%ProgramData%\\Morphic\\siteConfig.json5",
"%ProgramFiles(x86)%\\Morphic\\windows\\resources\\app\\siteConfig.json5",
"%ProgramFiles%\\Morphic\\windows\\resources\\app\\siteConfig.json5"
],

"gpiiConfig": {
"env": "NODE_ENV_EXAMPLE", // set to "NODE_ENV" when starting gpii-app
// Morphic + metrics:
"on:on": "app.testing.metrics",
// No metrics or morphic:
"off:off": "app.disable",
// Metrics only:
"off:on": "app.metrics",
// No metrics:
"on:off": "app.testing"
}
}
28 changes: 27 additions & 1 deletion gpii-service/config/service.dev.json5
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,31 @@
"logging": {
"level": "DEBUG"
},
"secretFile": "test-secret.json5"
"secretFile": "test-secret.json5",
"autoUpdate": {
"enabled": false,
"lastUpdatesFile": "%ProgramData%\\Morphic\\last-updates.json5",
"files": [{
// Auto-update the site config.
path: "%ProgramData%\\Morphic\\siteConfig.json5",
// Get the URL from the secrets file
url: "${siteConfigUrl}"
}],
},
"siteConfigFile": [
"%ProgramData%\\Morphic\\siteConfig.json5",
"%ProgramFiles(x86)%\\Morphic\\windows\\resources\\app\\siteConfig.json5",
"%ProgramFiles%\\Morphic\\windows\\resources\\app\\siteConfig.json5"
],
"gpiiConfig": {
"env": "NODE_ENV_EXAMPLE", // set to "NODE_ENV" when starting gpii-app
// Morphic + metrics:
"on:on": "app.testing.metrics",
// No metrics or morphic:
"off:off": "app.disable",
// Metrics only:
"off:on": "app.metrics",
// No metrics:
"on:off": "app.testing"
}
}
19 changes: 19 additions & 0 deletions gpii-service/config/service.testing.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Unit test configuration, opens a pipe and waits for GPII to connect.
{
"processes": {
"gpii": {
"ipc": "gpii",
// Allow any process to connect.
"noAuth": true
}
},
"logging": {
"level": "DEBUG"
},
"secretFile": "test-secret.json5",
"package.json": "tests/test-package.json",
"siteConfigFile": "tests/test-siteConfig.json",
"autoUpdate": {
"enabled": false
}
}
5 changes: 4 additions & 1 deletion gpii-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@
"dependencies": {
"ffi-napi": "2.4.4",
"json5": "2.1.0",
"mkdirp": "0.5.1",
"minimist": "1.2.0",
"@gpii/os-service": "2.2.0",
"ref-array-di": "1.2.1",
"ref-napi": "1.4.0",
"ref-struct-di": "1.1.0"
"ref-struct-di": "1.1.0",
"request": "2.88.0",
"win-ca": "3.1.1"
},
"pkg": {
"targets": [
Expand Down
Loading