インラインPDFプレビュー

どういう意味ですか?これは desktop コンポーネントです。

念のため確認ですが、Discourse ではインライン PDF プレビューは引き続きサポートされています。

私の質問は、テーマコンポーネント自体に関するもので、最新の Discourse バージョンでは現在コンソールに非推奨の警告が表示されています。

非推奨となった API の使用法(例:プラグイン API / Ember フック)を更新するために PR が必要になりますか、それともすでに近代化に向けた作業が進行中ですか?

「いいね!」 2

これが official とマークされているため、手遅れになる前に更新されると仮定するのは妥当です。

「いいね!」 4

投稿が新しいトピックに分割されました: Scribdに似たゲーティングシステム

はい、上記の私の機能PR は非推奨のAPIを修正します。しかし、まだ作業が必要で、私はそれを見直す時間がありませんでした。

「いいね!」 1

モバイルデバイスでのPDFの表示が許可されていないことにがっかりしています。phpBBは使いにくいので、phpBBサイトをDiscourseに移行したいと考えていますが、pdf.jsを使ってPDFを埋め込む機能をボードにハックしました。pdf.jsを使うとズームやパンが可能になります。デスクトップほど堅牢ではありませんが、マニュアルのために家に戻ることなくガレージでマニュアルをスキャンするのに役立ちます。この例はマニュアルではありませんが、その原理を示しています:Bulletin #361 - A Diesel in America

Facebookにユーザーを奪われており、主にモバイルデバイスで奪われています。Discourseの統合でユーザーを取り戻したいと思っています。しかし、ハンドヘルドでPDFが見られなくなるのは私にとって勝利ではありません。

-ダン

「いいね!」 3

BraveでPDFがレンダリングされないようです。Mac OS上では(少なくとも25から26.2にかけて)…

「いいね!」 1

コンソールに discourse.static-viewport-initialization の非推奨警告が表示されます。

log_manager.js:98 [Gemini Nexus] Background Service Worker Started
index.js:4  Gemini Nexus v4.2.3 Ready 
runtime.ts:81 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
(匿名) @ deprecate.js:72
s.computed @ handlers.js:10
(匿名) @ deprecate.js:108
s.computed @ handlers.js:10
(匿名) @ deprecate.js:116
s.computed @ handlers.js:10
(匿名) @ index.js:75
(匿名) @ index.js:110
s.computed @ handlers.js:10
(匿名) @ index.js:115
s.computed @ handlers.js:10
r @ handlers.js:19
l @ deprecate.js:189
k @ index.js:31
p @ index.js:126
o @ index.js:31
n @ runtime.ts:81
<static_initializer> @ external-link-confirm.gjs:18
(匿名) @ external-link-confirm.gjs:18
app.js:297 ℹ️ Discourse v2026.1.0-latest — https://github.com/discourse/discourse/commits/1c90b0dd85 — Ember v6.6.0
deprecated.js:52 DEPRECATION NOTICE: Accessing `site.mobileView` or `site.desktopView` during the site initialization can lead to errors and inconsistencies when the browser window is resized. Please move these checks to a component, transformer, or API callback that executes during page rendering. [deprecated since Discourse 3.5.0.beta9-dev] [deprecation id: discourse.static-viewport-initialization] [info: https://meta.discourse.org/t/367810]
d @ deprecated.js:52
get mobileView @ site.js:123
(匿名) @ compat.js:22
X @ index.js:416
i.get @ compat.js:21
(匿名) @ initialize-for-pdf-preview.js:10
eH @ plugin-api.gjs:3363
initialize @ initialize-for-pdf-preview.js:9
i.initialize @ app.js:265
(匿名) @ index.js:379
e.each @ index.js:183
e.walk @ index.js:112
e.each @ index.js:59
e.topsort @ index.js:65
_runInitializer @ index.js:392
runInstanceInitializers @ index.js:377
_bootSync @ instance.js:116
didBecomeReady @ index.js:784
invoke @ index.js:262
flush @ index.js:180
flush @ index.js:334
_end @ index.js:762
_boundAutorunEnd @ index.js:499
Promise.then
(匿名) @ index.js:18
flush @ index.js:29
_scheduleAutorun @ index.js:928
_ensureInstance @ index.js:919
schedule @ index.js:618
f @ index.js:343
waitForDOMReady @ index.js:512
init @ index.js:412
_ @ core.js:97
create @ core.js:599
(匿名) @ start-app.js:18
await in (匿名)
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
loader.js:46 Lazy dependencies loading...

私は、このコンポーネントにモバイルサポートとPDF.jsの統合を追加するプルリクエスト(PR)を5週間以上前に提出しましたが、まだフィードバックがありません。他の人にとっても役立つかもしれないので、改良したフォークを共有します。

https://github.com/shortmort37/discourse-pdf-previews

主な改善点:

  • モバイルデバイスサポート(モバイルブロックを削除)
  • ページナビゲーションとズームコントロールを備えたPDF.jsレンダリング
  • 「新しいタブ」モードでのサムネイルプレビュー
  • .attachment クラスがないPDFでも動作(移行に最適)
  • モバイルでのピンチツーズーム

私は、変換されたphpBBコンテンツを使用して、2か月以上にわたり59plymouth.netでこれを実行しており、デスクトップとモバイルの両方でうまく機能しています。

インストール方法:管理者 → 外観 → テーマ → Gitからインストール → 上記のURLを貼り付け

メンテナーがレビューを希望する場合に備えて、PRはまだオープンです:Add PDF.js integration with mobile support by shortmort37 · Pull Request #49 · discourse/discourse-pdf-previews · GitHub

「いいね!」 6

みなさん、こんにちは。

このコンポーネントを使っているのですが、管理者としてログインした際に次のことに気づきました:
image

「いいね!」 2

GitHub上のPRの説明は素晴らしいですね! :star_struck: 私自身もこのコンポーネントを多数のDiscourseサイトや様々な用途で活用しており、デスクトップ版のようにモバイルでもスムーズに動作するのを心から願っています。チームが早急にPRを確認してくれることを期待しています。

(また、管理者通知も確認しました。当面はこのコンポーネントを無効化しています)

2026.7.0-latest +288 の上で

github.com/discourse/discourse-pdf-previews

概要 ライセンス

アップデートを確認しました。最終確認: 9分前


Default を削除したので、このコンポーネントがインストールされているテーマはなくなりました

「いいね!」 1

@tpetrov これは今修正されました :+1:

「いいね!」 6

@tobiaseigen さん、こんにちは。あなたが目にした管理者通知は、上記の議論の背景にある非推奨警告である可能性が極めて高いです。これは、元のコンポーネント内の古いモバイル検出呼び出しから発生しています。私のフォークでは異なるアプローチを採用しています。つまり、その呼び出しをパッチ修正するのではなく、モバイル制限を完全に撤廃しています(PDFをモバイルでレンダリング可能にすることが本来の目的でした)。そのため、非推奨のコードパスは完全に削除されています。また、その後、最新の上流の変更を私のブランチにマージしましたので、最新の状態です。

試してみたい場合は、以下のGitからインストールできます:
https://github.com/shortmort37/discourse-pdf-previews
feature/pdfjs-mobile-support ブランチを使用してください(インストールダイアログの「詳細」オプションにブランチ入力欄があります)。

私が行ったテストから得た1つのヒント:インストール後、コンポーネントで「アップデートの確認」を1回実行し、その後ハードリフレッシュを行ってください。DiscourseはコンパイルされたテーマのJSをキャッシュするため、この手順により現在実行中のコードが最新であることを確認できます。

これは公式のコンポーネントではなく、PDF.jsレンダリング、ページナビゲーション、ズーム、新タブモードでのサムネイル表示などの追加機能を含む私の個人フォークであることをご了承ください。これらの変更を上流に統合するための私のPR(#49)は現在オープンで、レビューを待っています。ご質問があればお気軽にお答えします。