വികസനം
വികസന മാർഗ്ഗദർശകം
പ്രമാണീകരണം മാത്രം website/docs (ഇംഗ്ലീഷ്) വിഭാഗത്തിൽ പുതുക്കുക. website/i18n/<locale>/… കീഴിലെ വിവർത്തനങ്ങൾ ജനറേറ്റ് ചെയ്തവയാണ്; കൈയോടെ തിരുത്തരുത്. ലokalized ഉള്ളടക്കം പുതുക്കാൻ വിവർത്തന ടാസ്കുകൾ (ഉദാ., make translate_web_docs_batch) ഉപയോഗിക്കുക.
മുൻഅവശ്യങ്ങൾ
- Node.js 22+യും npm ഉം (Node 22 ഉപയോഗിച്ച് പരിശോധിച്ചു)
- Thunderbird 128 ESR അല്ലെങ്കിൽ അതിനുശേഷമുള്ള പതിപ്പുകൾ (മാനുവൽ ടെസ്റ്റിംഗിനായി)
പ്രോജക്ട് ലേയൗട്ട് (ഹൈ‑ലെവൽ)
- Root: പാക്കേജിംഗ് സ്ക്രിപ്റ്റ്
distribution_zip_packer.sh, ഡോക്സ്, സ്ക്രീൻഷോട്ടുകൾ sources/: പ്രധാന ആഡ്‑ഓൺ കോഡ് (ബാക്ക്ഗ്രൗണ്ട്, ഓപ്ഷൻസ്/പോപ്പ്‑അപ്പ് UI, മാനിഫെസ്റ്റുകൾ, ഐക്കണുകൾ)tests/: Vitest സ്യൂട്ട്website/: Docusaurus ഡോക്സ് (website/i18n/de/...കീഴിൽ i18n സഹിതം)
ഇൻസ്റ്റാൾ & ടൂളിംഗ്
- Root ഡിപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക:
npm ci - ഡോക്സ് (ഐച്ഛികം):
cd website && npm ci - ടാർഗറ്റുകൾ കണ്ടെത്തുക:
make help
ലൈവ് ഡെവ് (web‑ext run)
- Firefox ഡെസ്ക്ടോപ്പിൽ വേഗത്തിലുള്ള ലൂപ്പ് (UI സ്മോക്ക്‑ടെസ്റ്റുകൾ മാത്രം):
npx web-ext run --source-dir sources --target=firefox-desktop- Thunderbird‑ൽ പ്രവർത്തിക്കുക (MailExtensions‑ന് മുൻഗണന):
npx web-ext run --source-dir sources --start-url about:addons --firefox-binary "$(command -v thunderbird || echo /path/to/thunderbird)"- ടിപ്പുകൾ:
- Thunderbirdന്റെ Error Console തുറന്നിടുക (Tools → Developer Tools → Error Console).
- MV3 event പേജുകൾ നിര്ത്തപ്പെടാം (idle); കോഡ് മാറ്റങ്ങൾക്കുശേഷം ആഡ്‑ഓൺ റീലോഡ് ചെയ്യുക, അല്ലെങ്കിൽ web‑ext auto‑reload അനുവദിക്കുക.
- ചില Firefox‑മാത്രമുള്ള പെരുമാറ്റങ്ങൾ വ്യത്യസ്തമായിരിക്കാം; API parity ഉറപ്പാക്കാൻ എപ്പോഴും Thunderbird‑ൽ പരിശോധിക്കുക.
- Thunderbird ബൈനറി പാതകൾ (ഉദാഹരണങ്ങൾ):
- Linux:
thunderbird(ഉദാ.,/usr/bin/thunderbird) - macOS:
/Applications/Thunderbird.app/Contents/MacOS/thunderbird - Windows:
"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe" - പ്രൊഫൈൽ ഐസൊലേഷൻ: നിങ്ങളുടെ ദിനചര്യാ സജ്ജീകരണത്തെ ബാധിക്കാതിരിക്കാൻ ഡെവലപ്പ്മെന്റിനായി വേറെ ഒരു Thunderbird പ്രൊഫൈൽ ഉപയോഗിക്കുക.
Make ടാർഗറ്റുകൾ (അക്ഷരമാലാക്രമത്തിൽ)
Makefile സാധാരണ ഡെവ് പ്രവാഹങ്ങളെ സ്റ്റാൻഡേർഡൈസ് ചെയ്യുന്നു. ഓരോ ടാർഗറ്റിന്റെയും ഒരു വരി സംഗ്രഹം ലഭിക്കാൻ എപ്പോൾ വേണമെങ്കിലും make help പ്രവർത്തിപ്പിക്കുക.
ടിപ്പ്: ടാർഗറ്റ് നൽകാതെ make പ്രവർത്തിപ്പിക്കുമ്പോൾ ഒരു ലളിതമായ Whiptail മെനു തുറക്കും; അവിടെ നിന്ന് ടാർഗറ്റ് തിരഞ്ഞെടുക്കാം.
| ടാർഗറ്റ് | ഒരു വരി വിവരണം |
|---|---|
clean | ലൊക്കൽ build/preview ആർട്ടിഫാക്ടുകൾ നീക്കം ചെയ്യുക (tmp/, web-local-preview/, website/build/). |
commit | ഫോർമാറ്റ്, ടെസ്റ്റുകൾ (i18n ഉൾപ്പെടെ) നടത്തുക, changelog അപ്ഡേറ്റ് ചെയ്യുക, commit & push. |
eslint | flat config (npm run -s lint:eslint) വഴി ESLint ഓടിക്കുക. |
help | എല്ലാ ടാർഗറ്റുകളും ഒരു വരി ഡോക്സോടെ (സോർട്ട് ചെയ ്ത്) ലിസ്റ്റ് ചെയ്യുക. |
lint | sources/ ൽ web‑ext lint (താൽക്കാലിക മാനിഫെസ്റ്റ്; ZIPs അവഗണിക്കുന്നു; non‑fatal). |
menu | ടാർഗറ്റ്, ഐച്ഛിക ആർഗ്യുമെന്റുകൾ എന്നിവ തിരഞ്ഞെടുക്കാനുള്ള ഇന്ററാക്ടീവ് മെനു. |
pack | ATN & LOCAL ZIPs നിർമ്മിക്കുക (ലിന്റർ ഓടിക്കുന്നു; packer സ്ക്രിപ്റ്റ് വിളിക്കുന്നു). |
prettier | റീപോയെ ഇൻ‑പ്ലേസിൽ ഫോർമാറ്റ് ചെയ്യുക (മാറ്റങ്ങൾ എഴുതുന്നു). |
prettier_check | Prettier check മോഡ് (എഴുത്തില്ല); റീഫോർമാറ്റ് വേണമെങ്കിൽ ഫെയിൽ ചെയ്യും. |
prettier_write | prettier ന്റെ അപരനാമം. |
test | Prettier (write), ESLint, ശേഷം Vitest (കോൺഫിഗർ ചെയ്താൽ കവറേജ്). |
test_i18n | i18n‑മാത്രം ടെസ്റ്റുകൾ: ആഡ്‑ഓൺ placeholders/parity + വെബ്സൈറ്റ് parity. |
translate_app | translation_app ന്റെ അപരനാമം. |
translation_app | sources/_locales/en/messages.json നിന്ന് ആപ്പ് UI സ്ട്രിംഗുകൾ വിവർത്തനം ചെയ്യുക. |
translate_web_docs_batch | വെബ്സൈറ്റ് ഡോക്സ് OpenAI Batch API വഴി വിവർത്തനം ചെയ്യുക (മുൻഗണന). |
translate_web_docs_sync | വെബ്സൈറ്റ് ഡോക്സ് സിങ്ക്രോണസ് ആയി വിവർത്തനം ചെയ്യുക (പഴയ, non-batch). |
translate_web_index | translation_web_index ന്റെ അപരനാമം. |
translation_web_index | ഹോംപേജ്/നാവ്ബാർ/ഫൂട്ടർ UI വിവർത്തനം (website/i18n/en/code.json → .../<lang>/code.json). |
web_build | ഡോക്സ് website/build ആയി ബിൽഡ് ചെയ്യുക (--locales / BUILD_LOCALES പിന്തുണയ്ക്കുന്നു). |
web_build_linkcheck | ഓഫ്ലൈൻ‑സേഫ് ലിങ്ക് ചെക്ക് (റിമോട്ട് HTTP[S] ഒഴിവാക്കുന്നു). |
web_build_local_preview | ലൊക്കൽ gh‑pages preview; 8080–8090 ൽ auto‑serve; ഐച്ഛിക ടെസ ്റ്റുകൾ/ലിങ്ക്‑ചെക്ക്. |
web_push_github | website/build നെ gh-pages ബ്രാഞ്ചിലേക്ക് push ചെയ്യുക. |
ഓപ്ഷൻസിന്റെ സിന്റാക്സ്
- ഓപ്ഷനുകൾ പാസ്സ് ചെയ്യാൻ
make <command> OPTS="…"ഉപയോഗിക്കുക (quotes നിർദ്ദേശിക്കുന്നു). താഴെയുള്ള ഓരോ ടാർഗറ്റിലും ഉദാഹരണ ഉപയോഗം കാണാം.
--
ലോക്കേൽ ബിൽഡ് ടിപ്പുകൾ
- ഏതാനും ലോക്കേലുകൾ മാത്രം ബിൽഡ് ചെയ്യുക:
BUILD_LOCALES="en de"സജ്ജമാക്കുക അല്ലെങ്കിൽOPTS="--locales en,de"വെബ് ടാർഗറ്റുകൾക്ക് പാസ്സ് ചെയ്യുക. - ഒരു പ്രത്യേക ലോക്കേൽ പ്രിവ്യൂ:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/de/.
ബിൽഡ് & പാക്കേജ്
- ZIPs നിർമ്മിക്കുക:
make pack - റിപ്പോ റൂട്ടിൽ ATN, LOCAL ZIPs ഉൽപ്പാദിപ്പിക്കുന്നു (ആർട്ടിഫാക്ടുകൾ കൈയോടെ തിരുത്തരുത്)
- ടിപ്പ്: പാക്കേജിംഗിന് മുമ്പ്
sources/manifest_ATN.jsonוגםsources/manifest_LOCAL.jsonയിലെ വേർഷൻ അപ്ഡേറ്റ് ചെയ്യുക - മാനുവൽ ഇൻസ്റ്റാൾ (ഡെവ്): Thunderbird → Tools → Add‑ons and Themes → gear → Install Add‑on From File… → നിർമ്മിച്ച ZIP തിരഞ്ഞെടുക്കുക
ടെസ്റ്റ്
- ഫുൾ സ്യൂട്ട്:
make test(Vitest) - കവറേജ് (ഐച്ഛികം):
npm i -D @vitest/coverage-v8make testഓടിക്കുക; HTML റിപ്പോർട്ടിന്coverage/index.htmlതുറക്കുക- i18n മാത്രം:
make test_i18n(UI keys/placeholders/titles + വെബ്സൈറ്റ് per‑locale per‑doc parity; id/title/sidebar_label പരിശോധനകൾ സഹിതം)
ഡിബഗിംഗ് & ലോഗുകൾ
- Error Console: Tools → Developer Tools → Error Console
- റൺടൈമിൽverbose ലോഗുകൾ ടോഗിൾ ചെയ്യുക:
- Enable:
messenger.storage.local.set({ debug: true }) - Disable:
messenger.storage.local.set({ debug: false }) - പ്രതികരണങ്ങൾ കമ്പോസ്/അയക്കുന്ന സമയത്ത് ലോഗുകൾ പ്രത്യക്ഷപ്പെടും
ഡോക്സ് (വെബ്സൈറ്റ്)
- ഡെവ് സർവർ:
cd website && npm run start - സ്റ്റാറ്റിക് സൈറ്റ് ബിൽഡ്:
cd website && npm run build - Make സമാനങ്ങൾ (അക്ഷരമാലാക്രമത്തിൽ):
make web_build,make web_build_linkcheck,make web_build_local_preview,make web_push_github - ഉപയോഗ ഉദാഹരണങ്ങൾ:
- EN മാത്രം, ടെസ്റ്റുകൾ/ലിങ്ക്‑ചെക്ക് സ്കിപ്പ്, push ഇല്ല:
make web_build_local_preview OPTS="--locales en --no-test --no-link-check --dry-run" - എല്ലാ ലോക്കേലുകളും, ടെസ്റ്റുകൾ/ലിങ്ക്‑ചെക്ക് സഹിതം, ശേഷം push:
make web_build_local_preview && make web_push_github - പ്രസിദ്ധീകരിക്കുന്നതിനു മുമ്പ് ഓഫ്ലൈൻ‑സേഫ് ലിങ്ക് ചെക്ക് ഓടിക്കുക:
make web_build_linkcheck. - i18n: ഇംഗ്ലീഷ്
website/docs/*.mdൽ; ജർമ്മൻ വിവർത്തനങ്ങൾwebsite/i18n/de/docusaurus-plugin-content-docs/current/*.mdൽ - തിരയൽ: CI ൽ Algolia DocSearch env വേരിയബിളുകൾ (
DOCSEARCH_APP_ID,DOCSEARCH_API_KEY,DOCSEARCH_INDEX_NAME) സജ്ജമാക്കിയാൽ, സൈറ്റ് Algolia search ഉപയോഗിക്കും; അല്ലാത്തപക്ഷം ലോക്കൽ search ലേക്ക് തിരിഞ്ഞുപോകും. ഹോംപേജിൽ/അല്ലെങ്കിൽCtrl+Kഅമർത്തി സെർച്ച് ബോക്സ് തുറക്കാം.
ദാനം റീഡയറക്റ്റ് റൂട്ട്
website/src/pages/donate.js- റൂട്ട്:
/donate(കൂടാതെ/<locale>/donate) - പ്രവർത്തനം:
- നിലവിലെ റൂട്ടിന് ഒരു ലോക്കേൽ ഉണ്ടെങ്കിൽ (ഉദാ.,
/de/donate), അത് ഉപയോഗിക്കുക - അല്ലാത്തപക്ഷം,
navigator.languagesനെ ക ോൺഫിഗർ ചെയ്ത ലോക്കേലുകളുമായി താരതമ്യം ചെയ്ത് മികച്ച പൊരുത്തം തിരഞ്ഞെടുക്കുക; ഇല്ലെങ്കിൽ ഡിഫോൾട്ട് ലോക്കേലിലേക്ക് ഫോൾബാക്ക് - Redirects to:
en→/docs/donation- മറ്റുള്ളവ →
/<locale>/docs/donation - ശരിയായ baseUrl ഹാൻഡ്ലിംഗിനായി
useBaseUrlഉപയോഗിക്കുന്നു - ഫാൾബാക്കായി meta refresh +
noscriptലിങ്ക് ഉൾപ്പെടുന്നു
പ്രിവ്യൂ ടിപ്പുകൾ
- Node preview നല്ലപോലെ നിർത്തുക:
http://localhost:<port>/__stopതുറക്കുക (Local server startedകഴിഞ്ഞ് പ്രിന്റ് ചെയ്യുന്നു). - MDX/JSX ൽ ചിത്രങ്ങൾ ലോഡ് ചെയ്യാത്ത പക്ഷം, സൈറ്റിന്റെ
baseUrlമാനിക്കാൻuseBaseUrl('/img/...')ഉപയോഗിക്കുക. - പ്രിവ്യൂ ആദ്യം ആരംഭിക്കും; ലിങ്ക് ചെക്ക് പിന്നാലെ ഓടും, non‑blocking ആണ് (പൊട്ടിയ എക്സ്റ്റേണൽ ലിങ്കുകൾ പ്രിവ്യൂ ന ിർത്തുകയില്ല).
- ഉദാഹരണ പ്രിവ്യൂ URL:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/(“Local server started” കഴിഞ്ഞ് പ്രിന്റ് ചെയ്യും). - ലിങ്ക്‑ചെക്കിലെ എക്സ്റ്റേണൽ ലിങ്കുകൾ: ചില എക്സ്റ്റേണൽ സൈറ്റുകൾ (ഉദാ., addons.thunderbird.net) ഓട്ടോമേറ്റഡ് ക്രോളറുകളെ ബ്ലോക്ക് ചെയ്യുകയും ലിങ്ക് ചെക്കിൽ 403 കാണിക്കുകയും ചെയ്യും. പ്രിവ്യൂ എങ്കിലും ആരംഭിക്കും; ഇവ അവഗണിക്കാവുന്നതാണ്.
വെബ്സൈറ്റ് വിവർത്തനം ചെയ്യുക
താങ്കൾക്ക് വിവർത്തനം ചെയ്യാവുന്നത്
- Website UI മാത്രം: ഹോംപേജ്, നാവ്ബാർ, ഫുട്ടർ, മറ്റു UI സ്ട്രിംഗുകൾ. ഡോക്സ് ഉള്ളടക്കം ഇപ്പോൾ ഇംഗ്ലീഷ്‑മാത്രം തുടരും.
എവിടെ എഡിറ്റ് ചെയ്യാം
website/i18n/<locale>/code.jsonഎഡിറ്റ് ചെയ്യുക (enനെ റഫറൻസായി ഉപയോഗിക്കുക).{year},{slash},{ctrl},{k},{code1}പോലെയുള്ള placeholders മാറ്റരുത്.
ഫയലുകൾ സൃഷ്ടിക്കുക അല്ലെങ്കിൽ പുതുക്കുക
- എല്ലാ ലോക്കേലുകൾക്കും ഇല്ലാത്ത stubs സൃഷ്ടിക്കുക:
npm --prefix website run i18n:stubs - ഇംഗ്ലീഷിൽ നിന്ന് stubs ഓവർറൈറ്റ് ചെയ്യുക (പുതിയ സ്ട്രിംഗുകൾ ചേർത്തതിന് ശേഷം):
npm --prefix website run i18n:stubs:force - ഒരു ലോക്കേലിനുള്ള বিকൽപ്പം:
npx --prefix website docusaurus write-translations --locale <locale>
ഹോംപേജ്/നാവ്ബാർ/ഫൂട്ടർ UI സ്ട്രിംഗുകൾ വിവർത്തനം ചെയ്യുക (OpenAI)
- ക്രെഡൻഷ്യലുകൾ ഒരിക്കൽ സജ്ജമാക്കുക (shell അല്ലെങ്കിൽ .env):
export OPENAI_API_KEY=sk-...- ഐച്ഛികം:
export OPENAI_MODEL=gpt-4o-mini - One‑shot (എല്ലാ ലോക്കേലുകളും, en സ്കിപ്പ്):
make translate_web_index - പ്രത്യേക ലോക്കേലുകൾക്ക് പരിധിയിടുക:
make translate_web_index OPTS="--locales de,fr" - നിലവിലുള്ള മൂല്യങ്ങൾ ഓവർറൈറ്റ് ചെയ്യുക:
make translate_web_index OPTS="--force"
സാധുതയും വീണ്ടും ശ്രമിക്കലും
- വിവർത്തന സ്ക്രിപ്റ്റ് JSON രൂപം സാധൂകരിക്കുന്നു, curly‑brace placeholders സംരക്ഷിക്കുന്നു, URLs മാറ്റമില്ലാതെ തുടരാൻ ഉറപ്പാക്കുന്നു.
- വാലിഡേഷൻ പരാജയപ്പെട്ടാൽ, നിലവിലുള്ള മൂല്യങ്ങൾ നിലനിർത്തുന്നതിന് മുമ്പ് 2 തവണ വരെ ഫീഡ്ബാക്കോടെ വീണ്ടും ശ്രമിക്കുന്നു.
താങ്കളുടെ ലോക്കേൽ പ്രിവ്യൂ ചെയ്യുക
- ഡെവ് സർവർ:
npm --prefix website run start - സന്ദർശിക്കുക
http://localhost:3000/<locale>/Thunderbird-Reply-with-Attachments/
സമർപ്പിക്കൽ
- എഡിറ്റ് ചെയ്ത
code.jsonഫയൽ(കൾ) സഹിതം ഒരു PR തുറക്കുക. മാറ്റങ്ങൾ കേന്ദ്രീകരിച്ച് വയ്ക്കുക; കഴിയുന്നുവെങ്കിൽ ഒരു പെട്ടെന്ന് സ്ക്രീൻഷോട്ട് ചേർക്കുക.
സുരക്ഷ & കോൺഫിഗറേഷൻ ടിപ്പുകൾ
sources/manifest.jsoncommit ചെയ്യരുത് ( ബിൽഡ് താൽക്കാലികമായി സൃഷ്ടിക്കുന്നു)- അപ്ഡേറ്റ് ചാനൽ സംരക്ഷിക്കാൻ
browser_specific_settings.gecko.idസ്ഥിരമായി നിലനിർത്തുക
സജ്ജീകരണങ്ങളുടെ സ്ഥിരത
- സ്റ്റോറേജ്: എല്ലാ യൂസർ സജ്ജീകരണങ്ങളും
storage.localൽ സൂക്ഷിക്കപ്പെടുന്നു, ആഡ്‑ഓൺ അപ്ഡേറ്റുകളിലൂടെയും നിലനിർത്തുന്നു. - ഇൻസ്റ്റാൾ: ഒരു കീ യഥാർത്ഥത്തിൽ ഇല്ലെങ്കിൽ (undefined) മാത്രമേ ഡിഫോൾട്ടുകൾ പ്രയോഗിക്കൂ.
- അപ്ഡേറ്റ്: മൈഗ്രേഷൻ ഇല്ലാത്ത കീകൾ മാത്രം നിറക്കും; നിലവിലുള്ള മൂല്യങ്ങൾ ഒരിക്കലും ഓവർറൈറ്റ് ചെയ്യില്ല.
- സ്കീമ മാർക്കർ:
settingsVersion(ഇപ്പോൾ1). - കീകളും ഡിഫോൾട്ടുകളും:
blacklistPatterns: string[]→['*intern*', '*secret*', '*passwor*']confirmBeforeAdd: boolean→falseconfirmDefaultChoice: 'yes'|'no'→'yes'warnOnBlacklistExcluded: boolean→true- കോഡ്:
sources/background.js→initializeOrMigrateSettings()мөнSCHEMA_VERSIONകാണുക.
ഡെവ് വർക്ഫ്ലോ (ഒരു പുതിയ സജ്ജീകരണം ചേർക്കുന്നത്)
sources/background.jsൽSCHEMA_VERSIONബമ്പ് ചെയ്യുക.- പുതിയ കീ + ഡിഫോൾട്ട്
initializeOrMigrateSettings()ലെDEFAULTSഒബ്ജക്റ്റിൽ ചേർക്കുക. - ഡിഫോൾട്ടുകൾ വിത്തിടുമ്പോൾ "only-if-undefined" നിയമം ഉപയോഗിക്കുക; നിലവിലുള്ള മൂല്യങ്ങൾ ഓവർറൈറ്റ് ചെയ്യരുത്.
- സജ്ജീകരണം യൂസർ‑വിശിബിൾ ആണെങ്കിൽ,
sources/options.jsൽ വയർ ചെയ്യുക, localized സ്ട്രിംഗുകൾ ചേർക്കുക. - ടെസ്റ്റുകൾ ചേർക്കുക/ചട്ടക്കൂടുകൾ ക്രമീകരിക്കുക (
tests/background.settings.migration.test.jsകാണുക).
മാനുവൽ ടെസ്റ്റിംഗ് ടിപ്പുകൾ
- ഫ്രെഷ് ഇൻസ്റ്റാൾ സിമുലേറ്റ് ചെയ്യുക: എക്സ്റ്റൻഷന്റെ ഡാറ്റ ഡയറക്ടറി ക്ലിയർ ചെയ്യുക അല്ലെങ്കിൽ പുതിയ ഒരു പ്രൊഫൈലിൽ ആരംഭിക്കുക.
- അപ്ഡേറ്റ് സിമുലേറ്റ് ചെയ്യുക:
storage.localൽsettingsVersionനെ0ആയി സജ്ജമാക്കി റീലോഡ് ചെയ്യുക; നിലവിലുള്ള മൂല്യങ്ങൾ മാറ്റമില്ലാതെ തുടരുന്നതും ഇല്ലാത്ത കീകൾ മാത്രം ചേർക്കുന്നതും സ്ഥിരീകരിക്കുക.
പ്രശ്നപരിഹാരം
- Thunderbird 128 ESR അല്ലെങ്കിൽ പുതിയത് ഉറപ്പാക്കുക
- റൺടൈം പ്രശ്നങ്ങൾക്കായി Error Console ഉപയോഗിക്കുക
- സംഭരിച്ച സജ്ജീകരണങ്ങൾ ശരിയായി പ്രയോഗിക്കാത്തപോലെ തോന്നുന്നുവെങ്കിൽ, Thunderbird റീസ്റ്റാർട്ട് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക. (Thunderbird സെഷനുകൾക്കിടയിൽ സ്റ്റേറ്റ് ക്യാഷ് ചെയ്യാം; റീസ്റ്റാർട്ട് പുതിയ സജ്ജീകരണങ്ങൾ ശരിയായി ലോഡ് ചെയ്യുന്നത് ഉറപ്പാക്കും.)