ERROR Invalid Adapter: undefined on form validation
IreneAchola opened this issue Β· 11 comments
Important: This is a public repository. Anyone in the world can see what's posted here. If you are posting screenshots or log files, please carefully examine them for the presence of any kind of protected health information (PHI). Images or logs containing PHI must be posted in fully-redacted form, with no visible PHI.
Describe the bug
Running validate-app-forms or validate-contact-forms causes ERROR Invalid Adapter: undefined
To Reproduce
Steps to reproduce the behavior:
- Go to a project
- Run cht -- validate-app-forms
- See error
- Run cht -- validate-contact-forms
- See error
Expected behavior
The forms are validated without errors
Logs
INFO Actions:
- validate-app-forms
- validate-contact-forms
INFO Starting action: validate-app-formsβ¦
INFO Error: Invalid Adapter: undefined
at new PouchDB (/usr/local/lib/node_modules/cht-conf/node_modules/pouchdb-core/lib/index.js:1297:11)
at module.exports (/usr/local/lib/node_modules/cht-conf/src/lib/db.js:13:10)
at getApiVersion (/usr/local/lib/node_modules/cht-conf/src/lib/get-api-version.js:13:24)
at async getValidApiVersion (/usr/local/lib/node_modules/cht-conf/src/lib/get-api-version.js:21:37)
at async module.exports (/usr/local/lib/node_modules/cht-conf/src/lib/validate-forms.js:47:41)
at async module.exports (/usr/local/lib/node_modules/cht-conf/src/lib/main.js:193:5)
at async /usr/local/lib/node_modules/cht-conf/src/bin/index.js:16:5
ERROR Invalid Adapter: undefined
Environment
- Instance: any
- Client platform: MacOS 14.2.1 (23C71)
- cht-conf version: 3.20.0 to 3.21.2
- cht-core version: 4.3.2
Additional context
Only fails with the validate forms modules. Adding --skip-validate flag to cht --url=yoururl command does not produce errors.
cc @1yuv
@IreneAchola If you install cht-conf 3.19 or earlier does it work?
@garethbowen yes, it works on 3.19.0 and 3.18.3. Although 3.19.0 gives these errors with test harness.
...ll(e,r,r+=t));return n}function vn(e,t){return e._chain?W(t).chain():t}function yn(e){return Ot(ce(e),(function(t){var n=W[t]=e[t];W.prototype[t]=function(){var e=[this._wrapped];return i.o.apply(e,arguments),vn(this,n.apply(W,e))}})),W}Ot(['pop','push','reverse','shift','sort','splice','unshift'],(function(e){var t=i.a[e];W.prototype[e]=function(){var n=this._wrapped;return null!=n&&(t.apply(n,arguments),'shift'!==e&&'splice'!==e||0!==n.length||delete n[0]),vn(this,n)}})),Ot(['concat','join','slice'],(function(e){var t=i.a[e];W.prototype[e]=function(){var e=this._wrapped;return null!=e&&(e=t.apply(e,arguments)),vn(this,e)}}));var wn=W,In=yn(r);In._=In;var Tn=In}]);
at parse (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:85365:19)
at Object.exports.parse (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:85372:5)
at Object.exports.parseRuleSet (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:85325:27)
at Object.exports.parse (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:79653:19)
at parse (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:81430:23)
at Object.exports.compile (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:81461:16)
at Object.initialize (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:90859:20)
at Object.initialize (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:90351:36)
at Object.initialize (node_modules/cht-conf-test-harness/dist/all-chts-bundle.dev.js:90056:48)
at prepareRulesEngine (node_modules/cht-conf-test-harness/src/core-adapter.js:88:23)
Hi @garethbowen , I am working on this.
Thank you @IreneAchola for the steps to reproduce added in the description, it was very useful and easy to follow β
Test details
Config: Default
Environment: Local with docker helper script
cht-core version: master (~4.5.0)
Reproducible on cht-conf version 3.21.1
Using the following command it was really easy to reproduce the error.
cht --url=https://medic:password@127-0-0-1.local-ip.medicmobile.org:10446 validate-app-forms validate-contact-forms
Fixed on cht-conf branch 602
-> branch's link
Using the same command in the same cht-core environment the test passed successfully.
cht --url=https://medic:password@127-0-0-1.local-ip.medicmobile.org:10446 validate-app-forms validate-contact-forms
Test passed successfully. β
@1yuv
π This issue has been resolved in version 3.21.4 π
The release is available on:
Your semantic-release bot π¦π
Closing as fixed and released.
@1yuv the issue described in #602 (comment) is still reproducible. Once we run compile-app-settings
and try run tests there's an error
@freddieptf , Does it mean there were two different issues in two different versions?
Not really sure as this could either be a bug here or in the test harness, all i can tell is the test harness errors when we try and run tests.
@freddieptf I found that the error was addressed in medic/cht-conf-test-harness#243, so updating the test harness fixed the issue.