diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c6763397f..5b6c6ca992 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,24 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [v6.95.0](https://github.com/opengovsg/FormSG/compare/v6.94.0...v6.95.0) + +- fix: show error toast if error is not a network error [`#6950`](https://github.com/opengovsg/FormSG/pull/6950) +- fix: fix attachment file size check differences between FE and BE [`#6955`](https://github.com/opengovsg/FormSG/pull/6955) +- build(deps): [Snyk] Security upgrade @opengovsg/formsg-sdk from 0.10.0 to 0.11.0 [`#6951`](https://github.com/opengovsg/FormSG/pull/6951) +- build: merge release v6.94.0 into develop [`#6954`](https://github.com/opengovsg/FormSG/pull/6954) +- build: release v6.94.0 [`#6953`](https://github.com/opengovsg/FormSG/pull/6953) + #### [v6.94.0](https://github.com/opengovsg/FormSG/compare/v6.93.0...v6.94.0) +> 7 December 2023 + - fix: modified handleStripeEvent to account for missing metadata payload [`#6952`](https://github.com/opengovsg/FormSG/pull/6952) - fix: remove MyInfo line from Email Mode during form creation [`#6949`](https://github.com/opengovsg/FormSG/pull/6949) - fix(markdown): handle newlines after indentation groups [`#6941`](https://github.com/opengovsg/FormSG/pull/6941) - build: merge release v6.93.0 into develop [`#6948`](https://github.com/opengovsg/FormSG/pull/6948) - build: release v6.93.0 [`#6947`](https://github.com/opengovsg/FormSG/pull/6947) +- chore: bump version to v6.94.0 [`101e4b1`](https://github.com/opengovsg/FormSG/commit/101e4b1952b365861f851a9ffd2b9c38c87f8cbc) #### [v6.93.0](https://github.com/opengovsg/FormSG/compare/v6.92.0...v6.93.0) @@ -122,14 +133,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - fix: add case for SGID MyInfo when field value is missing [`#6874`](https://github.com/opengovsg/FormSG/pull/6874) - build: merge release v6.86.0 into develop [`#6873`](https://github.com/opengovsg/FormSG/pull/6873) - build: release v6.86.0 [`#6866`](https://github.com/opengovsg/FormSG/pull/6866) -- chore: use non-testing branch for font-wqy-zenhei [`#6867`](https://github.com/opengovsg/FormSG/pull/6867) -- chore: bump version to v6.86.0 [`1eec9b6`](https://github.com/opengovsg/FormSG/commit/1eec9b63c914b56b7b10adffd03554e07fde0f3a) - chore: bump version to v6.87.0 [`5054803`](https://github.com/opengovsg/FormSG/commit/50548038804b03f30ce6d23b4d43b7a8cf7d9620) #### [v6.86.0](https://github.com/opengovsg/FormSG/compare/v6.85.1...v6.86.0) > 6 November 2023 +- chore: use non-testing branch for font-wqy-zenhei [`#6867`](https://github.com/opengovsg/FormSG/pull/6867) - chore: update credits and terms of use [`#6865`](https://github.com/opengovsg/FormSG/pull/6865) - fix: add cloudflareinsights as allowable csp [`#6864`](https://github.com/opengovsg/FormSG/pull/6864) - feat: optimise submission query [`#6863`](https://github.com/opengovsg/FormSG/pull/6863) @@ -137,7 +147,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - fix: only render delete button if owner [`#6837`](https://github.com/opengovsg/FormSG/pull/6837) - build: merge release v6.85.1 into develop [`#6861`](https://github.com/opengovsg/FormSG/pull/6861) - fix: hotfix v6.85.1 to prevent creation of SGID_MyInfo storage mode forms [`#6860`](https://github.com/opengovsg/FormSG/pull/6860) -- chore: bump version to v6.86.0 [`1c827cd`](https://github.com/opengovsg/FormSG/commit/1c827cd11844649ca303bb5dc9987db5367637c9) +- chore: bump version to v6.86.0 [`1eec9b6`](https://github.com/opengovsg/FormSG/commit/1eec9b63c914b56b7b10adffd03554e07fde0f3a) #### [v6.85.1](https://github.com/opengovsg/FormSG/compare/v6.85.0...v6.85.1) @@ -159,15 +169,14 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - chore(deps-dev): bump browserify-sign from 4.2.1 to 4.2.2 [`#6851`](https://github.com/opengovsg/FormSG/pull/6851) - build: merge release v6.84.0 into develop [`#6847`](https://github.com/opengovsg/FormSG/pull/6847) - build: release v6.84.0 [`#6846`](https://github.com/opengovsg/FormSG/pull/6846) -- revert: "feat(workspaces): folders (#6639)" [`#6844`](https://github.com/opengovsg/FormSG/pull/6844) -- fix: mobileno is always editable [`#6841`](https://github.com/opengovsg/FormSG/pull/6841) -- chore: bump version to v6.84.0 [`916bf22`](https://github.com/opengovsg/FormSG/commit/916bf229916f774686707b3c46eae55735760314) - chore: bump version to v6.85.0 [`80c1645`](https://github.com/opengovsg/FormSG/commit/80c1645309dfe0df0604d635b21c767f56088f25) #### [v6.84.0](https://github.com/opengovsg/FormSG/compare/v6.83.0...v6.84.0) -> 25 October 2023 +> 26 October 2023 +- revert: "feat(workspaces): folders (#6639)" [`#6844`](https://github.com/opengovsg/FormSG/pull/6844) +- fix: mobileno is always editable [`#6841`](https://github.com/opengovsg/FormSG/pull/6841) - feat(workspaces): folders [`#6639`](https://github.com/opengovsg/FormSG/pull/6639) - chore(deps-dev): bump @types/lodash from 4.14.197 to 4.14.200 in /shared [`#6833`](https://github.com/opengovsg/FormSG/pull/6833) - fix(transferownershipmodal): remove linting errors [`#6802`](https://github.com/opengovsg/FormSG/pull/6802) @@ -181,7 +190,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - chore(deps): [Snyk] Upgrade bson from 5.1.0 to 5.4.0 [`#6661`](https://github.com/opengovsg/FormSG/pull/6661) - chore(deps-dev): bump @babel/traverse from 7.22.5 to 7.23.2 [`#6811`](https://github.com/opengovsg/FormSG/pull/6811) - build: release v6.83.0 [`#6823`](https://github.com/opengovsg/FormSG/pull/6823) -- chore: bump version to v6.84.0 [`98b8019`](https://github.com/opengovsg/FormSG/commit/98b801973b8629935e564cc95e45d70ee91e6631) +- chore: bump version to v6.84.0 [`916bf22`](https://github.com/opengovsg/FormSG/commit/916bf229916f774686707b3c46eae55735760314) #### [v6.83.0](https://github.com/opengovsg/FormSG/compare/v6.82.0...v6.83.0) @@ -413,15 +422,14 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - feat: add datafix script to convert payment_fields_snapshot from an array to an object [`#6628`](https://github.com/opengovsg/FormSG/pull/6628) - * fix(deps): bump libphonenumber-js from 1.10.38 to 1.10.39 in /shared (#6594) [`#6623`](https://github.com/opengovsg/FormSG/pull/6623) - fix(deps): bump zod from 3.21.4 to 3.22.1 in /shared [`#6626`](https://github.com/opengovsg/FormSG/pull/6626) -- fix: supply empty object when snapshot script has not completely migrated [`#6622`](https://github.com/opengovsg/FormSG/pull/6622) -- feat: payment by products [`#6301`](https://github.com/opengovsg/FormSG/pull/6301) -- chore: bump version to v6.70.0 [`1b4c82c`](https://github.com/opengovsg/FormSG/commit/1b4c82cd74e82fcc62f696e073323e9a98345431) - chore: bump version to v6.71.0 [`62aa237`](https://github.com/opengovsg/FormSG/commit/62aa237270f247b97ce73249617017f046fb43d4) #### [v6.70.0](https://github.com/opengovsg/FormSG/compare/v6.69.0...v6.70.0) > 15 August 2023 +- fix: supply empty object when snapshot script has not completely migrated [`#6622`](https://github.com/opengovsg/FormSG/pull/6622) +- feat: payment by products [`#6301`](https://github.com/opengovsg/FormSG/pull/6301) - fix(deps): bump libphonenumber-js from 1.10.40 to 1.10.41 in /shared [`#6616`](https://github.com/opengovsg/FormSG/pull/6616) - fix(deps): bump libphonenumber-js from 1.10.39 to 1.10.40 in /shared [`#6614`](https://github.com/opengovsg/FormSG/pull/6614) - chore: Added react dev inspector [`#6611`](https://github.com/opengovsg/FormSG/pull/6611) @@ -436,7 +444,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - build: merge v6.69.0 into develop [`#6601`](https://github.com/opengovsg/FormSG/pull/6601) - fix(deps): bump libphonenumber-js from 1.10.38 to 1.10.39 in /shared [`#6594`](https://github.com/opengovsg/FormSG/pull/6594) - build: release v6.69.0 [`#6600`](https://github.com/opengovsg/FormSG/pull/6600) -- chore: bump version to v6.70.0 [`18dc7dd`](https://github.com/opengovsg/FormSG/commit/18dc7dde465e80a6c82af904b95ea6455ba8baad) +- chore: bump version to v6.70.0 [`1b4c82c`](https://github.com/opengovsg/FormSG/commit/1b4c82cd74e82fcc62f696e073323e9a98345431) #### [v6.69.0](https://github.com/opengovsg/FormSG/compare/v6.68.0...v6.69.0) @@ -505,11 +513,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). > 18 July 2023 - revert: build(deps): bump winston-cloudwatch version to 6.2.0 [`#6542`](https://github.com/opengovsg/FormSG/pull/6542) +- chore: bump version to v6.66.0 [`b3a9818`](https://github.com/opengovsg/FormSG/commit/b3a9818762e334bc7126c029cdba63156bac85ed) #### [v6.66.0](https://github.com/opengovsg/FormSG/compare/v6.65.0...v6.66.0) -> 18 July 2023 +> 19 July 2023 +- fix: use proof-of-payment for payment receipt/invoice [`#6549`](https://github.com/opengovsg/FormSG/pull/6549) +- build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /frontend [`#6548`](https://github.com/opengovsg/FormSG/pull/6548) +- fix(deps): bump word-wrap from 1.2.3 to 1.2.4 [`#6547`](https://github.com/opengovsg/FormSG/pull/6547) +- build(deps): bump winston-cloudwatch to v6.2.0 [`#6545`](https://github.com/opengovsg/FormSG/pull/6545) - fix(deps): [Snyk] Security upgrade mongoose from 5.13.15 to 5.13.20 [`#6541`](https://github.com/opengovsg/FormSG/pull/6541) - feat: indicate if GST has been applied to a payment transaction [`#6538`](https://github.com/opengovsg/FormSG/pull/6538) - chore: reduce max payment limit [`#6543`](https://github.com/opengovsg/FormSG/pull/6543) @@ -521,7 +534,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - build: merge v6.65.0 into develop [`#6531`](https://github.com/opengovsg/FormSG/pull/6531) - build: release v6.65.0 [`#6528`](https://github.com/opengovsg/FormSG/pull/6528) - fix: add FE validation rule that email domains must be non empty [`#6529`](https://github.com/opengovsg/FormSG/pull/6529) -- chore: bump version to v6.66.0 [`b3a9818`](https://github.com/opengovsg/FormSG/commit/b3a9818762e334bc7126c029cdba63156bac85ed) +- chore: bump version to v6.66.0 [`0233ba8`](https://github.com/opengovsg/FormSG/commit/0233ba8018532d4978d13717fac065f81e2eb515) #### [v6.65.0](https://github.com/opengovsg/FormSG/compare/v6.64.0...v6.65.0) @@ -573,14 +586,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 in /shared [`#6487`](https://github.com/opengovsg/FormSG/pull/6487) - chore(deps-dev): bump @typescript-eslint/parser from 5.60.0 to 5.60.1 in /shared [`#6488`](https://github.com/opengovsg/FormSG/pull/6488) - build: release v6.62.0 [`#6484`](https://github.com/opengovsg/FormSG/pull/6484) -- fix: admin feedback capturing wrong local storage value [`#6485`](https://github.com/opengovsg/FormSG/pull/6485) -- chore: bump version to v6.62.0 [`b5ab2e0`](https://github.com/opengovsg/FormSG/commit/b5ab2e0d1615a5e9b0ed1829adcaf040ef700adc) - chore: bump version to v6.63.0 [`b474dc7`](https://github.com/opengovsg/FormSG/commit/b474dc76f426ddbb101ba73c50f16e507b51a437) #### [v6.62.0](https://github.com/opengovsg/FormSG/compare/v6.61.1...v6.62.0) > 26 June 2023 +- fix: admin feedback capturing wrong local storage value [`#6485`](https://github.com/opengovsg/FormSG/pull/6485) - fix: escape form title in payment invoice's html content [`#6482`](https://github.com/opengovsg/FormSG/pull/6482) - feat: admin feedback modal [`#6465`](https://github.com/opengovsg/FormSG/pull/6465) - fix: potential html script injection [`#6481`](https://github.com/opengovsg/FormSG/pull/6481) @@ -589,7 +601,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - chore: update issue feedback mail html [`#6478`](https://github.com/opengovsg/FormSG/pull/6478) - build: merge v6.61.0 into develop [`#6477`](https://github.com/opengovsg/FormSG/pull/6477) - fix: account for undefined response code when tracking webhook dd stats [`#6475`](https://github.com/opengovsg/FormSG/pull/6475) -- chore: bump version to v6.62.0 [`bafd12a`](https://github.com/opengovsg/FormSG/commit/bafd12a2bc228b606a24c0b65cd284a25d5f7521) +- chore: bump version to v6.62.0 [`b5ab2e0`](https://github.com/opengovsg/FormSG/commit/b5ab2e0d1615a5e9b0ed1829adcaf040ef700adc) #### [v6.61.1](https://github.com/opengovsg/FormSG/compare/v6.61.0...v6.61.1) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8bea27e475..7aef8ca90b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "form-frontend", - "version": "6.94.0", + "version": "6.95.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "form-frontend", - "version": "6.94.0", + "version": "6.95.0", "hasInstallScript": true, "dependencies": { "@chakra-ui/react": "^1.8.6", diff --git a/frontend/package.json b/frontend/package.json index 9882d1370e..0adb80e10f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "form-frontend", - "version": "6.94.0", + "version": "6.95.0", "homepage": ".", "private": true, "dependencies": { @@ -11,7 +11,7 @@ "@emotion/styled": "^11.6.0", "@floating-ui/react-dom-interactions": "^0.9.3", "@growthbook/growthbook-react": "^0.17.0", - "@opengovsg/formsg-sdk": "^0.10.0", + "@opengovsg/formsg-sdk": "^0.11.0", "@stablelib/base64": "^1.0.1", "@stripe/react-stripe-js": "^1.15.0", "@stripe/stripe-js": "^1.44.1", diff --git a/frontend/src/features/public-form/PublicFormProvider.tsx b/frontend/src/features/public-form/PublicFormProvider.tsx index 935750fc73..a16256678c 100644 --- a/frontend/src/features/public-form/PublicFormProvider.tsx +++ b/frontend/src/features/public-form/PublicFormProvider.tsx @@ -540,49 +540,55 @@ export const PublicFormProvider = ({ // TODO (FRM-1413): Move to main return statement once virus scanner has been fully rolled out if (enableVirusScanner) { - return submitStorageModeClearFormWithVirusScanningMutation.mutateAsync( - { - ...formData, - ...formPaymentData, - }, - { - onSuccess: ({ - submissionId, - timestamp, - // payment forms will have non-empty paymentData field - paymentData, - }) => { - trackSubmitForm(form) - - if (paymentData) { - navigate(getPaymentPageUrl(formId, paymentData.paymentId)) - storePaymentMemory(paymentData.paymentId) - return - } - setSubmissionData({ - id: submissionId, + return submitStorageModeClearFormWithVirusScanningMutation + .mutateAsync( + { + ...formData, + ...formPaymentData, + }, + { + onSuccess: ({ + submissionId, timestamp, - }) + // payment forms will have non-empty paymentData field + paymentData, + }) => { + trackSubmitForm(form) + + if (paymentData) { + navigate(getPaymentPageUrl(formId, paymentData.paymentId)) + storePaymentMemory(paymentData.paymentId) + return + } + setSubmissionData({ + id: submissionId, + timestamp, + }) + }, }, - onError: (error) => { - // TODO(#5826): Remove when we have resolved the Network Error - datadogLogs.logger.warn( - `handleSubmitForm: submit with virus scan`, - { - meta: { - ...logMeta, - responseMode: 'storage', - method: 'axios', - error, - }, + ) + .catch(async (error) => { + // TODO(#5826): Remove when we have resolved the Network Error + datadogLogs.logger.warn( + `handleSubmitForm: submit with virus scan`, + { + meta: { + ...logMeta, + responseMode: 'storage', + method: 'axios', + error, }, - ) + }, + ) + if (/Network Error/i.test(error.message)) { + axiosDebugFlow() // defaults to the safest option of storage submission without virus scanning return submitStorageFormWithFetch() - }, - }, - ) + } else { + showErrorToast(error, form) + } + }) } return ( @@ -627,9 +633,14 @@ export const PublicFormProvider = ({ }, }, }) - axiosDebugFlow() - return submitStorageFormWithFetch() + if (/Network Error/i.test(error.message)) { + axiosDebugFlow() + // defaults to the safest option of storage submission without virus scanning + return submitStorageFormWithFetch() + } else { + showErrorToast(error, form) + } }) ) } diff --git a/package-lock.json b/package-lock.json index 61d3d98d7c..21376f818e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "FormSG", - "version": "6.94.0", + "version": "6.95.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "FormSG", - "version": "6.94.0", + "version": "6.95.0", "hasInstallScript": true, "dependencies": { "@aws-sdk/client-cloudwatch-logs": "^3.347.1", diff --git a/package.json b/package.json index a1581c1abf..e67bf2d1b8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "FormSG", "description": "Form Manager for Government", - "version": "6.94.0", + "version": "6.95.0", "homepage": "https://form.gov.sg", "authors": [ "FormSG " diff --git a/src/app/utils/field-validation/validators/attachmentValidator.ts b/src/app/utils/field-validation/validators/attachmentValidator.ts index 4328cb88d3..362e9f51f6 100644 --- a/src/app/utils/field-validation/validators/attachmentValidator.ts +++ b/src/app/utils/field-validation/validators/attachmentValidator.ts @@ -44,7 +44,7 @@ const makeAttachmentSizeValidator: AttachmentValidatorConstructor = (attachmentField) => (response) => { const { attachmentSize } = attachmentField const byteSizeLimit = parseInt(attachmentSize) * MB - return response.content.byteLength < byteSizeLimit + return response.content.byteLength <= byteSizeLimit ? right(response) : left(`AttachmentValidator:\t File size more than limit`) }