𝗖𝗵𝗿𝗼𝗺𝗲 ilifanya kazi. 𝗙𝗶𝗿𝗲𝗳𝗼𝘅 ilikuwa tupu.

Niliona hitilafu (bug) ya ajabu. Nilifungua ukurasa uleule kwenye vivinjari (browsers) viwili pembeni mwa mwingine.

Katika Chrome, kila kitu kilifanya kazi. Niliona picha, vitufe, na data. Katika Firefox, sikiona kitu. Niliona kadi tupu na ujumbe ukisema "0 results found."

Ilikuwa URL ileile. Ilikuwa build ileile. Ilikuwa mashine ileile.

Chanzo kilikuwa hitilafu ambayo ni vigumu sana kuipata wakati wa uendelezaji (development). Kivinjari kilikuwa kinazuia maombi yangu ya API (API calls). Niliendeleza kazi kwenye kivinjari kimoja tu ambacho hakikuzuia maombi hayo.

Tatizo: Ukurasa unatumia JavaScript kupata data kutoka kwa domain ya upande wa tatu (Supabase). Firefox inatumia Enhanced Tracking Protection. Watumiaji wengi pia hutumia ad blockers kama uBlock Origin. Zana hizi huona domain ya upande wa tatu na kuzuia ombi (request) kabla hata halijatoka kwenye kompyuta.

Kodi haikufeli (crash). Haikuonyesha kosa jekundu (red error) kwenye console. Fetch ilirudisha tu kitu chochote. Kisha kodi yangu ilionyesha hali ya "empty state" kama ilivyoelekezwa. Kwa mtazamaji wa kawaida, ukurasa ulionekana sawa. Ulionekana tu kuwa tupu.

Hitilafu hii haikuonekana kwa sababu mbili:

Jinsi nilivyorekebisha:

Nilitumia reverse proxy ili kuhamisha ombi kwenye upande unaoaminika.

Badala ya: mysite.com -> xxxx.supabase.co (Upande wa tatu / Imekozwa)

Nilibadilisha na kuwa: mysite.com -> mysite.com/sb-api (Upande wa kwanza / Inayoaminika)

Kwa kupitisha API kupitia domain yangu mwenyewe, kivinjari hufikiri kuwa ombi hilo ni sehemu ya tovuti yenyewe. Firefox haioni tena kama kifuatiliaji (tracker).

Mambo matatu ya kukumbuka ikiwa utatumia njia hii:

Somo: Acha kudhania "ikiwa inafanya kazi kwenye Chrome, inafanya kazi."

Jaribu tovuti yako kwenye Firefox ukiwa na mipangilio kali ya faragha (strict privacy settings) na ad blocker. Hapo ndipo kuna upande wako ambao huoni (blind spot).

Chanzo: https://dev.to/henry_dan_81513dd35a2f540/chrome-showed-the-data-firefox-showed-nothing-the-api-was-being-blocked-4mpn