ricordisamoa / dewkin

The next generation DUI.
https://dewkin.toolforge.org
GNU General Public License v3.0
13 stars 7 forks source link

The query string is sometimes too long, making the Map feature break #12

Closed Huji closed 5 years ago

Huji commented 5 years ago

When you go to https://tools.wmflabs.org/dewkin/Sunfyre@fawiki and switch to the Map tab, you will not see a map because the AJAX call to MW API has a URL that is too long. Specifically, the URL is this:

https://fa.wikipedia.org/w/api.php?callback=jQuery33107276065136006599_1542292419447&action=query&prop=coordinates&titles=شاهزاده ایران: دو سریر|پرونده:Pandora Tomorrow box art.jpg|اسپلینتر سل تام کلنسی: فردای پاندورا|اسپلینتر سل تام کلنسی: فردای پاندور|اسپلینتر سل: فردای پاندورا|سونی اریکسون سی۹۰۵|فاینال فانتزی (بازی)|فاینال فانتزی (بازی ویدئویی)|فاینال فانتزی ۴: بعد از سال‌ها|گردآوری فاینال فانتزی ۷|فاینال فانتزی ایکس-۲|فاینال فانتزی ۱۲: بال‌های انتقام|توم ریدر (مجموعه بازی)|اسپلینتر سل تام کلنسی: ضروری|اسپلینتر سل: ضروری|پرونده:Assassin's Creed Discovery.jpg|کیش یک آدم‌کش ۲: اکتشاف|پرونده:Assassin's Creed Bloodlines.jpg|کیش یک آدم‌کش: تبارها|کیش یک آدم کش: طناب‌خون|کیش یک آدم کش: اکتشاف|کیش یک آدم کش: تاریخچه الطائر|کیش یک آدم‌کش (مجموعه بازی)|کیش یک آدم‌کش: دودمان|بتمن در تیمارستان آرخام|پرونده:Metal Gear 2 Boxart.JPG|متال گیر ۲: سالید اسنیک|پرونده:Metalgear2boxart.jpg|متال گیر سالید ۲: پسران آزادی|پرونده:MPO NA cover.jpg|متال گیر سالید: پرتابل آپس|پرونده:God-of-war-mobile-20070510091008553.jpg|خدای جنگ: خیانت|بایبل بلک|سه احمق|سایلنت هیل: یادگارهای خردشده|متال گیر سالید ۴: سلاح میهن پرستان|سایلنت هیل (بازی ویدئویی)|پرونده:SH1 boxart.png|پرونده:Silent hill.jpg|سایلنت هیل (فیلم)|سایلنت هیل (ابهام‌زدایی)|پیتر جکسون|مکس پین ۳|جنون سرعت ۳: تعقیب شدید|جنون سرعت ۲|ری-ولت (بازی رایانه ای)|ری-ولت|جنون سرعت: تعقیب شدید ۲|جنون سرعت: پورشه لگام‌گسیخته&format=json&_=1542292419604

I am guessing that the part of the program that makes sure URLs are not too long does not work properly when they include Unicode characters.

Huji commented 5 years ago

Also related upstream: https://phabricator.wikimedia.org/T209590

But the downstream bug reported here should be resolved regardless.

Huji commented 5 years ago

So far, it has been recommended that the API URL should use %20 instead of space. This is something that needs to be done here in DEWKIN code

ricordisamoa commented 5 years ago

@Huji Have any requests been sent with spaces in them? jQuery.param() seems to be taking care of them just fine.

I'm not sure yet whether the 'real' bug is in client browsers or Wikimedia servers, and I'd be reluctant to include a workaround in the Inspector until the problem is more clearly located.

Huji commented 5 years ago

@ricordisamoa According to the JS console, yes. You can verify by using the link at the very beginning of the issue description.

ricordisamoa commented 5 years ago

If you try to make an XMLHttpRequest with spaces, does your browser report a different URL than when using %20?

Huji commented 5 years ago

The upstream issue was fixed. No change is needed in DEWKIN code anymore.

ricordisamoa commented 5 years ago

The upstream issue was reopened following new reports of dropped connections. In addition, combinations of very long titles could still result in HTTP 414 status being returned. To be fair, it's unlikely that either case will affect users of this tool.