binaryage / binaryage/dirac

Missing is<Browser> methods with recent versions of ClojureScript

Aperta
#97 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Clojure
Stelle
776
Fork
29
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I'm getting a number of warnings about missing `is` methods when compiling with recent versions of ClojureScript (it seems to have been introduced by version [1.10.896](https://github.com/clojure/clojurescript/releases/tag/r1.10.896)):

```
[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isOpera

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isIE

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isEdge

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isFirefox resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isSafari resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isCoast resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/dirac/runtime/repl.cljs line:23 column:13
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/devtools/async.cljs line:13 column:14
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/devtools/formatters.cljs line:17 column:13
```

It looks like these methods have been removed from Google Closure Library. As far as I can see `get-current-browser-name` is only used within the various different `transit.json` files, and as I'm unfamiliar with what these do within Dirac, I'm not sure what the right fix might be?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando resources/public/cljs-out/dirac/runtime/util.cljs, in particolare get-current-browser-name e la chiamata a ua-browser/getVersion, quindi controlla i riferimenti correlati in runtime/repl.cljs, devtools/async.cljs e devtools/formatters.cljs. Esamina i file transit.json per capire come viene utilizzato il nome del browser. Il lavoro è completato quando la compilazione con una versione recente di ClojureScript non segnala più avvisi undeclared relativi a goog.labs.userAgent.browser/is.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
clojure, javascript, json
Ambito
devtools
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.