james-proxy / james

Web Debugging Proxy Application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2.0.0

tomitm opened this issue Β· comments

commented

Todo:

  • Figure out how the GitHub auto release upload works
  • Test automatic updates between beta.1 to beta.2
  • Verify code signing
  • Update the changelog

Issues blocking release:

  • [Linux/Windows] Restart to update doesn't relaunch - remove behaviour in #360, re-add (without bugs) in #361
  • [macOS] Could not get code signature for running application - #357, moved to milestone 2.1
commented

Couple of notes on the GitHub release mechanism:

  • It'll create a draft release when it detects a new version change
    • The draft release is private to maintainers until we publish it
  • The publish logging is confusing, it says it's going to upload a release, then says it didn't because the release type mismatched (prerelease already exists but this is a draft) - when really, it wouldn't have uploaded anyway because it's not set to always, meaning it only actually uploads when a commit is tagged.
    • Things also get a bit confusing under the releases tab, as GitHub shows our tag but it also shows a separate draft release that the build created. This draft release is private to maintainers until we hit publish.
    • npm version is awesome, as it'll update package[-lock].json, create a commit and tag all in one go.
  • If someone downloads a alpha/beta release, they'll automatically update to prereleases. Otherwise, by default, auto updates are only to stable updates (v2.0.0), until we expose a prerelease opt-in setting
commented

Couple of issues with update to beta 2:

  • Found the change for beta.2 (the version number in the footer) in beta.1 somehow.
    • Build logs don't show that change was uploaded to beta.2 (draft/prerelease mismatch) and GitHub's API timestamps don't show it would've been updated. Weird.
    • Was able to reproduce on a clean machine, so it's nothing to do with the dev env.
  • Draft release gets built on tag, but autoupdate detects the tag as a release, and it fails because latest.yml isn't found. The draft release is still private at this point, which includes latest.yml.
    • Need to change the release to publish immediately, or change how the draft release gets created.
  • Update results:
    • Linux: Partial success.
      • There was an error in Sentry about app-update.yml not being found, not sure if it's related, but @mitchhentges reported that the update was applied.
      • Clicking "restart to update" just quits the app but doesn't relaunch afterwards. Manually launching uses the new version of James, fortunately
    • macOS: Partial success.
      • Errors with "Could not get code signature for running application" but restarting does successfully update. #357
    • Windows: Partial success.
      • Shows an update is available, but download-progress event never emits, even though the main process logs "Downloading update from [filename]". No error or anything. Restarts to same version.
      • After downgrading electron-updater, updates almost work as expected.
      • Like Linux, just have a problem with restart to update - it quits but doesn't relaunch afterwards, but it does upgrade to the new version at least.

Everything for 2.0.0 looks pretty good, and there's a 2.1 milestone set up for rounding off the edges of the new auto-update system, though it is fully functional in its current state today.

I think it's time to pull the trigger for the release.
@tomitm and @nerdbeere, and I get your guys πŸ‘? At that point, I'll update the changelog and perform the release

commented

Yeah, we've been holding off on releasing this long enough. πŸ‘

We've confirmed auto-update does work, even though it's a bit rough around the corners, it's close enough that we can release and iterate on. Just needs minor fixes, not much to worry about.

πŸš€

Do it πŸ‘

Awesome, I'll do the release tomorrow evening :)
Thanks guys! πŸ’― πŸŽ‰