No description
  • TypeScript 84.1%
  • HTML 5.2%
  • Java 2.8%
  • Swift 2.6%
  • Shell 2%
  • Other 3.2%
Find a file
Tamás Szabó 5969344bc6
All checks were successful
CI / build-and-test (push) Successful in 37s
CI / android (push) Successful in 3m2s
CI / e2e (push) Successful in 3m28s
Add draft GitHub Actions workflow for SignPath Windows signing
Not functional yet: the signing-request step needs real SignPath
organization/project/policy slugs, which only exist after the OSS
program application (signpath.org/apply.html) is approved. This runs
on GitHub-hosted windows-latest specifically because SignPath's free
OSS tier only trusts signing requests whose build ran on a recognized
trusted build system (GitHub Actions hosted runners, Azure DevOps,
AppVeyor, Jenkins, TeamCity) - Forgejo CI isn't one of them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6rdTQJmSpFjfAayFM9xR3
2026-10-11 20:44:41 +02:00
.forgejo/workflows Initial public release 2026-10-11 20:15:23 +02:00
.github/workflows Add draft GitHub Actions workflow for SignPath Windows signing 2026-10-11 20:44:41 +02:00
.hub Initial public release 2026-10-11 20:15:23 +02:00
apps Initial public release 2026-10-11 20:15:23 +02:00
deploy Initial public release 2026-10-11 20:15:23 +02:00
docs Initial public release 2026-10-11 20:15:23 +02:00
e2e Initial public release 2026-10-11 20:15:23 +02:00
packages/matrix-core Initial public release 2026-10-11 20:15:23 +02:00
packaging/linux Initial public release 2026-10-11 20:15:23 +02:00
scripts Initial public release 2026-10-11 20:15:23 +02:00
services/sygnal Initial public release 2026-10-11 20:15:23 +02:00
site Add GPG release signing for Linux/Windows release artifacts 2026-10-11 20:30:16 +02:00
store Initial public release 2026-10-11 20:15:23 +02:00
test Initial public release 2026-10-11 20:15:23 +02:00
.dockerignore Initial public release 2026-10-11 20:15:23 +02:00
.gitignore Initial public release 2026-10-11 20:15:23 +02:00
.nvmrc Initial public release 2026-10-11 20:15:23 +02:00
CLAUDE.md Initial public release 2026-10-11 20:15:23 +02:00
codemagic.yaml Initial public release 2026-10-11 20:15:23 +02:00
LICENSE Initial public release 2026-10-11 20:15:23 +02:00
package-lock.json Initial public release 2026-10-11 20:15:23 +02:00
package.json Initial public release 2026-10-11 20:15:23 +02:00
PLAN.md Initial public release 2026-10-11 20:15:23 +02:00
README.md Translate README.md to English 2026-10-11 20:25:38 +02:00
RELEASE.md Initial public release 2026-10-11 20:15:23 +02:00
vitest.config.mts Initial public release 2026-10-11 20:15:23 +02:00

JorKonvo

A Discord-style chat client for Matrix, the open, decentralized chat protocol. One React/TypeScript codebase that runs in the browser (React + Vite + Tailwind v4), and the same build packaged for desktop (Tauri + CEF) and Android (Capacitor).

Layout

packages/matrix-core/   Framework-agnostic Matrix logic (a matrix-js-sdk
                        wrapper). NO React - the source of truth for
                        protocol behaviour.
apps/web/               React + Vite app - the source of truth for the UI.
apps/desktop/           Tauri shell (CEF runtime), loads the web build.
apps/web/android/       Capacitor Android project (tracked in git).
deploy/                 "Matrix server in a box" - Docker Compose + Terraform.
e2e/                    Playwright suite + a disposable Synapse.
test/                   Vitest unit tests.

npm workspaces (not pnpm/yarn - see PLAN.md). @jorkonvo/matrix-core is consumed as a workspace package: build it first (npm run build:matrix-core), or the web build can't resolve it, since dist/*.d.ts won't exist yet.

Development

Requires Node.js 20.19+ / 22.12+ (the build uses rolldown-vite).

npm install
npm run build:matrix-core     # required first step
npm run dev:web                # Vite dev server: http://localhost:5173

Full build: npm run build (build:matrix-core + tsc -b && vite build).

Desktop (Tauri)

cd apps/desktop && npm run dev        # loads the Vite dev server

The desktop shell uses Tauri's unreleased feat/cef branch to embed real Chromium via CEF - needed for screen sharing on Linux.

Mobile (Capacitor)

The Android native project (apps/web/android/) is generated and buildable. iOS needs a Mac + Xcode (see PLAN.md).

Testing

npm test                    # Vitest unit tests (no browser, no server)
./e2e/scripts/up.sh         # bring up a disposable Synapse
npm run test:e2e            # Playwright E2E (real Chromium)
./e2e/scripts/down.sh       # tear it down

First time: npx playwright install chromium.

CI: .forgejo/workflows/ci.yml (build + lint + unit on every push; the E2E job needs a Docker-capable runner).

License / status

Early-stage personal project, under the MIT license (see LICENSE).

Most of the codebase was built with Claude Code (Anthropic's AI assistant), under my direction - the architecture, priorities, and live-tested behaviour are mine, but the AI wrote the large majority of the actual lines. If that matters to you when judging the code or deciding to contribute, now you know.