Commit Graph

1896 Commits

Author SHA1 Message Date
Pedram Amini
becfc97f42 merge: resolve conflicts with main (gist publishing + openspec) 2025-12-28 12:50:19 -06:00
Pedram Amini
2cd2328e23 Merge remote-tracking branch 'origin/beta-opt-in' 2025-12-28 12:39:46 -06:00
Pedram Amini
4a72d384e8 feat: add beta opt-in checkbox to Check for Updates modal
Adds a stylized toggle to enable/disable pre-release updates directly
from the update check modal, keeping it in sync with the Settings modal.
2025-12-28 12:39:31 -06:00
Pedram Amini
ac586e37c2 Merge pull request #110 from pedramamini/beta-opt-in
feat: add beta opt-in setting for pre-release updates
2025-12-28 12:26:02 -06:00
Pedram Amini
d003dc3408 OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES

- Added global hands-on time tracking with 5-minute idle timeout ⏱️
- Persist hands-on time to settings every 30 seconds automatically 💾
- Flushes tracked time safely on tab hide and app exit 🔒
- About modal now shows lifetime hands-on time across sessions 📊
- Reworked About modal props to stop depending on sessions directly 🧩
- Wired new tracker into main app initialization flow 🧠
- Exposed `useHandsOnTimeTracker` hook via session hooks index 🔌
- Updated Agent Settings shortcut to Opt+Cmd+, / Alt+Ctrl+, ⌨️
- Refreshed keyboard shortcuts docs with Agent Settings entry 📚
- Cleaned modal wiring so Process Monitor still receives sessions 🛠️
2025-12-28 12:24:07 -06:00
Pedram Amini
aeb9abebfc ## CHANGES
- Strengthened prompt validation to allow questions and engaging imperatives 🧠
- Expanded tests to verify all initial prompts meet punctuation expectations 
- Added clearer failure messaging for malformed prompts during test runs 🧾
2025-12-28 10:53:19 -06:00
Pedram Amini
f7006581f9 ## CHANGES
- Added autoRunStats badge-aware sidebar thresholds for LIVE/OFFLINE label visibility 🧩
- Expanded SessionList tests to cover badge-present vs badge-absent behavior 🧪
- Verified labels hide below 295px when badge level is active 🏷️
- Ensured LIVE/OFFLINE text still renders at 256px without badge 🎯
- Kept radio icon visible even when status text collapses in narrow sidebar 📻
2025-12-28 10:50:26 -06:00
Pedram Amini
2b13fd87d9 ## CHANGES
- Release workflow now deduplicates build artifacts, preventing upload race conditions 🚦
- GitHub releases upload from one consolidated `artifacts/release` directory for reliability 📦
- Docs navigation adds a “life-ring” icon to Troubleshooting for quicker discovery 🛟
- New keyboard shortcut (Shift+,) opens Agent Settings for the active session ⌨️
- Main keyboard handler wires Agent Settings shortcut into edit-agent modal flow 🧩
2025-12-28 10:22:13 -06:00
Pedram Amini
f7b7f361df version bump 2025-12-28 10:03:27 -06:00
Pedram Amini
6a8372c793 ## CHANGES
- Made bootstrap store use explicit userData path for reliability 🧭
- Aligned crash-reporting settings storage path with main sync settings 🛡️
- Refined LIVE/OFFLINE badge display thresholds based on AutoRun badge level 🏷️
2025-12-28 09:48:23 -06:00
Pedram Amini
64a93775f7 test(openspec): add comprehensive test coverage for OpenSpec feature
Add test suites for the OpenSpec integration:
- openspec-manager.test.ts: Core manager tests for metadata, prompts,
  save/reset, and user prompts directory priority
- ipc/handlers/openspec.test.ts: IPC handler tests for all 6 channels
- renderer/services/openspec.test.ts: Frontend service wrapper tests

Also simplify openspec.implement.md and speckit.implement.md prompts
to be more focused and actionable for Auto Run document generation.

Claude ID: d5345e10-734a-4f25-8e9a-888718d14dcb
Maestro ID: c1cf8dc6-2f28-444d-b97e-5ca4fa2b50ef
2025-12-28 09:44:11 -06:00
Pedram Amini
07f5f2c4ec ## CHANGES
- Removed tab title tooltips for a cleaner, distraction-free TabBar UX 🧼
- Added demo-mode and dev-mode isolated data directories to avoid conflicts 🗂️
- Defaulted sync storage path to configured userData when unset 🔄
- Ensured userData path is set before Store initialization for correctness 🧭
- Improved TTS IPC reliability with utf8 writes, callbacks, and stdin checks 🗣️
- Added richer TTS debug logging in main process for easier troubleshooting 🔍
- Logged ToastContext TTS triggers and explicit skip reasons for clarity 📣
- Extended toast test coverage to include audioNotification disabled state 
- Fixed FilePreview search match index reset to prevent unnecessary jumps 🎯
2025-12-28 09:31:01 -06:00
Pedram Amini
5182334ea1 test: add coverage for beta opt-in prerelease feature
- Add tests for includePrerelease parameter in update-checker
- Add tests for updates:setAllowPrerelease IPC handler
- Update existing update check tests to verify default behavior
2025-12-28 09:02:35 -06:00
Pedram Amini
d65b8d2c6b ## CHANGES
- Added `dev:prod-data` to develop against real production sessions safely 🧪
- Dev mode now defaults to an isolated `maestro-dev` data directory 🗂️
- App can explicitly opt into production userData via `USE_PROD_DATA=1` 🔀
- Contributor docs now clearly map dev commands to their data directories 📚
- Reduced dev/production database lock conflicts when running side-by-side 🔒
- Tab hover overlay redesigned to look like a clean “open folder” panel 🗃️
- Removed tab title tooltip to streamline the tab interaction feel ✂️
- Toast logging now captures whether audio/TTS notifications were enabled 🎙️
- Toast logs include the exact audio command used for notifications 🧾
- TTS playback now reuses captured audio state for consistent behavior 🔊
2025-12-28 08:51:42 -06:00
Pedram Amini
a1b8b44724 feat: add beta opt-in setting for pre-release updates
Allow users to opt into receiving beta, release candidate, and alpha
updates via a new toggle in Settings → General. When enabled, the
update checker includes pre-release versions alongside stable releases.

- Add enableBetaUpdates setting with persistence
- Extend update-checker to filter/include prereleases based on flag
- Configure electron-updater allowPrerelease via new IPC handler
- Add FlaskConical icon toggle in Settings modal
- Document pre-release channel in configuration docs
2025-12-28 08:35:10 -06:00
Pedram Amini
61cb0b5048 docs(openspec): update documentation links and remove missing screenshot reference 2025-12-28 08:34:57 -06:00
Pedram Amini
c398f6a778 ## CHANGES
- Added new Git IPC handler for creating gists (26 total)! 📝
- Logger now supports dedicated `autorun` level with structured workflow data 🚦
- Autorun logs bypass log-level filtering, always capturing critical run events 🔁
- Unknown logger levels now safely fall back to info, avoiding silent drops 🛡️
- Expanded system IPC logger tests for autorun payloads and unknown levels 🧪
- Enhanced logger tests to validate autorun sequencing, filtering, and console output 📊
- Tab hover overlay now visually connects to tab with seamless connector strip 🧷
- Overlay positioning now uses exact tab bottom and tracks tab width 📐
- Simplified overlay container styling while keeping bordered content panel clean 🎨
- Switched `why-did-you-render` to dynamic import for Vite/ESM compatibility 
2025-12-28 08:30:45 -06:00
Pedram Amini
f6f967b0af ## CHANGES
- Publish any open file as a GitHub Gist, instantly sharable 🔗
- Smart Share button appears only when GH CLI is ready 🧠
- Quick Actions adds “Publish Document as GitHub Gist” command 
- New high-priority Gist confirmation modal with secret-first default 🔒
- Auto-copies gist URL and shows toast with “Open Gist” action 📋
- Main process IPC now creates gists via `gh gist create` 🛠️
- Command runner now supports stdin input using spawn-based execution 🚰
- Development runs in separate userData directory to avoid lock conflicts 🧪
- Extensive test coverage added for GistPublishModal behavior and a11y 🧰
- New Mintlify docs folder plus contributor guide for docs workflow 📚
2025-12-28 08:05:29 -06:00
Pedram Amini
24e2376373 ## CHANGES
- Stop button now shows whenever Auto Run is active session-wide 🛑
- Block starting new Auto Run while another run is already active 🔒
- Run button replaced by Stop even on unlocked documents during batch 🧭
- Added `isAutoRunActive` state to drive clearer Run/Stop UI logic 🧠
- Expanded integration tests to lock in single-run-per-session behavior 🧪
2025-12-28 06:45:51 -06:00
Pedram Amini
750ecd4743 ## CHANGES
- Bumped project version to 0.12.2 for this release rollout 🚀
- Added why-did-you-render to spotlight unnecessary React re-renders 🔍
- Initialized dev-only WDYR profiling with hooks and memo tracking 🧪
- Ensured WDYR loads before React for accurate render diagnostics ⏱️
- Refreshed About modal with cleaner creator + Austin side-by-side layout 🧩
- Inserted visual divider to better separate About modal sections 🧱
- Corrected About modal GitHub link targets between repo and profile 🔗
- Updated About modal tests to match the swapped GitHub link behavior 
- Stripped markdown from History list summaries for cleaner previews 🧹
2025-12-28 06:27:33 -06:00
Pedram Amini
22db413a5d MAESTRO: docs(openspec): complete Phase 3 documentation tasks
- Add OpenSpec to docs.json navigation after speckit-commands
- Add OpenSpec Commands section to slash-commands.md
- Update features.md to mention bundled Spec-Kit and OpenSpec
- Add Spec-Kit and OpenSpec rows to CLAUDE.md Key Files table
- Update CONTRIBUTING.md with bundled AI command set guide
- Update refresh prompts section to include both spec-kit and openspec
- Fix ESLint warning (prefer-const) in openspec-manager.ts

Tasks 3-9 of Phase 3 complete. Task 2 (screenshot) requires manual UI capture.
Task 10 (manual testing) remains for human verification.
2025-12-28 05:41:57 -06:00
Pedram Amini
5bdd79524c MAESTRO: docs(openspec): add comprehensive OpenSpec commands documentation
Add docs/openspec-commands.md with:
- Full workflow guide (Proposal → Apply → Archive)
- Comparison table between OpenSpec and Spec-Kit
- Directory structure reference
- Spec delta format examples
- Maestro-specific /openspec.implement command docs
- Auto-update and customization instructions
2025-12-28 05:41:27 -06:00
Pedram Amini
6a3733d582 MAESTRO: feat(openspec): add OpenSpec commands to Command Palette (Cmd+K)
Added 5 OpenSpec commands to the Quick Actions modal (Command K palette):
- OpenSpec: Create Proposal → /openspec.proposal
- OpenSpec: Apply Changes → /openspec.apply
- OpenSpec: Archive Change → /openspec.archive
- OpenSpec: Generate Auto Run → /openspec.implement
- OpenSpec: Help → /openspec.help

Each command fetches its prompt content via getOpenSpecCommand and injects
it into the input field for editing/sending. The implementation follows
the same pattern as the slash command autocomplete integration.

Changes:
- QuickActionsModal.tsx: Added onInjectOpenSpecPrompt prop and 5 OpenSpec
  command entries with async actions that fetch and inject prompts
- AppModals.tsx: Added onInjectOpenSpecPrompt to AppUtilityModalsProps,
  AppModalsProps, and prop flow to QuickActionsModal
- App.tsx: Added handleInjectOpenSpecPrompt callback that injects prompt
  content into input (supporting both regular and group chat contexts)
2025-12-28 05:41:27 -06:00
Pedram Amini
c71bc8fc77 MAESTRO: feat(openspec): integrate slash commands with autocomplete and execution
- Add openspecCommands state and load on startup via getOpenSpecCommands()
- Include OpenSpec commands in allCustomCommands for slash command execution
- Add openspecCommandsAsSlash to allSlashCommands for autocomplete dropdown
- Add openspecCommandsRef for remote command handling and queue processing
- Update remote slash command handler to check OpenSpec commands
- Update processQueuedItem to resolve OpenSpec commands

The OpenSpec slash commands (/openspec.proposal, /openspec.apply, etc.)
now work the same way as spec-kit commands - they appear in autocomplete
when typing '/' and their prompts are injected when selected.
2025-12-28 05:40:57 -06:00
Pedram Amini
7875417ac8 MAESTRO: feat(openspec): add OpenSpec panel to Settings modal
Add OpenSpecCommandsPanel to the AI Commands tab in SettingsModal,
appearing after SpecKitCommandsPanel with a visual divider separating them.
2025-12-28 05:40:57 -06:00
Pedram Amini
3986770df6 MAESTRO: feat(openspec): add OpenSpec commands panel UI component
Create OpenSpecCommandsPanel.tsx mirroring SpecKitCommandsPanel pattern:
- Uses GitBranch icon to differentiate from Spec Kit's Wand2
- Links to Fission-AI/OpenSpec GitHub repository
- Supports expand/collapse, edit, reset, and refresh operations
- Shows "Maestro" badge for custom commands, "Modified" for edited
- Uses template autocomplete for prompt editing
2025-12-28 05:40:56 -06:00
Pedram Amini
546978c715 MAESTRO: feat(openspec): add renderer service and TypeScript types
- Created src/renderer/services/openspec.ts with 3 exported functions:
  - getOpenSpecCommands() - Returns all OpenSpec commands
  - getOpenSpecMetadata() - Returns metadata or null
  - getOpenSpecCommand() - Returns single command by slash string
- Added OpenSpecCommand and OpenSpecMetadata interfaces to types/index.ts
- Extended MaestroAPI in global.d.ts with openspec API (6 methods)
- TypeScript lint passes successfully
2025-12-28 05:40:56 -06:00
Pedram Amini
d7f325283b MAESTRO: feat(openspec): add preload bridge API for OpenSpec commands
Add openspec API section to preload.ts contextBridge with all 6 methods
(getMetadata, getPrompts, getCommand, savePrompt, resetPrompt, refresh)
and corresponding MaestroAPI interface types. Mirrors speckit pattern.
2025-12-28 05:40:56 -06:00
Pedram Amini
91855077d0 MAESTRO: feat(openspec): add IPC handlers for OpenSpec commands
Create OpenSpec IPC handler module with full parity to speckit.ts:
- Add openspec:getMetadata, openspec:getPrompts, openspec:getCommand
- Add openspec:savePrompt, openspec:resetPrompt, openspec:refresh
- Register handlers in index.ts
2025-12-28 05:40:56 -06:00
Pedram Amini
282d87b0fb MAESTRO: feat(openspec): add GitHub refresh script and npm command
- Create scripts/refresh-openspec.mjs for build-time prompt updates
- Add refresh-openspec npm script to package.json
- Add extraResources for openspec prompts in all platform builds
- Update bundled prompts with latest from OpenSpec repository
2025-12-28 05:40:56 -06:00
Pedram Amini
f014ae79eb MAESTRO: feat(openspec): create OpenSpec manager module
Mirrors speckit-manager.ts with full parity for OpenSpec workflow:
- OPENSPEC_COMMANDS constant with 5 commands (help, proposal, apply, archive, implement)
- User customization storage with loadUserCustomizations/saveUserCustomizations
- Path resolution for dev/production bundled prompts
- getBundledPrompts/getBundledMetadata with user prompts fallback
- AGENTS.md parser to extract proposal/apply/archive sections
- GitHub refresh via refreshOpenSpecPrompts() fetching from Fission-AI/OpenSpec
- Complete exported API: getOpenSpecMetadata, getOpenSpecPrompts, saveOpenSpecPrompt, resetOpenSpecPrompt, getOpenSpecCommand, getOpenSpecCommandBySlash
2025-12-28 05:40:56 -06:00
Pedram Amini
6514d0d325 MAESTRO: feat(openspec): add index module for OpenSpec prompts
Create src/prompts/openspec/index.ts following the speckit pattern:
- Import all 5 prompts using Vite's ?raw suffix
- Define OpenSpecCommandDefinition and OpenSpecMetadata interfaces
- Export openspecCommands array with help, proposal, apply, archive, implement
- Add helper functions: getOpenSpecCommand(), getOpenSpecCommandBySlash(), getOpenSpecMetadata()
- Export individual prompts for direct access
2025-12-28 05:40:56 -06:00
Pedram Amini
ea9b35fdba MAESTRO: feat(openspec): create OpenSpec prompts directory with initial prompts
Created src/prompts/openspec/ with all required prompt files mirroring
the spec-kit pattern:

- metadata.json: Initial metadata pointing to Fission-AI/OpenSpec repo
- openspec.help.md: Maestro-specific help with spec-kit comparison
- openspec.proposal.md: Stage 1 - Creating Changes workflow
- openspec.apply.md: Stage 2 - Implementing Changes workflow
- openspec.archive.md: Stage 3 - Archiving Changes workflow
- openspec.implement.md: Maestro Auto Run integration with worktree support

Each prompt was extracted/adapted from the OpenSpec AGENTS.md document
and enhanced for Maestro's Auto Run integration.
2025-12-28 05:40:56 -06:00
Pedram Amini
bfa54195e8 ## CHANGES
- Added configurable OS notifications for completed tasks and attention needs 🔔
- Introduced optional text-to-speech summaries with custom piped TTS commands 🗣️
- Added in-app toast notifications with flexible durations, including “Never” ⏱️
- Greatly expanded output filtering docs: global, per-response, regex modes 🔎
- Documented full agent lifecycle: create, edit, delete, and advanced options 🤖
- Added sidebar power features: search, bookmarks, grouping, drag-and-drop 🧲
- Improved keyboard-driven navigation tips across settings and quick actions ⌨️
- Refreshed README screenshots to showcase new Group Chat experience 👥
- Replaced hand-drawn achievement wand with crisp bundled icon asset 
2025-12-28 04:52:44 -06:00
Pedram Amini
8d145f6546 ## CHANGES
- Added a gorgeous main-screen screenshot to README for faster onboarding 🖼️
- Polished batch-stop UI label from “Stopping...” to “Stopping” everywhere 
- Updated MainPanel tests to match the refined stopping button text 🧪
- Refreshed achievement badge styling with sleek purple accent gradients 🎨
- Replaced trophy mini-badge with a signature Maestro wand + sparkle icon 🪄
- Switched default achievement icon rendering to a crisp trophy emoji 🏆
2025-12-28 04:42:12 -06:00
Pedram Amini
6e871565f9 ## CHANGES
- Refreshed README positioning for project-focused, high-velocity multi-agent workflows 🚄
- Added embedded YouTube walkthrough and onboarding demos for faster ramp-up 🎬
- Reorganized docs into clearer Power vs Core feature sections 🧭
- Consolidated feature list into crisp, scannable bullet format 🧾
- Expanded Auto Run narrative for spec-to-execution, long unattended runs ⏱️
- Clarified supported agents and teased future additions users requested 🔮
- Added explicit Requirements section covering agents and optional Git setup 🧰
- Updated keyboard-first links, highlighting mastery tracking and quick actions ⌨️
- Improved session discovery description: import, search, star, resume conversations 🗂️
- Tightened Remote Access messaging as “Mobile Remote Control” with tunneling details 📱
2025-12-28 04:34:22 -06:00
Pedram Amini
2cc87ee0e0 ## CHANGES
- Refreshed docs icon set across pages for a cleaner UI feel 🔧
- Reorganized docs navigation to surface Configuration under Core features 🧭
2025-12-28 04:26:55 -06:00
Pedram Amini
a72377d05d docs: center all README screenshots
Wrap all images in <p align="center"> tags for consistent visual presentation.
2025-12-28 04:23:03 -06:00
Pedram Amini
6ce78b55dc ## CHANGES
- Refreshed Git Worktrees README screenshot reference for clearer documentation 📸
- Added new Git Worktrees screenshot asset to docs for updated visuals 🖼️
2025-12-28 04:21:42 -06:00
Pedram Amini
1cd04a935a ## CHANGES
- Upgraded README screenshots to consistent HTML `<img>` tags with sizing 📸
- Improved visual polish with standardized widths across all key images 🖼️
- Refreshed Auto Run screenshots with updated, current UI captures 🔄
- Cleaned up screenshot layout spacing for smoother scanning and readability 
- Made screenshot accessibility better with explicit `alt` text everywhere 
2025-12-28 04:18:54 -06:00
Pedram Amini
74f6c08f01 OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES

- Revamped README with power features, screenshots, and crisp quick-start flow 🚀
- Added prominent User Docs badge linking to full documentation hub 📚
- Documented Auto Run playbooks for batch checklist execution and history tracking 
- Highlighted Git worktrees for parallel agents on isolated branches instantly 🌿
- Showcased Group Chat with moderator AI for coordinated multi-agent discussions 🗣️
- Introduced Remote Access docs for phone control via QR and tunnels 📱
- Documented `maestro-cli` for headless automation with JSONL scripting support 🧰
- Polished Achievement Card visuals: real GitHub logo and brighter trophies 🏆
- Improved Auto Run summaries by avoiding filename-extension sentence splitting ✍️
- Build and dev tweaks: disable npm rebuild and stop watching without HMR 🛠️
2025-12-28 04:04:27 -06:00
Pedram Amini
7e31924fd1 ## CHANGES
- Added Settings Overview with tab breakdown and quick-access shortcuts ⚙️
- Introduced manual update checking plus configurable startup update checks 🔄
- Expanded File Preview with search, line numbers, and markdown toggle 🔍
- Added breadcrumb navigation to quickly jump between recently viewed files 🧭
- Enabled in-preview file editing with automatic save-on-navigate behavior ✍️
- Clarified `@` file mentions workflow with autocomplete context injection 🧩
- Added Onboarding Wizard to auto-configure agents and Auto Run setup 🪄
- Added optional Introductory Tour launchable anytime from Quick Actions 🧠
- Documented System Log Viewer with filtering, search, and log levels 📜
- Added Process Monitor to inspect PIDs and kill stuck processes 🛠️
- Improved tab context menus: hide impossible actions, keep Close active 🧷
2025-12-27 19:47:53 -06:00
Pedram Amini
c225f0d1a5 OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Streamlined autorun: synopsis now extracted directly from agent responses 🧠
- Added per-session overrides for path, args, env, model, context 🧩
- Improved batch stopping: abort-from-error clears error state cleanly 🛑
- Tab menu feels smarter: hide irrelevant close options dynamically 🗂️
- Session header now preserves full session name without shrinking 📌
- Cleaner Claude output parsing by removing noisy empty-text debug logs 🧹
- Better failure visibility: warn when synopsis generation yields no history ⚠️
- Docs navigation reorganized: Usage/Reference pages reordered for clarity 📚
2025-12-27 19:36:39 -06:00
Pedram Amini
367fdddf1e tests passing 2025-12-27 18:35:37 -06:00
Pedram Amini
5d46af20f1 Revert "## CHANGES"
This reverts commit 48cc601fd4.
2025-12-27 15:57:07 -06:00
Pedram Amini
48cc601fd4 ## CHANGES
- Improved session restore: AI tabs now default `saveToHistory` for older sessions 🧷
- Preserved tab preferences when reopening last tab: inherit history/thinking flags 🧠
- Stabilized input keydown handler via refs + `useCallback` wrapper 🚀
- Stabilized paste handler to avoid rerenders during frequent clipboard events 📋
- Stabilized drag-and-drop handler for smoother image dropping interactions 🪂
- Memoized File Explorer panel to cut unnecessary parent-driven rerenders 🗂️
- Memoized Right Panel (with forwardRef) to keep UI snappy 🧱
- Memoized Session List to reduce sidebar churn on state updates 📚
- Memoized Tab Bar to prevent tab UI redrawing constantly 🧭
2025-12-27 15:53:28 -06:00
Pedram Amini
3cc33c63e3 ## CHANGES
- Added IPC APIs to manage file logging and locate log files 🪵
- Improved typing responsiveness with deferred autocomplete filter computations 
- Shifted input autocomplete updates into React transitions for smoother keystrokes 🧠
- Introduced reusable `useDebouncedCallback` hook with flush/cancel controls ⏱️
- Expanded TabBar actions to copy context and export tabs as HTML 📋
- Hardened UI tests to accept responsive “Context” label variations across widths 🧪
- Updated session mocks to include AI tab state for stronger renderer coverage 🧩
- Clarified prompts: Auto Run folder allowed outside workdir for worktrees 🗂️
- Added debug logging for system-prompt template substitution context 🔍
2025-12-27 15:32:49 -06:00
Pedram Amini
41213bc6b1 ## CHANGES
- Hardened Linux x64 builds: pre-rebuild native modules and verify node-pty 🐧
- Fixed ARM64 packaging reliability with forced rebuilds and architecture checks 🧬
- Disabled electron-builder npm rebuild on Linux to prevent wrong binaries 🧯
- Added rich tab bulk-close actions with smart, position-aware menu options 🗂️
- Introduced undoable tab close workflow, remembering up to 25 tabs 🔄
- Expanded keyboard shortcuts for tab creation, navigation, and bulk close ⌨️
- Refreshed context management docs to reflect hover-based tab menu overlay 📚
- Upgraded About/Achievements to accept leaderboard registration personalization 🏅
- Shareable achievement cards now include avatar and social handles rendering 🖼️
- Added deep synopsis debugging logs across parser, process manager, and UI 🔍
2025-12-27 14:17:37 -06:00
Pedram Amini
36e77a8c4d Merge pull request #98 from denniswebb/tab-context-menu-clean
feat: adds the ability to close multiple tabs at once
2025-12-27 14:01:27 -06:00
Pedram Amini
0c88371222 chore: remove auto-assign GitHub Action
Issues and PRs no longer auto-assign to pedramamini
2025-12-27 13:55:13 -06:00