Files
SubMiner/backlog/tasks/task-102 - Quiet-default-AppImage-startup-and-implicit-background-launch.md

3.1 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, references, priority
id title status assignee created_date updated_date labels dependencies references priority
TASK-102 Quiet default AppImage startup and implicit background launch Done
codex
2026-03-06 21:20 2026-03-06 21:33
/home/sudacode/projects/japanese/SubMiner/src/main-entry-runtime.ts
/home/sudacode/projects/japanese/SubMiner/src/core/services/cli-command.ts
/home/sudacode/projects/japanese/SubMiner/src/main.ts
medium

Description

Make the packaged Linux no-arg launch path behave like a quiet background start instead of surfacing startup-only noise.

Scope:

  • Treat default background entry launches as implicit --start --background.
  • Keep the --password-store diagnostic out of normal startup output.
  • Suppress known startup-only node:sqlite and lsfg-vk warnings for the entry/background launch path.
  • Avoid noisy protocol-registration warnings during normal startup when registration is unsupported.

Acceptance Criteria

  • #1 Initial background launch reaches the start path without logging No running instance. Use --start to launch the app.
  • #2 Default startup no longer emits the Applied --password-store gnome-libsecret line at normal log levels.
  • #3 Entry/background launch sanitization suppresses the observed ExperimentalWarning: SQLite... and lsfg-vk ... unsupported configuration version startup noise.
  • #4 Regression coverage documents the new startup behavior.

Implementation Notes

Normalized no-arg/password-store-only entry launches to append implicit --start --background, and upgraded --background-only entry launches to include --start.

Applied shared entry env sanitization before loading the main process so default startup strips the lsfg-vk Vulkan layer and sets NODE_NO_WARNINGS=1; background children keep the same sanitized env.

Downgraded startup-only protocol-registration failure logging to debug, and routed the Linux password-store diagnostic through the scoped debug logger instead of raw console output.

Verification:

  • bun test src/main-entry-runtime.test.ts src/main/runtime/anilist-setup-protocol.test.ts src/main/runtime/anilist-setup-protocol-main-deps.test.ts
  • bun run test:fast

Note: the final node --experimental-sqlite --test dist/main/runtime/registry.test.js step in bun run test:fast still prints Node's own experimental SQLite warning because that test command explicitly enables the feature flag outside the app entrypoint.

Final Summary

Default packaged startup is now quiet and behaves like an implicit --start --background launch.

  • No-arg AppImage entry launches now append --start --background, and --background-only launches append the missing --start.
  • Entry/background startup sanitization now suppresses the observed lsfg-vk and node:sqlite warnings on the app launch path.
  • Linux password-store and unsupported protocol-registration diagnostics now stay at debug level instead of normal startup output.