mirror of
				https://github.com/maxgoedjen/secretive.git
				synced 2025-11-04 09:20:56 +00:00 
			
		
		
		
	Merge branch 'main' of github.com:maxgoedjen/secretive
This commit is contained in:
		
						commit
						4057239507
					
				@ -51,6 +51,30 @@ Add this to `~/Library/LaunchAgents/com.maxgoedjen.Secretive.SecretAgent.plist`
 | 
			
		||||
 | 
			
		||||
Log out and log in again before launching Cyberduck.
 | 
			
		||||
 | 
			
		||||
## GitKraken
 | 
			
		||||
 | 
			
		||||
Add this to `~/Library/LaunchAgents/com.maxgoedjen.Secretive.SecretAgent.plist`
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
  <key>Label</key>
 | 
			
		||||
  <string>link-ssh-auth-sock</string>
 | 
			
		||||
  <key>ProgramArguments</key>
 | 
			
		||||
  <array>
 | 
			
		||||
    <string>/bin/sh</string>
 | 
			
		||||
    <string>-c</string>
 | 
			
		||||
    <string>/bin/ln -sf $HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh $SSH_AUTH_SOCK</string>
 | 
			
		||||
  </array>
 | 
			
		||||
  <key>RunAtLoad</key>
 | 
			
		||||
  <true/>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Log out and log in again before launching Gitkraken. Then enable "Use local SSH agent in GitKraken Preferences (Located under Preferences -> SSH)
 | 
			
		||||
 | 
			
		||||
# The app I use isn't listed here!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								FAQ.md
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								FAQ.md
									
									
									
									
									
								
							@ -38,7 +38,7 @@ Awesome! Just bear in mind that because an app only has access to the keychain i
 | 
			
		||||
 | 
			
		||||
### What's this network request to GitHub?
 | 
			
		||||
 | 
			
		||||
Secretive checks in with GitHub's releases API to check if there's a new version of Secretive available. You can audit the source code for this feature [here](https://github.com/maxgoedjen/secretive/blob/main/Brief/Updater.swift).
 | 
			
		||||
Secretive checks in with GitHub's releases API to check if there's a new version of Secretive available. You can audit the source code for this feature [here](https://github.com/maxgoedjen/secretive/blob/main/Sources/Packages/Sources/Brief/Updater.swift).
 | 
			
		||||
 | 
			
		||||
### I have a security issue
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,9 @@ struct ContentView<UpdaterType: UpdaterProtocol, AgentStatusCheckerType: AgentSt
 | 
			
		||||
            appPathNotice
 | 
			
		||||
            newItem
 | 
			
		||||
        }
 | 
			
		||||
        .sheet(isPresented: $runningSetup) {
 | 
			
		||||
            SetupView(visible: $runningSetup, setupComplete: $hasRunSetup)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -65,11 +68,11 @@ extension ContentView {
 | 
			
		||||
                        .font(.headline)
 | 
			
		||||
                        .foregroundColor(.white)
 | 
			
		||||
                })
 | 
			
		||||
                    .background(color)
 | 
			
		||||
                    .cornerRadius(5)
 | 
			
		||||
                    .popover(item: $selectedUpdate, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) { update in
 | 
			
		||||
                        UpdateDetailView(update: update)
 | 
			
		||||
                    }
 | 
			
		||||
                .background(color)
 | 
			
		||||
                .cornerRadius(5)
 | 
			
		||||
                .popover(item: $selectedUpdate, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) { update in
 | 
			
		||||
                    UpdateDetailView(update: update)
 | 
			
		||||
                }
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -85,11 +88,11 @@ extension ContentView {
 | 
			
		||||
                }, label: {
 | 
			
		||||
                    Image(systemName: "plus")
 | 
			
		||||
                })
 | 
			
		||||
                    .popover(isPresented: $showingCreation, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) {
 | 
			
		||||
                        if let modifiable = storeList.modifiableStore {
 | 
			
		||||
                            CreateSecretView(store: modifiable, showing: $showingCreation)
 | 
			
		||||
                        }
 | 
			
		||||
                .popover(isPresented: $showingCreation, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) {
 | 
			
		||||
                    if let modifiable = storeList.modifiableStore {
 | 
			
		||||
                        CreateSecretView(store: modifiable, showing: $showingCreation)
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
@ -113,15 +116,12 @@ extension ContentView {
 | 
			
		||||
                            .font(.headline)
 | 
			
		||||
                            .foregroundColor(.white)
 | 
			
		||||
                        })
 | 
			
		||||
                            .background(Color.orange)
 | 
			
		||||
                            .cornerRadius(5)
 | 
			
		||||
                        .background(Color.orange)
 | 
			
		||||
                        .cornerRadius(5)
 | 
			
		||||
                    } else {
 | 
			
		||||
                        EmptyView()
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                    .sheet(isPresented: $runningSetup) {
 | 
			
		||||
                        SetupView(visible: $runningSetup, setupComplete: $hasRunSetup)
 | 
			
		||||
                    }
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -142,19 +142,19 @@ extension ContentView {
 | 
			
		||||
                    .font(.headline)
 | 
			
		||||
                    .foregroundColor(.white)
 | 
			
		||||
                })
 | 
			
		||||
                    .background(Color.orange)
 | 
			
		||||
                    .cornerRadius(5)
 | 
			
		||||
                    .popover(isPresented: $showingAppPathNotice, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) {
 | 
			
		||||
                        VStack {
 | 
			
		||||
                            Image(systemName: "exclamationmark.triangle")
 | 
			
		||||
                                .resizable()
 | 
			
		||||
                                .aspectRatio(contentMode: .fit)
 | 
			
		||||
                                .frame(width: 64)
 | 
			
		||||
                            Text("Secretive needs to be in your Applications folder to work properly. Please move it and relaunch.")
 | 
			
		||||
                                .frame(maxWidth: 300)
 | 
			
		||||
                        }
 | 
			
		||||
                        .padding()
 | 
			
		||||
                .background(Color.orange)
 | 
			
		||||
                .cornerRadius(5)
 | 
			
		||||
                .popover(isPresented: $showingAppPathNotice, attachmentAnchor: .point(.bottom), arrowEdge: .bottom) {
 | 
			
		||||
                    VStack {
 | 
			
		||||
                        Image(systemName: "exclamationmark.triangle")
 | 
			
		||||
                            .resizable()
 | 
			
		||||
                            .aspectRatio(contentMode: .fit)
 | 
			
		||||
                            .frame(width: 64)
 | 
			
		||||
                        Text("Secretive needs to be in your Applications folder to work properly. Please move it and relaunch.")
 | 
			
		||||
                            .frame(maxWidth: 300)
 | 
			
		||||
                    }
 | 
			
		||||
                    .padding()
 | 
			
		||||
                }
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@ struct SetupView: View {
 | 
			
		||||
                        }
 | 
			
		||||
                        .frame(width: proxy.size.width)
 | 
			
		||||
                    }
 | 
			
		||||
                    .offset(x: -proxy.size.width * CGFloat(stepIndex), y: 0)
 | 
			
		||||
                    .offset(x: -proxy.size.width * Double(stepIndex), y: 0)
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@ -44,7 +44,7 @@ struct StepView: View {
 | 
			
		||||
    let currentStep: Int
 | 
			
		||||
 | 
			
		||||
    // Ideally we'd have a geometry reader inside this view doing this for us, but that crashes on 11.0b7
 | 
			
		||||
    let width: CGFloat
 | 
			
		||||
    let width: Double
 | 
			
		||||
 | 
			
		||||
    var body: some View {
 | 
			
		||||
        ZStack(alignment: .leading) {
 | 
			
		||||
@ -53,7 +53,7 @@ struct StepView: View {
 | 
			
		||||
                .frame(height: 5)
 | 
			
		||||
            Rectangle()
 | 
			
		||||
                .foregroundColor(.green)
 | 
			
		||||
                .frame(width: max(0, ((width - (Constants.padding * 2)) / CGFloat(numberOfSteps - 1)) * CGFloat(currentStep) - (Constants.circleWidth / 2)), height: 5)
 | 
			
		||||
                .frame(width: max(0, ((width - (Constants.padding * 2)) / Double(numberOfSteps - 1)) * Double(currentStep) - (Constants.circleWidth / 2)), height: 5)
 | 
			
		||||
            HStack {
 | 
			
		||||
                ForEach(0..<numberOfSteps) { index in
 | 
			
		||||
                    ZStack {
 | 
			
		||||
@ -92,8 +92,8 @@ extension StepView {
 | 
			
		||||
 | 
			
		||||
    enum Constants {
 | 
			
		||||
 | 
			
		||||
        static let padding: CGFloat = 15
 | 
			
		||||
        static let circleWidth: CGFloat = 30
 | 
			
		||||
        static let padding: Double = 15
 | 
			
		||||
        static let circleWidth: Double = 30
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user