Releases: jfox85/devx
Releases · jfox85/devx
v0.3.0
Changelog
- 7f83216 Merge pull request #34 from jfox85/jf-add-web
- 44648df fix: address CodeRabbit review findings
- a1634b1 fix: address Codex review findings (binding, session validation, race, path spaces)
- 241f71c fix: address code review findings (security, UX, polish)
- 68e4e97 docs: add web interface screenshots and expand README section
- 813a35c Merge pull request #33 from jfox85/jf-add-web
- 880b668 fix: address second round of CodeRabbit findings
- 9f7c0c7 fix: address all CodeRabbit review findings
- 5d3b977 chore: merge main — adopt truncateRFC1035Label, keep BuildExternalHostname
- 7dbc0a7 fix: add Windows build constraints to avoid Setsid compile error
- fc0a12c fix: sentinel for latestActivity and document shared-window tradeoff
- 4a369c5 fix: clean up stale comments and unify FITADDON_SETTLE_MS usage
- b344531 fix: use most-recently-active client size instead of largest
- 38c7415 fix: force resize-window to client dims in refresh to fix grouped session dots
- 4fee683 fix: call window.term.fit() directly instead of dispatching resize event
- 62dfa1c fix: security hardening and simplification from code review
- 2827d52 fix: stop using resize-window -A; let FitAddon own terminal sizing
- d37adb9 fix: window switching and terminal sizing on device switch
- b4b5857 fix: web terminal sizing for grouped sessions and multi-device use
- e8fc565 fix: resolve tmuxp template using project path, not CWD
- b867590 fix: web UI polish - tmux sizing, favicon, live session list
- ea636f2 fix: sync terminal size on mobile viewport changes
- e40bf9c fix: sync terminal size on mobile viewport changes
- 49c0cd8 fix: restore global config token loading broken by IsSet guard
- 5a4c795 feat: add image upload/paste → terminal path injection
- 770078c Merge branch 'main' into jf-add-web
- 20fbbf9 feat: add EXTERNAL_HOST env vars to .envrc when CF tunnel is configured
- b8b2837 fix: route cloudflared directly to service ports with Host:localhost
- 0312750 fix: set Host:localhost upstream header and use http:// for CF tunnel origins
- ad303b5 feat: add cloudflared process management and fix config layering
- f552544 chore: rebuild dist
- a32455e feat: Ctrl+Shift+S works on empty state / parent window too
- 4394769 feat: Ctrl+Shift+S hotkey to focus session filter from terminal
- 5a9ee2b fix: nav order, dual selection state, leave-site dialog, search clear on open
- e74ce1d fix: delete hang, keyboard nav, iframe focus
- b62e08b fix: mobile actions, iframe focus, keyboard session switching
- a18ace6 feat: TUI-style redesign, desktop two-column layout, fix delete 404
- 14ea175 fix: persist auth cookie 30 days and refresh it on app load
- 473f77c fix: auto-refresh terminal on iframe load to fix blank panes
- a346ee5 fix: strip TMUX env vars from runSelf so session create launches tmux
- 065be63 fix: start tmux on session create; fold window tabs into header bar
- 794c7d5 feat: project dropdown in new session modal with last-selection memory
- 688e65d feat: add S-Tab, Ctrl-O, C-b C-b soft keys; multi-key send support
- 216b0b1 Merge pull request #32 from jfox85/jf-domain-bug
- 07a7279 fix: route soft keys through tmux send-keys API, remove control WS
- fe8e9cc fix: add switch-window API and update Terminal to use it
- 191ab2e fix: switch windows via tmux select-window API instead of control WS
- 2912d6a fix: truncate DNS labels exceeding RFC 1035 63-character limit
- 3af4e0d fix: set body background to gray-950 to eliminate side margins
- 37f609c fix: remove session list margins, auto-reconnect control WS
- 6f8f087 fix: WS race condition, 2-row soft keys, session list polish
- 361037b fix: soft keys, mobile layout, session card redesign
- 69cda1f feat: group sessions by project, add tmux window nav, Ctrl-B key, fix mobile layout
- 54e3c2d fix: forward WebSocket subprotocol to ttyd and fix session resolution ordering
- 537e0cf fix: handle session names containing slashes in terminal proxy
- 42b95d9 fix: wait for ttyd port to be ready before proxying requests
- 70ce36a fix: add HTTP proxy for ttyd iframe content and consolidate terminal handler
- d17a2fb docs: add web interface and Cloudflare tunnel setup to README
- 495d1a7 fix: auth terminal WS route, disable soft keys when disconnected, add reconnect guard
- 4e1c4f5 feat: add mobile terminal view with ttyd iframe, soft keys, and pane navigation
- 107ccb5 fix: use explicit blank-identifier discard for SetWriteDeadline errors
- 84e293d fix: add WS write deadlines and document terminal route auth exemption
- 3ce4edd feat: add WebSocket proxy endpoint for ttyd terminal access
- 3971e52 fix: guard ttyd cleanup goroutine against session restart race
- 77f2ab0 feat: add ttyd lifecycle manager with idle timeout
- ddeb806 Merge pull request #31 from jfox85/jf-small-fixes
- 472da26 fix: use cmd.Start() instead of cmd.Run() for web daemon launch in TUI
- 7646b0b feat: auto-start web daemon on TUI launch when web_autostart is true
- 7d16587 fix: fix flag toggle and add error handling in session management UI
- 8dc9f61 feat: implement Svelte SPA with session list, service links, and new session modal
- 0a74642 feat: validate session names with clear errors, fix search scope and scroll
- 090366b feat: scaffold Svelte app with Vite and embed.FS integration
- aa8be83 fix: address web command reliability and logic ordering issues
- 1f604a8 feat: add devx web command with daemon/stop/status
- 9156708 fix: return actual error from flag/unflag handlers
- 0d8559f fix: address API handler safety and correctness issues
- 15555d9 feat: implement REST API endpoints for session management
- 4696023 feat: add web package with HTTP server and auth middleware
- 88c679b fix: improve cloudflare check command accuracy and remediation hints
- 0186867 feat: add devx cloudflare check command with tunnel health validation
- d23b57d fix: return error when cloudflare tunnel not configured in sync command
- 0887f94 feat: add devx cloudflare sync command
- ea9bd9a feat: wire SyncTunnel into session create/remove lifecycle
- d5329cc feat: add cloudflare package with SyncTunnel config generation
- 861f871 feat: add BuildExternalHostname for external domain routing
- 1a8b6a9 fix: add tilde expansion test and SaveConfig persistence for new config fields
- 6364ef9 feat: add external_domain, cloudflare, and web config keys
- 3fe1f0d Merge pull request #30 from jfox85/jf-existing-branch
- 5d32c82 docs: add web interface implementation plan
- e7758a4 fix: block path traversal segments in session names
- 2d104c2 docs: add design for web interface and mobile remote access
- b51f293 feat: detect and use existing remote branches when creating sessions
- 94095f3 Merge pull request #29 from jfox85/jf-fixes-for-laptop
- 55e3f2e fix: address CodeRabbit review findings for scroll viewport
- 8da7c65 fix: correct TUI scroll viewport for project-header...
v0.2.0
What's New
MRU Slot-Based Session Jumping (#28)
- Numbered slots (1-9): Sessions get sticky MRU-based slot numbers. Press 1-9 in the TUI to jump directly to a session.
- Inline search: Press
/to filter sessions by name without leaving the main view. Arrow keys navigate results, Enter jumps, Esc cancels. - Slot bootstrap: All sessions get slot numbers on first TUI load so numbers appear immediately.
Caddy Config File Management (#27)
- File-based Caddy config: Replaced API-based route management with config file generation via SyncRoutes.
- Simplified health checks: Streamlined Caddy health checking and repair flow.
- Stored hostnames: TUI uses stored route hostnames directly instead of reconstructing them.
Bug Fixes
- Fix attention indicator missing in search view
- Fix slot cleanup on session removal
- Fix bootstrap performance (single save instead of N saves)
- Fix deterministic eviction when slots are full
- Fix stale filter results on session refresh
- Remove duplicate RecordAttach/AssignSlot calls on attach
v0.1.2
Changelog
v0.1.1
Changelog
- fd88611 Fix Caddy route creation for sessions
- 795e7da Merge pull request #24 from jfox85/jf-screenshots
- 874816c Fix error handling and backup logic in demo scripts
- 0c68c1e Add TUI demo to README
- 2e21ff3 Add screenshot generation documentation
- f861ac1 Add TUI demo screenshot and generation tools
- 48b0ec6 Merge pull request #23 from jfox85/jf-release-testing
- 6ed42c2 Update README
- d7267e2 Remove old claude task
- 2609db3 Merge pull request #22 from jfox85/jf-release-process
- d14ed9c Add MarkUpdateNotified call in version command
- ae39818 Fix critical update system issues and security vulnerabilities
- 1a8227c Fix lint errors: add error checking for os.Chdir calls in tests
- 4751e6c Add self-update functionality with GitHub release integration
- 89ccae7 Fix Homebrew formula style issues
v0.1.0
Changelog
- 8db8a29 Merge pull request #21 from jfox85/jf-release-process
- 9481dff Remove duplicate release creation from CI workflow
- 262ff37 Merge pull request #20 from jfox85/jf-release-process
- 345e94b Fix GoReleaser v2 compatibility and complete release setup
- 76653d9 Update Homebrew tap instructions
- 95d71e7 Fix installer asset lookup and tap metadata
- 1796da8 Add release automation and installation tooling
- 43e89d3 Merge pull request #18 from jfox85/jf-fix-hosts-again
- 5c81a4e Fix environment variable hostname sanitization for sessions with special characters
- f44ec17 Merge pull request #16 from jfox85/jf-fix-layout
- 93d4a6b tui: gofmt model.go to satisfy CI formatting check
- eef9f86 Merge pull request #17 from jfox85/jf-fix-slash-in-branch-name
- d1dad48 tui: fix golangci-lint issues by removing unused baseBranchEntry/cache and legacy getGitDiffStats
- 05e2632 Fix hostname generation for sessions with slashes in branch names
- f5ff95f Add claude code hooks
- 14fdb14 Add git diff change stats
- 6924fc9 Fix TUI tmux preview line truncation and wrapping
- 9ba7c9a Merge pull request #15 from jfox85/jf-project-numbers
- 12882cd Add numbered project selection for session creation
- 659880b Merge pull request #14 from jfox85/jf-mem-leak
- e9dfe2b Merge branch 'main' into jf-mem-leak
- 8ebbd6a Clean up .gitignore
- 8a62ffe Fix TUI memory leak and performance issues
- 943030b Merge pull request #13 from jfox85/jf-update-devx-config
- 38ba71b Fix tmuxp test to handle custom session template
- 33041b4 Update devx config
- 21467ea Merge pull request #12 from jfox85/jf-add-shortcut-numbers
- 0732e3e Add number key shortcuts to TUI for quick navigation
- c176561 Merge pull request #11 from jfox85/jf-handle-existing-branches
- 9e3589a Fix code formatting in ports_test.go
- 1929bd4 Fix flaky TestAllocatePortsUniqueness test
- 55628a0 Fix test expectation for duplicate session error message
- cb3e75f Handle existing branches and worktrees gracefully
- 1c4dea0 Merge pull request #10 from jfox85/jf-auto-pull-main
- 9e829a4 Add auto-pull feature for sessions
- a23cfb1 Merge pull request #9 from jfox85/jf-test-harness
- a0cfff8 Fix SA9003 linting error: empty branch
- 296216c Merge main branch and update documentation
- 0f516b1 Fix remaining golangci-lint errors
- 39b24bc Apply gofmt formatting
- 137e039 Fix flaky TestUniquePorts test
- 0384360 Fix all golangci-lint errors
- 58de160 Fix macOS CI: Use pipx instead of pip for tmuxp installation
- 972449b Fix code formatting with gofmt
- d287b8d Update test coverage tracking document with progress
- 7c72dae Add comprehensive GitHub Actions CI/CD workflows (Phase 5)
- 4e6d688 Expand config package test coverage (Phase 3 partial)
- b27187c Complete Phase 2: Add tests for critical untested packages
- 023ffe0 Fix failing tests in Phase 1 of test improvement plan
- ea52198 Merge pull request #8 from jfox85/open-swe/a60b6095-bcea-4672-b398-983c2dfcf89c
- b7f0f09 Empty commit to trigger CI
- a7380f2 Apply patch [skip ci]
- 1d1cbde Merge pull request #6 from jfox85/jf-add-claude-md
- 07524b2 Add CLAUDE.md for Claude Code guidance
- 305b2cc Merge pull request #3 from jfox85/jf-debug-caddy-part-3
- 1a2df67 Fix Caddy route ordering for new sessions
- f7e4345 Merge pull request #2 from jfox85/jf-caddy-part2
- 63726d3 Fix Caddy route detection and normalize service names
- b0f9d3b Merge pull request #1 from jfox85/jf-debug-caddy
- cd58c7e Add Caddy health check and automatic route repair
- cc80698 Add devx config
- 40c57e0 Fix TUI stuck in confirm state after session deletion
- 3f8a423 Remove automatic editor launch from session attach
- c46d971 Remove --no-editor flag from TUI session creation
- 04070a4 Remove automatic editor launch on session creation
- 4c53105 Fix hostname view to be session-specific
- c87cf2a Fix multi-project session creation and TUI issues
- 56aebca Add multi-project support and fix TUI issues
- 4649afe Complete TUI multi-project support
- 676ee88 Implement multi-project support foundation
- bb194b2 Fix failing tests
- c91b96f Add editor and hostname viewing features to TUI