Caricamento della scheda utente fallito

Dopo l’aggiornamento della versione, ho scoperto che non potevo caricare la scheda utente cliccando sull’avatar dell’utente, e quando sono entrato nelle impostazioni delle informazioni personali, è apparso il messaggio che la pagina non poteva essere trovata.

Ho aggiornato ieri e le Schede Utente si caricano correttamente per me.

Verifica la modalità sicura. Se va bene, allora forse hai un problema in uno dei tuoi Temi o Componenti del Tema?

Potresti fornire eventuali errori sulla console?

Sono in modalità provvisoria e ancora non riesco a caricare, ecco le informazioni del mio log


Impossibile gestire l'eccezione nel middleware dell'app di eccezione : ActiveRecord::StatementInvalid : PG::UndefinedTable: ERRORE: relazione "gamification_leaderboard_cache_1_all_time" non esiste LINEA 1: ...p.t

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERRORE: relazione "gamification_leaderboard_cache_1_all_time" non esiste LINEA 1: ...p.total_score, p.position FROM "users" INNER JOIN gamificati.

Potrebbe essere rilevante, ma mi riferivo ai log del browser, puoi condividerli?

cioè la console del browser. (spesso aperta con F12)

topic-creator-avatar.hbr:1  [THEME 300 '最新主题摘要'] Compile error: unknown file extension 'hbr' (discourse/connectors/topic-list-before-columns/topic-creator-avatar.hbr)
(匿名) @ topic-creator-avatar.hbr:1
[新] 使用 Edge 中的 Copilot 来解释控制台错误: 单击
         
         以说明错误。
        了解更多信息
        不再显示
composer-action-title.js:62 ℹ️ Discourse v3.5.0.beta5-dev — https://github.com/discourse/discourse/commits/7820dd2b8f — Ember v5.12.0
post-placeholder.js:53  [PLUGIN discourse-chain-topics] Deprecation notice: Defining connector classes via registerConnectorClass is deprecated. See https://meta.discourse.org/t/32727 for more modern patterns. [deprecation id: discourse.register-connector-class-legacy]
o @ post-placeholder.js:53
p @ topic-link.js:12
registerConnectorClass @ group.js:15
(匿名) @ topic-custom-field-initializer.js:32
e1 @ group.js:15
initialize @ topic-custom-field-initializer.js:13
(匿名) @ composer-action-title.js:62
(匿名) @ item.js:166
e.each @ form-template-validation.js:54
e.walk @ form-template-validation.js:54
e.each @ form-template-validation.js:54
e.topsort @ form-template-validation.js:54
_runInitializer @ item.js:166
runInstanceInitializers @ item.js:166
_bootSync @ composer-action-title.js:62
didBecomeReady @ index.js:93
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_ensureInstance @ client-error-handler.js:88
schedule @ client-error-handler.js:88
f @ bookmark.js:114
waitForDOMReady @ index.js:93
init @ index.js:93
_ @ caret-position.js:86
create @ caret-position.js:86
(匿名) @ start-app.js:4
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
post-placeholder.js:53  [PLUGIN discourse-chain-topics] Deprecation notice: Defining connector classes via registerConnectorClass is deprecated. See https://meta.discourse.org/t/32727 for more modern patterns. [deprecation id: discourse.register-connector-class-legacy]
o @ post-placeholder.js:53
p @ topic-link.js:12
registerConnectorClass @ group.js:15
(匿名) @ topic-custom-field-initializer.js:83
e1 @ group.js:15
initialize @ topic-custom-field-initializer.js:13
(匿名) @ composer-action-title.js:62
(匿名) @ item.js:166
e.each @ form-template-validation.js:54
e.walk @ form-template-validation.js:54
e.each @ form-template-validation.js:54
e.topsort @ form-template-validation.js:54
_runInitializer @ item.js:166
runInstanceInitializers @ item.js:166
_bootSync @ composer-action-title.js:62
didBecomeReady @ index.js:93
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_ensureInstance @ client-error-handler.js:88
schedule @ client-error-handler.js:88
f @ bookmark.js:114
waitForDOMReady @ index.js:93
init @ index.js:93
_ @ caret-position.js:86
create @ caret-position.js:86
(匿名) @ start-app.js:4
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
post-placeholder.js:53  [PLUGIN discourse-chain-topics] Deprecation notice: Defining connector classes via registerConnectorClass is deprecated. See https://meta.discourse.org/t/32727 for more modern patterns. [deprecation id: discourse.register-connector-class-legacy]
o @ post-placeholder.js:53
p @ topic-link.js:12
registerConnectorClass @ group.js:15
(匿名) @ topic-custom-field-initializer.js:141
e1 @ group.js:15
initialize @ topic-custom-field-initializer.js:13
(匿名) @ composer-action-title.js:62
(匿名) @ item.js:166
e.each @ form-template-validation.js:54
e.walk @ form-template-validation.js:54
e.each @ form-template-validation.js:54
e.topsort @ form-template-validation.js:54
_runInitializer @ item.js:166
runInstanceInitializers @ item.js:166
_bootSync @ composer-action-title.js:62
didBecomeReady @ index.js:93
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_ensureInstance @ client-error-handler.js:88
schedule @ client-error-handler.js:88
f @ bookmark.js:114
waitForDOMReady @ index.js:93
init @ index.js:93
_ @ caret-position.js:86
create @ caret-position.js:86
(匿名) @ start-app.js:4
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
discourse-home-page.js:79  discourse-home-page error: invalid path ""
s @ discourse-home-page.js:79
initialize @ discourse-home-page.js:42
(匿名) @ composer-action-title.js:62
(匿名) @ item.js:166
e.each @ form-template-validation.js:54
e.walk @ form-template-validation.js:54
e.each @ form-template-validation.js:54
e.topsort @ form-template-validation.js:54
_runInitializer @ item.js:166
runInstanceInitializers @ item.js:166
_bootSync @ composer-action-title.js:62
didBecomeReady @ index.js:93
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_ensureInstance @ client-error-handler.js:88
schedule @ client-error-handler.js:88
f @ bookmark.js:114
waitForDOMReady @ index.js:93
init @ index.js:93
_ @ caret-position.js:86
create @ caret-position.js:86
(匿名) @ start-app.js:4
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
one-version.js:10  DEPRECATION: Components with separately resolved templates are deprecated. Migrate to either co-located js/ts + hbs files or to gjs/gts. Tried to lookup 'template:components/sidebar-theme-toggle'. [deprecation id: component-template-resolving] This will be removed in ember-source 6.0.0. See https://deprecations.emberjs.com/id/component-template-resolving for more details.
(匿名) @ one-version.js:10
(匿名) @ base.js:71
(匿名) @ deprecate.js:100
(匿名) @ base.js:71
(匿名) @ deprecate.js:100
(匿名) @ base.js:71
l @ index.js:49
(匿名) @ render-tags.js:60
(匿名) @ base.js:71
u @ index.js:49
(匿名) @ base.js:71
(匿名) @ base.js:71
(匿名) @ base.js:71
(匿名) @ bookmark.js:114
(匿名) @ base.js:71
(匿名) @ form-template-validation.js:54
(匿名) @ base.js:71
s @ post-placeholder.js:53
(匿名) @ base.js:71
r @ base.js:71
c @ deprecate.js:100
k @ upload.js:65
h @ binary.js:7
(匿名) @ theme-setting.js:6
(匿名) @ theme-setting.js:6
lookupComponent @ theme-setting.js:6
(匿名) @ theme-setting.js:6
A @ theme-setting.js:6
o @ theme-setting.js:6
(匿名) @ theme-setting.js:6
compile @ theme-setting.js:6
ef @ theme-setting.js:6
(匿名) @ theme-setting.js:6
compile @ theme-setting.js:6
compile @ backup-codes.js:33
(匿名) @ backup-codes.js:33
evaluate @ backup-codes.js:33
evaluateSyscall @ backup-codes.js:33
evaluateInner @ backup-codes.js:33
evaluateOuter @ backup-codes.js:33
next @ backup-codes.js:33
_execute @ backup-codes.js:33
execute @ backup-codes.js:33
sync @ backup-codes.js:33
(匿名) @ theme-setting.js:6
(匿名) @ theme-setting.js:6
tA @ backup-codes.js:33
_renderRoots @ theme-setting.js:6
_renderRootsTransaction @ theme-setting.js:6
_renderRoot @ theme-setting.js:6
_appendDefinition @ theme-setting.js:6
appendOutletView @ theme-setting.js:6
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_end @ client-error-handler.js:88
(匿名) @ client-error-handler.js:88
Promise.then
(匿名) @ client-error-handler.js:88
flush @ bookmark.js:114
_scheduleAutorun @ client-error-handler.js:88
_ensureInstance @ client-error-handler.js:88
schedule @ client-error-handler.js:88
f @ bookmark.js:114
waitForDOMReady @ index.js:93
init @ index.js:93
_ @ caret-position.js:86
create @ caret-position.js:86
(匿名) @ start-app.js:4
(匿名) @ discourse-boot.js:13
(匿名) @ discourse-boot.js:1
includes.js?v=116e2a6fd81c286e004e2a0afb03baa1:840 
            
            
            GET https://www.tometo.me/u/shen_hualuo/card.json 500 (Internal Server Error)
(匿名) @ includes.js?v=116e2a6fd81c286e004e2a0afb03baa1:840
send @ jquery.js:7408
ajax @ jquery.js:7408
a @ base.js:71
(匿名) @ named-references.js:49
e @ named-references.js:49
A @ base.js:71
(匿名) @ moment.js:257
(匿名) @ group.js:15
(匿名) @ named-references.js:49
e @ named-references.js:49
getAndRemove @ group.js:15
findDetails @ moment.js:257
findByUsername @ moment.js:257
_showCallback @ item.js:166
(匿名) @ topic-link.js:12
invoke @ client-error-handler.js:88
flush @ client-error-handler.js:88
flush @ client-error-handler.js:88
_end @ client-error-handler.js:88
end @ client-error-handler.js:88
_runExpiredTimers @ client-error-handler.js:88
setTimeout
setTimeout @ client-error-handler.js:88
_installTimerTimeout @ client-error-handler.js:88
_reinstallTimerTimeout @ client-error-handler.js:88
_later @ client-error-handler.js:88
later @ client-error-handler.js:88
T @ bookmark.js:114
_show @ topic-link.js:12
_showCardOnClick @ topic-link.js:12
_cardClickHandler @ topic-link.js:12
_run @ client-error-handler.js:88
_join @ client-error-handler.js:88
join @ client-error-handler.js:88
p @ bookmark.js:114
(匿名) @ bookmark.js:114

includes.js?v=116e2a…04e2a0afb03baa1:840 
 
 GET https://www.tometo.me/u/shen_hualuo.json 500 (Internal Server Error)
(匿名)	@	includes.js?v=116e2a…04e2a0afb03baa1:840
send	@	jquery.js:7408
ajax	@	jquery.js:7408
a	@	base.js:71
(匿名)	@	named-references.js:49
e	@	named-references.js:49
A	@	base.js:71
(匿名)	@	moment.js:257
(匿名)	@	group.js:15
(匿名)	@	named-references.js:49
e	@	named-references.js:49
getAndRemove	@	group.js:15
findDetails	@	moment.js:257
afterModel	@	post-placeholder.js:53
runAfterModelHook	@	topic-link.js:12
(匿名)	@	topic-link.js:12
k	@	named-references.js:49
w	@	named-references.js:49
invoke	@	client-error-handler.js:88
flush	@	client-error-handler.js:88
flush	@	client-error-handler.js:88
_end	@	client-error-handler.js:88
(匿名)	@	client-error-handler.js:88
Promise.then		
(匿名)	@	client-error-handler.js:88
flush	@	bookmark.js:114
_scheduleAutorun	@	client-error-handler.js:88
_ensureInstance	@	client-error-handler.js:88
schedule	@	client-error-handler.js:88
(匿名)	@	hashtag-autocomplete.js:158
T	@	named-references.js:49
resolve	@	topic-link.js:12
T	@	form-template-validation.js:54
getTransitionByIntent	@	topic-link.js:12
transitionByIntent	@	topic-link.js:12
doTransition	@	topic-link.js:12
transitionTo	@	topic-link.js:12
_doTransition	@	upload.js:65
transitionTo	@	binary.js:7
(匿名)	@	theme-setting.js:6
l	@	UIPlugin.js:138
click

Quindi non credo che fossi in modalità di sicurezza.

Questo componente sembra causare un problema:

topic-creator-avatar.hbr:1  [THEME 300 'Riassunto dei nuovi argomenti'] Errore di compilazione: estensione del file sconosciuta 'hbr' (discourse/connectors/topic-list-before-columns/topic-creator-avatar.hbr)
(anonimo) @ topic-creator-avatar.hbr:1

Questo perché i modelli hbr (raw) non sono più supportati.

Segnala il problema all’autore di quel tema.

@manuel non hai riscontrato anche tu questo problema?

1 Mi Piace

Quindi questi sembrano correlati.

Sembra che Gamification stia modificando i dati dell’utente e stia generando un errore.

Quindi ciò spiega quasi certamente perché la User Card non viene caricata.

Mi sembra che tu abbia più di un problema e che siano correlati ai componenti aggiuntivi, non a Core Discourse.

Suggerirei di rimuovere:

  • Plugin Gamification
  • Qualsiasi componente del tema ([THEME 300 ‘最新主题摘要’]) che causi quell’altro errore del browser (deve essere riscritto per evitare l’uso di modelli .hbr)

finché non sarai in grado di risolvere tali problemi.

Suggerisco di segnalare l’errore di Gamification nell’Argomento Gamification.

Essendo un plugin official, puoi anche segnalare un bug nella categoria Bug (anche se ricorda di aggiungere il tag gamification). :partying_face:

1 Mi Piace

È vero.

In ogni caso, questo argomento ora tratta due questioni, e probabilmente dovrebbero essere suddivise in due.

Il problema del caricamento della scheda utente è molto probabilmente un problema di Gamification, quindi forse usate questa per quello. tag gamification aggiunto.

1 Mi Piace

(ok quindi QUESTO è confuso: l’interfaccia di modifica dei metadati dell’argomento è cambiata!)

Sì.

Screenshot From 2025-05-13 11-54-39

Quello è successo quando ho provato a installare un backup. L’accesso alle user-cards e alle user-pages non è riuscito finché non ho eliminato la classifica dal backup.

modifica: a parte questo, sembra che il mio screenshot non si apra in una light-box? L’upload era largo 1693px, ma ne mostra solo 690.

1 Mi Piace

Sembra molto draconiano. Mi chiedo se ci sia una soluzione più leggera?

1 Mi Piace

Questo sembra potenzialmente correlato:

Sì, strano, originale qui per le persone che vogliono effettivamente leggerlo :slight_smile:

Potrebbe esserlo. Questa migrazione elimina le viste cache versionate che hanno _x attaccato alla fine (dove x è una cifra). Ma la tabella che manca è una tabella non versionata (senza _x).

@sheng_hualuo puoi provare a eseguire questo da una console rails?

DiscourseGamification::LeaderboardCachedView.regenerate_all

2 Mi Piace

«Ma la tabella che manca è una tabella senza versione (senza _x).

gamification_leaderboard_cache_1_all_time non è questa la versione?

Penso che per qualche motivo la convenzione di denominazione sia stata cambiata.»

No, quell’ID classificata è l’ID della classifica. È tutto spiegato nel messaggio di commit del commit che hai menzionato.

Inoltre, guarda l’espressione regolare 'gamification_leaderboard_cache_[0-9]+_[a-zA-Z_]+_[1-9]$'

1 Mi Piace

Ah, tutto questo inizia a avere senso. Quindi la versione (ehm) è stata rimossa, ma per qualche motivo la nuova versione (ehm) non è stata realizzata.

1 Mi Piace

Non ho la traccia completa, ma credo che l’errore si verifichi durante la serializzazione di gamification_score per la user card.

Data la natura transitoria di queste viste materializzate, la ricerca di un punteggio non dovrebbe causare un errore a livello di sistema; dovrebbe ripiegare su un “punteggio predefinito” quando la vista non esiste.

C’è un bug nel controllo dell’esistenza della vista materializzata qui. Segnala che una vista esiste quando in realtà non esiste (almeno non nello schema public corrente), il che porta a una ricerca su una vista inesistente che causa l’errore.

Penso che sia successo questo: la vista materializzata era presente nello schema backup creato come parte del ripristino, ma non nello schema public. Lo schema backup viene mantenuto per un po’ di tempo dopo il ripristino.

Ho una PR pronta con una correzione.

3 Mi Piace