Dumbcourse – /dumb에서 구형 브라우저에 최적화된 UI (D-pad + 소형 화면)

저는 (가능하다면) 사용자가 새로운 경로로 리디렉션되기를 원합니다. 그렇게 하면 사용자가 우연히 최신 버전을 방문할 일이 없게 되는데, 최신 버전은 예를 들어 빈 화면만 표시될 수 있기 때문입니다. (충분히 오래된 브라우저에서는 그런 일이 발생합니다.)

2개의 좋아요

알겠습니다. 한번 생각해 보겠습니다.

2개의 좋아요

죄송합니다. 모욕하려는 의도는 없었고, 그저 그 무시하는 듯한 태도에 조금 불편함을 느꼈을 뿐입니다.

2개의 좋아요

업데이트

버그가 있을 수 있으니 알려주세요.

실시간 업데이트

  • 홈페이지의 주제(토픽)가 이제 자동으로 새로고침되며, 새로운 주제는 맨 위에 표시되고, 다시 올린(bumped) 주제는 순서가 다시 정렬됩니다
  • 주제를 읽는 동안 다른 사용자의 답변이 실시간으로 표시됩니다
  • 누군가가 답변을 작성 중일 때 “사용자명이 입력 중입니다…” 표시가 나타납니다

읽음/안 읽음 주제

  • 안 읽은 주제는 이제 굵은 글씨로 표시되고, 읽은 주제는 더 밝고 가느다란 글씨로 표시됩니다
  • 기존 숫자 배지가 제거되었습니다

업로드

  • 이제 파일명 옆의 X 버튼을 탭하여 업로드한 파일을 삭제할 수 있습니다
  • 답변과 새 주제 작성 시 모두 작동합니다
  • 업로드 버튼이 이제 터치스크린에서도 안정적으로 작동합니다

버그 수정

  • 편집이나 이모지 반응을 탭해도 더 이상 페이지 맨 위로 점프하지 않습니다
  • 새 답변과 수정 내용이 게시된 직후 바로 표시됩니다
  • 새 주제를 생성하면 이제 홈페이지로 돌아가는 대신 해당 주제로 이동합니다
9개의 좋아요

Dumbcourse Companion APK 업데이트

  • 웹뷰에서 업로드 오류 수정

https://github.com/alltechdev/dumbcourse-apk/commit/d890fff3d5aa4c2d2c4b6afb4cde55a8407fe5c2

LanguageTool 통합 추가! :bullseye:

이 플러그인은 소형 스마트폰과 구형 시스템을 위해 만들어졌기 때문에, 타이핑(과 오타)이 정말 번거로울 수 있습니다. 그래서 텍스트를 자동으로 정리할 수 있도록 LanguageTool(https://languagetool.org/) 지원을 추가했습니다.

다음과 같은 몇 가지 방식으로 사용할 수 있습니다:

  • 공개 API (가장 빠른 설정)
  • 자체 LanguageTool 계정 + API 키
  • 자체 호스팅 LanguageTool (자체 엔드포인트 + 시크릿 사용)
설정

별 버튼 클릭 전

별 버튼 클릭 후

작은 :star: 버튼을 클릭하면, 감지된 모든 것(계획이나 호스팅 모드에 따라 철자, 문법, 간격 등)을 수정하여 텍스트를 다시 작성합니다.

“AI이지만 AI는 아닌” 느낌: 똑똑하지만, LLM이 대신 글을 작성해 주는 것은 아닙니다.

비용 측면: 무료/요율 제한은 공개 API를 사용하느냐, 자체 호스팅을 사용하느냐에 따라 다릅니다. 자체 호스팅 = 제한을 직접 제어할 수 있습니다.

그리고: LanguageTool 지원만을 위한 별도의 플러그인으로 이 기능을 분리하여 개선할 수도 있습니다. 꽤 훌륭한 독립형 아이디어이기 때문입니다.

5개의 좋아요

@merefield님의 제안(다시 한번 감사합니다)을 따라 시도해 보았는데, '오lds’에게는 정말 훌륭한 플러그인이네요!

이 플러그인에는 topic-list 페이지네이션이 있어 좋은데, 향후 topic-posts 페이지네이션도 지원될 가능성이 있을까요?

5개의 좋아요

Dumbcourse에 사용자 지정 CSS를 적용할 수 있나요?

1개의 좋아요

아직 살아 있어? 이거 진짜 좋은 것 같아 (!)

네, 여전히 살아있으며 Forum 에서 사용 중입니다.

이를 마스터 플러그인에 통합했습니다:

1개의 좋아요

즉, OP에서 링크한 저장소는 더 이상 지원되지 않는다는 거죠?

참고로 왜 병합을 했나요? 커뮤니티 사용자가 필요하거나 원하지 않는 기능을 강제로 부여하는 셈이 될 수 있습니다.

일반적으로 기능적으로 구별되는 플러그인은 각각 독립적으로 유지하는 것이 더 유연하고 모듈화된 방식으로 추가할 수 있어 좋은 관행입니다. (공식 플러그인도 예전에 이렇게 했었는데, 빌드 시점에 가져다주는 이점이 없었다면 이는 더 나은 상황이였다고 생각합니다. 다만 이것은 번들 플러그인에 한정된 이야기입니다.)

1개의 좋아요

여전히 지원됩니다. 레포지토리는 이전과 동일한 제 GitHub 링크에 있습니다. 모든 것을 하나의 중앙 위치에 두는 것이 우리에게 더 편했기 때문입니다.

우리가 사용하는 모든 기능이 포함되어 있으며, 사소한 기능이 필요할 때마다 discourse를 다시 빌드할 필요가 없습니다.

죄송합니다, 그게 무슨 말씀이세요?! :rofl:

2개의 좋아요

감사합니다, 확인해 보겠습니다. Tor Discourse 버전에서는 Dumbcourse가 최선의 선택입니다. 이제 살펴봐야 할 기능이 더 많아졌네요 :smiling_face_with_sunglasses:

리포지토리를 확인해 보세요, 각 기능에는 활성화/비활성화를 위한 개별 스위치가 있습니다. 여기에서 정말 좋은 일을 하고 있다고 생각합니다.

또한 누구나 PR을 통해 기여할 수 있습니다.

Discourse 커뮤니티를 위해 다른 플러그인을 제공하는 개념에는 동의하지만, 모든 것을 자체 커뮤니티에 패키징한 점도 충분히 이해합니다.

1개의 좋아요

아, 알겠습니다. 그냥 피곤했나 봐요. 이제 그가 무엇을 암시했는지 깨달았어요.

저는 제가 우리의 병합된 플러그인 전체를 강제로 적용하려는 줄 알았어요. 제 표현이 잘못되었습니다.

물론 standalone 버전은 항상 그랬던 것처럼 아래에서 여전히 사용할 수 있습니다:

https://github.com/TripleU613/dumbcourse

제가 jtechforums 사용자에게 강제 적용하는 줄 알았네요. 죄송합니다 :slight_smile:

우리의 사용 사례에서는 우리가 필요로 했던 특정 기능들이 너무 많아서 개별 플러그인으로 관리하기가 너무 어려웠기 때문에 우리에게 맞춤으로 만들었습니다. 하지만 standalone dumbcourse 코드는 여전히 위 링크에 있습니다.

포크를 하거나, 기여를 원하신다면 @TripleU에게 아카이브 해제해달라고 요청할 수 있습니다.

4개의 좋아요

이 새로운 메타 플러그인이 사이드바에 '첫 게시물 체크리스트’를 추가하는 건가요? 아마 미니-모드 구현 때문일까요? 아니라면 죄송합니다. 이 버튼을 추가하는 플러그인/컴포넌트가 무엇인지 알고 싶습니다.

다시 한번 말씀드리지만, discoursedumb을 사용할 예정입니다. 정말 빛을 발할 거라고 생각하는 Tor에서 테스트해 볼 계획입니다. 유지해 주셔서 감사합니다.

현재 플러그인이 id:discourse.modify-class-model 관련 호환성 오류를 표시하고 있다는 점만 말씀드립니다.

솔직히 저는 아직 AI의 도움을 받아 플러그인과 테마 컴포넌트 개발을 막 시작하는 단계입니다. 이러한 상황을 해결하기 위해 곧 PR을 제출할 수 있기를 바랍니다. 당분간은 여전히 학습 중입니다.

Dumbcourse는 우리에게 매우 유용합니다. 업데이트가 이루어지기를 바랍니다.

즐거워하고 계시다는 소식을 듣고 기쁩니다.

지금은 손이 많이 가지만, 이 댓글에 다음 주에 답장을 주시면 모든 것을 진행해 보겠습니다.

jtechtools의 dumbcourse(마스터 플러그인)를 확인해 보시면, 해당 문제를 수정했다고 생각합니다. 스탠드얼론 버전에도 적용할 수 있습니다.

실제로 실행 중인 discourse 인스턴스에서 전체 테스트를 제대로 수행하신다면, AI에 의한 풀 리퀘스트를 언제든지 환영합니다(저는 로컬에서 최소한으로 필요한 것만 실행합니다).

1개의 좋아요

여러분, 안녕하세요. 좀 독특한 주제이지만 이렇게 올립니다:

우리는 기술 포럼이라 Discourse 플러그인에 대해 어느 정도는 잘 알고 있죠 — 적어도 위험할 정도로요…

시간이 지나면서 개별 플러그인이 너무 많이 쌓였고, 어느 시점부터는 그것들을 모두 관리하는 것이 혼란스러워지기 시작했습니다. 그래서 내부적으로 조직적이고 모듈화되며 적절히 분리된 상태를 유지하면서 모든 것을 하나의 큰 플러그인으로 통합했습니다.

Dumbcourse도 함께 포함되었습니다.

현재 안에 들어 있는 것은 다음과 같습니다:

JTech Tools

하나의 번들 Discourse 플러그인, 9개의 모듈, 그리고 각 모듈마다 독립적인 켜기/끄기 스위치가 있습니다.

  1. Dislike / Phantom Reactions
    선택된 카테고리에서 좋아요가 사실상 '팬텀(유령) 좋아요’가 됩니다. 이들은 정상적으로 계산되거나 표시되지 않으며, 히스토리에서 숨겨지고, 리더보드에서 제거되며, 관련 알림이 자동으로 정리됩니다. 선택적으로 그룹 허용 목록, 감사 로그, 그리고 정지(purge) 작업도 있습니다.

  2. Another SMTP
    자체 서버, 포트, TLS/인증 설정, 선택적인 발신 도메인 재작성, 그리고 커스텀 타임아웃을 가진 대체 발신 메일 릴레이를 구성할 수 있게 해줍니다.

  3. Mini-mod
    카테고리 그룹 모더레이터에게 카테고리 생성/편집, 주제 편집/이동 등 추가적인 모더레이션 권한을 부여합니다. 모든 권한은 개별 토글로 제어되며, TL4(최고 관리자) 수준의 권한에 대한 제한이 있습니다.

  4. Mod Tooling / Mod Categories
    이는 다음과 같은 스태프 도구의 더 큰 컬렉션입니다:

    • 모더레이터 속삭임 / 대상 지정 답변

    • 답변 스레드가 있는 비공개 주제 노트

    • 삭제된 게시물, 승인/거절된 큐 게시물, 사용자 노트, 플래그 노트 등 스태프 이벤트 알림

    • 전용 실드 탭 이벤트 피드

    • 고정, 프롬프트, 푸터 메시지, 답변 승인 등 주제 도구

    • 대상 지정 및 첫 게시물 체크리스트

    • 배지/그룹 DM 대상 지정

    • 주제 프롬프트 체크리스트

  5. Dumbcourse
    포럼의 /dumb 경로에서 사용할 수 있는 단순화된 SPA 프런트엔드입니다.

    hCaptcha, 자체 push/SSE/ntfy 알림 엔드포인트, LanguageTool 프록시, 리액션, 그리고 메인 포럼에서 브리징된 커스텀 이모지를 포함합니다.

  6. Translator Tweaks
    공식 번역기 플러그인을 위한 몇 가지 패치 및 동작 변경 사항으로, 외국어 감지 백필(backfill) 및 기타 몇 가지 조정을 포함합니다.

  7. Smart Search
    검색 결과가 너무 적을 때 WordNet + 기술 용어 동의어 확장을 사용합니다.

    모든 것이 외부 서비스 없이 프로세스 내에서 실행되며, 문제가 발생하면 단순히 일반적인 Discourse 검색으로 폴백됩니다.

  8. Desktop Pop-up Notifications
    새로운 포럼 알림에 대한 젤리(Jelly) 스타일 토스트 알림입니다. 데스크톱 전용이며, 사용자별 옵트인 방식이고, 설정 가능한 타임아웃이 있습니다.

  9. Disteleplus
    이 부분은 꽤 큰 규모로 성장했습니다.

    Discourse 내부의 네이티브 싱글룸 팀 채팅으로, 드로어 또는 전체 페이지 인터페이스를 통해 사용할 수 있으며, 다음과 같은 기능을 제공합니다:

    • 리액션

    • 답변

    • 음성 메모

    • 검색

    • 저장 시 암호화

    • 입력 표시기

    • 멘션

    • 링크 미리보기

    Telegram과 양방향으로 브리징되어 있으며, 포럼 게시물 공지 및 포럼 업로드 아카이브도 지원합니다.

    원래 이 기능을 만든 이유는 우리 스태프 중 WhatsApp을 가지고 있거나 원하는 사람이 없었으며, Telegram을 가진 사람도 모두 아니었기 때문입니다. 그래서 해결책은 포럼 내부에 직접 Telegram과 유사한 UI를 갖춘 Telegram, 양쪽이 동기화되는 형태로 발전했습니다.

모든 기능은 자체 설정 섹션을 가지고 있으며 독립적으로 끌 수 있습니다.

그러니까 이건 일종의 패키지 딜이지만, 대부분의 기능이 유용하다고 생각하므로 다른 커뮤니티에서도 이를 유용하게 사용할 수 있기를 바랍니다.

누군가가 개별 모듈을 별도의 플러그인으로 분리하거나, 포크하거나, 자체 버전을 유지보수하고 싶다면 자유롭게 하십시오.

우리는 물론 메인 플러그인을 스스로 유지보수하고 있지만, 세계 최고의 전문 Discourse 플러그인 개발자라고 주장하지는 않습니다. 이 프로젝트를 만들 때 상당 부분 AI가 사용되었으므로, 버그/저품질 코드(slop), 기이한 엣지 케이스, 그리고 때때로 의심스러운 결정들이 있을 수 있음을 기대하십시오.

기여, 수정, 정리 및 개선은 매우 환영합니다.

이 모든 것을 하나의 플러그인에 넣은 약간 미친 듯한 접근법을 여러분이 용서해 주시기를 바랍니다.

그리고 물론, 지금까지 기여해 준 모든 JTech 멤버들에게 감사를 드립니다.


2개의 좋아요