What's changed
Bug Fixes (4)
-
auth: block allauth email management endpoints (#7830)
Removes two other ways of managing email addresses. Changing your email
from Account settings works exactly as before.Also fixes an error page that some users could see instead of "Page not
found".👷 Description for instance maintainers
/accounts/email/now redirects to Account settings./api/v2/allauth/browser/v1/account/emailand
/api/v2/allauth/app/v1/account/emailnow return 404 and are no longer
in the API schema. Use/me/emails/instead.
-
exports: stop synchronous exports from crashing on large forms (#7833)
Synchronous exports and the data table could fail with a server error on
projects with many form versions and long choice lists.Before generating a synchronous export, the server checks the deployed
versions of the form for an old problem. This check loaded all of them
at once, which used more memory than the server allows on a large form,
so the request failed right away. The check now reads only the versions
that have the problem.The data table could also time out when a large form's cached
information had expired. Rebuilding this information no longer reads the
choice lists of each version, which makes it much faster. -
organizations: tighten member update validation (#7837)
Improve validation of organization member management requests.
Member management requests now return a clear error for changes that are
not allowed. Admin rights are also resolved consistently for
organization owners. -
pairedData: keep the file readable during regeneration (#7823)
Forms that use data from another project could intermittently fail to
load that data with a server error.When a form uses data from another project, a copy of that data is
stored and refreshed in the background once it is out of date. During a
refresh, the stored copy was removed before its replacement was ready,
so a form that loaded the data at that moment could get a server error.The current copy now stays available until its replacement is ready, so
forms keep receiving the previous data during a refresh. If the copy is
missing, it is rebuilt during the request instead of returning an error,
which can take a while on a large project. Requests that find the same
out-of-date copy no longer start duplicate refreshes, and two requests
that load the data for the very first time no longer fail.
Chores (1)
- pull transifex translations for 2.026.37f (38f12d7)
Full Changelog: https://github.com/kobotoolbox/kpi/compare/2.026.37e..2.026.37f