3.14.0 release notes

Known issues

Check the repository for the latest known issues.

Upgrade notes

Breaking changes


UI/UX changes

New dialog showing sync status

When an offline user manually triggers a sync via the hamburger menu, a notification dialog is opened indicating the status of the sync process.

Sync in progress:

Sync complete:

Sync failed (with retry option):

#5207: Show dialog when user clicks “Sync Now” in hamburger menu

Updated icon for the Create Report button

The icon for the Create Report button has been updated so that its purpose is more clear.

Old IconNew Icon

#6403: Change the Create Report button icon to better indicate what it does

Display all dates in Bikram Sambat format when Nepali locale selected

For years, the CHT has supported recording the answers to date questions in forms using the Bikram Sambat calendar format when the user has selected the Nepali locale. However, the date values displayed throughout the app would still be shown in the Gregorian calendar format.

Now the application has been updated to also use the Bikram Sambat format when displaying dates in places such as the reports list.

Old DatesNew Dates

Additionally, a new to-bikram-sambat xPath function has been added that converts a date to a string containing the value of the date in the Bikram Sambat format.

#7294: Use Bikram Sambat dates throughout the webapp when Nepali locale selected

Properly display tab labels on small screens

Previously, the labels for the main tabs in the CHT app (Messages, Tasks, People, etc) were not displayed on devices with very small screens leading to some confusion around the different tabs and their purposes.

We have updated the tab labels to always display even on small screens. Additionally the size of the label text can scale so that the text will display properly even when the tabs are small.

#7409: Display tab’s label in small screens


Improved server-side purging

We have made several improvements to our server-side purging functionality allowing it to perform better at scale.

  • Enhanced logging during purging via a new purgelog document saved in the medic-sentinel database after every purge.
  • If a contact has more than 20,000 records, it will be skipped and none of its records will be purged.
    • A log will appear for the skipped contact and the id of this contact will be saved in a new skipped_contacts property in the purgelog.
  • The batch size for contacts to purge will dynamically adjust based on the number of records associated with the contacts.

#7280: Server Side Purge does not complete to the end

Improved login experience

Users who have experienced issues with login should note that this release fixes some bugs. Specifically:

  • #7343 Deployments using a browser on mobile shouldn’t get erroneously logged out.
  • #6338 Changes to pseudo-static assets, like images and translations, won’t cause unnecessary reloads for app users.
  • #7187 Infinite loops and empty modal boxes at login should not longer be present.

And more…


  • #7294: Use Bikram Sambat dates throughout the webapp when Nepali locale selected


  • #5207: Show dialog when user clicks “Sync Now” in hamburger
  • #6403: Change the Create Report button icon to better indicate what it does
  • #6674: Provide clear error message on missing xsltproc dependency
  • #7089: Store users’ selected language in telemetry and feedback docs
  • #7260: Add more granularity to startup telemetry
  • #7409: Display tab’s label in small screens

Security fixes


Performance improvements


Bug fixes

  • #6213: Deleting primary contact from a place will retain that person as a contact when editing
  • #6338: Generate service worker at runtime
  • #6670: End time stamp records same value as start time stamp
  • #6802: Report verification does not do proper minification before saving
  • #6964: Select question with appearance “minimal” not picking all the languages set on the form
  • #6986: Changing admin password via webapp doesn’t work
  • #7009: Pushing standard config with latest medic-conf fails with translation errors
  • #7021: Form with truthy expression will be displayed despite permissions
  • #7184: Partial load of contact add/edit forms on slow networks/devices
  • #7186: Changing an offline user’s password during replication will block them in loading error loop
  • #7187: Login page redirect loop when password is changed
  • #7242: Race condition occurs when logging in as offline user with slow connection
  • #7262: Can’t navigate to “new district” form when contact “person” edit is open.
  • #7280: Server Side Purge does not complete to the end
  • #7305: Blank modal when navigating to app instance with missing cookie
  • #7307: Login page is not cached correctly
  • #7320: Admin Upgrade Releases section empty when there are no betas
  • #7343: PWA on mobile logs out when browser is quit
  • #7346: Show error in targets when user is not associated with the configured place
  • #7353: Partner logos don’t show on the about page
  • #7383: Webapp relative dates are not localized after Angular 12 upgrade
  • #7419: Stopping and resuming initial replication could start local purging
  • #7438: Users can view reports in contacts detail page despite lacking permissions
  • #7463: Incorrect place filter label when selecting only one place
  • #7485: Error while submitting form with certain db-doc repeat

Technical improvements

  • #6420: Move to ESLint 7
  • #7061: CHT hosting improvements for App Developers
  • #7083: Upgrade webapp to latest Angular
  • #7165: Release Notes for v3.8 have link to private repository (broken link for external users)
  • #7349: Update dependencies for 3.14
  • #7361: Upgrade google-libphonenumber
  • #7379: Update COVID-19 RDT reference app
  • #7413: Remove non-code files from repo
  • #7445: Fix reference to install.md that does not exist any more