Browse Source

Uppercase newline labels and simplify direct connection title

main
gudae 2 months ago
parent
commit
838b5ebb82
  1. 4
      final-build/README.md
  2. 2
      final-build/SHA256SUMS
  3. BIN
      final-build/frontend/tera-clone-demo-web
  4. 17
      final-build/release-manifest.json
  5. 6
      frontend/internal/mock/mock_data.go
  6. 2
      frontend/web/templates/layout.html

4
final-build/README.md

@ -1,6 +1,8 @@
# 최종 장비 빌드
**릴리스 20260914-port-selector-alias-5 · Linux ARM64 · 192.168.0.223 배포 완료**
**릴리스 20260914-direct-mode-title-7 · Linux ARM64 · 192.168.0.223 배포 완료**
동작 설정 1·2의 줄바꿈 표시를 CR·LF·CRLF 대문자로 바꾸고, 직접 연결 모드 제목의 `/ Port 1` 부분을 제거했습니다. 저장 값과 채널 선택 기능은 유지합니다. 렌더링 확인 후 웹을 배포했으며 최종 웹 백업은 `/userdata/tera-backups/direct-mode-title-20260914`입니다.
포트 선택 카드에도 별칭을 표시합니다. 긴 이름은 말줄임표로 표시하고 마우스를 올리면 전체 이름을 확인할 수 있습니다. 이 추가 웹 수정의 백업은 `/userdata/tera-backups/port-selector-alias-20260914`입니다.

2
final-build/SHA256SUMS

@ -1,4 +1,4 @@
0109367727841cc79d9cabdcb9687e97a0b51788e994c39243a72ed789de1807 frontend/tera-clone-demo-web
51bc18f451533bf0e1b1b446458f099b4a13e87db2c15d3d5dd2328acf8b95bc frontend/tera-clone-demo-web
112bcdadf04155209b1a361200163c57232427dd628fdd31d8e060b1ab49461f backend/tera-clone-demo-api
b5856899698bfafb1f382a3dd45db02b034ba785d56a075ea964c937b57a48b3 backend/tera-logd
ac3149f54d93ce252527606bda35dc739f1f3ad40bfb77409f16b3514d437006 backend/tera-clone-demo-alarmd

BIN
final-build/frontend/tera-clone-demo-web

Binary file not shown.

17
final-build/release-manifest.json

@ -1,13 +1,13 @@
{
"release_id": "20260914-port-selector-alias-5",
"release_id": "20260914-direct-mode-title-7",
"platform": "linux-arm64",
"scope": "application-and-daemon-binaries-not-full-firmware",
"generated_at": "2026-09-14T07:17:33.9524858+00:00",
"generated_at": "2026-09-14T07:40:16.0139133+00:00",
"files": [
{
"path": "frontend/tera-clone-demo-web",
"bytes": 13238434,
"sha256": "0109367727841cc79d9cabdcb9687e97a0b51788e994c39243a72ed789de1807",
"sha256": "51bc18f451533bf0e1b1b446458f099b4a13e87db2c15d3d5dd2328acf8b95bc",
"install_path": "/usr/bin/tera-clone-demo-web",
"provenance": "built-and-deployed"
},
@ -62,7 +62,7 @@
}
],
"source": {
"base_commit": "8c2fe00",
"base_commit": "d790e0673775ef296ddd4093300ccd3c3c4fc952",
"changes": "Release source is included with this manifest in the Git commit; baseline daemons have individual provenance above."
},
"deployment": {
@ -73,11 +73,12 @@
"total": 12,
"backup": "/userdata/tera-backups/operation2-telnet-20260914",
"verified": "Eight binary SHA256 values match installed files; HTTP/HTTPS listeners and served workspace-tabs.js verified.",
"web_alias_backup": "/userdata/tera-backups/port-selector-alias-20260914"
"web_alias_backup": "/userdata/tera-backups/port-selector-alias-20260914",
"web_title_backup": "/userdata/tera-backups/direct-mode-title-20260914"
},
"validation": {
"backend": "mock store, API and portservice suites passed; CH01 SSH plus Telnet stage/apply/save/reload regression and same-interface conflict guards passed.",
"frontend": "Rendered page check passed: ASCII and HEX labels retain lowercase API values.",
"frontend": "Rendered operation 1/2 pages verified uppercase CR/LF/CRLF labels with lowercase values; direct mode page heading has no Port suffix. Relevant page rendering checks passed. Installed web SHA256 and backend readiness verified.",
"javascript": "19 workspace, navigation and dashboard tests passed.",
"browser": "Local Edge: port selector aliases, truncation/hover/accessibility, one-tab navigation, checkboxes and responsive layout; ASCII/HEX display with lowercase values passed.",
"live": "Authenticated live API: CH01 operation 2 Telnet applied and saved (running/persistent revision 29). eth0 SSH and eth1 Telnet both listening on 10001 with shared max_clients=4. Live HTML ASCII/HEX labels confirmed. Final web hash and readiness 12/12 verified.",
@ -92,6 +93,8 @@
"Include earlier system/session/log/reauthentication improvements",
"Allow same listener port across operation 1 eth0 and operation 2 eth1 in configuration validation",
"Display log format labels as ASCII and HEX",
"Show aliases in port selector cards with ellipsis and full-name hover"
"Show aliases in port selector cards with ellipsis and full-name hover",
"Display newline labels as CR, LF and CRLF in both operation tabs",
"Remove Port suffix from Direct Connection Mode page and workspace title"
]
}

6
frontend/internal/mock/mock_data.go

@ -403,7 +403,7 @@ func portPage(path string) (PageData, bool) {
fixedTextField("접속(유휴) 타임아웃(ms)", "connectionTimeout", "0"),
boundedNumberField("최대 세션 수", "maxClients", "4", true, "1", "4"),
authenticationField(),
selectField("줄바꿈", "newline", "cr", []string{"cr", "lf", "crlf"}),
selectOptionsField("줄바꿈", "newline", "cr", []Option{{Label: "CR", Value: "cr"}, {Label: "LF", Value: "lf"}, {Label: "CRLF", Value: "crlf"}}),
shortcutField("제어 단축키", "controlShortcut", "^]", "Ctrl+] 후 T/Q/B/I/? 명령을 사용합니다."),
shortcutField("전환 단축키", "switchShortcut", "^T", "Reverse 모드의 현재 세션과 동시 접속 유지 상태를 확인합니다."),
shortcutField("세션 종료 단축키", "quitShortcut", "^Q", "현재 터미널 세션만 종료합니다."),
@ -422,7 +422,7 @@ func portPage(path string) (PageData, bool) {
fixedTextField("접속(유휴) 타임아웃(ms)", "connectionTimeout", "0"),
fixedTextField("최대 세션 수 (동작 설정 1과 공유)", "maxClients", "4"),
authenticationField(),
selectField("줄바꿈", "newline", "cr", []string{"cr", "lf", "crlf"}),
selectOptionsField("줄바꿈", "newline", "cr", []Option{{Label: "CR", Value: "cr"}, {Label: "LF", Value: "lf"}, {Label: "CRLF", Value: "crlf"}}),
shortcutField("제어 단축키", "controlShortcut", "^]", "Ctrl+] 후 T/Q/B/I/? 명령을 사용합니다."),
shortcutField("전환 단축키", "switchShortcut", "^T", "Reverse 모드의 현재 세션과 동시 접속 유지 상태를 확인합니다."),
shortcutField("세션 종료 단축키", "quitShortcut", "^Q", "현재 터미널 세션만 종료합니다."),
@ -483,7 +483,7 @@ func portDebugPage(path string) (PageData, bool) {
})
}
return newPage(path, "직접 연결 모드", fmt.Sprintf("직접 연결 모드 / Port %d", portID), []string{"직접 연결 모드"}, nil, []ContentBlock{
return newPage(path, "직접 연결 모드", "직접 연결 모드", []string{"직접 연결 모드"}, nil, []ContentBlock{
{
Kind: "serial-terminal",
Title: "시리얼 포트 CMD 콘솔",

2
frontend/web/templates/layout.html

@ -7,7 +7,7 @@
<title>{{.Title}} - {{.AppName}}</title>
<link rel="stylesheet" href="/static/css/style.css?v=20260914-fixed-port-positions-2">
</head>
<body data-ui-version="20260914-port-selector-alias-5" data-workspace-id="{{.WorkspaceID}}" data-current-user="{{.CurrentUser}}" data-current-path="{{.CurrentPath}}" data-current-role="{{.CurrentRole}}" data-current-tab-key="{{(index .WorkspaceTabs 0).Key}}" data-current-tab-label="{{(index .WorkspaceTabs 0).Label}}">
<body data-ui-version="20260914-direct-mode-title-7" data-workspace-id="{{.WorkspaceID}}" data-current-user="{{.CurrentUser}}" data-current-path="{{.CurrentPath}}" data-current-role="{{.CurrentRole}}" data-current-tab-key="{{(index .WorkspaceTabs 0).Key}}" data-current-tab-label="{{(index .WorkspaceTabs 0).Label}}">
<div class="app-shell">
<aside class="sidebar">
<div class="brand">

Loading…
Cancel
Save