Skip to content

release: v0.14.0#212

Merged
deholic merged 28 commits intomainfrom
release/v0.14.0
Jan 29, 2026
Merged

release: v0.14.0#212
deholic merged 28 commits intomainfrom
release/v0.14.0

Conversation

@deholic
Copy link
Copy Markdown
Owner

@deholic deholic commented Jan 29, 2026

Summary

  • develop 브랜치 기준 v0.14.0 릴리즈 동기화
  • URL 프리뷰 프록시, 베타 배포 변경, 타임라인/단축키 개선, 뽀모도로 관련 업데이트 포함
  • 주요 버그 수정 및 리팩터링 누적 반영

Notes

  • main 기준으로 다수 변경사항이 포함되어 있으니 배포 체크리스트에 따라 검토해주세요.

feat: 이모지 선택 키보드 내비게이션 추가
feat: 첨부 미디어 재생 및 고정 플레이어 개선
…account-dropdown-open

fix: 오버레이 열림 시 단축키 차단
fix: 리노트 리액션 대상 정규화
뽀모도로 타이머 단축키 및 투두 내비게이션
…actor

refactor: apply AGENTS best practices
fix: 미스키 마크다운 일반 링크 처리
…file

fix: 멘션 핸들 클릭 프로필 동작 보강
Cloudflare Pages Functions로 OG 메타를 가져와 production에서만 프리뷰를 채운다.
별도 Pages 프로젝트로 develop 브랜치를 배포한다.
미스키 URL 프리뷰 프록시 추가
@deholic deholic self-assigned this Jan 29, 2026
@deholic deholic requested a review from Copilot January 29, 2026 08:18
@deholic deholic added the enhancement New feature or request label Jan 29, 2026
@deholic deholic added this to the v0.14.0 milestone Jan 29, 2026
@deholic
Copy link
Copy Markdown
Owner Author

deholic commented Jan 29, 2026

@copilot 컨플릭트 해결해줄래?

Copy link
Copy Markdown

Copilot AI commented Jan 29, 2026

@deholic I've opened a new pull request, #213, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR synchronizes v0.14.0 from the develop branch to main, introducing significant new features including URL preview proxy via Cloudflare Workers, enhanced markdown rendering with mention support, video/audio media handling with floating video player, keyboard navigation for emoji pickers, Pomodoro timer improvements, and a migration from GitHub Pages to Cloudflare Pages for beta deployments.

Changes:

  • Added URL preview proxy with SSRF protection and metadata extraction
  • Enhanced markdown renderer with @-mention parsing and bare URL linkification
  • Implemented floating video player with resize controls and audio/video media support
  • Added comprehensive keyboard navigation for emoji pickers and Pomodoro timer
  • Migrated beta deployment from GitHub Pages to Cloudflare Pages

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
functions/api/preview.ts New Cloudflare Worker for URL preview with security validations
src/ui/utils/markdown.ts Enhanced with mention parsing, bare URL linkification, and flexible rendering options
src/ui/utils/markdown.test.ts Added tests for new linkification features
src/ui/components/TimelineItem.tsx Major update with floating video player, preview card fetching, improved mention handling
src/ui/components/PomodoroTimer.tsx Added keyboard shortcuts (S/X/F) and todo list navigation with arrow keys
src/ui/components/ComposeBox.tsx Enhanced emoji picker with keyboard navigation (arrows, enter, escape)
src/ui/components/ReactionPicker.tsx Added full keyboard navigation for emoji selection
src/ui/components/TimelineSection.tsx Fixed indentation and added keyboard event handling
src/ui/components/StatusModal.tsx Added onUpdateStatus prop for preview card updates
src/ui/components/ProfileModal.tsx Fixed indentation and added onUpdateStatus callback
src/ui/components/AccountSelector.tsx Added emoji picker detection to prevent conflicts
src/ui/content/shortcuts.ts Documented new emoji picker and Pomodoro shortcuts
src/ui/styles/components.css Added styles for floating video, media attachments, and Pomodoro selection
src/infra/misskeyMapper.ts Enhanced media attachment mapping with kind inference and preview URLs
src/infra/mastodonMapper.ts Enhanced media attachment mapping with kind inference
src/infra/UnifiedApiClient.ts Removed type assertions, simplified to use interface methods
src/domain/types.ts Added MediaAttachmentKind type and enhanced MediaAttachment structure
src/App.tsx Added timeline selection, fixed reaction handling for reblogs, alt text updates
index.html Updated CSP to allow media sources and localhost connections
.github/workflows/deploy.yml Migrated from GitHub Pages to Cloudflare Pages deployment

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

return !hasScheme || /^https?:/i.test(trimmed);
};

const normalizeMentionHandle = (handle: string): string => handle.replace(/^@/, "").trim().toLowerCase();
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The normalizeMentionHandle function is duplicated across three files:

  • src/ui/utils/markdown.ts (line 20)
  • src/ui/components/TimelineItem.tsx (line 16-17)
  • src/ui/utils/linkify.ts (line 22)

This code duplication violates the DRY principle and makes maintenance harder. If the normalization logic needs to change, it must be updated in three places. Consider extracting this function to a shared utility module (e.g., src/ui/utils/mention.ts) and importing it where needed.

Suggested change
const normalizeMentionHandle = (handle: string): string => handle.replace(/^@/, "").trim().toLowerCase();
const normalizeMentionHandle = (handle: string): string => {
const withoutAt = handle.startsWith("@") ? handle.slice(1) : handle;
return withoutAt.trim().toLowerCase();
};

Copilot uses AI. Check for mistakes.
@deholic deholic merged commit 4d7762f into main Jan 29, 2026
7 checks passed
@deholic deholic deleted the release/v0.14.0 branch January 29, 2026 08:41
@deholic deholic restored the release/v0.14.0 branch January 29, 2026 08:42
@deholic deholic deleted the release/v0.14.0 branch January 29, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants