Fix Mac trackpad scrolling; add make ip for phone testing

overflow: hidden creates a WebKit scroll container that absorbs trackpad
events before they reach scrollable children (.chat-log, .mc-sidebar).
Changed .mc-main and .mc-chat-panel > .card to overflow: clip, which
clips visually but does not create a scroll container, so trackpad events
propagate correctly to the nearest scrollable descendant.

Added min-height: 0 to .mc-sidebar so the flex item can shrink below its
content size and overflow-y: auto actually triggers scrolling.

Added `make ip` target that prints local network URLs the phone can
reach. The server already runs on 0.0.0.0 with --reload, so Python and
template changes auto-reload; CSS/static changes need a manual refresh.

https://claude.ai/code/session_01WFuf8fzKSWjH8ztF6E9jbj
This commit is contained in:
Claude
2026-02-22 15:19:51 +00:00
parent 41b26907d4
commit abaa04fe3a
2 changed files with 19 additions and 2 deletions

View File

@@ -30,6 +30,21 @@ $(VENV)/bin/activate:
dev:
$(UVICORN) dashboard.app:app --reload --host 0.0.0.0 --port 8000
# Print the local IP addresses your phone can use to reach this machine.
# Connect your phone to the same hotspot your Mac is sharing from,
# then open http://<IP>:8000 in your phone browser.
# The server auto-reloads on Python/template changes (--reload above).
# For CSS/static changes, just pull-to-refresh on your phone.
ip:
@echo ""
@echo " Open one of these on your phone: http://<IP>:8000"
@echo ""
@ipconfig getifaddr en0 2>/dev/null | awk '{print " en0 (Wi-Fi): http://" $$1 ":8000"}' || true
@ipconfig getifaddr en1 2>/dev/null | awk '{print " en1 (Ethernet): http://" $$1 ":8000"}' || true
@ipconfig getifaddr en2 2>/dev/null | awk '{print " en2: http://" $$1 ":8000"}' || true
@ifconfig 2>/dev/null | awk '/inet / && !/127\.0\.0\.1/ && !/::1/{print " " $$2 " → http://" $$2 ":8000"}' | head -5 || true
@echo ""
watch:
$(SELF_TDD) watch --interval 60
@@ -61,6 +76,7 @@ help:
@echo " make install create venv + install dev deps"
@echo " make install-bigbrain install with AirLLM (big-model backend)"
@echo " make dev start dashboard at http://localhost:8000"
@echo " make ip print local IP addresses for phone testing"
@echo " make test run all 228 tests"
@echo " make test-cov tests + coverage report"
@echo " make watch self-TDD watchdog (60s poll)"

View File

@@ -94,7 +94,7 @@ body {
.mc-main {
padding: 16px;
height: calc(100dvh - var(--header-h));
overflow: hidden;
overflow: clip; /* clip = visual clipping only, no scroll container; lets trackpad events reach scrollable children */
}
.mc-content {
height: 100%;
@@ -106,6 +106,7 @@ body {
/* ── Sidebar ─────────────────────────────────────── */
.mc-sidebar {
overflow-y: auto;
min-height: 0; /* allow flex item to shrink so overflow-y: auto actually triggers */
}
/* ── Chat column ─────────────────────────────────── */
@@ -114,7 +115,7 @@ body {
}
.mc-chat-panel > .card {
height: 100%;
overflow: hidden;
overflow: clip; /* visual clip only, preserves scroll events to .chat-log child */
}
/* ── Panel / Card overrides ──────────────────────── */