Files
pnokerandClaude Code 3fb43c4239 feat(web): unify three-terminal control density and close audit defects
Land the v7 three-terminal UX decision: drop the width/pointer-based
44px touch enlargement so one 32px density holds across desktop,
tablet, and mobile, and rebuild entity pages on a responsive record
list (ResponsiveRecordList + EntityMobileCard + per-entity mobile
summaries). Tighten the nginx security headers (CSP frame-ancestors
'none', X-Frame-Options DENY) to match the static e2e server.

Complete the dc3-web audit remediation, including the remaining LOW
items from docs/dc3-web-low-defects-handoff.md: streaming-safe
message loads in the agentic store, mock menu reparent cycle
rejection, paged-list page clamping, fetch/axios mock request
normalization, per-table attribute catalogs, post-flush alarm
watchers, rowKey-agnostic delete state, localized card text
fallbacks, and e2e-server port fail-fast.

Gate: vue-tsc, eslint, vitest 687 passed, responsive e2e 64 passed.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-07 19:33:17 +08:00

48 lines
1.5 KiB
Docker

#
# Copyright 2016-present the IoT DC3 original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# builder
# Build context is the repository root so that dc3/dependencies/ (nginx
# configs) is reachable at runtime.
FROM pnoker/dc3-node:2025.9 AS builder
LABEL dc3.author=pnokers
LABEL dc3.author.email=pnokers.icloud.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
WORKDIR /build
COPY dc3-web/ ./
RUN corepack enable && corepack prepare pnpm@12.3.4 --activate
RUN apk add --no-cache git
RUN pnpm install --frozen-lockfile --ignore-scripts
RUN pnpm build
# runtime
FROM pnoker/dc3-nginx:2025.9 AS runtime
LABEL dc3.author=pnokers
LABEL dc3.author.email=pnokers.icloud.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY dc3/dependencies/nginx/ /etc/nginx/
COPY --from=builder /build/dist/ /usr/share/nginx/html/
EXPOSE 80
VOLUME /var/log/nginx
CMD envsubst '${APP_API_HOST} ${APP_API_PORT}' < /etc/nginx/location/default.env > /etc/nginx/location/default.conf ; nginx -g "daemon off;"