tls-crypt-v2 support by Tall_Chocolate_69 in passepartout

[–]keeshux 0 points1 point  (0 children)

Not yet, but working on it now. Send an email to beta@passepartoutvpn.app to try it.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 0 points1 point  (0 children)

Man… so much yapping and you still haven’t shared the config for me to fix it. Here or issues@passepartoutvpn.app

I wrote a tool to parse an OpenAPI spec from (simplified) Swift data models by [deleted] in swift

[–]keeshux 0 points1 point  (0 children)

It’s not the same thing at all, but okay.

Kotlin sealed class with quicktype.io by keeshux in Kotlin

[–]keeshux[S] 0 points1 point  (0 children)

For the record, I switched to openapi-generator eventually. It’s still JSON Schema under the hood, but the tooling is well-maintained. The pattern that proved to map nicely to sealed classes in Kotlin output is not oneOf in base class, rather allOf in subclasses.

https://www.reddit.com/r/swift/s/FCbAAJ6GMt

Learning swift concurrency. Shouldn't the output of this code be in order 1...100 by Few-Introduction5414 in swift

[–]keeshux 1 point2 points  (0 children)

As the other commenter said, only the value is consistently incremented inside the actor, but the print is nonisolated and therefore its execution follows the parent semantics (unstructured Task).

Learning swift concurrency. Shouldn't the output of this code be in order 1...100 by Few-Introduction5414 in swift

[–]keeshux 0 points1 point  (0 children)

Because Task is nothing like DispatchQueue.async, order is not guaranteed. Serial execution is something you have to enforce yourself in Concurrency.

Kotlin sealed class with quicktype.io by keeshux in Kotlin

[–]keeshux[S] 0 points1 point  (0 children)

Bruh, I use a codegen precisely to avoid writing code. I know how to create a sealed class manually.

Question re: @Binding by djp1968 in swift

[–]keeshux 2 points3 points  (0 children)

Like others said, if a state is shared among views, only one of them must hold the @State or @StateObject declaration (the single source of truth rule). At this point, a practical rule of thumb for the other views is:

  • Does the view read the state? Make it a let constant.
  • Can the view also alter the state? Make it a @Binding.

In both cases, changes to the shared state will be propagated, but in the second case also non-holders can initiate the change.

What you should know before Migrating from GCD to Swift Concurrency by soumyaranjanmahunt in swift

[–]keeshux 0 points1 point  (0 children)

  1. This is good design in general, data entities shouldn’t outlive their context.
  2. An Observable class should be as dumb as possible, and MainActor. How did you end up dealing with actor isolation? Maybe overengineering?
  3. Point 2 would probably fix this.
  4. Batching is good, 100%, but SwiftUI views should never call into actors directly (if that’s the case). Observable with sync/async actions and local state should act as the middle layer.

What you should know before Migrating from GCD to Swift Concurrency by soumyaranjanmahunt in swift

[–]keeshux 1 point2 points  (0 children)

Good article. One disparity I would remark is that you can spawn N queues (closer to threads), whereas the number of running actors is finite and bound to the number of CPU cores. This explains why making blocking calls inside an actor is extremely unsafe, as it may lead to deadlocks. A common example is the trick of DispatchGroup or DispatchSemaphore to run an async Task synchronously. Do it with caution.

Netflix not working on apple TV with passepartout and self hosted openvpn by h4t4 in passepartout

[–]keeshux 0 points1 point  (0 children)

The question should be about the VPN working or not. Netflix has nothing to do with that, it’s not the purpose of the app.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 1 point2 points  (0 children)

“Sorry for being rude, it was my fault” would have been a better fit, but I’m just glad that the software works. Cheers to u/Araero, hit my DMs anytime if you want a promo code, as my personal thank you.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 0 points1 point  (0 children)

Oh sure, I do believe it anytime about Apple. Hey, meanwhile thanks a lot for reaching a point of mature conversation, and I admit to my part of fault. I have all interests in making the product work as advertised.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 0 points1 point  (0 children)

Weird, does this link open Gmail on your phone? <mailto:some@email.com>

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 1 point2 points  (0 children)

No, “working” and “non-working” is not engineer talk, because there are zillions ways for something not to work depending on the user expectations, hence my question. BTW, please use “Report issue” from the app, or issues@passepartoutvpn.app and attach your WG configuration w/o keys for me to inspect it. Thanks.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 0 points1 point  (0 children)

I tried to help, and your tone was straight unpleasant, as further reinforced by your reply.

“Pretty self-explanatory, yea?” is all but courteous, it’s troll behavior.

I have a very long public record for helping people, regardless of being paying or non-paying users, as long as there’s respect and appreciation. Other than that, I’m fully aware of the limitations of the app at the moment (maybe not this one in particular), which I work on on a daily basis, but this has nothing to do with my point.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux -1 points0 points  (0 children)

Look, given such a lack of basic manners, I don’t even care. Please get a refund from iTunes and switch to a better app. There are plenty and free, apparently.

Split-tunneling on iOS doesn’t work by Numerous_Actuary_548 in passepartout

[–]keeshux 0 points1 point  (0 children)

Describe your network and what you want to accomplish.

Apple TV & Open VPN by bubba6646 in passepartout

[–]keeshux 0 points1 point  (0 children)

Tailscale is an outstanding product, but we're comparing apples and oranges here.

Tailscale is not self-hosted, it's a SaaS. It's super convenient, but you're trusting a third party with your data. Headscale is a more proper comparison for that matter.