Commit Graph

  • c03c85c76a feat: create httpx.AsyncClient in lifespan for federation Brian Krabach 2026-04-01 10:43:31 -07:00
  • f09068c1f1 test: verify remote_instances key field round-trips Brian Krabach 2026-04-01 10:37:43 -07:00
  • 21b669b547 feat: wire federation key into AuthMiddleware at startup Brian Krabach 2026-04-01 10:33:32 -07:00
  • fca55dc49d feat: add Bearer token auth for federation in AuthMiddleware Brian Krabach 2026-04-01 10:22:06 -07:00
  • 1f90613030 feat: add 'muxplex generate-federation-key' CLI command Brian Krabach 2026-04-01 10:15:38 -07:00
  • 8e779b49b9 fix: strengthen load_federation_key() docstring, tests, and env var coverage Brian Krabach 2026-04-01 10:12:09 -07:00
  • 93a66c0cb9 feat: auto-copy mouse selection + OSC 52 tmux clipboard bridge Brian Krabach 2026-04-01 10:09:20 -07:00
  • afef15b955 feat: add load_federation_key() with env var override Brian Krabach 2026-04-01 10:07:55 -07:00
  • b884f7affd feat: add federation_key to DEFAULT_SETTINGS Brian Krabach 2026-04-01 10:03:11 -07:00
  • ff989ae920 feat: native clipboard support — Ctrl+Shift+C to copy, Ctrl+Shift+V to paste Brian Krabach 2026-04-01 09:51:23 -07:00
  • 1dcf1fc2f3 fix: trim trailing blank lines BEFORE slice, not after Brian Krabach 2026-04-01 08:59:54 -07:00
  • 96da24c30b fix: trim trailing blank lines from tile/sidebar snapshot previews Brian Krabach 2026-04-01 08:35:51 -07:00
  • be79b45787 feat: edge-bar state indicator, stacked sidebar header, × crossfade on hover Brian Krabach 2026-04-01 08:33:56 -07:00
  • cb264bbaaa feat: postMessage auth token relay for cross-origin federation login Brian Krabach 2026-04-01 08:17:28 -07:00
  • 062a815f83 feat: custom scrollbar styling — thin, dark, brand cyan hover Brian Krabach 2026-04-01 07:20:07 -07:00
  • 38e2fc45d5 fix: WS proxy checks ttyd liveness before accepting + reset counter on message Brian Krabach 2026-04-01 06:56:21 -07:00
  • a862327e27 fix: settings item ordering, device name width, activity indicator mode, dot position Brian Krabach 2026-04-01 06:52:01 -07:00
  • 50ecb1025d fix: WebSocket reconnect awaits /connect POST before creating WS Brian Krabach 2026-04-01 06:37:57 -07:00
  • e71ac223a9 feat: reorganize settings tabs, right-align device labels, activity dots, sidebar glow, display config toggles Brian Krabach 2026-04-01 06:23:23 -07:00
  • 20eee04e46 feat: add muxplex config subcommand — list/get/set/reset settings via CLI Brian Krabach 2026-04-01 06:23:45 -07:00
  • ddb21c0d5e fix: cache favicon Image object — stop re-fetching favicon-32.png every 2s Brian Krabach 2026-04-01 05:50:58 -07:00
  • a40b95efe6 fix: WebSocket reconnect respawns ttyd after 2 failed attempts + exponential backoff Brian Krabach 2026-04-01 05:50:47 -07:00
  • 5d76ba491f chore: scrub last install-service references from test comments Brian Krabach 2026-04-01 02:15:39 -07:00
  • 14b8a33943 refactor: remove install-service entirely — use muxplex service install Brian Krabach 2026-04-01 02:02:57 -07:00
  • e24a5c3834 refactor: hide install-service from CLI help, keep as backward-compat alias Brian Krabach 2026-04-01 01:55:26 -07:00
  • 65b5c3ad20 fix: ttyd dies immediately — add start_new_session=True to subprocess spawn Brian Krabach 2026-04-01 01:23:07 -07:00
  • 91faab9b94 fix: remove check=True from idempotent service ops; guard input() against EOFError Brian Krabach 2026-03-31 18:12:35 -07:00
  • 80a04cb2cc style: ruff format test_readme.py Brian Krabach 2026-03-31 17:39:59 -07:00
  • fc9376a69a docs: add service subcommand documentation to README Brian Krabach 2026-03-31 17:34:56 -07:00
  • e1dfe8e10c refactor: remove old install_service/launchd/systemd from cli.py, replaced by service module Brian Krabach 2026-03-31 17:24:34 -07:00
  • 496c37a32f refactor: install-service deprecated alias now forwards to service_install() Brian Krabach 2026-03-31 17:05:43 -07:00
  • ff2abb5f77 feat: wire service subcommand group into CLI (install, uninstall, start, stop, restart, status, logs) Brian Krabach 2026-03-31 16:58:08 -07:00
  • 8637b740c0 fix: launchd quality — use _LAUNCHD_LABEL in plist template, add restart/status tests Brian Krabach 2026-03-31 16:53:17 -07:00
  • fbfbab8bb8 feat: implement launchd service commands (install, uninstall, start, stop, restart, status, logs) Brian Krabach 2026-03-31 16:46:31 -07:00
  • 376583bf23 feat: implement systemd service commands (install, uninstall, start, stop, restart, status, logs) Brian Krabach 2026-03-31 16:38:46 -07:00
  • f360dea767 feat: create service.py module skeleton with platform dispatch Brian Krabach 2026-03-31 16:21:49 -07:00
  • 103944e318 fix: remove redundant sys import and update upgrade() service install references Brian Krabach 2026-03-31 15:31:47 -07:00
  • 1448b70696 style: ruff format test_settings.py Brian Krabach 2026-03-31 15:23:41 -07:00
  • a1e532cb3f style: reorder devices panel — enable checkbox before device name input Brian Krabach 2026-03-31 15:20:32 -07:00
  • ae07431ed1 fix: move notifications/device-name elements to correct settings panels Brian Krabach 2026-03-31 15:15:29 -07:00
  • ba1f28b65a docs: update README Usage section for config-driven serve behavior Brian Krabach 2026-03-31 14:56:45 -07:00
  • 8d465ad8a5 fix: test suite green after Phase 1 config refactor Brian Krabach 2026-03-31 14:50:22 -07:00
  • 22b85012eb feat: update doctor() to show serve config and fix service install message Brian Krabach 2026-03-31 14:41:19 -07:00
  • 8bb7bcbb67 test: add deprecation warning test for install-service subcommand Brian Krabach 2026-03-31 14:35:45 -07:00
  • 03e9dc66de refactor: argparse None defaults, serve flags on both parsers, upgrade alias Brian Krabach 2026-03-31 14:30:02 -07:00
  • c057ad6325 feat: refactor serve() to read settings.json with CLI override sentinel (task-2) Brian Krabach 2026-03-31 14:17:02 -07:00
  • a4c2a8e3b8 feat: add serve keys (host, port, auth, session_ttl) to DEFAULT_SETTINGS Brian Krabach 2026-03-31 14:05:34 -07:00
  • c745660afe docs: CLI & service management refactor design Brian Krabach 2026-03-31 09:36:56 -07:00
  • 3de9e98de8 refactor: reorganize settings — merge Notifications into Sessions, move device name to Display, remove view scope Brian Krabach 2026-03-31 11:53:25 -07:00
  • 3707283baf fix: resolve merge test regressions — openSession connect POST and cycleViewMode mock Brian Krabach 2026-03-31 09:21:05 -07:00
  • 5a67a3eb3e merge: integrate latest upstream (fit view refactor, ttyd kill-by-port, mobile viewport fix) Brian Krabach 2026-03-31 09:10:59 -07:00
  • b450cf7176 refactor: fit view — pure CSS layout, no DOM measurement in applyFitLayout Brian Krabach 2026-03-31 07:47:54 -07:00
  • 9762098a00 fix: session switching — kill ttyd by port not just PID file (belt-and-suspenders) Brian Krabach 2026-03-31 07:47:30 -07:00
  • 0ed03c4e9d fix: fit view — clear stale layout on recalc, revert to position:absolute bottom:0 Brian Krabach 2026-03-31 06:55:05 -07:00
  • 4e78f6f5ac fix: restore default title when device name cleared, fix stale comments, set title at load Brian Krabach 2026-03-31 06:36:49 -07:00
  • bee74f5c1b fix: add style property to openSettings test mocks for multi-device field state Brian Krabach 2026-03-31 06:28:55 -07:00
  • 679416a5bf feat: reorganize settings dialog — add Multi-Device tab, enable/disable toggle, device name as page title Brian Krabach 2026-03-31 06:16:44 -07:00
  • b282e42ae8 fix: mobile viewport cutoff (100dvh) + fit view content anchoring (flex-end) Brian Krabach 2026-03-31 05:54:41 -07:00
  • 881b6cc9f3 merge: integrate upstream changes with multi-device federation Brian Krabach 2026-03-31 05:48:49 -07:00
  • c330f340ff fix: renderGrid shows status tiles when no sessions; _previewClickHandler forwards sourceUrl Brian Krabach 2026-03-31 04:29:49 -07:00
  • 9befe9997e test: add formatLastSeen verification tests across all time ranges Brian Krabach 2026-03-31 04:09:43 -07:00
  • ddc52f2b36 feat: grid click handler routes sourceUrl via data-source-url attribute on tiles Brian Krabach 2026-03-31 04:01:56 -07:00
  • 28d32d21be feat: closeSession skips DELETE for remote sessions Brian Krabach 2026-03-31 03:53:34 -07:00
  • 0bb66b1801 fix: fit view — reapply layout on session close, show more lines, bottom-anchor content Brian Krabach 2026-03-31 03:41:28 -07:00
  • ac0b84c1d9 feat: openSession — full remote routing via sourceUrl Brian Krabach 2026-03-31 03:40:57 -07:00
  • 3444310bb2 feat: accept sourceUrl parameter in connectWebSocket for remote sessions (task-6) Amplifier 2026-03-31 03:27:30 -07:00
  • d955c90c0b feat: add openLoginPopup function and delegated click handler for auth tile login buttons Brian Krabach 2026-03-31 03:20:21 -07:00
  • ebec7c3625 fix: fit view — defer layout measurement to rAF, stretch pre to fill tile Brian Krabach 2026-03-31 03:19:37 -07:00
  • 2862f494f5 feat: integrate source status tiles into renderGrid Brian Krabach 2026-03-31 03:11:47 -07:00
  • bf87f05d82 test: add formatLastSeen branch coverage for seconds, hours, and days Brian Krabach 2026-03-31 03:06:29 -07:00
  • fe5337840d refactor: remove Compact view mode — keep Auto + Fit only Brian Krabach 2026-03-31 03:05:18 -07:00
  • e07cf196c6 feat: add formatLastSeen and buildOfflineTileHTML functions Brian Krabach 2026-03-31 02:45:36 -07:00
  • 83e5318ba1 feat: add buildAuthTileHTML for auth-required federation tiles Brian Krabach 2026-03-31 02:37:05 -07:00
  • 55c80b4c9b refactor: move intra-function imports to module level in test_frontend_css Brian Krabach 2026-03-31 02:31:54 -07:00
  • 38a032b2d5 feat: add CSS for source-tile offline and auth-required states Brian Krabach 2026-03-31 02:23:24 -07:00
  • 7100fd881e style: apply ruff formatting to test_frontend_css.py (wrap long assertion) Brian Krabach 2026-03-31 02:13:10 -07:00
  • 918d92386f test: add Phase 2 integration tests — export verification and e2e pipeline (task-19) Brian Krabach 2026-03-31 01:56:05 -07:00
  • a9e1206ac6 style: restore ES6 syntax in detectBellTransitions and update JSDoc Brian Krabach 2026-03-31 01:49:56 -07:00
  • c7c92ee0da feat: use sessionKey for cross-device dedup in detectBellTransitions (task-18) Brian Krabach 2026-03-31 01:37:49 -07:00
  • 2b5b6e3003 feat: skip connect and terminal mount for remote sessions in openSession Brian Krabach 2026-03-31 01:31:09 -07:00
  • 70b8df1458 feat: sidebar device grouping when multiple sources configured (task-16) Brian Krabach 2026-03-31 01:16:21 -07:00
  • 88102751c8 style: fix code quality issues from review for task-15 remote instances UI Brian Krabach 2026-03-31 01:09:27 -07:00
  • c8a963f28e feat: add Remote Instances management UI to Settings (task-15) Brian Krabach 2026-03-31 00:55:26 -07:00
  • 200137a995 feat: add view mode and scope selectors to Display settings tab Brian Krabach 2026-03-31 00:40:51 -07:00
  • b2ff3613de feat: add loadGridViewMode and saveGridViewMode with local/server scope Brian Krabach 2026-03-31 00:33:34 -07:00
  • 393891173f fix: improve test assertion precision and add null guard in renderFilterBar Brian Krabach 2026-03-31 00:26:12 -07:00
  • 5738c39f7f feat: add filtered view mode with device pill bar (task-12) Brian Krabach 2026-03-31 00:16:15 -07:00
  • 2e8cf6ddee feat: add grouped view mode to renderGrid with device-group-header sections Brian Krabach 2026-03-31 00:00:34 -07:00
  • 300919c7d7 feat: device badge on sidebar items in buildSidebarHTML (task-10) Brian Krabach 2026-03-30 23:49:31 -07:00
  • 4084544530 refactor(task-9): extract badgeHtml const and tighten device badge tests Brian Krabach 2026-03-30 23:41:50 -07:00
  • 5980a6c080 feat: add device badge and data attributes to buildTileHTML (task-9) Brian Krabach 2026-03-30 23:34:22 -07:00
  • d897c05c61 feat: add device-badge, group-header, filter-bar, and sidebar-device-header CSS classes Brian Krabach 2026-03-30 23:29:30 -07:00
  • 4ed8303b6e feat: update getVisibleSessions to only hide local sessions by name Brian Krabach 2026-03-30 23:22:55 -07:00
  • 48e87af3f8 feat: wire buildSources into loadServerSettings startup Brian Krabach 2026-03-30 23:14:48 -07:00
  • e95a8d4282 refactor: improve pollSessions error handling and test coverage Brian Krabach 2026-03-30 23:09:08 -07:00
  • e7ed300b37 feat: rewrite pollSessions for multi-source parallel polling (task-5) Brian Krabach 2026-03-30 22:59:08 -07:00
  • 593f1639db style: align tagSessions and mergeSources with ES6 file conventions Brian Krabach 2026-03-30 22:52:36 -07:00
  • 55f9597e1a feat: add tagSessions and mergeSources for multi-source parallel polling Brian Krabach 2026-03-30 22:42:55 -07:00
  • 07c61a0baf style: expand test-only helper bodies to match section formatting Brian Krabach 2026-03-30 22:37:08 -07:00
  • 844311b475 feat: add federation state globals and test-only helpers to app.js Brian Krabach 2026-03-30 22:29:30 -07:00