On Mon, 24 Jan 2022 at 22:39, <[email protected]> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> humbedooh pushed a commit to branch master
> in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
>
> commit 335c5f07e30f7ded480ff8dd09a52d7e444f7a84
> Author: Daniel Gruno <[email protected]>
> AuthorDate: Mon Jan 24 23:38:27 2022 +0100
>
> work around find_parent being doubly encoded.
-1
I think the work-round is wrong.
Your fix does not retrieve the correct mid until it has already been used.
Also '&find_parent=true' is valid as part of a message-id, so your fix
could potentially corrupt a search by message-id.
The way that the find_parent attribute is passed needs a rethink.
> ---
> webui/js/source/primer.js | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/webui/js/source/primer.js b/webui/js/source/primer.js
> index e9a8d0a..2ea3fb2 100644
> --- a/webui/js/source/primer.js
> +++ b/webui/js/source/primer.js
> @@ -172,7 +172,12 @@ function parse_permalink() {
> });
> }
> else {
> - GET('%sapi/thread.lua?id=%s'.format(G_apiURL,
> encodeURIComponent(mid)), construct_single_thread, {
> + let encoded_mid = encodeURIComponent(mid);
> + // If looking for parent, don't encode this bit of the arg string.
> + if (mid.match(/&find_parent=true/)) {
> + encoded_mid =
> encodeURIComponent(mid.replace(/&find_parent=true/, '')) +
> '&find_parent=true';
> + }
> + GET('%sapi/thread.lua?id=%s'.format(G_apiURL, encoded_mid),
> construct_single_thread, {
> cached: true
> });
> }