odysseus/static/js/emailLibrary
Léo b7002c0fe3 fix(email): import spinnerModule in the modules that use it
Six of the seven modules call `spinnerModule.createWhirlpool(...)` and none
of them imported it. Everything still parsed, every module still loaded, and
the Email Settings page threw `ReferenceError: spinnerModule is not defined`
the moment `settings.js` mounted it — the panel rendered its loading spinner
and stopped there.

The cause is worth writing down because it is the same shape as the bug: the
import statements were collected with a pattern that was not anchored to the
start of a line, and the header comment says "the old import path keeps
resolving". That prose matched first and swallowed the real
`import spinnerModule from '../spinner.js';` that followed it.

`test_no_module_uses_a_package_name_it_never_bound` closes the class. Nothing
else here can: `node --check` parses without resolving scope, and loading a
module does not run the function body where the throw lives. It checks the
package's own vocabulary — every name any module in it binds — rather than
trying to model the browser's globals, so it has no false positives and still
catches the one mistake a split actually makes: the declaration stays behind
and the use moves.
2026-09-30 09:55:39 +02:00
..
aiReply.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
attachments.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
bodyRender.js refactor(email): split the email library into seven modules 2026-09-30 09:26:34 +02:00
index.js refactor(email): split the email library into seven modules 2026-09-30 09:26:34 +02:00
menus.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
reader.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
replyRecipients.js fix: reply-all Cc builder crashes on a non-string To or Cc field (#1700) 2026-06-03 13:37:22 +09:00
settingsPage.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
signatureFold.js Ignore non-string signature fold metadata (#1655) 2026-06-03 14:16:48 +09:00
state.js refactor(email): split the email library into seven modules 2026-09-30 09:26:34 +02:00
unsubscribe.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
utils.js fix(email): route summaries through shared LLM adapter (#5841) 2026-08-08 23:06:41 +02:00