mysigner 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/README.md +2 -1
- data/lib/mysigner/cli/auth_commands.rb +1 -1
- data/lib/mysigner/cli/resource_commands.rb +7 -0
- data/lib/mysigner/config.rb +9 -1
- data/lib/mysigner/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5e0113872e921c7c4b1397411d1d67912ebdd1107ac7bfabdd2d45dc74e48b9
|
|
4
|
+
data.tar.gz: 6ab4d50d0e33e17a48b17365fef0756b45c633ba3ad9b7deaa5e82b3ff52ea5f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d3b200af6f6f5d811238674f1bc1cfef9eacda498adbb260e64766e0ad9af1ad70c608af97333e14915b5caa5185e5efe8ea26a721901abc527a7ad42247cbd
|
|
7
|
+
data.tar.gz: 297534dd124838601767fa3e5c2926b640f06564c97b359e70988b43605f5e0c41f5bd85fa99aa389d14a133e2c529b9d257af417c9a6f7230588942a9052c08
|
data/CHANGELOG.md
CHANGED
|
@@ -97,6 +97,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
|
100
|
+
## [0.3.1] - 2026-05-29
|
|
101
|
+
|
|
102
|
+
### Fixed
|
|
103
|
+
- `mysigner android add PACKAGE_NAME` crashed with `NoMethodError: undefined method 'post' for nil` in local-only mode. The `android` dispatcher now gates `init` / `add` / `list` (which manage MySigner-registered records) — only `android build` is purely local. `android list`'s banner now reads "android list" instead of "apps" (it had been showing the underlying apps-command name because list is implemented as an alias).
|
|
104
|
+
- `mysigner status` reported `Source: MYSIGNER_LOCAL_ONLY env var` when `MYSIGNER_LOCAL_ONLY=0` was set in the environment AND the config file had `local_only: true`. The env value "0" is falsy per the cascade's truthy parser, so the source was actually the file. Status now uses the new `Mysigner::Config.local_only_from_env?` predicate (mirroring `local_only_from_file?`) for accurate attribution.
|
|
105
|
+
- README's local-only audit table classified `android init/add/build/list` as ✅ LOCAL across the board. Corrected: only `android build` is local; the other three are MySigner-only.
|
|
106
|
+
|
|
107
|
+
### Added
|
|
108
|
+
- `Mysigner::Config.local_only_from_env?` — public, mirrors `local_only_from_file?`. Symmetric source predicates so `mysigner status` can attribute the active source using the same truthy parser the cascade uses.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
100
112
|
## [0.3.0] - 2026-05-28
|
|
101
113
|
|
|
102
114
|
### Added
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -372,9 +372,10 @@ mysigner config set local-only false # permanent disable
|
|
|
372
372
|
| `signing configure` | ✅ |
|
|
373
373
|
| `doctor`, `status`, `validate` | ✅ (limited — no MySigner-side checks) |
|
|
374
374
|
| `certificate check`, `device detect` | ✅ |
|
|
375
|
-
| `android
|
|
375
|
+
| `android build` | ✅ |
|
|
376
376
|
| `config`, `config set`, `version`, `help`, `tree`, `logout` | ✅ |
|
|
377
377
|
| `login`, `switch`, `orgs`, `sync` | ❌ MySigner-only |
|
|
378
|
+
| `android init`, `android add`, `android list` | ❌ MySigner-only (register or list MySigner-side records) |
|
|
378
379
|
| `apps`, `devices`, `certificates`, `profiles`, `bundleid`, `app-group(s)`, `merchant-id(s)`, `keystore`, `gp-credential`, `release`, `tracks`, `track`, `submit`, `device add/update`, `certificate download`, `profile download/delete` | ❌ MySigner-only |
|
|
379
380
|
|
|
380
381
|
Server-only commands in local-only mode exit 2 with a one-line explanation and the override hint.
|
|
@@ -1058,7 +1058,7 @@ module Mysigner
|
|
|
1058
1058
|
|
|
1059
1059
|
source = if options[:local_only] == true
|
|
1060
1060
|
'--local-only flag'
|
|
1061
|
-
elsif
|
|
1061
|
+
elsif Mysigner::Config.local_only_from_env?
|
|
1062
1062
|
'MYSIGNER_LOCAL_ONLY env var'
|
|
1063
1063
|
else
|
|
1064
1064
|
'config file (~/.mysigner/config.yml)'
|
|
@@ -1421,6 +1421,13 @@ module Mysigner
|
|
|
1421
1421
|
DESC
|
|
1422
1422
|
method_option :name, type: :string, desc: 'Display name for the app'
|
|
1423
1423
|
def android(action, *args)
|
|
1424
|
+
# mysigner-22 follow-up — `android build` is the only LOCAL action;
|
|
1425
|
+
# init/add/list all manage MySigner-registered records. Gate the
|
|
1426
|
+
# rest at the dispatcher top so users see "android add" in the
|
|
1427
|
+
# banner (not the underlying "apps" call that `list` invokes) and
|
|
1428
|
+
# so `android add` doesn't crash with NoMethodError on the nil
|
|
1429
|
+
# client further down.
|
|
1430
|
+
exit_unless_local_supported!("android #{action}") unless %w[build help].include?(action)
|
|
1424
1431
|
config = load_config
|
|
1425
1432
|
client = create_client(config)
|
|
1426
1433
|
|
data/lib/mysigner/config.rb
CHANGED
|
@@ -72,7 +72,15 @@ module Mysigner
|
|
|
72
72
|
# Local-only mode at the Config level: cascade ENV → file. The CLI
|
|
73
73
|
# Helpers concern layers --local-only / --no-local-only on top.
|
|
74
74
|
def self.local_only?
|
|
75
|
-
|
|
75
|
+
local_only_from_env? || local_only_from_file?
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Public predicate for the env-var source. Mirrors local_only_from_file?
|
|
79
|
+
# so status's "Source: …" attribution can distinguish env vs file
|
|
80
|
+
# using the same truthy parser the cascade uses (a literal env value
|
|
81
|
+
# of "0" / "false" reads as off, not as "env var enabled it").
|
|
82
|
+
def self.local_only_from_env?
|
|
83
|
+
truthy_env?(ENV_LOCAL_ONLY)
|
|
76
84
|
end
|
|
77
85
|
|
|
78
86
|
# Lightweight check that reads only ~/.mysigner/config.yml's
|
data/lib/mysigner/version.rb
CHANGED