`update` to penultimate version, no output, hang
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 12.4k
- Forks
- 299
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
Configuration
% mas config
mas ▁▁▁▁ 7.0.0
slice ▁▁ arm64
slices ▁ arm64
dist ▁▁▁ MacPorts
origin ▁ https://github.com/mas-cli/mas.git
rev ▁▁▁▁ 7c70ffd
swift ▁▁ 6.3.2 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
driver ▁ 1.148.6
store ▁▁ US
region ▁ US
macos ▁▁ 26.6.1 (25G76)
mac ▁▁▁▁ Mac16,11
cpu ▁▁▁▁ Apple M4 Pro
arch ▁▁▁ arm64
Bug description
Logic Pro on one of my machines was at v12.1 and needed multiple updates to get to 12.3.1:
first update to 12.3, then another update to 12.3.1
mas update ran with no output, completed the update to 12.3 with no output, and was terminated via Ctl-C
At cmdline I could:
$ mas outdated
634148309 Logic Pro (12.3 -> 12.3.1)
And the rerun to get:
$ mas update
Executing: /opt/local/bin/mas upgrade
==> Downloading Logic Pro (12.3.1)
==> Downloaded Logic Pro (12.3.1)
==> Updating Logic Pro (12.3.1)
==> Updated Logic Pro (12.3.1) in /Applications/Logic Pro.app
Ideally, this would have printed the usual status for updating from 12.1 to 12.3, and auto-executed again, with usual status, to get from 12.3 to 12.3.1
I consider the silent hang (with update underneath, but no message) a bug; the auto-update to next might be considered a feature. I have no idea how the app store manages (or why it required) multiple sequential upgrades to get to current.
Steps to reproduce
To reproduce, you need something in the appstore that is so many versions out of date that it requires multiple updates to get to current. Then simply 'mas update' and it should never return to the command line prompt (yet 'mas list' or 'mas outdated' in a parallel shell should show you that actual present version changed as described above)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the mas update command and compare its behavior with mas outdated and mas list in a parallel shell. Reproduce this with an app requiring sequential App Store updates; done means progress is reported and the command returns rather than hanging, with the optional follow-up update considered separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, swift
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 54/100