mas-cli / mas-cli/mas

`update` to penultimate version, no output, hang

Open
#1,303 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug output
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.