Commit Graph

  • 8c0675157a feat: three dashboard view modes — Auto, Fit, Compact Brian Krabach 2026-03-30 22:22:59 -07:00
  • ecf57441cf feat: add buildSources to construct session source list from settings Brian Krabach 2026-03-30 22:21:45 -07:00
  • 93c5170581 feat: refactor api() to accept optional baseUrl for cross-origin requests Brian Krabach 2026-03-30 22:12:57 -07:00
  • 3a102ba9d8 fix: add 18px font option, click-outside-dialog to dismiss settings Brian Krabach 2026-03-30 22:07:38 -07:00
  • d0eb91dca7 refactor: replace fixed sleeps with deterministic polling in ws proxy tests; document CORS permissiveness Brian Krabach 2026-03-30 21:56:05 -07:00
  • b1cbeeb02c test: expand WebSocket proxy test suite Brian Krabach 2026-03-30 21:30:55 -07:00
  • 0e02181477 feat: add CORS middleware for cross-origin federation Brian Krabach 2026-03-30 21:14:10 -07:00
  • ca0eb44b88 feat: add GET /api/instance-info endpoint Brian Krabach 2026-03-30 21:01:04 -07:00
  • e61efd141c feat: exempt /api/instance-info from auth Brian Krabach 2026-03-30 20:54:21 -07:00
  • 395278818f feat: add remote_instances and device_name to settings Brian Krabach 2026-03-30 20:48:38 -07:00
  • e94a27d2f8 chore: remove stale requirements.txt Brian Krabach 2026-03-30 20:42:57 -07:00
  • c049ad5628 chore: remove dead Caddyfile Brian Krabach 2026-03-30 20:39:34 -07:00
  • a5b02b74d2 Add multi-device federation design document Brian Krabach 2026-03-30 20:04:13 -07:00
  • 70da8dad38 fix: don't clear bells when browser tab is hidden Brian Krabach 2026-03-30 19:03:27 -07:00
  • 79576bcbfe feat: customizable delete session command template Brian Krabach 2026-03-30 17:17:34 -07:00
  • 2a30e88feb fix: launchd plist includes PATH with Homebrew + user local bin Brian Krabach 2026-03-30 16:39:02 -07:00
  • 320c9f3ba7 fix: macOS launchd service — modern bootstrap API, auto-start, --host 0.0.0.0 Brian Krabach 2026-03-30 08:52:43 -07:00
  • b53d1abbd2 feat: smart version check in upgrade + doctor Brian Krabach 2026-03-30 08:33:24 -07:00
  • 85798783b6 feat: add muxplex upgrade/update — stop service, reinstall, regenerate, restart Brian Krabach 2026-03-30 08:19:08 -07:00
  • b448f120c5 feat: dynamic favicon badge — amber dot overlay when sessions have unseen bells Brian Krabach 2026-03-30 08:06:34 -07:00
  • 261a25e6df feat: inject hostname into page title — visible in browser tabs across machines Brian Krabach 2026-03-30 08:05:14 -07:00
  • df3e252f73 fix: exempt static assets from auth middleware — login page can load CSS/JS/images Brian Krabach 2026-03-30 08:03:49 -07:00
  • e6add00f0d feat: loading placeholder tile while new session is being created Brian Krabach 2026-03-30 07:39:18 -07:00
  • b38c87185a fix: settings dialog always visible — display:flex overrode native <dialog> hidden state Brian Krabach 2026-03-30 07:14:24 -07:00
  • 74a02cc05b fix: add six dependency — undeclared transitive dep of python-pam (breaks macOS clean envs) Brian Krabach 2026-03-30 07:06:08 -07:00
  • 514ed5dc77 fix: add python-multipart dependency, fix launchd service name Brian Krabach 2026-03-30 07:01:01 -07:00
  • cf1182b100 feat: add muxplex doctor subcommand — dependency + config diagnostics Brian Krabach 2026-03-30 06:47:36 -07:00
  • d20f85a23e docs: add prerequisites section to README with platform-specific install instructions Brian Krabach 2026-03-30 06:30:55 -07:00
  • 54ad5fbeea feat: preflight dependency check for tmux and ttyd at startup Brian Krabach 2026-03-30 06:30:45 -07:00
  • eb8b09a3cf feat: platform-aware install-service — launchd on macOS, systemd on Linux Brian Krabach 2026-03-30 06:29:45 -07:00
  • d1c245a2c3 test: remove 26 stale command palette tests (palette was removed in Phase 1) Brian Krabach 2026-03-30 03:45:42 -07:00
  • 17616166bc feat: kill session — DELETE endpoint, hover × button with confirmation Brian Krabach 2026-03-30 03:34:51 -07:00
  • ffa8167c8f fix: new session poll-until-ready before auto-opening Brian Krabach 2026-03-30 03:30:16 -07:00
  • 424a4f5377 fix: settings modal dismiss — add close button, fix backdrop click Brian Krabach 2026-03-30 03:27:47 -07:00
  • 6f598524a9 fix: apply ruff formatting and add null guard for tab lookup in test Brian Krabach 2026-03-30 02:54:07 -07:00
  • bac23f26dc fix: apply getVisibleSessions filter in renderSheetList for mobile bottom sheet Brian Krabach 2026-03-30 02:49:41 -07:00
  • d2f3b43759 test: add frontend tests for settings dialog and new session UI Brian Krabach 2026-03-30 02:36:08 -07:00
  • 851036bac0 refactor: code quality improvements for task-7 settings effects Brian Krabach 2026-03-30 02:28:54 -07:00
  • 142c68d644 feat: apply settings effects — font size, grid columns, hidden sessions, sort order Brian Krabach 2026-03-30 02:16:45 -07:00
  • 1af141a294 docs: fix orphaned JSDoc — move showNewSessionInput comment above its function Brian Krabach 2026-03-30 02:07:15 -07:00
  • 5b971a0ecc refactor: apply code quality suggestions from task-6-mobile-fab review Brian Krabach 2026-03-30 02:00:22 -07:00
  • 9978544dc1 fix: use fixed-position overlay for FAB session input (mobile visibility) Brian Krabach 2026-03-30 01:45:51 -07:00
  • dbb8b2bd73 feat: add mobile FAB for new session creation Brian Krabach 2026-03-30 01:34:31 -07:00
  • d76042560a feat: add sidebar + New sticky footer with inline input Brian Krabach 2026-03-30 01:23:37 -07:00
  • 84fb7826d7 feat: add header + button with inline name input for session creation Brian Krabach 2026-03-30 01:08:19 -07:00
  • 5f81b87348 feat: add New Session settings tab with template textarea Brian Krabach 2026-03-30 01:03:54 -07:00
  • 2e86692c3c fix: add null guard to _updateNotificationUI and .catch() to requestPermission Brian Krabach 2026-03-30 00:35:21 -07:00
  • e5827a8037 refactor: extract _updateNotificationUI helper, use const, fix double query Brian Krabach 2026-03-30 00:29:38 -07:00
  • 2f909eae89 feat: add Notifications settings tab Brian Krabach 2026-03-30 00:18:05 -07:00
  • c955aadad1 feat: add Sessions settings tab with server-side persistence Brian Krabach 2026-03-29 23:57:22 -07:00
  • f380307f08 fix: rename data-panel to data-tab on settings panels to match switchSettingsTab() Brian Krabach 2026-03-29 23:47:59 -07:00
  • fd4e91bc51 feat: wire Display tab — font size, hover delay, grid columns with immediate apply Brian Krabach 2026-03-29 23:28:12 -07:00
  • bb21ce7aa9 style: reformat DISPLAY_DEFAULTS to multi-line, simplify switchSettingsTab panel lookup Brian Krabach 2026-03-29 23:21:48 -07:00
  • 1eec617cb9 feat: add settings dialog open/close, tab switching, localStorage management Brian Krabach 2026-03-29 23:16:19 -07:00
  • b20759c6cb feat: add settings dialog HTML structure and CSS Brian Krabach 2026-03-29 23:04:11 -07:00
  • 19ec5c02a5 feat: add POST /api/sessions endpoint for new session creation Brian Krabach 2026-03-29 22:54:23 -07:00
  • 6c72bd05cc feat: add GET/PATCH /api/settings endpoints Brian Krabach 2026-03-29 22:47:53 -07:00
  • 85d3bb1312 fix: use deepcopy for DEFAULT_SETTINGS and narrow exception catch in settings module Brian Krabach 2026-03-29 22:43:24 -07:00
  • ffecfa69cb feat: add server-side settings module Brian Krabach 2026-03-29 22:36:19 -07:00
  • 8e4f17068d refactor: remove command palette JavaScript Brian Krabach 2026-03-29 22:28:20 -07:00
  • a971cb9bbd refactor: remove orphaned command palette HTML remnants from index.html Brian Krabach 2026-03-29 22:16:03 -07:00
  • 80dc082df0 refactor: remove command palette HTML and CSS Brian Krabach 2026-03-29 22:12:07 -07:00
  • 77eecd1d72 docs: add settings panel and new session design document Brian Krabach 2026-03-29 21:55:40 -07:00
  • e4efadddf4 fix: remove gradient fades, fix sidebar active indicator full-height Brian Krabach 2026-03-29 19:41:49 -07:00
  • 583de6ec2d feat: match preview styling to xterm.js — palette, background, font, line-height Brian Krabach 2026-03-29 19:19:05 -07:00
  • 85298abdcc fix: match tile + sidebar preview text color to xterm.js foreground (#c9d1d9) Brian Krabach 2026-03-29 18:56:09 -07:00
  • 71fdd544b2 fix: match preview text color to xterm.js foreground (#c9d1d9) Brian Krabach 2026-03-29 18:48:51 -07:00
  • bf76affef2 refactor: remove dimmer overlay, add cyan border to preview popover Brian Krabach 2026-03-29 18:44:55 -07:00
  • b3b2165524 feat: ANSI color rendering in preview snapshots Brian Krabach 2026-03-29 18:24:15 -07:00
  • dbade5a3d9 fix: preview overlay text color — use primary text, not disabled dim Brian Krabach 2026-03-29 18:09:09 -07:00
  • af95b90b02 feat: hover preview as full-window overlay with text wrap + click-to-navigate Brian Krabach 2026-03-29 18:00:36 -07:00
  • 5906de9e67 fix: rewrite hover preview — track by session name, survive innerHTML rebuilds Brian Krabach 2026-03-29 17:40:54 -07:00
  • 06d1e02ce1 fix: hover preview flashing — skip grid/sidebar re-render while preview active Brian Krabach 2026-03-29 17:21:15 -07:00
  • 905cbf35e5 feat: hover preview dim effect — overlay dims page, hovered tile + popover stand out Brian Krabach 2026-03-29 16:56:09 -07:00
  • 40ec20f4ba fix: hover preview — bottom-anchor, flexible width, sidebar support, longer delay Brian Krabach 2026-03-29 16:48:52 -07:00
  • 6144f39955 feat: hover preview popover on dashboard tiles Brian Krabach 2026-03-29 14:42:30 -07:00
  • 4b4b914858 fix: session switch race — mount terminal AFTER /connect POST completes Brian Krabach 2026-03-29 14:17:10 -07:00
  • ab1f579ea9 feat: Android-only rAF-batched touch scroll for terminal Brian Krabach 2026-03-29 06:29:09 -07:00
  • d1d700e7fd test: clean up WebSocket auth test hygiene (unused fixture, deprecated cookies kwarg) Brian Krabach 2026-03-29 04:30:25 -07:00
  • 6c0bc80f21 fix(auth): protect WebSocket /terminal/ws with session cookie check Brian Krabach 2026-03-29 04:23:41 -07:00
  • 575cebbcac fix: resolve_auth file password log prints actual path, not module name Brian Krabach 2026-03-28 23:06:27 -07:00
  • 387e19a2a2 feat: add reset-secret CLI subcommand Brian Krabach 2026-03-28 22:58:09 -07:00
  • 0d691eab12 feat: add show-password CLI subcommand Brian Krabach 2026-03-28 22:53:29 -07:00
  • 159b2c3618 feat: change --host default to 127.0.0.1, add --auth and --session-ttl flags Brian Krabach 2026-03-28 22:46:23 -07:00
  • fd55a71958 feat: serve branded login.html with injected window.MUXPLEX_AUTH Brian Krabach 2026-03-28 22:40:36 -07:00
  • cf79d9fc9f docs(tests): clarify why logout tests bypass the shared client fixture Brian Krabach 2026-03-28 22:36:09 -07:00
  • 2ca4420536 feat: add GET /auth/logout route that clears session cookie and redirects to /login Brian Krabach 2026-03-28 22:30:39 -07:00
  • b5d700214b feat: add POST /login handler with PAM and password mode auth Brian Krabach 2026-03-28 22:20:38 -07:00
  • d5ffced6a5 feat: add branded login.html with PAM/password mode detection Brian Krabach 2026-03-28 22:13:14 -07:00
  • dd0507d8e1 fix: remove unused JSONResponse alias causing ruff F401 lint error Brian Krabach 2026-03-28 21:56:59 -07:00
  • ba7101292c feat: add /login stub and /auth/mode endpoint Brian Krabach 2026-03-28 21:53:00 -07:00
  • 88b21832f7 feat: wire auth middleware into FastAPI app Brian Krabach 2026-03-28 21:47:01 -07:00
  • 4e590345c3 fix(auth): remove Host-header auth bypass; inject client IP in tests via ASGI middleware Brian Krabach 2026-03-28 21:40:22 -07:00
  • 22be933ebf feat(auth): request middleware with localhost bypass and session cookie check Brian Krabach 2026-03-28 21:31:48 -07:00
  • 7cf2a5882a style(auth): apply code quality suggestions from review Brian Krabach 2026-03-28 21:25:16 -07:00
  • 49475ba352 feat(auth): PAM authentication with running-user check Brian Krabach 2026-03-28 21:19:53 -07:00
  • 79dade7af7 style(auth): clarify ttl_seconds is signing-time passthrough in create_session_cookie Brian Krabach 2026-03-28 21:16:16 -07:00
  • 22816cd1d5 feat(auth): session cookie signing and verification Brian Krabach 2026-03-28 21:11:14 -07:00
  • 9adb459d99 fix(auth): use _config_dir() in load_or_create_secret for consistent 0700 dir permissions Brian Krabach 2026-03-28 21:04:31 -07:00
  • 91e57431e4 feat(auth): signing secret file management Brian Krabach 2026-03-28 21:00:56 -07:00