-
Notifications
You must be signed in to change notification settings - Fork 0
Release Notes
Sangyong Bae edited this page Aug 22, 2026
·
11 revisions
전체 자산·체크섬: GitHub Releases
목록 필터 바 · 서버 공개 카드 · 원격 파일 정책 개편 — UX·정책 대규모 업데이트.
- 목록 필터 바 — 툴바 아래 아이콘 칩 3그룹(Via 전체·로컬·서버·인터넷·그룹 / On 전체·온라인·오프라인 / Who 전체·인증·핀·신규). 선택은 저장되어 재시작 후 유지. 모든 칩·툴바 버튼에 툴팁.
- 서버 공개 목록의 즉시 프로필 — "서버 사용자에게 나를 표시"를 켠 사용자끼리는 공개로 둔 이름·이메일·소개가 연결 없이 즉시 목록에 보인다(옵트인 항목만 · 연결 후 실제 프로필이 우선).
- 원격 파일 정책 개편 — 파일 발신은 설정 › Server의 "via server 상대에게 파일 전송" / "via internet 상대에게 파일 전송"(기본 둘 다 끄기)으로 경로별 허용. 수신은 제한 없음 — 승인 창이 경로(via local/server/internet)를 색 배지로 또렷이 표시하고 사람이 결정.
- 서버 검증 게이트 — Managed 전환·값 변경은 자동 접속하지 않고 [Test] 성공만이 접속을 연다(성공은 저장 — 부팅 자동 유지). 접속 중엔 툴바에 표시(클릭 = 서버 설정).
- 대화 헤더 개편 — 툴바 높이(48px)·상대 아바타+이름 · via server(파랑)/via internet(주황) 배지 분리.
- LAN 프로필 즉시 동기 — 같은 망 상대는 발견 즉시 자동으로 조용한 세션이 서서 프로필·변경이 실시간 반영(서버 무관).
- 프레즌스 표시 — 목록 점 = 색(지금 닿는가) × 실루엣(세션 유무): 서버 공개 사용자도 초록으로.
- 기타: 아바타 부팅 깜빡임 제거 · 읽음 확인 = 활성 창 기준 · 창 최소 크기 474×689 · 설정 초기화 확장(필터·창 크기 포함, 프로필 정보 보존) · 지문 복사 [64][8] 버튼.
- 배포: Homebrew 자동 추종(0.2.6 ✓) · winget/Chocolatey는 첫 게시 검수 통과 대기로 계속 제외.
- 서버 사용자 자동 목록(roster) — "서버 사용자에게 나를 표시"(기본 켜짐)를 둔 사용자끼리 서버 접속만으로 서로 목록에 표시(공개키만 · 상호 공개 규칙).
-
프로필 지문 복사 버튼 — 우측 상단 [전체 64]·[짧은 8] (64가
⌘/Ctrl+K연결 값). - 서버 릴리스 beepd-v0.2.5(별도) — roster 지원 · 패키지 매니저 3채널 첫 게시 (brew 탭 즉시 · winget/choco 검수 대기). → Relay-Server
-
기본 릴레이 서버 탑재 — 설정 › Server를 Managed로 켜면
beepd.sosomlab.com(앱 기본값)으로 등록. 첫 실측: 집(맥)↔회사(윈도우) 실 NAT 연결 성립. - 서버 설정 UX 일습 — 주소 텍스트 입력(도메인) · 포트 표시 수정 · 연결 테스트 버튼 · 검증 영속(초록 "Server verified") · 접속/포트/타입 상태 표시.
- 콤보 직접 입력 = 완전한 텍스트 편집(선택·드래그·클립보드·우클릭 메뉴).
-
서버 접속 개통(클라) — GUI Managed 접속(TOFU 핀·자동 재접속)·주소 모달 지문
연결·CLI
--server/--chat-connect-via· 자유 입력 설정 영속 수정. - 서버 첫 릴리스 beepd-v0.2.3(별도 · Linux musl 정적) — UDP 홀펀칭+릴레이 폴백.
- 경로 2축(원격 정책 — 인터넷 경유는 지문 대조 전 파일 차단) · 아카이브 점검 완결 (zip64·격리 내용 목록) · 크립토 셰레딩(대화 삭제 = 키 폐기) · AMSI 실물 검사(Win).
- winget·Chocolatey 첫 제출(검수 대기) — 배포 3채널.
- 1:1 오프라인 큐(재시작 유지·자동 전달) · 클립보드 이미지 전송(Ctrl+V · 3-OS) · 메시지 등급·공지 브로드캐스트 · 안정성 2건(클립보드 UAF·경로 경합).
마이너 승격 — 시스템 시작 자동 실행과 Windows 콘솔 창 근절. 실행 경험이 바뀌는 변경이라 0.1.x가 아니라 0.2.0이다.
- ★ 시스템 시작 시 자동 실행(3-OS · 사용자 수준 등록 — Windows
HKCU\…\Run· macOS LaunchAgent · Linux XDG autostart). 기본 켜짐(옵트아웃 · 설정 ▸ 고급app.autostart) · 포터블을 옮겨도 부팅 시 경로를 다시 맞춘다 - ★ Windows 콘솔 창 근절 — 그전엔 GUI를 띄워도 검은 콘솔이 남았다(Windows Terminal에서는
FreeConsole도 무력). windows 서브시스템으로 전환하고 CLI 출력은 부모 콘솔에 붙여 보전한다 -
대화형 CLI 입력 경합 해소 —
cmd/pwsh에서--chat-live를 부르면 셸이 앱을 기다리지 않아 키 입력이 나뉘어 사라졌다. 그 경우 앱이 자기 콘솔 창을 새로 연다(Git Bash·파이프는 그대로) - 대화함 풀다운 메뉴 항목 추가
★ CLI 단말 축 완결 — --chat-live가 단순 대기에서 조회·선택·능동 연결이 되는 단말로:
-
/peers발견 목록 ·/connect <번호>골라서 대화 ·/connect <host[:port]>IP 직접(포트 생략 = 47200) -
요청 단위 승인 + 다중
/send(공백 구분 · 요청당 최대 5) — GUI와 같은 규칙 - 수신/읽음 확인 — 터미널은 출력 = 봄이라 즉시 되쏜다
- 수신 전용 채널 구조 — 인바운드는 전부 수락해 세워 둔다(표시·확인만 · 대화 자동 진입 없음). 거절하면 상대 GUI가 무한 재시도해 로그가 홍수가 됐다
- GUI→CLI 파일 수신이 전멸하던 것 수정(지연 해시 꼬리 보정 누락)
대용량 전송 축 완성 + 전송 UI 대화창 통합.
- 발신 스트리밍 + 지연 해시 — 10GB급도 메모리에 올리지 않고 전송(UI 무정지) · 해시는 전송하며 계산해 완료 시 검증
- 송수신 용량 상한 — 발신 무제한·수신 512MiB 기본 · 송신 전 상대 상한 확인(읽기 전 차단)
- 전송 재개(이어받기) — 끊긴 부분을 봉인 보존, 재연결 시 N%부터(해시 대조 fail-closed)
- 인챗 전송 제어 — 별도 창 제거 · 풍선 안 ⏸▶✕(양방향 동치) · 배치 배너+전체취소 전파 · 정지 방치 자동 취소(기본 2분)
- 요청 단위 승인·거절 — 다중 파일 = 승인 1회(목록·총합·제외 표시) · 거절 1회 = 전체 · 요청당 최대 파일 수(1~5)
- 대화함 — 저장된 대화 기록 관리(목록·미리보기·필터·클릭 열기·2단계 삭제·sealed 백업/복원)
- 그룹 영속 — 그룹 대화 기록 재시작 복원 · 잠긴 세그먼트 자가 복구 · 초대 자가 수락
-
지문 기반 검증(
/fingerprint+/verify) · 평문 3면 봉인(격리물·PII·프로필 캐시) · Bio 멀티라인 · i18n 전면 · 데이터 폴백 durable(~/.nexa-beep) · 상태 로깅(옵션)
- 알림(3-OS) — 정식 데스크톱 알림(mac UNUserNotificationCenter·Windows·Linux) · 클릭하면 해당 대화(단일 창 = 전환 · 분리 창 = 대화 창)
-
트레이/메뉴바 상주 완주(Windows) — 아이콘 = 내 아바타 합성 · 우클릭 = 이름·열기·종료 ·
ui.close_to_tray(X = 트레이로 숨김 · 기본 off) - 신뢰 배지 개편 — 연결 상태를 색 + 실루엣 2중 부호화(적록 색각·저대비 대응) · 인증 배지 가족(차단·이름 충돌·첫 접촉)
- SAS 대조 지점 — 상대 프로필 카드에 안전 번호 출력·대조 완료 버튼(이후 08-18에 지문 비교로 전환)
- M1 발견 견고화 · 대화창 명령
/…도입
첫 2-PC 실증(Windows↔macOS IP 수동 등록·메시지·파일 왕복)에서 나온 피드백 일습.
- 읽지 않은 메시지 배지 — 목록에 개수 배지 + 마지막 확인 시각 · 주 창 제목 "새 메시지 N"(작업 표시줄에서 보임)
- 인바운드 자동 열림 제거 — 상대가 연결해도 창을 뺏지 않는다(목록·배지로만 알림 · 여는 것은 사용자)
- 자동 재연결 — 끊긴 상대를 5초→15초→60초→5분 백오프로 재시도, 상한 후 중단(클릭 = 재개)
- 죽은 연결 감지 — TCP keepalive로 FIN 없는 죽음(전원 차단·강제 종료·망 단절)을 ~22초 내 감지(실측) → 목록 점 빨강
- 비발견 상대 목록 유지 — 다른 서브넷의 수동 등록 상대가 대화창을 닫아도 목록에 남고, 기억한 주소로 재연결
- 파일 전송 자격 경고 모달 — 상호 대화 규칙 미달 시 "왜 + 뭘 하면 되는지"를 모달로(스팸 방어 규칙의 가시화)
- 텍스트 편집 일습 — 복사/잘라내기/붙여넣기가 모든 입력창에서 동작 · 긴 텍스트 가로 스크롤(캐럿 상실 해소) · 영역 밖 드래그 자동 진행
-
주소 등록·프로필 창 = 항상 위 모달 ·
--port <N>실행 인자(세션 한정) - 파일 전송이 2MiB에서 끊기던 다중화 백프레셔 수정 · 터미널(kitty 프로토콜) 상태 누수 3중 방어 ·
--chat-live떠돌이 연결 내성
-
세션 기본 포트 47200 — 우선 바인딩(점유 시 임의 폴백) · 설정
net.session_port(듣는 포트 = 포트 생략 시 거는 포트 · 즉시 적용) · 주소 입력에서 포트 생략 가능(10.0.0.5→:47200) · 상태바에 실제 수신 포트 상시 표시 — 발견이 닿지 않는 상대와의 수동 연결이 예측 가능해졌다 - 이미지 미리보기 픽셀 상한 4096² — 폰 사진(12MP급)이 거부되던 것 해소(격리 디코드 원칙은 유지)
- 설정 영속 — 테마·시간 형식 등 모든 설정이 재시작 후 유지
- 신원·신뢰 핀 영속 — 재시작해도 같은 신원·같은 신뢰(TOFU 핀 암호화 저장) + 신원 키 백업/복원(핫 로딩)
- 표시 이름 정제 기본값 — 실명이 LAN에 평문 방송되지 않음(변경 시 즉시 재공지)
- 프로필 — 편집 화면(사진·이름·이메일·전화)·항목별 공개 토글(기본 비공개)·연결된 상대와 세션 경유 교환·목록 아바타 2줄 행·우클릭 프로필 보기 카드
- 이미지 격리 디코드(imgdec) — 아바타 실사진·수신 이미지 미리보기(격리함·대화). 디코더는 격리 프로세스에만(본체 미링크) · 5타깃 전 채널 동봉
- Windows MotW(Zone.Identifier) 표식 · Switch 컨트롤·컨트롤 크기 옵션 · 설정 설명 워드랩
- Windows 더블클릭·시작 메뉴 무반응 수정 — 탐색기 실행 감지 → 창 모드(macOS 번들 판정과 대칭)
- 파일 전송 종단 확인(ack) — 발신 "완료"가 소켓 쓰기가 아니라 수신측 격리 성공으로 확정("전달됨 · 확인 대기" → 완료) + 미확인 전송 중 종료 가드
- 주소 직접 연결 모달(⌘/Ctrl+K) — 형식 검증(host:port · [v6]:port)
- 연결 무정지 완결 — 수동 주소 연결도 워커 스레드로(죽은 주소에 UI가 멈추지 않음) · 목록 행 "연결 중" 표시
- Windows 배포 실기 검증(설치/업그레이드/제거·MotW 전파·winget validate) 반영
-
macOS 앱 더블클릭 무반응 수정 —
.app번들 실행 = 창 모드 + 실물 발견 - 클립보드 macOS/Linux 실물 구현(pbcopy · wl-copy/xclip)
- 스크롤바 자동 숨김을 벽시계 기준으로 정정 +
ui.scrollbar_hide설정 - 컨텍스트 메뉴 컨트롤 신설(말풍선·입력란 우클릭)
- 5타깃 × 2채널 배포 파이프라인(태그 push 자동 공개) — Windows x64/ARM64 · macOS x64/ARM64 · Linux x64
- NSIS 설치본(사용자 단위·무권한) · dmg · deb · 포터블(zip/tar.gz) ·
SHA256SUMS.txt - Homebrew 탭(
kiros33/tap) — Cask(.app) + Formula(포터블) - winget·Chocolatey 매니페스트 자동 생성(게시는 스위치로 잠금)
- macOS 격리 실측 반영: 서명 없는 앱 + quarantine = SIGKILL → Cask postflight 격리 제거(임시방편 — 서명·공증 로드맵)