addon: toolbarsargsbughelp wantedsev:S3
説明
Describe the bug
I remember we already had issues using standard URL Encoding while using v6 so we settled to use base64 instead (using atob/btoa). Now, after upgrading to v7 RC8, I've noticed that changing a globalTypes will mess up my value.
To Reproduce
Open site with query string included (this is a valid base64 string):
&foo=aW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IEFjY29yZGlvbiB9IGZyb20gJ0BnZG0tdWkvcmVhY3QtY29tcG9uZW50cyc7Cgpjb25zdCBDb21wb25lbnQgPSAoeyAuLi5wcm9wcyB9KSA9PiB7CiAgY29uc3QgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSB1c2VTdGF0ZSgpOwogIHJldHVybiAoCiAgICA8QWNjb3JkaW9uCiAgICAgIGV4cGFuZGVkPXtleHBhbmRlZH0KICAgICAgb25DaGFuZ2U9eyhldnQpID0%2BIHsKICAgICAgICByZXR1cm4gc2V0RXhwYW5kZWQoZXZ0LnRhcmdldC5jaGVja2VkMik7CiAgICAgIH19CiAgICAgIHsuLi5wcm9wc30KICAgID4KICAgICAgPEFjY29yZGlvbi5IZWFkZXI%2BVGl0bGU8L0FjY29yZGlvbi5IZWFkZXI%2BCiAgICAgIDxkaXY%2BVGVzdCBJbSB0aGUgY29udGVudCBvZiB0aGUgYWNjb3JkaW9uPC9kaXY%2BCiAgICA8L0FjY29yZGlvbj4KICApOwp9OwoKIGV4cG9ydCBkZWZhdWx0IENvbXBvbmVudDs%3D
Change something custom in globalTypes.
Query string becomes (a completely invalid base64 string):
&foo=aW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IEZvcm0sIEljb24gfSBmcm9tICdAZ2RtLXVpL3JlYWN0LWNvbXBvbmVudHMnOwoKY29uc3QgRmllbGQgPSAoeyBoZWxwZXJUZXh0ID0gJycsIGxhYmVsID0gJycsIHN0YXR1cyA9IG51bGwsIGNoaWxkcmVuLCAuLi5wcm9wcyB9KSA9PiB7CiAgY29uc3QgaWNvbiA9IHsKICAgIGVycm9yOiAneC1maWxsJywKICAgIHN1Y2Nlc3M6ICdjaGVjay1maWxsJywKICB9OwogIHJldHVybiAoCiAgICA8Rm9ybS5GaWVsZCBzdGF0dXM9e3N0YXR1cz8udHlwZX0gey4uLnByb3BzfT4KICAgICAgPEZvcm0uTGFiZWw+CiAgICAgICAge2xhYmVsfSB7aWNvbltzdGF0dXM/LnR5cGVdICYmIDxJY29uIHRleHRDb2xvcj17c3RhdHVzPy50eXBlID8gYCR7c3RhdHVzPy50eXBlfS04MDBgIDogdW5kZWZpbmVkfSBuYW1lPXtpY29uW3N0YXR1cz8udHlwZV19IHNpemU9InNtIiAvPn0KICAgICAgPC9Gb3JtLkxhYmVsPgogICAgICA8Rm9ybS5IZWxwIHRleHRDb2xvcj0ibmV1dHJhbC04MCI+e2hlbHBlclRleHR9PC9Gb3JtLkhlbHA+CiAgICAgIDxGb3JtLkNvbnRyb2w+e2NoaWxkcmVufTwvRm9ybS5Db250cm9sPgogICAgICB7c3RhdHVzICYmIDxGb3JtLkhlbHA+e3N0YXR1cy5tZXNzYWdlfTwvRm9ybS5IZWxwPn0KICAgIDwvRm9ybS5GaWVsZD4KICApOwp9OwoKY29uc3QgQ29tcG9uZW50ID0gKHsgaGVscGVyVGV4dCwgbGFiZWwsIHN0YXR1cywgLi4ucHJvcHMgfSkgPT4gewogIGNvbnN0IFtmb3JtLCBzZXRGb3JtXSA9IHVzZVN0YXRlKHsgdXNlcm5hbWU6ICcnLCBuYW1lOiAnJywgY291bnRyeTogJycsIGNoZWNrYm94ZXM6IFtdLCByYWRpb3M6ICcnIH0pOwogIGNvbnN0IG9uQ2hhbmdlID0gKHsgdGFyZ2V0IH0pID0+IHsKICAgIHNldEZvcm0oewogICAgICAuLi5mb3JtLAogICAgICBbdGFyZ2V0Lm5hbWVdOiB0YXJnZXQudmFsdWUsCiAgICB9KTsKICB9OwogIHJldHVybiAoCiAgICA8ZGl2PgogICAgICA8RmllbGQgaGVscGVyVGV4dD17aGVscGVyVGV4dH0gbGFiZWw9e2xhYmVsfSBzdGF0dXM9e3N0YXR1c30+CiAgICAgICAgPEZvcm0uSW5wdXQgbmFtZT0idXNlcm5hbWUiIHZhbHVlPXtmb3JtLnVzZXJuYW1lfSBvbkNoYW5nZT17b25DaGFuZ2V9IHsuLi5wcm9wc30gLz4KICAgICAgPC9GaWVsZD4KICAgICAgPEZpZWxkIGxhYmVsPSJOYW1lIj4KICAgICAgICA8Rm9ybS5UZXh0YXJlYSBuYW1lPSJuYW1lIiB2YWx1ZT17Zm9ybS5uYW1lfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+CiAgICAgIDwvRmllbGQ+CiAgICAgIDxGaWVsZCBsYWJlbD0iQ291bnRyeSI+CiAgICAgICAgPEZvcm0uU2VsZWN0IG5hbWU9ImNvdW50cnkiIHZhbHVlPXtmb3JtLmNvdW50cnl9IG9uQ2hhbmdlPXtvbkNoYW5nZX0+CiAgICAgICAgICA8Rm9ybS5TZWxlY3QuSXRlbSB2YWx1ZT0iMSI+U3BhaW48L0Zvcm0uU2VsZWN0Lkl0ZW0+CiAgICAgICAgICA8Rm9ybS5TZWxlY3QuSXRlbSB2YWx1ZT0iMiI+RnJhbmNlPC9Gb3JtLlNlbGVjdC5JdGVtPgogICAgICAgICAgPEZvcm0uU2VsZWN0Lkl0ZW0gdmFsdWU9IjMiPlBvcnR1Z2FsPC9Gb3JtLlNlbGVjdC5JdGVtPgogICAgICAgICAgPEZvcm0uU2VsZWN0Lkl0ZW0gdmFsdWU9IjQiPlVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvRm9ybS5TZWxlY3QuSXRlbT4KICAgICAgICA8L0Zvcm0uU2VsZWN0PgogICAgICA8L0ZpZWxkPgogICAgICA8RmllbGQgbGFiZWw9IkNoZWNrYm94ZXMiIGFzPSJmaWVsZHNldCIgbmFtZT0iY2hlY2tib3hlcyIgdmFsdWU9e2Zvcm0uY2hlY2tib3hlc30gb25DaGFuZ2U9e29uQ2hhbmdlfT4KICAgICAgICA8Rm9ybS5DaGVja2JveCB2YWx1ZT0iMSI+Q2hlY2sgMTwvRm9ybS5DaGVja2JveD4KICAgICAgICA8Rm9ybS5DaGVja2JveCB2YWx1ZT0iMiI+Q2hlY2sgMjwvRm9ybS5DaGVja2JveD4KICAgICAgICA8Rm9ybS5DaGVja2JveCB2YWx1ZT0iMyI+Q2hlY2sgMzwvRm9ybS5DaGVja2JveD4KICAgICAgPC9GaWVsZD4KICAgICAgPEZpZWxkIGxhYmVsPSJSYWRpb3MiIGFzPSJmaWVsZHNldCIgb25DaGFuZ2U9e29uQ2hhbmdlfSBuYW1lPSJyYWRpb3MiIHZhbHVlPXtmb3JtLnJhZGlvc30+CiAgICAgICAgPEZvcm0uUmFkaW8gdmFsdWU9IjEiPkNoZWNrIDE8L0Zvcm0uUmFkaW8+CiAgICAgICAgPEZvcm0uUmFkaW8gdmFsdWU9IjIiPkNoZWNrIDI8L0Zvcm0uUmFkaW8+CiAgICAgICAgPEZvcm0uUmFkaW8gdmFsdWU9IjMiPkNoZWNrIDM8L0Zvcm0uUmFkaW8+CiAgICAgIDwvRmllbGQ+CiAgICA8L2Rpdj4KICApOwp9OwoKQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9IHsKICAiaGVscGVyVGV4dCI6ICJIZWxwZXIgVGV4dCIsCiAgImxhYmVsIjogIlVzZXJuYW1lIiwKICAic3RhdHVzIjogewogICAgInR5cGUiOiAic3VjY2VzcyIsCiAgICAibWVzc2FnZSI6ICJTdGF0dXMgbWVzc2FnZSIKICB9Cn07CgogZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50Ow==
System
No response
Additional context
Not sure if this existed in v6 before or its a new issue. It's also interesting that it's not always reproducible, changing globals completely clears out all custom query strings sometimes for some reason.