mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-11-21 23:20:23 +00:00
Various fixes
This commit is contained in:
parent
b298d3cb81
commit
7bb5c2a441
7 changed files with 43 additions and 20 deletions
|
@ -30,7 +30,7 @@ public interface ExternalPasswordManager extends PrefsChoiceValue {
|
|||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "1Password";
|
||||
return "1password";
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -42,7 +42,7 @@ public interface ExternalPasswordManager extends PrefsChoiceValue {
|
|||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "Dashlane";
|
||||
return "dashlane";
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ public interface ExternalPasswordManager extends PrefsChoiceValue {
|
|||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "LastPass";
|
||||
return "lastpass";
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -66,7 +66,7 @@ public interface ExternalPasswordManager extends PrefsChoiceValue {
|
|||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "macOS keychain";
|
||||
return "macosKeychain";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,10 +4,10 @@ import io.xpipe.app.comp.store.StoreEntryWrapper;
|
|||
import io.xpipe.app.fxcomps.util.BindingsHelper;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.core.process.ShellDialects;
|
||||
import io.xpipe.core.process.ShellStoreState;
|
||||
import io.xpipe.core.store.DataStore;
|
||||
import io.xpipe.core.store.ShellStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
import java.util.function.IntFunction;
|
||||
|
@ -28,15 +28,20 @@ public class DataStoreFormatter {
|
|||
public static ObservableValue<String> shellInformation(StoreEntryWrapper w) {
|
||||
return BindingsHelper.map(w.getPersistentState(), o -> {
|
||||
if (o instanceof ShellStoreState s) {
|
||||
if (!s.isInitialized()) {
|
||||
if (s.getRunning() == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (s.getShellDialect() != null
|
||||
&& !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) {
|
||||
return s.getOsName() != null
|
||||
? formattedOsName(s.getOsName())
|
||||
: s.getShellDialect().getDisplayName();
|
||||
if (s.getShellDialect() != null && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) {
|
||||
if (s.getOsName() != null) {
|
||||
return formattedOsName(s.getOsName());
|
||||
}
|
||||
|
||||
if (s.getShellDialect().equals(ShellDialects.UNSUPPORTED)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return s.getShellDialect().getDisplayName();
|
||||
}
|
||||
|
||||
return s.isRunning() ? formattedOsName(s.getOsName()) : "Connection failed";
|
||||
|
|
|
@ -6,15 +6,12 @@ import io.xpipe.core.util.NewLine;
|
|||
import io.xpipe.core.util.SecretValue;
|
||||
import io.xpipe.core.util.StreamCharset;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
|
||||
public interface ShellDialect {
|
||||
|
||||
CommandBuilder launchAsnyc(CommandBuilder cmd);
|
||||
|
|
|
@ -21,10 +21,6 @@ public class ShellStoreState extends DataStoreState implements OsNameState {
|
|||
ShellDialect shellDialect;
|
||||
Boolean running;
|
||||
|
||||
public boolean isInitialized() {
|
||||
return running != null;
|
||||
}
|
||||
|
||||
public boolean isRunning() {
|
||||
return running != null ? running : false;
|
||||
}
|
||||
|
|
|
@ -49,6 +49,9 @@ public class CoreJacksonModule extends SimpleModule {
|
|||
addSerializer(Charset.class, new CharsetSerializer());
|
||||
addDeserializer(Charset.class, new CharsetDeserializer());
|
||||
|
||||
addSerializer(ShellDialect.class, new ShellDialectSerializer());
|
||||
addDeserializer(ShellDialect.class, new ShellDialectDeserializer());
|
||||
|
||||
addSerializer(StreamCharset.class, new StreamCharsetSerializer());
|
||||
addDeserializer(StreamCharset.class, new StreamCharsetDeserializer());
|
||||
|
||||
|
@ -84,6 +87,22 @@ public class CoreJacksonModule extends SimpleModule {
|
|||
}
|
||||
}
|
||||
|
||||
public static class ShellDialectSerializer extends JsonSerializer<ShellDialect> {
|
||||
|
||||
@Override
|
||||
public void serialize(ShellDialect value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
|
||||
jgen.writeString(value.getId());
|
||||
}
|
||||
}
|
||||
|
||||
public static class ShellDialectDeserializer extends JsonDeserializer<ShellDialect> {
|
||||
|
||||
@Override
|
||||
public ShellDialect deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||
return ShellDialects.byNameIfPresent(p.getValueAsString()).orElse(null);
|
||||
}
|
||||
}
|
||||
|
||||
public static class NewLineSerializer extends JsonSerializer<NewLine> {
|
||||
|
||||
@Override
|
||||
|
|
6
dist/changelogs/9.0.md
vendored
6
dist/changelogs/9.0.md
vendored
|
@ -22,6 +22,8 @@ This concept will be refined over the next updates.
|
|||
|
||||
- Tunneled and X11-forwarded custom SSH connections are now properly detected and can be toggled on and off to run in the background as normal tunnels
|
||||
|
||||
- A host key acceptance notification is now displayed properly in case your system doesn't automatically accept new host keys
|
||||
|
||||
## SSH X11 Forwarding on Windows via WSL
|
||||
|
||||
You can now enable X11 forwarding for an SSH connection.
|
||||
|
@ -42,7 +44,7 @@ Furthermore, the kitty terminal is now fully supported with tabs on both Linux a
|
|||
|
||||
## Password manager improvements
|
||||
|
||||
|
||||
The password manager handling has been improved and some potential sources of errors and confusion have been eliminated. There are also now a few command templates available for established password managers to quickly get started.
|
||||
|
||||
## Improved keyboard control
|
||||
|
||||
|
@ -54,7 +56,7 @@ The application logo has been improved with of regards to contrast and visibilit
|
|||
|
||||
## Other changes
|
||||
|
||||
- Fix macOS app failing to automatically restart after update
|
||||
- The window title will now reflect which edition you use
|
||||
- Fix macOS app failing to automatically restart after update
|
||||
- Fix file names not being properly adjusted when transferred across file systems and some characters were not supported on the target system
|
||||
- Fix macOS desktop shortcuts not having an icon associated with them
|
||||
|
|
|
@ -58,3 +58,7 @@ mstsc=Microsoft Terminal Services Client (MSTSC)
|
|||
remmina=Remmina
|
||||
microsoftRemoteDesktopApp=Microsoft Remote Desktop.app
|
||||
bitwarden=Bitwarden
|
||||
1password=1Password
|
||||
dashlane=Dashlane
|
||||
lastpass=LastPass
|
||||
macosKeychain=macOS keychain
|
||||
|
|
Loading…
Reference in a new issue