ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Dio හා Flutter File Selector හි නව බග් නිවැරදි කිරීම – ශ්‍රී ලංකාවේ සංවර්ධකයින්ට වැදගත්

Dio හා Flutter File Selector හි නව බග් නිවැරදි කිරීම – ශ්‍රී ලංකාවේ සංවර්ධකයින්ට වැදගත්

Dart සහ Flutter පරිසරයේ ප්‍රසිද්ධ HTTP client එක වන Dio සහ Flutter කණ්ඩායමේ file_selector_android පේකේජය තුළ ඇති බග් දෙකක් නවතම නවීකරණයකින් නිවැරදි කර ඇත. මේ දෙකම සාර්ථකව සලකා බැලීමෙන් පසු, සංවර්ධකයින්ට තවත් සුවිශේෂී අත්දැකීමක් ලැබේ.

පළමුව, Dio හි FusedTransformer එකේ පාරමිතියක් (responseDecoder) සකස් කර ඇති විට, සේවාදායකයා ඉන්පසු හිස් JSON පණිවිඩයක් (200, 204, 304) ලබා දුන්නේ නම්, එය jsonDecode වෙත හිස් ස්ට්‍රින්ග් එකක් යවන ලදී. එම නිසා FormatException: Unexpected end of input දෝෂයක් ඇතිවී, ඇප් එක නතර වුණි. නව නවීකරණය මේ “slow path” එකත් සමඟ jsonDecode ට පෙර හිස් ස්ට්‍රින්ග් එකක් පරීක්ෂා කර null ලෙස පරිවර්තනය කරයි. මෙය පෙර #2279 න් අඩු කොටසක් පමණක් නිවැරදි කර තිබූ #2285 නවීකරණයට පසු හඳුනාගත් ඉතිරි ගැටළුවයි.

දෙවැනි බග් එක file_selector_android හි ඇති අතර, පරිශීලකයා ගොනුවක් තෝරාගත් පසු එය ගොනු පද්ධතියේ කියවිය හැකි ස්ථානයකට පිටපත් කළ නොහැකි වූ විට (උදා: අවසර අඩු වීම, ධාරිතාව පිරීම) ඇප් එක ක්‍රැෂ් විය. කේතයේ uriPath = null ලෙස සකස් කර “ක්‍රැෂ් නොවෙයි” කියා සලකුණු කර තිබුණද, පසුබැසීමේ FileResponse කන්ස්ට්‍රක්ටරය null පාරාමිතිය අනුමත නොකර, ක්‍රැෂ් එකක් සිදු වුණි. නව නවීකරණය මෙම පාරාමිතිය සකස් කර, null වුවත් නිවැරදිව ප්‍රතිචාරයක් ලබා දීමට හැකිවීය.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ Dart/Flutter සංවර්ධකයන්ට මෙම නවීකරණය තුළ ලැබෙන ප්‍රධාන වාසි පහත පරිදි වේ:

  • ස්ථාවර API සම්බන්ධතා – Dio හි හිස් JSON ප්‍රතිචාරයක් හේතුවෙන් පැන නැගෙන අහඹු ක්‍රැෂ් වලින් මිදීම, ආකෘතිමත් සේවා සම්බන්ධතා රඳවා ගැනීමට උපකාරී.
  • ගොනු තේරීමේ විශ්වාසය වැඩිවීම – file_selector_android නවීකරණය මගින් දුරකථන ගොනු තෝරාගැනීමේදී අවසර හෝ ධාරිතාව ගැටළුවලින් ඇප් නතර නොවීම, භාවිතාකරුවන්ගේ අත්දැකීම වඩා හොඳට කරයි.
  • ව්‍යාපාරික ව්‍යාපෘති වල අඩු අවදානම – මේ දෙකම මූලික ලයිබ්‍රරීස් වන නිසා, ශ්‍රී ලංකාවේ තාක්ෂණික සමාගම්, startup ව්‍යාපාර, හා අධ්‍යාපන ආයතන මේ නවීකරණයන්ගෙන් ප්‍රතිලාභ ලබා, වැඩි නිෂ්පාදනශීලීත්වයක් සහ අඩු පූර්ව-දෝෂ පරීක්ෂණ කාලයක් ගත කරයි.

මෙම නිවැරදි කිරීම් නවතම Flutter 3.x සහ Dart 2.19 සංස්කරණ සමඟ සම්පූර්ණයෙන්ම අනුකූල වන අතර, දේශීය සංවර්ධකයන්ට කේත පදනම අලුත් කර ගැනීමට, අලුත් ලයිබ්‍රරීස් එක් කිරීමට හෝ පවත්වා ගැනීමට අවශ්‍ය කාලය අඩු කරයි.

අවසන් වශයෙන්, මේ නවීකරණය open‑source ප්‍රජාවෙහි “ඇදිරියෙන් වැඩ කිරීම” යන මූලධර්මය පෙන්වයි; බග් එක හඳුනාගැනීම, ඒකට “අර්ධ‑නිවැරදි” විසඳුමක් ලබා දීම, පසුව සම්පූර්ණ නිවැරදි කිරීමක් එක් කිරීම—all together, developers worldwide benefit, including us in Sri Lanka.

💡 අදම නව නිවැරදි කිරීම ඔබේ පළවැඩට එක්කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Dio #Flutter #BugFix #Android #Dart