커스텀 필드 기본값과 카테고리 설정 로그를 가장 잘 처리하는 방법

음, 이건 좀 까다로운 문제네요. 대부분의 플러그인은 카테고리 설정의 기본값이 null 값이기 때문에 이런 문제에 부딪히지 않는 것 같습니다.

상황을 개선할 수 있는 코어 API 변경 사항에 대해 어떤 아이디어가 있으셨나요?

아직 전혀 테스트해보지 않았지만, 현재 상태에서는 원시 HTML 입력 필드를 사용해 무언가를 해결할 수 있을 것 같습니다(Ember의 양방향 바인딩 <Input 컴포넌트가 아닌 소문자 input을 사용한다는 점에 유의하세요).

<input
  value={{or category.custom_fields.my_field "default value"}}
  {{on "change" this.updateMyFieldValue}}
/>

이 전략을 사용하면 모델 인스턴스에 값을 읽거나 쓰는 방식을 제어할 수 있습니다. 따라서 UI에서 값이 기본값으로 설정된 경우, 커스텀 필드에는 이를 'null’로 쓸 수 있습니다:

@action
updateMyFieldValue(event){
  let newValue = event.target.value;
  if(newValue === "default value"){
    newValue = null;
  }

  this.category.set("custom_fields.my_field", newValue);
}

(그리고 OP의 (1)에서 설명한 기본값 설정을 제거하면 됩니다)