Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v4.1.0 #1263

Closed
39 tasks done
Jaifroid opened this issue Jul 8, 2024 · 9 comments
Closed
39 tasks done

Release v4.1.0 #1263

Jaifroid opened this issue Jul 8, 2024 · 9 comments
Assignees
Labels
build Code relating to building, publishing, or maintaining the app
Milestone

Comments

@Jaifroid
Copy link
Member

Jaifroid commented Jul 8, 2024

We're overdue a new release of the Browser Extension, as we have a major new feature (the Popover feature), plus some key elements of Zimit2 support and a number of bugfixes. It's been some six months since the last release, and we normally release this app quarterly...

These are the steps to complete a new release:

@Jaifroid Jaifroid added the build Code relating to building, publishing, or maintaining the app label Jul 8, 2024
@Jaifroid Jaifroid added this to the v4.1 milestone Jul 8, 2024
@Jaifroid Jaifroid self-assigned this Jul 8, 2024
@Jaifroid
Copy link
Member Author

Jaifroid commented Jul 14, 2024

While testing on Firefox OS, I found that this old OS doesn't support innerText in some contexts, so I need to test for that and substitute textContent in two places in the popover code. As this is a trivial change to get the code working on Firefox OS (textContent is nearly the same as innerText, certainly for our purposes), I'll go ahead and do that so I can continue testing.

EDIT: Done in df0ec68

@Jaifroid
Copy link
Member Author

Jaifroid commented Jul 14, 2024

And while testing fallback extensions (Manifest V2 for Firefox and Chromium, Manifest V3 for Firefox, I realized that I forgot to internationalize these manifests in line with the changes made to the Chromium Manifest V3. Again, this is a trivial change just copying the new fields to these manifests.

EDIT: Done in 8ece250

@Jaifroid
Copy link
Member Author

@audiodude I've finished testing as indicated in the checked boxes above (or as we say in British English: the "ticked boxes" 😉). Apart from Chrome / Firefox / Edge extensions on Windows, plus some old browsers, I tested the offline webapp version in Safari 17 on an iPad Pro 2021, and Safari 14.1 on Big Sur (macOS) via BrowserStack.

I didn't attempt to test the packaged extensions themselves in macOS Chrome or Firefox via BrowserStack because it's not possible to test extensions that are not in one of the Stores in BrowserStack, given that access to files is severely locked down in macOS on BrowserStack. Please note we do not publish an extension for Safari, but the offline webapp version can still be used with full features in Safari. Users can install the extension in Chrome or Firefox on macOS.

My testing is pretty comprehensive, but do you want to do any further testing? If so, I can explain an easy way to test the code using the development webapp, or a more involved way of installing a temporary extension (which is a bit fiddly).

If you don't need to test further on macOS, then I'm pretty ready to start the release process once you're happy with the CHANGELOG PR.

@audiodude
Copy link
Collaborator

If you don't need to test further on macOS, then I'm pretty ready to start the release process once you're happy with the CHANGELOG PR.

I'll trust your judgement and do additional testing if you think it is required. I have a macOS 10.15 Catalina system with an M3.

@Jaifroid
Copy link
Member Author

Thanks @audiodude I have tested now in Firefox 126 and Chrome 125 on Catalina, and in Safari on the latest Sonoma (both via BrowserStack). So I think we're covered. There is no native code running in Kiwix JS, only JavaScript, so running on any chip that supports a full copy of Firefox or Chrome (or indeed a recent Safari) works fine.

FYI, on iOS, the app only works as a webapp in Safari, because for now Apple blocks the use of Service Workers in any browser other than Safari (on iOS, not on macOS). But users would be better off using the dedicate iOS app on iOS rather than running this Extension as a webapp, so while I test on iOS to be sure that we maintain compatibility, I'm not targeting it here, or optimizing UX for it.

@Jaifroid
Copy link
Member Author

The Firefox extension update is already published: https://addons.mozilla.org/en-US/firefox/addon/kiwix-offline/ (also in Spanish and French). Edge is in review with newly translated information and graphics now that the internationalization of Chromium store entries is enabled in the packages. I'll upload Ubuntu touch and Chrome tomorrow.

@audiodude
Copy link
Collaborator

Let me know when it's time for 🍾 and 🎉 , I'm ready!

@Jaifroid
Copy link
Member Author

As the two most important browser stores (Mozilla and Chrome) have certified the extension, and people will be receiving updates, I've made some publicity for this release: see Reddit post and Mastodon post.

Even though the Edge Store is ridiculously slow to certify (they say 5 working days, and it usually does take that), people will already be seeing the update if they use the default ServiceWorker mode (the vast majority), because the extension runs as an instantly updating offline PWA in that mode due to previously mentioned severe restrictions in local Chromium browser extensions.

@Jaifroid
Copy link
Member Author

Edge Store finally certified, and all publicity done, so we can close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Code relating to building, publishing, or maintaining the app
Projects
None yet
Development

No branches or pull requests

2 participants