Skip to content

Releases: jfox85/devx

v0.3.0

10 Mar 23:30
7f83216

Choose a tag to compare

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...
Read more

v0.2.0

15 Feb 16:12
591227f

Choose a tag to compare

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

13 Feb 01:04
279108a

Choose a tag to compare

Changelog

  • 279108a Merge pull request #26 from jfox85/jf-fix-port-matching
  • 965cebb Fix port matching false positive in server discovery
  • 847510d Merge pull request #25 from jfox85/jf-fix-routes
  • bd4ef5b Fix unchecked error returns in test handlers
  • 13ac7cc Fix Caddy route creation when routes array is null

v0.1.1

23 Oct 03:08

Choose a tag to compare

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

01 Oct 21:50
8db8a29

Choose a tag to compare

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