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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4f9aa0a3421715b8f46fdadb8325195ed5d6ef145f2ecd73df124733b7f3f9b
4
- data.tar.gz: 9d53d040cbcdb39bb2387262fb989d6922f33d8ec10cb7f9709831ef07900c44
3
+ metadata.gz: d5e0113872e921c7c4b1397411d1d67912ebdd1107ac7bfabdd2d45dc74e48b9
4
+ data.tar.gz: 6ab4d50d0e33e17a48b17365fef0756b45c633ba3ad9b7deaa5e82b3ff52ea5f
5
5
  SHA512:
6
- metadata.gz: c9dc5c8927301802a68cbd26938a1f04db2a77662529a814bfeb079236c6406271481b4856154bf81e83a4a0cad62463108636e25829a76ed5a2837b16fd8911
7
- data.tar.gz: 27df131dcd35996606908032114c54b431ff651cfdeab6682a7109bcb22f9a8f6ea6074b9730918d5de1220b54b2e5e657a6f9d43de3dec3c129157002cd9b1a
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mysigner (0.3.0)
4
+ mysigner (0.3.1)
5
5
  base64 (~> 0.2)
6
6
  faraday (~> 2.14)
7
7
  faraday-retry (~> 2.2)
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 init/add/build/list` | ✅ |
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 ENV['MYSIGNER_LOCAL_ONLY'] && !ENV['MYSIGNER_LOCAL_ONLY'].empty?
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
 
@@ -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
- truthy_env?(ENV_LOCAL_ONLY) || local_only_from_file?
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mysigner
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mysigner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurgen Leka