Linux desktop port (Mint / Cinnamon / X11) - #269
heliorosadoneto wants to merge 4 commits into
Conversation
|
Thanks @heliorosadoneto — a lot of careful work here, and Windows behaviour looks preserved. Before this can be considered, the maintainer needs to decide whether Codenotch supports Linux at all (#200); until then I'm leaving it open. Whatever the decision, it would need restructuring:
|
|
Thanks @heliorosadoneto — I want to be straight with you about where this stands rather than leave it sitting silently. First, the work is better than I expected. But I'm not merging it yet, and the reason isn't code quality. The The honest version of the tradeoff, which is mine to decide and not yours to keep arguing: supporting Linux means a third packaging path, two more CI workflows, and me answering Linux bug reports for a desktop environment I don't run. The code here doesn't add much maintenance; the commitment does. I haven't made that call yet. Two things that need fixing regardless, and one is a real bug:
Smaller: Mac is untouched by all of this — no If you fix the tauri.conf leak and the un-gated |
|
@heliorosadoneto — an update, and a heads-up that a second Linux port is now open: #294 by @arlindovs. Tagging you both so neither is working blind. Your Linux engineering is the better of the two. A real 10-function platform facade with ~215 lines of Linux-specific Rust, no duplicated providers, and But the branch has not moved since the 19th, and that is now a real problem. It is based on 1.14.0. Since then 1.16.0 shipped, and it added a Tauri updater to the Windows port — The three things I asked for on the 19th are also still unaddressed at
Two more I found this time: Where this leaves things. I have not decided on Linux, and I want to be straight that the holdup is not your code — it is that supporting Linux means a third packaging path and triaging bugs from desktops I don't run, permanently. That is my call to make and I am taking too long over it. What I would suggest, if you are willing: let #294 go first as a small reversible step that keeps If you would rather not, say so and I will take the whole thing or decline it on its own terms. Either way I owe you an answer rather than silence. |
|
An accidental stuck socket does eventually self-heal. Node sets no response-write timeout ( Why it isn't nothing. Capacity is 8 per process, and the counter is shared across private downloads, private uploads and public uploads. That number is small enough that ordinary use reaches it. Real scenarios, most to least likely:
At 1000 users the throughput argument is weak — real concurrent private-asset transfers are probably 2–5. The argument that survives is scenario 1, and that it fails silently. Cheapest fix is the timeout, not more slots: raising the count multiplies the memory budget (the author sized 8 slots at ~640 MiB worst case), whereas a write deadline costs one line and makes the download side symmetric with the upload side that already has one. |
|
Thanks for the clear write-up — agreed on both the hold-up and the split. The work lives on my fork: https://github.com/heliorosadoneto/codenotch/tree/feat/linux-desktop I'm fine with #294 going first as the reversible Linux step, then rebasing this as a behaviour-neutral PR: git mv windows/ → desktop/ plus absorbing the cfg(not(windows)) bits into platform/linux.rs. Independently I'll fix the items you listed (tauri.conf leak, un-gated drag_begin, hook looking for codenotch.exe, macOS compile_error!, README PR notes) and rebase onto current main so we don't drop the 1.16.0 updater. |
Share the Tauri crate under desktop/ and keep linux/ and windows/ as front doors.
Ship a fixed-name Codenotch.deb with the hook beside the app, so Install hooks works after apt, and add a Linux Package workflow next to Windows.
Move the .deb target and PNG icons into the Linux-only Tauri config, restore the updater signing steps, and give macOS a platform stub so cargo check runs.
88b6450 to
60f4a33
Compare
|
The review items and the rebase onto current main (1.16.0) are up on this branch. tauri.conf.json is NSIS + updater only. Deb, PNGs and Linux depends live in tauri.linux.bundle.conf.json. |
Summary
desktop/;linux/andwindows/are front doors.~/.config/Cursor, hover, axis-locked drag.desktop/codenotch/src/platform/.Test plan
cd desktop && cargo test --lockedon Linux