**MC 서버 신청서 링크 공유 미리보기 오류 수정** — 마인크래프트·스트리머 서버 신청서(`gameboy.kr/mc-server/?form=N`) 링크를 디스코드·카카오톡 등에 공유하면 신청서와 무관한 최신 기사 제목·썸네일이 미리보기로 뜨던 문제 해결. 신청서 페이지가 자체 제목·설명·이미지를 공유 정보(Open Graph)로 정확히 노출하도록 수정하고, 최신 기사 정보가 새어 들어가던 경로(oEmbed·댓글 피드·REST 링크 등)를 차단
**AI 생성 대표 이미지 품질 개선 — 깨진 글자·가짜 UI 제거** — 모든 AI 이미지 생성 경로에서 이미지 안에 깨진 글자나 가짜 웹사이트 UI(검색창·메뉴 등)가 그려지던 문제 해결 — 순수한 장면 이미지만 생성하도록 개선. AI 생성 이미지가 대표 이미지로 쓰일 때 원본 출처 이미지가 본문에서 누락되던 문제도 수정
**방송 채널 허브 — 수동 영상 수집 오류 안내 개선** — 관리자 대시보드의 「🔄 최신 영상 수집」 버튼이 일부 실패 상황에서 아무 안내 없이 멈추던 문제 수정. 세션 만료·재실행 제한·외부 API 오류 등 모든 실패 상황에서 화면에 명확한 안내 메시지를 표시하도록 개선
게시글 #3202 깨진 HTML 태그 수정 — 외부 링크(Steam FourVive) 임베디드 프리뷰 카드 삽입 후 편집/저장 시 `contenteditable` 에디터가 링크 카드 HTML 구조를 손상시킨 문제 복구. `` 마커 잔류 및 고아 `` 태그 제거, 정상 링크 카드 재생성.
**속보 Push/Discord 알림 — 임시글(draft) 상태에서 알림 발송 방지** — AI 수집기가 기사를 임시글(draft)로 생성할 때, _is_breaking 속보 플래그가 설정되고 Discord 속보 알림이 발송되던 버그 수정. 속보 알림이 아닌 기사에 대해 속보 크롬 알림이 뜨는 문제 해결. **수정 내용**: (1) ai_publisher에서 속보 지정(\_is_breaking) 및 Discord 알림을 publish 상태에서만 실행하도록 변경 (2) Push 알림(OneSignal)에 기사 나이 확인(6시간 이내만 허용) + 게시물 상태 이중 확인 안전장치 추가 (3) 기존 임시글의 잘못된 속보 플래그 일괄 정리
**커뮤니티 보드 글쓰기 — 이미지·영상·링크카드 커서 위치 삽입 수정** — 글쓰기 에디터에서 이미지 붙여넣기, 영상 첨부, URL 링크 카드 삽입 시 커서 위치와 무관하게 항상 본문 맨 아래에 추가되던 버그 수정. **근본 원인**: 업로드 placeholder와 로딩 카드를 editor.appendChild()로 삽입하여 Selection/Range(커서 위치) 무시. **수정**: insertAtCursor() 헬퍼 함수 도입 — window.getSelection() Range API를 사용하여 현재 커서 위치에 정확히 삽입. 파일 대화상자 등으로 포커스 이탈 시에도 selectionchange 이벤트로 마지막 에디터 내 커서를 자동 보존·복원. 이미지 붙여넣기(Ctrl+V), 이미지 버튼(📷) 클릭 선택, 영상 버튼(🎬) 클릭 선택, 드래그 앤 드롭, URL 링크 카드(🪧/붙여넣기) 5가지 미디어 삽입 경로 모두 커서 위치 존중. board.js 전역 참조(window._gbbInsertAtCursor)로 크로스 스크립트 연동
Modrinth 기사 대표이미지 누락 수정 — modrinth_publish_to_wp()가 이미지 없이 즉시 publish 상태로 발행하던 문제 해결. icon/gallery 없는 프로젝트(BadOptimizations 등) 3건 수정 완료.
기존 게시글 평문 URL 미변환 버그 수정 — embed.php 5단계 정규식 lookbehind에서 > 문자 제거. <div>https://... 패턴에서 닫힌 HTML 태그 바로 뒤의 URL이 링크로 변환되지 않던 문제 해결. Discord, Naver Form 등 모든 일반 URL이 페이지 로딩 시 자동으로 <a> 태그로 변환됨.
daily_max_publish 미적용 버그 수정 — config.php에 daily_max_publish=40 설정이 존재했으나, ai_publisher.php에서 해당 값을 참조하는 코드가 전혀 없어 일일 발행 제한이 동작하지 않던 근본 원인 수정. 일일 발행 카운트를 wp_posts 테이블에서 실시간 조회하여 제한 적용
**MC 서버 제어 — 예약 명령어 스케줄러 중복 실행 수정** — 예약 명령어 스케줄러에서 명령어가 동일 시간에 2번씩 실행되던 버그 수정. **근본 원인**: 시스템 cron(`cron-run-schedules.php`)과 WP Cron(`gbmc_cron_run_schedules` 액션)이 동일한 `gbmc_run_scheduled_commands()` 함수를 동시에 호출하여 같은 명령어가 2초 이내에 중복 실행. 활동 로그에서 동일 시각(초 단위)에 같은 명령어가 2건씩 기록되는 증상으로 확인됨. **수정**: transient 기반 실행 잠금(Lock) 메커니즘 도입 — 55초 TTL의 락을 획득한 첫 번째 실행만 진행, 두 번째 호출은 "이미 실행 중" 로그를 남기고 즉시 스킵. race condition 대응을 위한 2단계 락 검증(획득 후 재확인) 적용. 기존 예약 명령어 데이터는 100% 보존
**커뮤니티 보드 글쓰기 — 이미지·영상·링크카드 커서 위치 삽입 수정** — 글쓰기 에디터에서 이미지 붙여넣기, 영상 첨부, URL 링크 카드 삽입 시 커서 위치와 무관하게 항상 본문 맨 아래에 추가되던 버그 수정. **근본 원인**: 업로드 placeholder와 로딩 카드를 editor.appendChild()로 삽입하여 Selection/Range(커서 위치) 무시. **수정**: insertAtCursor() 헬퍼 함수 도입 — window.getSelection() Range API를 사용하여 현재 커서 위치에 정확히 삽입. 파일 대화상자 등으로 포커스 이탈 시에도 selectionchange 이벤트로 마지막 에디터 내 커서를 자동 보존·복원. 이미지 붙여넣기(Ctrl+V), 이미지 버튼(📷) 클릭 선택, 영상 버튼(🎬) 클릭 선택, 드래그 앤 드롭, URL 링크 카드(🪧/붙여넣기) 5가지 미디어 삽입 경로 모두 커서 위치 존중. board.js 전역 참조(window._gbbInsertAtCursor)로 크로스 스크립트 연동
Modrinth 기사 대표이미지 누락 수정 — modrinth_publish_to_wp()가 이미지 없이 즉시 publish 상태로 발행하던 문제 해결. icon/gallery 없는 프로젝트(BadOptimizations 등) 3건 수정 완료.
기존 게시글 평문 URL 미변환 버그 수정 — embed.php 5단계 정규식 lookbehind에서 > 문자 제거. <div>https://... 패턴에서 닫힌 HTML 태그 바로 뒤의 URL이 링크로 변환되지 않던 문제 해결. Discord, Naver Form 등 모든 일반 URL이 페이지 로딩 시 자동으로 <a> 태그로 변환됨.
일간 매거진 3/28 미발행 장애 복구 (daily_magazine v3.3.1) — 3월 28일 일간 매거진(Vol.30)이 자동 발행되지 않은 장애 진단 및 수동 발행 복구. logrotate + shell redirect + 자체 로깅 충돌이 근본 원인. 수동 발행으로 Vol.30 Post #112344 복구 완료. 재발 방지: logrotate copytruncate 전환, cron redirect 제거, 오후 12:00 retry 추가, 엔진 v3.3.1 진단 로깅 강화
마비노기 모바일 1주년 기사 수정 — 불필요한 빈 게임정보 테이블 및 "아쉽게도 게임의 상세한 기종..." 잘못된 안내 텍스트 제거 (Post #111952)
**커뮤니티 보드 글쓰기 — 이미지·영상·링크카드 커서 위치 삽입 수정** — 글쓰기 에디터에서 이미지 붙여넣기, 영상 첨부, URL 링크 카드 삽입 시 커서 위치와 무관하게 항상 본문 맨 아래에 추가되던 버그 수정. **근본 원인**: 업로드 placeholder와 로딩 카드를 editor.appendChild()로 삽입하여 Selection/Range(커서 위치) 무시. **수정**: insertAtCursor() 헬퍼 함수 도입 — window.getSelection() Range API를 사용하여 현재 커서 위치에 정확히 삽입. 파일 대화상자 등으로 포커스 이탈 시에도 selectionchange 이벤트로 마지막 에디터 내 커서를 자동 보존·복원. 이미지 붙여넣기(Ctrl+V), 이미지 버튼(📷) 클릭 선택, 영상 버튼(🎬) 클릭 선택, 드래그 앤 드롭, URL 링크 카드(🪧/붙여넣기) 5가지 미디어 삽입 경로 모두 커서 위치 존중. board.js 전역 참조(window._gbbInsertAtCursor)로 크로스 스크립트 연동
Modrinth 기사 대표이미지 누락 수정 — modrinth_publish_to_wp()가 이미지 없이 즉시 publish 상태로 발행하던 문제 해결. icon/gallery 없는 프로젝트(BadOptimizations 등) 3건 수정 완료.
기존 게시글 평문 URL 미변환 버그 수정 — embed.php 5단계 정규식 lookbehind에서 > 문자 제거. <div>https://... 패턴에서 닫힌 HTML 태그 바로 뒤의 URL이 링크로 변환되지 않던 문제 해결. Discord, Naver Form 등 모든 일반 URL이 페이지 로딩 시 자동으로 <a> 태그로 변환됨.