Fixing Electron Flatpaks on Fedora 44 (or any distro where X11 access broke)

The Problem

After upgrading to Fedora 44, Electron-based flatpaks (Slack, Signal, Spotify, Mattermost, Telegram, Jitsi, Bruno, Bitwarden, Discord, Postman, Element) and other apps (Flatseal, Flameshot, DBeaver, Zed) stopped working with errors like:

[4:0521/150051.341274:ERROR:ui/ozone/platform/wayland/host/wayland_connection.cc:202]
Failed to connect to Wayland display: Connection refused (111)
[4:0521/150051.341335:ERROR:ui/ozone/platform/wayland/ozone_platform_wayland.cc:281]
Failed to initialize Wayland platform
[4:0521/150051.341428:ERROR:ui/aura/env.cc:246]
The platform failed to initialize.  Exiting.

The apps try Wayland, fail, then don’t fall back to X11.

Users running XFCE (or any X11 session) under GDM are especially affected because GDM reports XDG_SESSION_TYPE=wayland even for X11 sessions, which confuses Electron/Chromium auto-detection.

[Read More]
Categories: development  Tags: sysadm 

Sharing a tmux Session in Read-Only Mode for Training

During hands-on Linux training it is useful to let a trainee follow your terminal session live — without the risk of his accidentally typing something that derails the demo. tmux makes this straightforward through shared sockets and its built-in read-only attach mode.

The problem

When demonstrating something in a terminal, a trainee sitting next to you or connected over SSH can share your screen, but they have no keyboard control over what they see.

If they open their own terminal and you give them access to your tmux session without restrictions, they can type — which is not what you want during a demo.

What you need is a way for them to see exactly what you are doing, in their own terminal window, but in a purely passive, read-only mode.

[Read More]
Categories: development  Tags: sysadm 

WarmDesk now has a website

The WarmDesk project now has a proper website.

You can find it at https://tonk.github.io/warmdesk/ where you can read about all the features, browse the documentation, and find installation instructions.

The site covers everything from a quick start to a full administrator guide, including database setup, reverse proxy configuration, and horizontal scaling with Redis.

The source of WarmDesk itself is, as always, on GitHub at https://github.com/tonk/warmdesk.

Categories: development  Tags: sysadm 

WarmDesk - Self-Hosted Project Management

Modern software teams produce a constant stream of tasks, conversations, customer commitments, and billable hours. Most commercial tools that manage all of this run in somebody else’s cloud, lock data inside proprietary formats, and charge per seat. WarmDesk is a self-hosted alternative: a single binary that covers Kanban boards, Scrum sprints, team chat, discussion threads, customer contracts, and time tracking — owned and operated by you.

What is WarmDesk?

WarmDesk is a project management platform built specifically for teams that require control over their own data. It ships as a single statically-linked Go binary that contains the REST API, the WebSocket hub, a built-in file server, and a bundled Vue 3 single-page application.

Drop the binary next to a config file, start it, and a fully functional project management tool is immediately available. No Docker compose files, no Kubernetes manifests, no cloud account required — though all of those deployment models work perfectly fine as well.

Table 1. Key properties at a glance
Property Detail

Backend

Go 1.25, Gin, GORM — compiles to a single static binary

Frontend

Vue 3 SPA served from the same binary

Desktop

Native Tauri 2 app for Linux, macOS, and Windows

Database

SQLite (default), PostgreSQL, or MySQL — switch with one config key

Schema migration

GORM AutoMigrate on every startup — no separate migration files

Scaling

Optional Redis pub/sub enables horizontal multi-instance deployment

Auth

JWT (15 min access + 7 day refresh), TOTP/MFA, API keys, role-based access

i18n

English, Dutch, German, French, Spanish (extensible)

[Read More]
Categories: development  Tags: sysadm 

WarmDesk collection released

As you probably know, I’m completely addicted to Ansible, so my new project requires some Ansible love.

As I have set it up with an API that can do, almost, anything with the cards, it was a breeze to create an Ansible collection to manage the WarmDesk instance.

I have created a collection from all the modules and uploaded that to the Galaxy. https://galaxy.ansible.com/ui/repo/published/ansilabnl/warmdesk/

You can install it with

ansible-galaxy collection install ansilabnl.warmdesk
[Read More]
Categories: development  Tags: sysadm 

Project Coworker renamed to WarmDesk

As I was typing along in my quest for success with Coworker, I noticed that the name was already used by multiple projects, so it was not wise to keep using this name. I really want to avoid name conflicts.

Asking Claude to come up with a new name, resulted in a lot of nice names, all where already taken.

Then the name WarmDesk came up. This is a warm environment, with a nice cup of coffee. And all the tickets and Kanban stuff on the desk.

[Read More]
Categories: development  Tags: sysadm 

Building an app using only AI

I do quite a lot of development work for a customer, and this particular customer uses Ryver (https://ryver.com) for the management of the different projects. This works rather well and it’s not very expensive. But a big problem is that it looks like development of Ryver is completely shutdown. At least the last couple of years nothing has happened, nothing at all.

As Marcel (my Boss Mann) was pushing me to use Claude as a development aid, I got curious if Claude could give me a hand. I even went a step further and decided to go the very lazy route. I don’t want to write a single line of code.

[Read More]
Categories: development  Tags: sysadm