아이콘을 Font Awesome 6로 업그레이드합니다!

3개의 게시물이 새 주제로 분리되었습니다: Trouble with new Fontawesome 6 icons in theme components

@awesomerobot 게시물의 지시를 제 (한정된) 능력의 한계 내에서 최대한 따랐는데, 여러 가지 문제가 발생하고 있습니다. 그중 하나만 Font Awesome 아이콘 변경과 관련이 있다고 생각합니다. 하지만 여기서는 그 문제를 다뤄보겠습니다.

콘솔에서 일어나고 있는 상황의 스크린샷입니다:

Deprecation(비추천) 통지에 집중해 보면, 아이콘 "search"가 문제인 것 같으며, 새로운 아이콘 이름은 "magnifying-glass"입니다. 개발자 도구의 검색 기능에서 "search"를 검색하면 (예상대로) 많은 결과가 나옵니다 - (278개 파일에서 6,504줄 일치) - 정말로 숲을 보지 못하고 나무만 보고 있는 상태입니다. 하지만 말씀드릴 수 있는 것은, 원래 게시물의 3번째 단락에 표시된 결과와 같은 것이 전혀 없다는 점입니다!

이 문제를 일으키는 컴포넌트를 찾아내는 방법에 대한 여러분의 조언을 간절히 부탁드립니다!

emberjs 문제는 나중에 다른 게시물에서 다룰 예정입니다.

감사합니다 - Discourse는 보통 순조로운 편인데, 이번에는 완전히 당황해 있습니다.

2개의 좋아요

Hey @PatrickF

혹시 Advanced Search Banner 이 설치되어 있나요?

설치되어 있다면 해당 컴포넌트가 최신 상태인지 확인해 주실 수 있을까요?

한 달 전에 업데이트된 것을 볼 수 있습니다:

5개의 좋아요

아, 네. 그게 이상적이지는 않군요 :sweat_smile:

JS와 CSS 소스맵을 끄면 결과의 파일 수를 줄이는 데 도움이 될 수 있습니다. 그런 다음 테마 내에서만 결과를 검색해 보세요.

4개의 좋아요

아, 실제로 검색 배너가 설치되어 있네요 - 그리고 누군가 이전부터 커스터마이징을 한 상태였습니다. 지금 바로 확인해 보겠습니다.

좋은 지적 감사합니다!

추가로:

<search-icon.gjs> 파일에 새로운 줄이 필요하다는 것을 알 수 있습니다:
@icon="magnifying-glass"

컴포넌트를 내보내어 이 파일을 다운로드했습니다 - 하지만 수정된 파일을 업로드하는 방법은 무엇인가요?
(우리의 디스코러스 커뮤니티가 Discourse에 의해 호스팅되고 있으므로, 불가능할 것 같네요?)

디스코러스 어디에도 업데이트 버튼을 찾을 수 없어요 - 그냥 컴포넌트를 다시 설치해야 하나요?

4개의 좋아요

대부분의 호스팅 플랜에서는 커스텀 테마 컴포넌트를 설치할 수 있습니다.

2개의 좋아요

감사합니다. 여러 번 링크된 이 문서를 모두 읽어 보았습니다.

@Arkshine 님의 게시글에서 언급된 것처럼 업데이트 버튼을 어디에도 찾을 수 없습니다:

제 Components(구성 요소) 패널은 다음과 같습니다:


이 페이지의 유일한 버튼은 페이지 하단에 있는 Install(설치) 버튼입니다. 아마도 테마를 다시 설치하면 우리의 모든 커스터마이징이 덮어써질 것입니다.

여기서 좀 멍청한 사람처럼 보일 것 같다는 점은 이해합니다 :joy: 하지만 Discourse 메타에서 보는 것과 제 Discourse 인스턴스에서 보는 내용이 일치하지 않는 것 같습니다.

인내심을 가져 주셔서 감사합니다.

2개의 좋아요

원본 테마 컴포넌트의 수정된 버전을 수동으로 업로드한 것으로 보입니다.
GitHub 저장소 링크에서 설치된 경우 버튼을 볼 수 있습니다. (또한 작성자는 Discourse가 됩니다.)

네, 업데이트된 컴포넌트를 다시 설치해야 합니다. 설정 편집기 버튼을 사용하여 설정을 내보내기/가져오기를 할 수 있습니다.

어떤 커스터마이징을 했는지 기억하나요? CSS만 변경한 것이라면, 공식 버전을 사용하고 테마 또는 별도의 테마 컴포넌트에 CSS 커스터마이징을 추가하는 것을 권장합니다. 이렇게 하면 항상 최신 업데이트를 받을 수 있습니다.

5개의 좋아요

@Arkshine, @Moin - 도움을 주셔서 감사합니다.

기존 테마를 삭제하고 GitHub 저장소에서 다시 설치하니 모든 문제가 해결되었습니다. 사이트는 이전과 똑같이 보이고, FontAwesome에 대한 알림도 사라졌습니다. 이제부터 테마가 자동으로 업데이트될 예정입니다.

다시 한번 감사합니다!

4개의 좋아요

디스코urses를 업데이트했습니다.
하지만 여전히 이 알림이 표시됩니다.

테마/플러그인 업데이트 알림이 표시되지 않습니다.
다른 조치 사항이 있을까요?

1개의 좋아요

로그를 확인해 보세요. 어떤 아이콘이 하나 또는 여러 개가 구버전의 이름을 사용 중인지 표시될 것입니다. 관리자 변경이 가능한 아이콘 중 하나라면, 해당 컴포넌트의 이름이 표시되지 않습니다.

2개의 좋아요

많은 도움 주셔서 감사합니다, @Jagster

이 콘솔 로그를 찾았어요.

Deprecation notice: The icon name "undo" has been updated to "arrow-rotate-left". Please use the new name in your code. Old names will be removed in Q2 2025. [deprecation id: discourse.fontawesome-6-upgrade] [info: https://meta.discourse.org/t/325349]

하지만 이 아이콘을 어디서 업데이트해야 하는지 잘 모르겠어요.

1개의 좋아요

모든 플러그인/컴포넌트가 최신 상태인지 먼저 확인해 주실 수 있나요?

2개의 좋아요

네, 전부 업데이트되었습니다.
어제 갱신했습니다.

2개의 좋아요

안전 모드로 플러그인인지 테마 구성 요소인지 파악할 수 있을까요?

2개의 좋아요

리네임이 사용자 통제 범위를 벗어난 상위 프로젝트에 의해 강제된다는 점은 이해합니다. 하지만 호환성 매핑을 영구적으로 그대로 두면 안 되는 이유가 무엇인가요? 어떤 해가 되는 것인가요?

Discourse나 그 의존성 개발에 종사하는 사람들 중 공개된 API(다른 사람들이 사용하는 것)의 개념을 이해하는 사람이 있는지 궁금합니다.

정당한 이유가 있는 경우를 제외하고는 API를 깨뜨려서는 안 됩니다. 개발자들만 내부적으로 보는 것들의 이름이 누군가의 취향에 따라 완벽하지 않다는 것은 다른 사람의 코드를 깨뜨릴 만큼 충분한 이유가 되지 않습니다.

Discourse에서 기존 기능들이 깨지지 않도록 유지하기 위해 필요한 작업량이 너무 많아 정말 지치기 시작합니다. 매번 시간과 번거로움을 정당화할 수 있는 획기적인 개선이 있었다면 모를까, 그런 경우는 단 한 번도 없었습니다. 사소한 이유로 변경 사항이 계속 만들어지고, 다른 사람들에게 초래되는 시간과 번거로움에 대한 고려가 전혀 없는 것처럼 느껴집니다.

4개의 좋아요

불편을 드려 죄송합니다. 업데이트를 쉽게 하고, 작업을 완료할 수 있도록 몇 달의 시간을 제공하려 노력하고 있지만, 항상 트레이드오프가 존재합니다. 리매핑을 무기한 유지했다면 V4 → V5 → V6와 같이 이미 여러 계층의 리매핑이 쌓여 있었을 것이며, 이는 자체적인 이해와 유지보수가 필요한 부채가 되었을 것입니다. 디스코urses의 모든 코드 조각에 대해 이렇게 했다면, 소프트웨어는 훨씬 더 커지고 이해하고 작업하기가 훨씬 더 어려워졌을 것입니다.

네, 그렇기 때문에 우리는 비추천(deprecation) 경고와 업데이트 지침을 제공합니다. 단순히 파일을 업데이트하고 모든 작업을 넘기는 것이 아닙니다. 이러한 업데이트를 할 때마다 문서 작성, 경고 시스템 구축, 그리고 테마, 테마 컴포넌트, 플러그인 수백 개를 직접 업데이트해야 합니다. Ember 업데이트의 경우, 우리의 엔지니어들은 레거시 커스터마이징이 가능하도록 완전히 새로운 시스템을 개발해냈습니다.

훨씬 더 큰 소프트웨어 회사들도 API를 깨뜨리는 방식으로 업데이트합니다. 저는 API 변경으로 인해 Google Fonts 컴포넌트를 최소 2회 이상 업데이트해야 했으며, 구글은 약 2조 달러의 가치를 가진 회사입니다. 로그인용으로 통합하는 모든 인증 서비스는 API 변경으로 인해 업데이트가 필요했습니다.

가끔 발생하는 유지보수를 위한 시간이 없다면, 커스터마이징 양을 가능한 한 줄이는 것을 권장합니다. 디스코urses에 대해 시중에서 판매되는(오프더셸프) 테마/컴포넌트/플러그인을 사용하신다면, 대부분의 경우 우리는 무료로 이를 업데이트해 드립니다.

또는 디스코urses를 업데이트하지 않는 것도 가능합니다. 하지만 모든 것은 항상 변하고 있으며, 결국 새로운 보안 문제나 브라우저 호환성 문제에 직면하게 될 것입니다. 모든 옵션에는 비용과 트레이드오프가 따릅니다.

10개의 좋아요

그런데도 Windows 95용으로 작성된 프로그램은 30년이 지난 지금도 수정 없이 사용 가능합니다. 즉, 불가능한 것이 아닙니다.

다른 회사들이 쉬운 길을 택한다고 해서 당신도 그래야 하는 것은 아닙니다. 그것은 선택의 문제입니다.

현실에서 운영해야 한다는 제약이 있는 선택이며, 시간과 예산을 둘러싼 많은 타협이 따릅니다. "기술적으로 모든 것이 가능하다"는 주제로 벗어나지 않아도 됩니다.

그 aside, Discourse의 좋은 점은 무료이고 오픈소스라는 것입니다. 따라서 1년 전이나 10년 전 버전의 Discourse를 실행하고 싶다면 그렇게 할 수 있습니다. 다만, 해결되는 문제보다 더 많은 문제를 일으킬 가능성이 높습니다.

4개의 좋아요

@Arkshine 님, 감사합니다.
알림이 자동으로 사라졌습니다.
오늘 다시 발견했고, 브라우저 콘솔을 확인해 아이콘 이름을 찾은 후 해당 아이콘을 업데이트하니 알림이 사라졌습니다.

4개의 좋아요