| Summary: | UI doesn't render if a message bundle referenced by extension command is missing | ||
|---|---|---|---|
| Product: | [ECD] Orion | Reporter: | Mark Macdonald <mamacdon> |
| Component: | Client | Assignee: | Mark Macdonald <mamacdon> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | simon.kaegi |
| Version: | 2.0 | ||
| Target Milestone: | 5.0 RC1 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=428797 | ||
| Whiteboard: | |||
|
Description
Mark Macdonald
http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=45642f9 The problem was in i18nUtil#getMessageBundle(name). It returns a promise which resolves when the bundle is loaded. But if the bundle 404s, the promise is just left hanging, which prevents the caller from detecting the error and recovering from it. I fixed it so that the returned promise rejects when the bundle fails to load. Now when a contribution of any of the following types references a non-existent:NLS bundle, the failure is handed without breaking the whole UI. - orion.page.link - orion.page.link.category - orion.page.link.related I did not test the orion.(edit|navigate).command extensions, but if they're handled through the extensionCommands.js#createCommandOptions() mechanism, then they should pick up this failure tolerance for free too. |