github lifedever/TaskTick v1.7.1
TaskTick v1.7.1

8 hours ago

What's Changed

Quick Launcher

  • Cold-start flash fixed. The "white card" that briefly appeared under the search field on first open is gone — pre-warmed the system text-input service at app launch + tightened the reveal timing.
  • ⌘O opens the selected task in the main window.
  • ⌘, opens Settings.
  • Three-way "Show tasks" filter: All / Scheduled only / Manual only.
  • Quick Launcher gets its own Settings tab.

Menu Bar

  • Status item icon now indicates running state — outline checkmark badge → filled checkmark when scripts are running. Same SF Symbol family means zero icon drift on state change.
  • Icon size bumped slightly for better visual weight.
  • Scheduled tasks: max 3 shown. Manual scripts: max 5 shown.
  • Footer: dividers replaced with hover backgrounds matching the task rows. Whole row clickable to start/stop with pointer cursor.
  • Manually-executed tasks bump to the top of the lists in sidebar / Quick Launcher / menu bar. Long-running dev servers surface immediately on play. Scheduled cron runs don't churn the order.
  • Live "已运行 5m 23s" indicator in Quick Launcher row + detail-page schedule card while a task is running.
  • Sidebar "X days ago" timestamp now follows actual run activity (was stuck on creation date).

Log Streaming (Manual Tasks)

  • Manual task output streams to ~/Library/Logs/TaskTick/<task-name>.log (truncate per run). tail -F it from a terminal or drop it into Console.app for live monitoring.
  • ANSI color codes stripped before writing for clean output.
  • Toggleable from Settings → Logs. Detail page exposes Reveal-in-Finder / Open-in-Console / Copy-Path actions.

Lifecycle Hardening

  • No more orphan processes. Quitting TaskTick (or pkill, Ctrl+C) now cleanly terminates every running script and its descendants. Confirmation dialog warns before killing in-flight work.
  • Each spawned script gets its own process group — per-task stop and global quit both reach grandchildren (npm → node, make → cc, etc.).
  • Signal handlers (SIGTERM / SIGINT / SIGHUP) added so pkill and Ctrl+C trigger the same graceful shutdown as the menu bar Quit button.

更新内容

快速访问(Quick Launcher)

  • 修复冷启动闪屏。 第一次打开时搜索框下面那张"白卡片"已消除 —— 提前在 App 启动时唤醒系统文本输入服务,配合显示时序优化。
  • ⌘O 在主窗口中打开选中任务。
  • ⌘, 打开设置。
  • 任务范围三选一过滤器:全部 / 仅自动 / 仅手动。
  • 快速访问独立成 Settings 一个 tab。

菜单栏

  • 状态栏图标会随运行状态变化 —— 运行时角标从描线变为实心。同系列 SF Symbol,切换时图标位置完全不动。
  • 图标尺寸稍微放大,视觉权重更协调。
  • 列表上限:自动任务最多 3 个,手动脚本最多 5 个。
  • 底部按钮去除分割线,改用悬浮高亮(和任务行风格一致)。整行可点击启动/停止,鼠标悬浮时显示小手光标。
  • 手动执行的任务自动排到第一位(侧边栏、快速访问、菜单栏三处一致)。长跑 dev server 一点运行就立刻冒到顶。自动调度任务不会扰乱顺序。
  • 任务运行时显示"已运行 5m 23s"实时计时(快速访问行 + 详情页调度配置)。
  • 侧边栏"X 天前"时间戳现在跟随实际运行活动(之前一直显示创建时间)。

日志流式写文件(手动任务)

  • 手动任务输出流式写入 ~/Library/Logs/TaskTick/<任务名>.log(每次运行覆盖)。可在终端 tail -F 实时查看,也可拖进控制台 (Console.app) 监听。
  • 写入前自动剥离 ANSI 颜色码,输出干净。
  • 设置 → 日志 中可关闭。详情页提供"在 Finder 显示"/"在控制台打开"/"复制路径"按钮。

生命周期加固

  • 不再产生孤儿进程。 退出 TaskTick(或 pkill / Ctrl+C)时会干净地终止所有运行中的脚本及其子进程。如有正在运行的任务会弹出确认对话框。
  • 每个脚本启动时独立进程组 —— 单任务停止和全局退出都能触达孙进程(npm → node, make → cc 等)。
  • 添加 SIGTERM / SIGINT / SIGHUP 信号处理 —— pkill 和 Ctrl+C 与菜单栏退出按钮走同样的优雅关闭流程。

Full Changelog: v1.7.0...v1.7.1

Don't miss a new TaskTick release

NewReleases is sending notifications on new releases.