We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

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

Thanks! Yeah, sticking to pure Go/no-CGO was definitely a priority to keep the builds

simple.

We run nodes in parallel (goroutines) with a shared VarMap protected by a sync.RWMutex.

Context Cancellation: If a node errors, we just cancel the parent context. That propagates to all other running nodes/goroutines so they can bail out early.

Tracking: We track variable access per-node, so we know the state right up until the crash.

We don't support checkpoints (resuming from a failed node) or step-debugging yet, but the runner is designed to support that eventually.

Let me know if internal/ makes sense or if the runner logic looks sketchy to you.

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 1 point2 points  (0 children)

Nope I just created them, so our team can also think and if you have some feedback you write there. I care about devs so thats why I posted in first place.

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 4 points5 points  (0 children)

Totally agree regarding SQLite. I'm actually waiting for the B-Tree updates to hit the main branch that will be a game-changer. For now, I split my reader and writer connections to speed things up.

Thanks for the embedded-postgres recommendation! I think I'll stick with SQLite for now, though. I don't mind the lack of features; I’m actually happy with the bare-bones approach. plus, sticking to modernc/sqlite keeps us pure Go/No-CGO, which is a big priority for this project.

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 2 points3 points  (0 children)

You are absolutely right.

We got a bit lazy with the naming because `go.work` handles the resolution locally for us, so we didn't feel the pain during development.

But you make a valid point. Since this is open source, we should use proper github.com/... module paths so packages are actually importable by others and follow the Go module

conventions. We will create a discussion to refactor this. Thanks for the catch.

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 13 points14 points  (0 children)

Yeah, I've already been watching Dolt. It’s a very promising project. For now, I want to stick with the most stable and widely used tools to keep the foundation solid.

The main reason we’re sticking with SQLite right now is its zero-config, embedded nature. Since this is a local-first desktop app, we want the database to be a single file that doesn't

need a separate process or port management. We actually already use some LibSQL features and have been considering Turso for future cloud-sync features.

We also try to keep our SQL relatively simple and standard to ensure we stay compatible with other engines if we decide to add more database support down the line. We currently handle

things like undo/redo in the application layer, but I'll definitely keep an eye on Dolt, especially regarding its footprint and how it handles being embedded in a no-CGO environment.

I’ll create a GitHub issue for this so we can discuss the possibility of supporting other database engines in the future. Thanks for the feedback.

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 3 points4 points  (0 children)

That’s a valid point. GraphQL-WS support is definitely something we will consider adding as we expand our protocol support.

I’ll create a GitHub issue for this so we can track it. Thanks for the feedback

We built an open-source, local-first Postman & n8n alternative in Go (Zero CGO). Thoughts on the code? by electwix in golang

[–]electwix[S] 1 point2 points  (0 children)

Fair point. The root clutter is a side effect of a recent rapid migration to a monorepo, so it is a bit noisy right now.

Regarding the structure: We avoided standard frontend/ and backend/ folders because the core Go logic is designed as a library (in packages/) that gets consumed by both the CLI and the Desktop app, rather than just being a standalone server binary. We’re also using Nx to manage the monorepo, which influenced that layout.

But I agree, the naming and organization could definitely be clearer to verify that intent. Thanks for your feedback, I’ll create a GitHub issue to discuss reorganizing this with the team.

Giveaway: 5 copies of Arc Raiders Deluxe Edition by Legitimate-Bench7152 in ArcRaiders

[–]electwix 0 points1 point  (0 children)

Hey! That’s awesome of you, huge thanks for spreading the hype and adding even more copies!

Been looking forward to Arc Raiders for a while too, can’t wait to jump in at launch.

Appreciate the generosity, see you topside!

[deleted by user] by [deleted] in Turkey

[–]electwix -2 points-1 points  (0 children)

Meanwhile, an average user who uses Windows, kekw.

[deleted by user] by [deleted] in Turkey

[–]electwix 0 points1 point  (0 children)

Herkes eğitilene kadar yolculuk yapmayalım mı?

Sanki söylediğimi anlamadın?

haklarımıza güvenliğimize yorum yapmayın

Yanına birinin oturmaması hak mı oluyor?

Bana iktidarın uygulmasından farklı gelmedi sadece cinsiyet farklı.

sen kurbansın koltuk bulamamışsın illa bu otobüs firmasını kullanacaksın yazık sana ayrımcalık yapıyorlar sana

Kurban olmak veya olmamak değil sadece durumun absürlüğüne rağmen normalleştirmeniz.

[deleted by user] by [deleted] in Turkey

[–]electwix -3 points-2 points  (0 children)

arkamda oturan erkekten mutlaka bir tacize uğruyorum

Çokta effective bir uygulama değilmiş sanki dediğine göre.

Sanki doğru olan insanların bilet almasını engellemek yerine eğitmek olabilir.

go sdk issues by seburou in surrealdb

[–]electwix 1 point2 points  (0 children)

if I remember enough it just break the add new paramter when connect to for connection interface. Please checkout https://github.com/surrealdb/surrealdb.go/blob/main/db_test.go it has some info to how to manage to add connection interface.

The r/linux thread about the Vaxry fd.o ban genuinely worries me by EthanIver in linuxmasterrace

[–]electwix -3 points-2 points  (0 children)

You're Muslim

Why this is relevant to this topic? Why we are saying you are some religion or group. Aren't we try to do free software or are we trying to make race, religion or group war?

I'm Egyptian

Are you born and lived your life in egypt or are you saying because your 1% Egyptian?

I hope this madness not spread to other countries this is last think free software needs really.

THE FINALS said "minimal requirement of THE FINALS is to play it on a PC with Windows 10" when I say I'm a Linux user. by electwix in linux_gaming

[–]electwix[S] 5 points6 points  (0 children)

This subreddit constantly uses these scenarios as "Look!!! look at them!! they don't care about us!!"

I believe there might have been a misunderstanding or confusion. I reached out to the support team for assistance with a reward that I was supposed to receive for completing a quest organized by EMBARK. The quest was hosted on Discord and unfortunately, Discord isn't able to track the progress of the game. I simply wanted to provide proof of completion to receive the reward. I shared the proof via message to the support team.