Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
c144bd3
feat(multi-account): add Account model + new SharedConstants keys (Ta…
DocNR May 1, 2026
8e8e3bd
feat(multi-account): per-pubkey Keychain API + main-app-only enumerat…
DocNR May 1, 2026
df7b50a
feat(multi-account): signerPubkeyHex on every persisted record (Task 3)
DocNR May 1, 2026
7a807a4
feat(multi-account): SharedStorage scoped variants + LightSigner per-…
DocNR May 1, 2026
34aa5bc
feat(multi-account): AppState refactor — accounts list + per-account …
DocNR May 1, 2026
29ef9db
feat(multi-account): NSE pubkey-routing + foreground signing path (Ta…
DocNR May 1, 2026
d9ca809
feat(multi-account): scope view callers + backfill legacy records (Ta…
DocNR May 1, 2026
4b633d5
feat(multi-account): migration polish + reinstall recovery (Task 8)
DocNR May 1, 2026
2b1b621
feat(multi-account): MultiAccountDiagnosticsView dev menu (testing ha…
DocNR May 1, 2026
11ad90f
build: bump pbxproj 31→32 + flip defaultProxyURL to test proxy
DocNR May 1, 2026
788c495
fix(multi-account): stamp signerPubkeyHex on every new row + retroact…
DocNR May 1, 2026
0e2a0de
fix(multi-account): scope HomeView clients list to current signer
DocNR May 1, 2026
14c7489
fix(multi-account): register all accounts with proxy, not just current
DocNR May 1, 2026
01cd396
build: bump pbxproj 33→34 for multi-account fix TestFlight
DocNR May 1, 2026
eb5e6c1
fix(multi-account): unregister/unpair with deleted account's nsec, no…
DocNR May 1, 2026
42f3a64
fix(multi-account): LightSigner permission gate scoped to (account, c…
DocNR May 1, 2026
423843d
fix(multi-account): bind PFP cache writes to fetch's account pubkey
DocNR May 1, 2026
22e8b02
build: bump pbxproj 34→35 for Bug E + F TestFlight
DocNR May 1, 2026
bb4eb8e
fix(multi-account): refresh profileImage on account switch
DocNR May 1, 2026
8cab73e
build: bump pbxproj 35→36 for Bug G TestFlight
DocNR May 1, 2026
aa194a9
feat(multi-account): tap-to-switch account menu on Home identity bar
DocNR May 1, 2026
c7f97e5
fix(multi-account): refresh Home + Activity views on account switch (…
DocNR May 1, 2026
024dc0b
build: bump pbxproj 36→37 for Bug H TestFlight
DocNR May 1, 2026
a2b2328
docs(stage-c): multi-account UX design spec
DocNR May 2, 2026
26cf51c
docs(stage-c): note robohash as deferred avatar enhancement
DocNR May 2, 2026
f681ecd
docs(stage-c): implementation plan for multi-account UX
DocNR May 2, 2026
661272f
feat(stage-c): AccountTheme palette helper — hash-derived per-account…
DocNR May 2, 2026
76740a8
feat(stage-c): AccountStripView + SlimIdentityBar + HomeView gradient…
DocNR May 2, 2026
84646f7
fix(stage-c): address Task 2 review findings — gesture race + truncat…
DocNR May 2, 2026
05125d0
feat(stage-c): AddAccountSheet — minimal generate/paste add-account m…
DocNR May 2, 2026
22f11a2
fix(stage-c): address Task 3 review findings — double-tap guard + err…
DocNR May 2, 2026
f227a94
feat(stage-c): AccountDetailView skeleton — gradient banner + petname…
DocNR May 2, 2026
2b92e8e
feat(stage-c): AccountDetailView Actions + Profile sections
DocNR May 2, 2026
f23741a
feat(stage-c): SettingsView Accounts section — list + Add Account row
DocNR May 2, 2026
6607758
fix(stage-c): remove orphaned single-account UI state from SettingsView
DocNR May 2, 2026
4293167
feat(stage-c): ApprovalSheet SigningAsHeader + destructive-copy named…
DocNR May 2, 2026
578b57f
fix(stage-c): Task 7 follow-ups — PendingApprovalsView account label …
DocNR May 2, 2026
932f1e5
build: bump pbxproj 37→38 for Stage C TestFlight
DocNR May 2, 2026
05080a0
fix(stage-c): close final review spec gaps — HomeView unpair alert + …
DocNR May 2, 2026
fb6e7e7
fix(stage-c): build 38 device-test findings — tap behavior, PFP loadi…
DocNR May 2, 2026
af37a66
fix(stage-c): hoist .navigationDestination out of Section to Form lev…
DocNR May 2, 2026
eb42583
fix(stage-c): polish folds + Pair New Connection visibility + Account…
DocNR May 2, 2026
5cd6015
docs(stage-c): Home redesign spec — Instagram-stories style
DocNR May 2, 2026
2c146ad
feat(stage-c): Home Instagram-stories redesign — 60pt strip + mini-ba…
DocNR May 2, 2026
d10ca5f
fix(stage-c): Home redesign polish round 2 — palette, density, accoun…
DocNR May 2, 2026
1a06290
fix(connect): bunker URI text readable in light mode
DocNR May 2, 2026
f128911
build: bump pbxproj 39→40 for next TestFlight archive
DocNR May 2, 2026
d749976
feat(home): pull-to-refresh on Home — force-refresh all account profiles
DocNR May 2, 2026
fc12164
fix(profile): AccountDetailView banner avatar shows cached PFP + cach…
DocNR May 2, 2026
6b48371
fix(home): transparent-PFP backing + tighter section gap + cap pre-ch…
DocNR May 2, 2026
6d3a452
refactor(caps): centralize 5-clients-per-account cap + pre-check befo…
DocNR May 2, 2026
48b94fe
fix(caps): LightSigner bunker-connect cap is per-account, not device-…
DocNR May 2, 2026
1566add
build: bump pbxproj 40→41 for next TestFlight archive
DocNR May 2, 2026
9436c9c
docs: add design-system.md derived from Home redesign
DocNR May 2, 2026
b950cc2
fix: design-system review findings — code alignment + doc revision
DocNR May 2, 2026
b80d0b6
build: bump pbxproj 41→42 for next TestFlight archive
DocNR May 2, 2026
8da457e
Fix HomeView ambient gradient occlusion + bump opacity
DocNR May 2, 2026
28e25a7
docs(connect): brainstorm output — ConnectSheet redesign + Nostrconne…
DocNR May 2, 2026
a58366b
Polish HomeView gradient: dial back opacity + clear Connected Clients…
DocNR May 2, 2026
a2626bb
docs(connect): defer bunker permission UX to separate sprint
DocNR May 2, 2026
fc93a27
build: bump pbxproj 43→44 for next TestFlight archive
DocNR May 2, 2026
997a9cc
docs(connect): implementation plan for ConnectSheet redesign
DocNR May 2, 2026
5fd5c23
refactor(dev): drop nostrconnectEnabled flag — Nostrconnect is now of…
DocNR May 2, 2026
12bd293
feat(connect): add ConnectMethodCard reusable component
DocNR May 2, 2026
132120e
feat(connect): add ConnectAccountContextBar reusable component
DocNR May 2, 2026
e5991d6
feat(connect): add ConnectShowQRView focused view (lift bunker section)
DocNR May 2, 2026
5f98590
feat(connect): add ConnectPasteView focused view (lift + un-gate past…
DocNR May 2, 2026
563e51a
feat(connect): add ConnectScanQRView Phase 1 placeholder
DocNR May 2, 2026
753d11c
feat(connect): rewrite ConnectSheet as three-method-cards entry view
DocNR May 2, 2026
34f01e2
build(connect): add NSCameraUsageDescription for QR scanner
DocNR May 3, 2026
37dde43
feat(components): add QRScannerView UIViewRepresentable wrapper
DocNR May 3, 2026
a72d018
feat(connect): wire camera QR scanner to ConnectScanQRView
DocNR May 3, 2026
3772f6f
build(connect): register nostrconnect:// + clave:// URL schemes
DocNR May 3, 2026
33fb078
feat(deeplink): add DeeplinkRouter pure function + tests
DocNR May 3, 2026
8e68f0a
feat(deeplink): add pendingNostrconnectURI + pendingDeeplinkAccountCh…
DocNR May 3, 2026
408f720
feat(approval): add boundAccountPubkey param to ApprovalSheet
DocNR May 3, 2026
fcdae11
feat(deeplink): thread boundAccountPubkey through AppState.handleNost…
DocNR May 3, 2026
dda8e40
feat(deeplink): add DeeplinkAccountPicker for multi-account binding
DocNR May 3, 2026
6da1783
feat(deeplink): wire onOpenURL → AppState → HomeView observers
DocNR May 3, 2026
928c239
fix(connect): address final-review critical + important issues
DocNR May 3, 2026
c62538b
fix(approval): preserve pending request on relay-side publish failure…
DocNR May 3, 2026
aeeeb56
fix(connect): render bunker QR inline instead of placeholder icon
DocNR May 3, 2026
60f5240
fix(settings): swipe-to-delete + npub display + Home-style PFP render…
DocNR May 3, 2026
0fa92d7
docs(spec): AccountDetailView redesign + Pair-New-Connection polish
DocNR May 3, 2026
be759c0
docs(plan): AccountDetailView redesign + Pair-New-Connection polish —…
DocNR May 3, 2026
a25c971
feat(account-detail): extend CachedProfile with about/nip05/lud16
DocNR May 3, 2026
42eb2c0
feat(account-detail): extract about/nip05/lud16 from kind:0 in fetchP…
DocNR May 3, 2026
d486464
docs(account-detail): note about/nip05/lud16 not in fetchProfile bail…
DocNR May 3, 2026
ba281ec
feat(account-detail): add per-account bunkerURI(for:) + clave.casa ed…
DocNR May 3, 2026
2a182cd
docs(plan): correct Task 3 file-structure entry — bunkerURI helper on…
DocNR May 3, 2026
312653b
feat(account-detail): visual rewrite to design-system tokens (Directi…
DocNR May 3, 2026
ef5eb84
fix(account-detail): Task 4 review fixes — guard refreshProfileAsync …
DocNR May 3, 2026
afe49ce
feat(account-detail): Profile section adds NIP-05 + Lightning + paire…
DocNR May 3, 2026
c4400b7
refactor(account-detail): extract profileIsEmpty + reuse connectionCo…
DocNR May 3, 2026
0a1a3e1
feat(account-detail): About block with tap-to-expand for long bios
DocNR May 3, 2026
f7240a6
fix(account-detail): Task 6 review fix — reset isAboutExpanded on bio…
DocNR May 3, 2026
c189162
feat(account-detail): Edit on clave.casa link with fragment-prebound URL
DocNR May 3, 2026
d8feae1
fix(account-detail): Task 7 review fix — encode bunker URI as opaque …
DocNR May 3, 2026
7e60044
feat(home): Pair New Connection row → HIG inline action treatment
DocNR May 3, 2026
1bac9a9
feat(deeplink): Universal Links for clave.casa/connect — fixes nostrc…
DocNR May 3, 2026
0bf3b21
fix(deeplink): Phase B review fixes — rename misleading test + add em…
DocNR May 3, 2026
278159e
build: bump pbxproj to 45 for Phase B Universal Links TestFlight
DocNR May 3, 2026
48b4fa6
feat(account-detail): separate name from displayName in CachedProfile
DocNR May 3, 2026
1a130bb
feat(account-detail): drop petname from UI + add Username row
DocNR May 3, 2026
46989f3
feat(account-detail): round banner corners — match slim-banner chrome
DocNR May 3, 2026
2db6fa9
feat(account-detail): caption under Edit on clave.casa row
DocNR May 3, 2026
69f9088
build: bump pbxproj to 46 for build-46 polish TestFlight
DocNR May 3, 2026
98e441c
fix(account-detail): swap Form for List to match Home/Activity layout
DocNR May 3, 2026
ef1e250
fix(home): always show AccountStripView so + pill stays accessible at…
DocNR May 3, 2026
d801d49
build: bump pbxproj to 47 — strip always-visible + Form→List padding …
DocNR May 3, 2026
1729ada
fix(settings): swipe-to-delete account silently skipping deletion
DocNR May 3, 2026
77cbdae
build: bump pbxproj to 48 — pick up swipe-delete race fix
DocNR May 3, 2026
635bfac
fix(signer): include result field in NIP-46 error responses (closes a…
DocNR May 3, 2026
340f17a
build: bump pbxproj to 49 — pick up audit-5 NIP-46 result-field fix
DocNR May 3, 2026
ef3821c
fix(profile): select kind:0 by max(created_at) across relays
DocNR May 3, 2026
4000660
build: bump pbxproj to 50 — pick up kind:0 max-created_at fix
DocNR May 3, 2026
e3b4737
chore: cut v0.2.0 build 51 against prod proxy
DocNR May 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ build/
.env
.env.*
!.env.example

# superpowers brainstorming scratch (visual companion mockups, session state)
.superpowers/
50 changes: 30 additions & 20 deletions Clave.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,17 @@

/* Begin PBXBuildFile section */
006B17A84C114EDF9B129CAE /* NostrConnectParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B139A8E147475F9B40B3D5 /* NostrConnectParser.swift */; };
4963A6373F0641F1B1A1455A330BCB5B /* DeeplinkRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7835E9DD22C448C3893D6D945AFFEA16 /* DeeplinkRouter.swift */; };
6D2C503B9EF64C8EA5101CDB /* NostrConnectParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B139A8E147475F9B40B3D5 /* NostrConnectParser.swift */; };
AE01F2A3B4C5D6E700000002 /* ActivitySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE01F2A3B4C5D6E700000001 /* ActivitySummary.swift */; };
AE01F2A3B4C5D6E700000003 /* ActivitySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE01F2A3B4C5D6E700000001 /* ActivitySummary.swift */; };
AE01F2A3B4C5D6E700000005 /* Nip19.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE01F2A3B4C5D6E700000004 /* Nip19.swift */; };
AE01F2A3B4C5D6E700000006 /* Nip19.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE01F2A3B4C5D6E700000004 /* Nip19.swift */; };
AE01F2A3B4C5D6E700000008 /* SharedKeychain+Enumeration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE01F2A3B4C5D6E700000007 /* SharedKeychain+Enumeration.swift */; };
B0EBA01E2F90AB01000A0001 /* PendingApprovalBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0EBA01E2F90AB01000A0002 /* PendingApprovalBanner.swift */; };
B2551C1A4D99451B8AABCA1763DF333C /* DeeplinkRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7835E9DD22C448C3893D6D945AFFEA16 /* DeeplinkRouter.swift */; };
BD247C1AD3A7497E8DF29530 /* ClientPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FE9FF88CD485ABCD31C05 /* ClientPermissions.swift */; };
C1A4F2B3C5D6E700000011 /* AccountTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1A4F2B3C5D6E700000010 /* AccountTheme.swift */; };
DD90DE0C2D8944D08B23C606 /* ClientPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FE9FF88CD485ABCD31C05 /* ClientPermissions.swift */; };
DE7E10B2DE7E10B2DE7E10B2 /* DeveloperSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7E10B1DE7E10B1DE7E10B1 /* DeveloperSettings.swift */; };
DE7E10B3DE7E10B3DE7E10B3 /* DeveloperSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7E10B1DE7E10B1DE7E10B1 /* DeveloperSettings.swift */; };
Expand All @@ -34,7 +38,6 @@
EF3D7A6C2F8BD107005A6545 /* LightEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5A2F8BD020005A6545 /* LightEvent.swift */; };
EF3D7A6D2F8BD139005A6545 /* LightRelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5B2F8BD020005A6545 /* LightRelay.swift */; };
EF3D7A6E2F8BD146005A6545 /* LightSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5C2F8BD020005A6545 /* LightSigner.swift */; };
EF3D7A702F8BD189005A6545 /* SignerService.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5F2F8BD020005A6545 /* SignerService.swift */; };
EF3D7A722F8BD1C4005A6545 /* SharedKeychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5E2F8BD020005A6545 /* SharedKeychain.swift */; };
EF56291E7860E39D54142281 /* SharedModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFCA55B463A619311A35AF3C /* SharedModels.swift */; };
EF6058BFB67AD8970BBE8953 /* LightEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3D7A5A2F8BD020005A6545 /* LightEvent.swift */; };
Expand Down Expand Up @@ -86,10 +89,13 @@

/* Begin PBXFileReference section */
34B139A8E147475F9B40B3D5 /* NostrConnectParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrConnectParser.swift; sourceTree = "<group>"; };
7835E9DD22C448C3893D6D945AFFEA16 /* DeeplinkRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeeplinkRouter.swift; sourceTree = "<group>"; };
894FE9FF88CD485ABCD31C05 /* ClientPermissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientPermissions.swift; sourceTree = "<group>"; };
AE01F2A3B4C5D6E700000001 /* ActivitySummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivitySummary.swift; sourceTree = "<group>"; };
AE01F2A3B4C5D6E700000004 /* Nip19.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Nip19.swift; sourceTree = "<group>"; };
AE01F2A3B4C5D6E700000007 /* SharedKeychain+Enumeration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SharedKeychain+Enumeration.swift"; sourceTree = "<group>"; };
B0EBA01E2F90AB01000A0002 /* PendingApprovalBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PendingApprovalBanner.swift; sourceTree = "<group>"; };
C1A4F2B3C5D6E700000010 /* AccountTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountTheme.swift; sourceTree = "<group>"; };
DE7E10B1DE7E10B1DE7E10B1 /* DeveloperSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperSettings.swift; sourceTree = "<group>"; };
DE7E10C1DE7E10C1DE7E10C1 /* LogExporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogExporter.swift; sourceTree = "<group>"; };
EF3D7A0F2F8BCAE3005A6545 /* Clave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Clave.app; sourceTree = BUILT_PRODUCTS_DIR; };
Expand All @@ -103,7 +109,6 @@
EF3D7A5C2F8BD020005A6545 /* LightSigner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LightSigner.swift; sourceTree = "<group>"; };
EF3D7A5D2F8BD020005A6545 /* SharedConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedConstants.swift; sourceTree = "<group>"; };
EF3D7A5E2F8BD020005A6545 /* SharedKeychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedKeychain.swift; sourceTree = "<group>"; };
EF3D7A5F2F8BD020005A6545 /* SignerService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignerService.swift; sourceTree = "<group>"; };
EFCA55B463A619311A35AF3C /* SharedModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedModels.swift; sourceTree = "<group>"; };
EFEE4316AC522CDDA35AFAC1 /* SharedStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedStorage.swift; sourceTree = "<group>"; };
F60FCE002F8BCAE3000FAC0A /* ForegroundRelaySubscription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForegroundRelaySubscription.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -216,8 +221,10 @@
EF3D7A572F8BD011005A6545 /* Shared */ = {
isa = PBXGroup;
children = (
C1A4F2B3C5D6E700000010 /* AccountTheme.swift */,
AE01F2A3B4C5D6E700000001 /* ActivitySummary.swift */,
EF3D7A582F8BD020005A6545 /* Bech32.swift */,
7835E9DD22C448C3893D6D945AFFEA16 /* DeeplinkRouter.swift */,
894FE9FF88CD485ABCD31C05 /* ClientPermissions.swift */,
DE7E10B1DE7E10B1DE7E10B1 /* DeveloperSettings.swift */,
F60FCE002F8BCAE3000FAC0A /* ForegroundRelaySubscription.swift */,
Expand All @@ -231,9 +238,9 @@
AE01F2A3B4C5D6E700000004 /* Nip19.swift */,
EF3D7A5D2F8BD020005A6545 /* SharedConstants.swift */,
EF3D7A5E2F8BD020005A6545 /* SharedKeychain.swift */,
AE01F2A3B4C5D6E700000007 /* SharedKeychain+Enumeration.swift */,
EFCA55B463A619311A35AF3C /* SharedModels.swift */,
EFEE4316AC522CDDA35AFAC1 /* SharedStorage.swift */,
EF3D7A5F2F8BD020005A6545 /* SignerService.swift */,
);
path = Shared;
sourceTree = "<group>";
Expand Down Expand Up @@ -426,7 +433,6 @@
files = (
EF3D7A722F8BD1C4005A6545 /* SharedKeychain.swift in Sources */,
EF3D7A612F8BD020005A6545 /* SharedConstants.swift in Sources */,
EF3D7A702F8BD189005A6545 /* SignerService.swift in Sources */,
EFC7FD75109694C0A7F86D26 /* SharedModels.swift in Sources */,
EFE12D1EC4CE48622767D427 /* SharedStorage.swift in Sources */,
EFBF443D3DA775A267700410 /* Bech32.swift in Sources */,
Expand All @@ -442,6 +448,9 @@
DE7E10C2DE7E10C2DE7E10C2 /* LogExporter.swift in Sources */,
AE01F2A3B4C5D6E700000002 /* ActivitySummary.swift in Sources */,
AE01F2A3B4C5D6E700000005 /* Nip19.swift in Sources */,
AE01F2A3B4C5D6E700000008 /* SharedKeychain+Enumeration.swift in Sources */,
C1A4F2B3C5D6E700000011 /* AccountTheme.swift in Sources */,
4963A6373F0641F1B1A1455A330BCB5B /* DeeplinkRouter.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -478,6 +487,7 @@
DE7E10C3DE7E10C3DE7E10C3 /* LogExporter.swift in Sources */,
AE01F2A3B4C5D6E700000003 /* ActivitySummary.swift in Sources */,
AE01F2A3B4C5D6E700000006 /* Nip19.swift in Sources */,
B2551C1A4D99451B8AABCA1763DF333C /* DeeplinkRouter.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -631,7 +641,7 @@
CODE_SIGN_ENTITLEMENTS = Clave/Clave.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -646,7 +656,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.Clave;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -669,7 +679,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 944AF56S27;
ENABLE_PREVIEWS = YES;
Expand All @@ -685,7 +695,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.Clave;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -705,11 +715,11 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.4;
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.ClaveTests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -727,11 +737,11 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.4;
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.ClaveTests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -748,10 +758,10 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.ClaveUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -768,10 +778,10 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.ClaveUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
Expand All @@ -789,7 +799,7 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = ClaveNSE/ClaveNSE.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = ClaveNSE/Info.plist;
Expand All @@ -801,7 +811,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.Clave.ClaveNSE;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -820,7 +830,7 @@
CODE_SIGN_ENTITLEMENTS = ClaveNSE/ClaveNSE.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 51;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 944AF56S27;
GENERATE_INFOPLIST_FILE = YES;
Expand All @@ -833,7 +843,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 0.1.0;
MARKETING_VERSION = 0.2.0;
PRODUCT_BUNDLE_IDENTIFIER = dev.nostr.Clave.ClaveNSE;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down
Loading