Name: meshbay-hub Version: 0.6.0 Release: 1%{?dist} Summary: MeshBay Hub — identity authority and group registry server License: AGPLv3+ URL: https://meshbay.org Source0: %{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel >= 3.12 BuildRequires: python3-pip BuildRequires: python3-hatchling Requires: python3 >= 3.12 Requires: python3-meshbay-common = %{version} Requires: python3-fastapi Requires: python3-uvicorn Requires: python3-sqlalchemy >= 2.0 Requires: python3-alembic Requires: python3-asyncpg Requires: python3-pyjwt Requires: python3-blake3 Requires: python3-slowapi Requires: postgresql-server %description MeshBay Hub provides identity management, group registry, GEK bundle distribution, and coordination for MeshBay nodes. Runs as a systemd service behind Caddy (HTTPS). %prep %autosetup %build %{python3} -m pip wheel --no-deps --wheel-dir dist . %install %{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-hub # systemd service install -Dm644 packaging/systemd/meshbay-hub.service \ %{buildroot}%{_unitdir}/meshbay-hub.service # Config file template install -Dm644 packaging/conf/hub.toml.example \ %{buildroot}%{_sysconfdir}/meshbay/hub.toml.example # Data directory install -d %{buildroot}%{_sharedstatedir}/meshbay/hub %pre getent group meshbay >/dev/null || groupadd -r meshbay getent passwd meshbay >/dev/null || \ useradd -r -g meshbay -d %{_sharedstatedir}/meshbay -s /sbin/nologin \ -c "MeshBay service account" meshbay %post %systemd_post meshbay-hub.service %preun %systemd_preun meshbay-hub.service %postun %systemd_postun_with_restart meshbay-hub.service %files %license LICENSE %doc README.md %{python3_sitelib}/meshbay_hub/ %{python3_sitelib}/meshbay_hub-*.dist-info/ %{_bindir}/meshbay-hub %{_unitdir}/meshbay-hub.service %config(noreplace) %{_sysconfdir}/meshbay/hub.toml.example %dir %attr(750, meshbay, meshbay) %{_sharedstatedir}/meshbay/hub %changelog * Sun Aug 23 2026 MeshBay Team - 0.6.0-1 - Group UI split into a pluggable "applications" architecture (Chat, Files today; Videos/Music/Photos can register without touching GroupPage) - Operators can enable/disable applications per group from Settings - Group Settings sections reordered: Invite, Pairing, Applications, Shared directories, Uploads, danger zone, Your devices, Members - Fixed: a fresh access token was never picked up when a "not a member" handshake retry fired, wrongly locking a member (including a group's own creator) out of a group they had just joined - Fixed: opening Chat on a group with existing messages threw and wedged the page's rendering, leaving every button unresponsive until reload * Sun Aug 16 2026 MeshBay Team - 0.5.0-1 - Leave a group; public groups capped at 10 per owner, staff exempt - Groups are listed only once a node has announced them; prune-groups collects the rest - Node presence dot in the sidebar, from the signaling registry — no polling - Chat opens on the newest 100 messages and pages backwards (it used to page forwards) - Profile split out of Settings; public groups are open, invite-only is private - Streamed downloads verify the service worker is really serving before writing - Static assets are revalidated, so a half-updated SPA cannot load * Sun Aug 16 2026 MeshBay Team - 0.4.0-1 - Web client translated into fr, es, pt-BR, zh-CN, ja, de, it, nl and pl - Catalogues load on demand, one file per language, English as fallback - Plural forms selected through Intl.PluralRules (Polish needs four) - Locale matching keeps the region, so pt-BR and zh-CN resolve - Static assets are revalidated, so a half-updated SPA cannot load * Sat Aug 15 2026 MeshBay Team - 0.3.0-1 - Transfers survive leaving a group; downloads stream to disk in every browser - Download a folder as a zip, built in the browser (zip64, store-only) - Group owner can remove a member; editable group description - Nodes are recorded at the address their signed announcement arrived from - Deleted accounts stop being counted; the connection log keeps their name * Fri Aug 14 2026 MeshBay Team - 0.2.0-1 - Hub no longer stores or publishes user identity keys (H3); schema migration - Access tokens carry no pk_user claim - SPA: Argon2id for the keypair bundle, per-node identity, invitation codes * Sat Aug 09 2026 MeshBay Team - 0.1.0-1 - Initial package