dart-lang / markdown

A Dart markdown library
https://pub.dev/packages/markdown
BSD 3-Clause "New" or "Revised" License
444 stars 201 forks source link

When Image src encoded, it changes the valid url to mismatched one #597

Closed mym0404 closed 6 months ago

mym0404 commented 6 months ago

The image url is encoded since #589

Valid Image Url

https://firebasestorage.googleapis.com/v0/b/jagyeok-001.appspot.com/o/exam001%2Fexam001_687_2a0829c9-0349-425e-8615-a309d9d6fbca%7D.png?alt=media&token=17242a6e-ba12-47a6-a567-2f7b88c34229

Transformed Image Url

https://firebasestorage.googleapis.com/v0/b/jagyeok-001.appspot.com/o/exam001/exam001_687_2a0829c9-0349-425e-8615-a309d9d6fbca%7D.png?alt=media&token=17242a6e-ba12-47a6-a567-2f7b88c34229

%2F is converted to /. It is a misbehavior.

This should be correctly shown in commonmark spec.

image

srawlins commented 6 months ago

Oh ouch! Good catch

manafire commented 5 months ago

Oh boy. Well, this certainly explains why most of my Cloud Storage images are broken in my app! Anyone using subfolders would be affected.

I'm getting this behaviour in v7.2.2 from flutter_markdown which depends on markdown: ^7.1.1. Any chance of this fix making it into a 7.2.3 release soon??

zhouzhuo810 commented 1 week ago

valid url:

[https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Faxios](https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Faxios)

Transformed url : https://ohpm.openharmony.cn/#/cn/detail/@ohos/axios

%2F is also converted to /