Closed Bug 1026623 Opened 10 years ago Closed 10 years ago

Set em:strictCompatibility to ensure the right Lightning version is used.

Categories

(Calendar :: Build Config, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Fallen, Assigned: Fallen)

References

Details

Attachments

(1 file)

Attached patch Fix - v1 β€” β€” Splinter Review
This may be because I removed the targetPlatform in install.rdf to accommodate ical.js, but its possible to install Lightning into any version of Thunderbird, resulting in the double toolbar etc. This also happens when upgrading Thunderbird between versions, it seems AMO's min/maxVersion suggestions are no longer taken into account.

I see two options of fixing this, and we should probably fix this ASAP in a Lightning 2.6.6 version (for those upgrading) and also in the 3.3 betas.

The first would be to re-add em:targetPlatform in the hope that the addon manager figures out there is a binary component, the other would be to set this flag:

https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#strictCompatibility

Stefan, I trust you have the best grip on this sort of thing, what do you think?
Attachment #8441521 - Flags: review?(ssitter)
Flags: needinfo?(ssitter)
Target Milestone: --- → 3.3
Comment on attachment 8441521 [details] [diff] [review]
Fix - v1

Seems reasonable. r=me

I'm curious why the app doesn't detect that Lightning has a binary component and enables strict compatibility checking. Maybe the feature is broken or maybe it only depends on the em:targetPlatform property. The property might still be required if you don't want that users can install e.g. linux package on windows platform.
Attachment #8441521 - Flags: review?(ssitter) → review+
Flags: needinfo?(ssitter)
Summary: Set em:strictCompatbility to ensure the right Lightning version is used. → Set em:strictCompatibility to ensure the right Lightning version is used.
Comment on attachment 8441521 [details] [diff] [review]
Fix - v1

extensions.json has an extra field hasBinaryComponents, which is false. This makes me think it doesn't depend on targetPlatform. Also, an extension with binary components can still be platform independent if it contains the binary for each.

I think the problem is rather how we load our binary component. The addon manager presumably parses chrome.manifest, does any includes that are encountered. To support both libical and ical.js we instead have an xpcom component that loads very early and uses the components manager to load either the libical or ical.js manifest, one of which contains a binary component.

I've released a 2.6.6 with this patch applied and will push this to the trees in a moment.
Attachment #8441521 - Flags: approval-calendar-release+
Attachment #8441521 - Flags: approval-calendar-beta+
Attachment #8441521 - Flags: approval-calendar-aurora+
Hmm, tricky. From a source perspective, 2.6.6 is really 2.6.5 with one added line in install.rdf and the version.txt changed, but otherwise together with Thunderbird 24.5.0 sources.

If I push this changeset to the same relbranch that 24.5.0 was done on, then this covers the release for 2.6.5. Therefore I have decided that I won't be doing any extra pushing on the relbranch. For those that want check out the sources of Lightning 2.6.5 from hg, there will be no way to do so. Instead, you can still get the sources from releases.mozilla.org where I have manually made the required changes.

Nevertheless, here are the pushes for beta and aurora:

https://hg.mozilla.org/releases/comm-aurora/rev/1e2d938df373
https://hg.mozilla.org/releases/comm-beta/rev/1cb1378b18dd

This still needs pushing to comm-central, therefore setting checkin-needed and leaving the bug open.
Keywords: checkin-needed
Target Milestone: 3.3 → 2.6.6
(In reply to Philipp Kewisch [:Fallen] from comment #3)
> For those that want check out the
> sources of Lightning 2.6.5 from hg, there will be no way to do so.

I meant the sources of Lightning 2.6.6, sorry.
I'm not sure if this is related, but lightning 3.3 doesnt show up anymore in the addon manager when built within tb 31.0b2 (targetPlatform=OpenBSD_x86_64-gcc3), while i'm pretty sure it showed up when built from tb 31.0b1... commenting out the added line about strict compat doesnt 'fix' the issue, so i'm puzzled.
As far as I know, beta versions shouldn't show up in the addons manager search at all, so I think it might have been coincidence. 3.3 should only show up when we release it in 2 weeks.

This bug is meant to make the addons manager check for an update to Lightning and disable it if none is found when upgrading a major version. Previously, it just kept the old version and broke the UI because the binary component wasn't loaded.
sorry, i didnt explain myself properly - lightning 3.3 doesnt show up in the installed extensions, when being installed in TB's extensions dir from a local build.
https://hg.mozilla.org/comm-central/rev/624e1bf9123d
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.