This repository has been archived by the owner on Jun 12, 2024. It is now read-only.
forked from kobotoolbox/enketo-express
-
Notifications
You must be signed in to change notification settings - Fork 23
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…toolbox#543) * Added exp backoff when submission failed attempt * Some cleanup * Exponential backoff tests and refinements To aid understanding the existing code and support these changes, `uploadQueue` has been converted from `Promise`s to `async`/`await`. - Adds tests for retry-specific behavior, and related behavior affected by these changes - Renames some properties/variables in exponential backoff to be more explicit/clear - Corrects the retry delay calculation. It previously would retry immediately after initial failure - Moves all retry/timing logic into exponential-backoff.js. It previously implicitly depended on a session-global `setInterval` long-polling call in records-queue.js. Being session-global, its timing relative to the exponential backoff itself would be unpredictable - Attempts to upload existing queued records on page load, immediately after determing whether there are queued records to upload - Cancels retries/backing off when the user attempts to submit a record - Initiates retries when offline as determined by `connection.getOnlineStatus` - Cancels retries/backing off when connectivity is restored, as determined by `connection.getOnlineStatus` * Retry submission on partial failure * Fix: offline-capable upload messaging consistency - Consistently display success banner, whether on load, user submission, or post-backoff success - Consistently display failure alert whether caused by being offline or a non-auth error - Display dialog for auth error, with wording updated to reflect queueing success (rather than warning about losing unsaved data, as there should not be at submission time) --------- Co-authored-by: Anji Tong <[email protected]>
feat(app): add enketo namespace to all debug statements
Largely based on getodk/javarosa#707. The biggest divergence besides obvious language/API differences is the validation approach. And `@ts-check` was added to ensure the validation and types actually match the expected runtime values.
Prepare 6.1.0 release
Use Core version with performance optimizations
Make pdf generation timeout configurable
# Conflicts: # Gruntfile.js # app/controllers/transformation-controller.js # app/views/surveys/webform.pug # docs/tutorial-12-ordinals.html # package-lock.json # public/js/src/enketo-webform.js
…n last merge to custom OC controller
…and probably other files)
Quite a few changes and it was difficult to resolve merge issues. No known issues remaining, but there is higher-than-normal likelihood for regressions. Lesson learned is that we need to merge from enketo/enketo-express more often (or in smaller successive steps). |
@kkrumlian @MartijnR - Do you recommend merging this now? |
I do
…On Tue, Sep 19, 2023 at 05:37 pbowen-oc ***@***.***> wrote:
@kkrumlian <https://github.com/kkrumlian> @MartijnR
<https://github.com/MartijnR> - Do you recommend merging this now?
—
Reply to this email directly, view it on GitHub
<#691 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEZFFUAZO5NSACXRKJMWEDX3EORRANCNFSM6AAAAAA2QMTEGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
--
*Revolutionizing data collection since 2012.*
Enketo
<https://enketo.org/> | LinkedIn
<http://www.linkedin.com/company/enketo-llc> | GitHub
<https://github.com/enketo> | Twitter <https://twitter.com/enketo>
| Blog <http://blog.enketo.org/>
|
kkrumlian
approved these changes
Sep 27, 2023
Merged
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merges enketo/enketo-express 6.2.0.
Todo:
form
query parameterpublic/src/enketo-webform.js
public/src/module/controller-webform.js
TRY cjs output instead of esm/iifeextendBy
property with valueOpenClinica
.For posterity, since this was quite a headache to figure out:
There was an issue with the build output. I had to setUpdate: after fixing all the other things that were wrong, I was able to switch back tosplitting: false
to be able to load OC's enketo-core extensions. This fixed the functionality in real-life.splitting: true
!However, the tests were still failing (not loading OC's enketo-core's extensions). Eventually, I found that I had to tweak the
files
array items order in the karma config back to the way it was before.