localvault 1.5.0 → 1.5.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/lib/localvault/cli.rb +37 -8
- data/lib/localvault/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: 62e1f820da0ed430364d0acaf708a3818ccffdaff8c19ec15cc6de6893abc6d9
|
|
4
|
+
data.tar.gz: 12d59fefb6f347d2992557e411120813ec00496afb9a05e0b3336e840420562b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c9c1bcee26c3d3b86b57a9a3607837ca11642412d7e10422ce301aedc639e73ac4273ff79490d7110da4f7b9b7daf1f9901bbce2fcf6228fb8a6a278a1e289d
|
|
7
|
+
data.tar.gz: cbe652d3dbdf1e69e986a7214ae35d2848c14a0d35f55c17bb6586d322f4fea5998096a80f4e0d4bfd90845ceb47166571ba48476aa32f2dc05e0f3603a19cd6
|
data/lib/localvault/cli.rb
CHANGED
|
@@ -1011,6 +1011,7 @@ module LocalVault
|
|
|
1011
1011
|
end
|
|
1012
1012
|
|
|
1013
1013
|
vaults = list["vaults"] || []
|
|
1014
|
+
local_set = Store.list_vaults.to_set
|
|
1014
1015
|
owned = []
|
|
1015
1016
|
shared = []
|
|
1016
1017
|
skipped = []
|
|
@@ -1036,12 +1037,20 @@ module LocalVault
|
|
|
1036
1037
|
end
|
|
1037
1038
|
|
|
1038
1039
|
owner = data[:owner] || v["owner_handle"]
|
|
1040
|
+
local_exists = local_set.include?(name)
|
|
1041
|
+
sync_status = local_exists ? "synced" : "remote only"
|
|
1042
|
+
synced_at = v["synced_at"]&.slice(0, 10) || "—"
|
|
1043
|
+
size_label = v["size_bytes"] ? "#{(v["size_bytes"].to_f / 1024).round(1)} KB" : nil
|
|
1044
|
+
|
|
1039
1045
|
row = {
|
|
1040
|
-
name:
|
|
1041
|
-
owner:
|
|
1042
|
-
key_slots:
|
|
1043
|
-
is_team:
|
|
1044
|
-
remote_shared: v["shared"] == true
|
|
1046
|
+
name: name,
|
|
1047
|
+
owner: owner,
|
|
1048
|
+
key_slots: data[:key_slots] || {},
|
|
1049
|
+
is_team: !owner.nil?,
|
|
1050
|
+
remote_shared: v["shared"] == true,
|
|
1051
|
+
sync_status: sync_status,
|
|
1052
|
+
synced_at: synced_at,
|
|
1053
|
+
size_label: size_label
|
|
1045
1054
|
}
|
|
1046
1055
|
|
|
1047
1056
|
if owner && owner == my_handle
|
|
@@ -1054,6 +1063,16 @@ module LocalVault
|
|
|
1054
1063
|
end
|
|
1055
1064
|
end
|
|
1056
1065
|
|
|
1066
|
+
# Add local-only vaults (exist on disk but not on InventList)
|
|
1067
|
+
remote_names = vaults.map { |v| v["name"] }.compact.to_set
|
|
1068
|
+
(local_set - remote_names).sort.each do |name|
|
|
1069
|
+
owned << {
|
|
1070
|
+
name: name, owner: nil, key_slots: {}, is_team: false,
|
|
1071
|
+
remote_shared: false, sync_status: "local only",
|
|
1072
|
+
synced_at: "—", size_label: nil
|
|
1073
|
+
}
|
|
1074
|
+
end
|
|
1075
|
+
|
|
1057
1076
|
# ── OWNED BY YOU ──
|
|
1058
1077
|
$stdout.puts
|
|
1059
1078
|
$stdout.puts VAULT_STYLE.render("OWNED BY YOU") + " " + COUNT_STYLE.render("(#{owned.size} vault#{owned.size == 1 ? "" : "s"})")
|
|
@@ -1397,11 +1416,21 @@ module LocalVault
|
|
|
1397
1416
|
valid = slots.select { |_, v| v.is_a?(Hash) && v["pub"].is_a?(String) }
|
|
1398
1417
|
|
|
1399
1418
|
count_label = "#{valid.size} member#{valid.size == 1 ? "" : "s"}"
|
|
1400
|
-
owner_label = row[:owner] ? "owner @#{row[:owner]}" : "personal
|
|
1401
|
-
|
|
1419
|
+
owner_label = row[:owner] ? "owner @#{row[:owner]}" : "personal"
|
|
1420
|
+
|
|
1421
|
+
# Sync status badge
|
|
1422
|
+
sync_badge = case row[:sync_status]
|
|
1423
|
+
when "synced" then "synced #{row[:synced_at]}"
|
|
1424
|
+
when "remote only" then "remote only"
|
|
1425
|
+
when "local only" then "local only — not synced"
|
|
1426
|
+
else row[:sync_status] || "unknown"
|
|
1427
|
+
end
|
|
1428
|
+
sync_badge += " · #{row[:size_label]}" if row[:size_label]
|
|
1429
|
+
|
|
1430
|
+
$stdout.puts " " + GROUP_STYLE.render(row[:name]) + " " +
|
|
1431
|
+
COUNT_STYLE.render("#{count_label} · #{owner_label} · #{sync_badge}")
|
|
1402
1432
|
|
|
1403
1433
|
if !row[:is_team]
|
|
1404
|
-
# v1 personal bundle — no members to list
|
|
1405
1434
|
$stdout.puts " " + COUNT_STYLE.render("No team members. Convert with `localvault team init #{row[:name]}` to share.")
|
|
1406
1435
|
$stdout.puts
|
|
1407
1436
|
return
|
data/lib/localvault/version.rb
CHANGED