Skip to content

v1.1.0: menubar, notifications, bulk import, log search, and a hardening pass - #1

Merged
jainath merged 3 commits into
mainfrom
fix/improvement-plan
Jun 13, 2026
Merged

v1.1.0: menubar, notifications, bulk import, log search, and a hardening pass#1
jainath merged 3 commits into
mainfrom
fix/improvement-plan

Conversation

@jainath

@jainath jainath commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Implements the 1.1.0 milestone: new product features, a broad correctness/security/perf/a11y hardening pass driven by an internal audit, and the supporting tooling/docs. Version bumped to 1.1.0.

Features

  • Menubar (tray) presence: start/stop apps and see ports without the window
  • Desktop notifications on crash (and optionally on ready)
  • Bulk import: register a whole folder of repos at once
  • Global log search (Cmd+Shift+F) across every running task
  • Monorepo detection, per-app auto-start, launch at login, folder Start all / Stop all
  • Graceful quit confirmation; update banner shows release notes; local diagnostics log

Hardening

  • Secrets encrypted at rest (safeStorage); a project .env can no longer override user-set env or process-control vars (PATH/NODE_OPTIONS/DYLD_*)
  • Fixes: silently-dead restart-on-change (chokidar v5 globs), unremovable run-once apps, stuck "starting" state, start/stop races, readiness hangs
  • env_vars schema rebuilt so task-scoped overrides save (migration 0006); WAL-safe DB export/reset; corrupt-DB recovery dialog
  • Faster process/port polling, bounded log memory, visibility-gated log streaming
  • Electron fuses (RunAsNode/NODE_OPTIONS/--inspect off, OnlyLoadAppFromAsar on)

Accessibility

Focus-trapped dialogs, keyboard menus/comboboxes, focusable sidebar rows, accessible status indicators, screen-reader logs.

Infra

CI workflow (typecheck + lint + test), ESLint + Prettier, release tag/version guard, and a --publish never dispatch dry-run.

Notes

  • Migrations 0006 (env scope indexes) and 0007 (auto_start).
  • Downgrade caveat: after running 1.1.0, secrets are encrypted and the schema is upgraded — going back to 1.0.x is not supported. Export a backup (Settings > Danger zone) first if needed.
  • 54 tests, typecheck, lint, and the production build all pass.

Before tagging the release

Run the workflow manually (Actions > Release > Run workflow) for a --publish never dry-run to validate the bumped actions and notarization, then merge and tag v1.1.0.

jainath added 3 commits June 13, 2026 19:50
…dening pass

Features:
- Menubar (tray) presence: start/stop apps and see ports without the window
- Desktop notifications on crash (and optionally on ready)
- Bulk import: register a whole folder of repos at once
- Global log search (Cmd+Shift+F) across every running task
- Monorepo detection, per-app auto-start, launch at login, folder start/stop-all
- Graceful quit confirmation; update banner shows release notes; local diagnostics log

Hardening:
- Secret env values encrypted at rest (safeStorage); a project .env can no longer
  override user-set env or process-control vars (PATH/NODE_OPTIONS/DYLD_*)
- Fix silently-dead restart-on-change (chokidar v5 globs), unremovable run-once apps,
  stuck "starting" state, start/stop races, and readiness hangs
- env_vars schema rebuilt so task-scoped overrides save (migration 0006); deleted
  task vars no longer resurrect; WAL-safe DB export/reset; corrupt-DB recovery dialog
- Faster process/port polling; bounded log memory; visibility-gated log streaming

Accessibility:
- Focus-trapped dialogs, keyboard menus/comboboxes, focusable sidebar rows,
  accessible status indicators, screen-reader-readable logs, light terminal theme

Schema migrations 0006 (env scope indexes) and 0007 (auto_start). Also normalizes
punctuation (em/en dashes to hyphens) across comments and strings.
- Add ci.yml: typecheck + lint + test on push/PR (macos-14, matching the
  release runner so the native-module rebuild path is the same)
- ESLint flat config + Prettier config + .prettierignore
- Harden packaged binaries: Electron fuses via afterPack disable RunAsNode,
  NODE_OPTIONS, and --inspect, and enable OnlyLoadAppFromAsar; drop the
  disable-executable-page-protection entitlement
- release.yml: bump actions to node24-native majors, add a tag/version guard,
  and turn workflow_dispatch into a --publish-never dry-run
- Unify the dmg artifact name with the zip (productName)
- CHANGELOG: full 1.1.0 entry, including the downgrade note (encrypted secrets
  and the schema upgrade are one-way; export a backup first)
- README: Highlights section covering the new features
- specs/02-data-model: env encryption at rest, the three partial unique indexes,
  auto_start, migrations 0006/0007, and the updated layering order
- specs/04-ui: single-screen add flow and welcome screen
- RELEASE: tag/version guard, the dispatch dry-run, and CI
- PROGRESS: 1.1.0 pass summary
- Normalize punctuation (em/en dashes to hyphens) across the docs
@jainath
jainath merged commit 75b3337 into main Jun 13, 2026
1 check passed
@jainath
jainath deleted the fix/improvement-plan branch June 13, 2026 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant