Opened 5 years ago
Last modified 9 months ago
#18398 new defect
NPE in WikipediaToggleDialog with language code yue
Reported by: | anonymous | Owned by: | floscher |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin wikipedia | Version: | latest |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Update JOSM to 15553
- Run as usual
- Open any Imagery
What is the expected result?
Run without any issud
What happens instead?
- An update plugin dialog box popup.
- Click update plugin.
- Warning dialog box popup and plugins are not loaded
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2019-12-01 23:10:15 +0100 (Sun, 01 Dec 2019) Revision:15553 Build-Date:2019-12-02 02:30:57 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (15553 en) Mac OS X 10.15 OS Build number: Mac OS X 10.15 (19A583) Memory Usage: 521 MB / 2048 MB (198 MB allocated, but free) Java version: 13.0.1+9, AdoptOpenJDK, OpenJDK 64-Bit Server VM Screen: Display 69679052 1440x900 Maximum Screen Size: 1440x900 Plugins: + DirectDownload (35221) + EasyPresets (1537621333) + FastDraw (34977) + FixAddresses (34977) + HouseNumberTaggingTool (34977) + ImportImagePlugin (35125) + ImproveOsm (188) + PicLayer (35104) + SeaChart (35120) + SeaMapEditor (34908) + apache-commons (35092) + editgpx (35221) + ejml (35122) + geotools (35169) + imagery_offset_db (34908) + jaxb (35014) + jts (35122) + livegps (35221) + log4j (34908) + measurement (35221) + opendata (35179) + pdfimport (34977) + photo_geotagging (34908) + print (34972) + reverter (35226) + surveyor (34977) + terracer (34977) + undelete (34977) + utilsplugin2 (35238) + wikipedia (1.1.3) Tagging presets: + https://raw.githubusercontent.com/OpenNauticalChart/josm/master/INT-1-preset.xml Map paint styles: - https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip - https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1 - https://raw.githubusercontent.com/OpenNauticalChart/josm/master/INT1_MapCSS.mapcss - https://pasharm.github.io/New_basic_style_for_JOSM/New_basic_style.mapcss - https://raw.githubusercontent.com/OpenSeaMap/josm/master/INT1_Seamark.mapcss - https://raw.githubusercontent.com/OpenSidewalks/OpenSidewalks-Schema/master/open_sidewalks.mapcss - https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/LitObjects&zip=1 - https://github.com/MissingMaps/josm_styles/archive/master.zip - https://github.com/hotosm/HDM-JOSM-style/archive/master.zip - https://josm.openstreetmap.de/josmfile?page=Styles/Osmc&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1 Last errors/warnings: - W: No configuration settings found. Using hardcoded default values for all pools. - W: Warning: Failed to scan file 'site-svn.openstreetmap.org-_applications_editors_josm_plugins_opendata_modules.txt' for module information. Skipping. - W: Could not initialize Wikipedia app for language 'yue'!: java.lang.IllegalArgumentException: No Wikipedia for language 粵語 (yue) found! - E: Handled by bug report queue: org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin wikipedia. Cause: java.lang.reflect.InvocationTargetException. Cause: java.lang.NullPointerException - W: Warning - <html>JOSM could not find information about the following plugins:<ul><li>livegps</li><li>SeaMapEditor</li><li>apache-commons</li><li>HouseNumberTaggingTool</li><li>geotools</li><li>opendata</li><li>FixAddresses</li><li>measurement</li><li>jaxb</li><li>SeaChart</li><li>editgpx</li><li>utilsplugin2</li><li>pdfimport</li><li>EasyPresets</li><li>terracer</li><li>wikipedia</li><li>PicLayer</li><li>log4j</li><li>imagery_offset_db</li><li>ImproveOsm</li><li>jts</li><li>DirectDownload</li><li>surveyor</li><li>ejml</li><li>reverter</li><li>FastDraw</li><li>print</li><li>photo_geotagging</li><li>ImportImagePlugin</li><li>undelete</li></ul>The plugins are not going to be loaded.</html> === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (20) of main org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin wikipedia at org.openstreetmap.josm.plugins.PluginProxy.handlePluginException(PluginProxy.java:60) at org.openstreetmap.josm.plugins.PluginProxy.mapFrameInitialized(PluginProxy.java:71) at org.openstreetmap.josm.gui.MainPanel.updateContent(MainPanel.java:80) at org.openstreetmap.josm.gui.MainPanel$1.beforeFirstLayerAdded(MainPanel.java:157) at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:281) at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:218) at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:239) at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:218) at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:207) at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:150) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129) at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:690) at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:649) at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:375) at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:363) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.openstreetmap.josm.plugins.PluginProxy.mapFrameInitialized(PluginProxy.java:66) ... 35 more Caused by: java.lang.NullPointerException at org.wikipedia.gui.WikipediaToggleDialog.updateTitle(WikipediaToggleDialog.java:146) at org.wikipedia.gui.WikipediaToggleDialog.<init>(WikipediaToggleDialog.java:88) at org.wikipedia.WikipediaPlugin.mapFrameInitialized(WikipediaPlugin.java:72) ... 40 more === RUNNING THREADS === Thread: RemoteControl HTTP Server (46) of main java.base@13.0.1/sun.nio.ch.Net.accept(Native Method) java.base@13.0.1/sun.nio.ch.NioSocketImpl.accept(NioSocketImpl.java:755) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:662) java.base@13.0.1/java.net.ServerSocket.platformImplAccept(ServerSocket.java:628) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:604) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:561) java.base@13.0.1/java.net.ServerSocket.accept(ServerSocket.java:518) app//org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: Finalizer (3) of system java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) java.base@13.0.1/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170) Thread: Java2D Queue Flusher (15) of system java.base@13.0.1/java.lang.Object.wait(Native Method) java.desktop@13.0.1/sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:205) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: message-notifier-0 (50) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:235) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) java.base@13.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) java.base@13.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: Reference Handler (2) of system java.base@13.0.1/java.lang.ref.Reference.waitForReferencePendingList(Native Method) java.base@13.0.1/java.lang.ref.Reference.processPendingReferences(Reference.java:241) java.base@13.0.1/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213) Thread: File Watcher (23) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@13.0.1/java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:483) java.base@13.0.1/java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:671) java.base@13.0.1/sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118) app//org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120) app//org.openstreetmap.josm.io.FileWatcher$$Lambda$303/0x0000000800ddbc40.run(Unknown Source) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: Timer-2 (57) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.Object.wait(Object.java:326) java.base@13.0.1/java.util.TimerThread.mainLoop(Timer.java:527) java.base@13.0.1/java.util.TimerThread.run(Timer.java:506) Thread: Timer-1 (47) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.util.TimerThread.mainLoop(Timer.java:553) java.base@13.0.1/java.util.TimerThread.run(Timer.java:506) Thread: AWT-Shutdown (18) of system java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.Object.wait(Object.java:326) java.desktop@13.0.1/sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:291) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: TimerQueue (21) of system java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@13.0.1/java.util.concurrent.DelayQueue.take(DelayQueue.java:217) java.desktop@13.0.1/javax.swing.TimerQueue.run(TimerQueue.java:171) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: RemoteControl HTTP Server (45) of main java.base@13.0.1/sun.nio.ch.Net.accept(Native Method) java.base@13.0.1/sun.nio.ch.NioSocketImpl.accept(NioSocketImpl.java:755) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:662) java.base@13.0.1/java.net.ServerSocket.platformImplAccept(ServerSocket.java:628) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:604) java.base@13.0.1/java.net.ServerSocket.implAccept(ServerSocket.java:561) java.base@13.0.1/java.net.ServerSocket.accept(ServerSocket.java:518) app//org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: AppKit Thread (13) of system Thread: AWT-EventQueue-0 (20) of main Stacktrace see above. Thread: Weak reference cleaner (24) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) app//org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60) app//org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$335/0x0000000800e47040.run(Unknown Source) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: Timer-0 (42) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.util.TimerThread.mainLoop(Timer.java:553) java.base@13.0.1/java.util.TimerThread.run(Timer.java:506) Thread: JCS-ElementEventQueue-Thread-1 (32) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@13.0.1/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: Signal Dispatcher (4) of system Thread: Java2D Disposer (16) of system java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) java.desktop@13.0.1/sun.java2d.Disposer.run(Disposer.java:144) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: image-fetcher-0 (30) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@13.0.1/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: ForkJoinPool.commonPool-worker-7 (35) java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633) java.base@13.0.1/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) Thread: DestroyJavaVM (52) of main Thread: Map Status Collector (58) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) java.base@13.0.1/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) app//org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:434) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: WeakCollectionCleaner (39) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:65) Thread: Common-Cleaner (10) of InnocuousThreadGroup java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) java.base@13.0.1/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) java.base@13.0.1/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:134) Thread: changeset-updater-0 (51) of main java.base@13.0.1/jdk.internal.misc.Unsafe.park(Native Method) java.base@13.0.1/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:235) java.base@13.0.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) java.base@13.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) java.base@13.0.1/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) java.base@13.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@13.0.1/java.lang.Thread.run(Thread.java:830) Thread: GT authority factory disposer (36) of main java.base@13.0.1/java.lang.Object.wait(Native Method) java.base@13.0.1/java.util.TimerThread.mainLoop(Timer.java:553) java.base@13.0.1/java.util.TimerThread.run(Timer.java:506)
Attachments (2)
Change History (10)
by , 5 years ago
by , 5 years ago
comment:1 by , 5 years ago
Component: | Core → Plugin wikipedia |
---|---|
Owner: | changed from | to
comment:2 by , 5 years ago
comment:3 by , 5 years ago
The Wikipedia does exists. The process of changing from zh_yue to yue has stalled for many many years. They created an alias redirecting yue to zh_yue for interim solution. New projects like Wiktionary use yue directly.
See Wikimedia bug report https://phabricator.wikimedia.org/T30441 for details. This annoying bug breaks many APIs and software, and pushes unnecessary complexity to interoperability.
comment:4 by , 5 years ago
We are running off of what the Wikimedia API tells us, which is currently
{ … "304": { "code": "yue", "name": "粵語", "site": [ { "url": "https://yue.wiktionary.org", "dbname": "yuewiktionary", "code": "wiktionary", "sitename": "維基辭典" } ], "dir": "ltr", "localname": "Cantonese" }, … "310": { "code": "zh-yue", "name": "粵語", "site": [ { "url": "https://zh-yue.wikipedia.org", "dbname": "zh_yuewiki", "code": "wiki", "sitename": "維基百科" } ], "dir": "ltr", "localname": "Cantonese" }, … }
(https://www.wikidata.org/w/api.php?action=sitematrix&format=json&utf8=1&formatversion=2)
So yes, there is a Wikipedia for this language code, but as you said it is listed under the language code zh-yue
instead of yue
, which is also why I initially didn't find it.
As soon as they change the wikipedia to the other language code, we would automatically adapt. I don't see why we should create a special case here. If anybody should change this, then it's the people at Wikimedia, which would fix it for all users of their data, not just JOSM or even only the subset of JOSM users using the wikipedia plugin.
If we talk language variants, then the situation is different. Currently both zh-yue
and yue
are language variants for e.g. Wikidata labels, so it could make sense to set this as language even if there isn't a Wikipedia for it. And this case is probably not handled very well in the plugin at the moment.
comment:6 by , 4 years ago
Summary: | latest wikipedia plugin failed to run with language code yue and other plugins are not loaded → NPE in WikipediaToggleDialog with language code yue |
---|
Ah, that's probably because previously the languages available in Wikimedia projects were sometimes conflated with the languages for which a Wikipedia is available. But the latter is a subset of the former.
The last version had some changes related to this, so that probably broke something when you use a language for which no Wikipedia exists. I'll look into this to fix it.