Cosa intendi? Questo è un componente desktop.
Per essere chiari: so che le anteprime PDF inline sono ancora supportate in Discourse.
La mia domanda riguarda specificamente il componente tema stesso: attualmente genera avvisi di deprecazione nella console sulle versioni recenti di Discourse.
Sarebbe necessaria una PR per aggiornare l’utilizzo dell’API deprecata (ad esempio, API dei plugin / hook Ember), o c’è già un lavoro in corso per modernizzarlo?
Dato che è contrassegnato come official, è ragionevole presumere che verrà aggiornato prima che sia troppo tardi.
Un post è stato diviso in un nuovo argomento: Sistema di blocco simile a Scribd
Sì, la mia PR di funzionalità sopra corregge l’API deprecata. Tuttavia, necessita di ulteriore lavoro e sono stato troppo impegnato per dargli un’altra occhiata.
Sono deluso dal fatto che la visualizzazione di un pdf su un dispositivo mobile non sia consentita. Spero di migrare il mio sito phpBB a Discourse, perché phpBB è macchinoso, ma ho modificato una funzionalità sulla mia bacheca usando pdf.js che mi permette di incorporare pdf. E pdf.js ti permette di ingrandire e spostare l’immagine, anche se non è così robusto come sul desktop, è utile in garage per scansionare un manuale senza dover tornare in casa. Questo esempio non è quello di un manuale, ma dimostra il principio: Bulletin #361 - A Diesel in America
Facebook mi sta mangiando il pranzo, e principalmente con dispositivi mobili - spero di riconquistare utenti con un’integrazione Discourse. Ma perdere il pdf sul portatile non è una vittoria per me.
-Dan
La console mostra un avviso di deprecazione 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...
Ho inviato una Pull Request (PR) aggiungendo il supporto mobile e l’integrazione di PDF.js a questo componente più di 5 settimane fa, ma non ho ancora ricevuto alcun feedback. Dato che altri potrebbero trovarla utile, condivido il mio fork migliorato:
https://github.com/shortmort37/discourse-pdf-previews
Miglioramenti chiave:
- Supporto per dispositivi mobili (rimuove il blocco mobile)
- Rendering PDF.js con navigazione pagina e controlli zoom
- Anteprime in miniatura in modalità “Nuova scheda”
- Funziona con PDF privi della classe .attachment (ottimo per le migrazioni)
- Pinch-to-zoom su dispositivi mobili
Lo sto eseguendo su 59plymouth.net da oltre 2 mesi con contenuti phpBB convertiti - funziona benissimo sia su desktop che su mobile.
Installazione: Admin → Aspetto → Temi → Installa da Git → incolla l’URL sopra
La PR è ancora aperta se i manutentori vogliono rivederla: Add PDF.js integration with mobile support by shortmort37 · Pull Request #49 · discourse/discourse-pdf-previews · GitHub
Ciao a tutti,
Sto utilizzando il componente e ho appena notato questo mentre ero collegato come amministratore:
![]()
La descrizione di quella PR su GitHub è fantastica!
Anche io dipendo da questo componente per numerose funzionalità e su diversi siti Discourse, e vorrei molto che funzionasse sui dispositivi mobili altrettanto bene che sul desktop. Spero che il team possa esaminare la PR al più presto.
(Sto anche vedendo la notifica per gli amministratori, e ho disabilitato il componente per il momento)
github.com/discourse/discourse-pdf-previews
Verifica aggiornamenti eseguita, ultima verifica: 9 minuti fa
rimosso Default in modo che non ci siano temi in cui questo componente è installato
@tpetrov è stato ora corretto ![]()
Ciao @tobiaseigen — la notifica per l’amministratore che hai visto è quasi certamente l’avviso di deprecazione menzionato nella discussione sopra; proviene dalla chiamata di rilevamento mobile più vecchia nel componente originale. Il mio fork adotta un approccio diverso: invece di correggere quella chiamata, rimuove del tutto la restrizione per i dispositivi mobili (l’obiettivo principale era consentire la rendering dei PDF sui dispositivi mobili), quindi quel percorso di codice deprecato è stato eliminato completamente. Ho anche unito le ultime modifiche upstream nel mio ramo, quindi è aggiornato.
Se vuoi provarlo, puoi installarlo da git all’indirizzo:
https://github.com/shortmort37/discourse-pdf-previews
— utilizzando il ramo feature/pdfjs-mobile-support (c’è un campo per il ramo sotto l’opzione “avanzate” nella finestra di dialogo di installazione).
Un consiglio basato sui miei test: dopo l’installazione, esegui “Verifica aggiornamenti” sul componente una volta e poi fai un aggiornamento forzato — Discourse memorizza nella cache il JS del tema compilato e questo passaggio assicura che tu stia eseguendo il codice corrente.
Tieni presente che si tratta del mio fork personale con funzionalità aggiuntive (rendering PDF.js, navigazione tra le pagine, zoom, miniature in modalità nuova scheda) piuttosto che del componente ufficiale, e la mia PR per integrare queste modifiche upstream (#49) è ancora aperta e in attesa di revisione. Sono felice di rispondere a qualsiasi domanda.

