Skip to content

Flytower 1.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 11:54
0f2ece4

Flytower 1.4.0 gives you finer control over who can do what. The broad permissions are now split into smaller ones. For servers, editing settings, managing content, schedules, community settings and backup schedules are separate, and editing the YAML covers all of them. For Flytower itself, updates, notifications, integrations, branding and SSH are separate. Inviting people and managing roles are no longer the same thing as managing people. Existing roles keep everything they could do before. The role editor groups permissions by area and marks the powerful ones, locks the extras a permission brings with it, and lets you copy any role. People can show exactly what each person is able to do, and a server's Settings has an Access section, so someone with Manage who has access can look after one server's people and invite links without touching the rest.

Chat now goes both ways with Discord. Turn on Chat from Discord on the Discord app card under System, Integrations, then switch it on for a server in its Discord chat settings. Messages in that channel then show in game as [Discord] name: message. This needs Message Content Intent turned on for your app in the Discord Developer Portal, and the bot added to your Discord server with the button on the card. The web map zooms smoothly too: it no longer flashes blank while it zooms or redraws, pinch and trackpad zoom glide, nearby zoom levels load ahead of time, and the map's controls and player markers always stay on top.

The system helper and updater now run the Rust versions by default. If the Rust agent fails to start, Flytower falls back to the Bun one by itself and stays on it until the next update. To choose Bun yourself, put bun in /etc/flytower/agent. Testing notes are in testing-1.4.0.md and Testing the Rust agent.

Features

  • chat from Discord switches on the Discord card and server chat card (dacd16f)
  • show messages from a server's Discord chat channel in game (8ef16b1)
  • keep a Discord Gateway connection with heartbeats, resume and backoff (e4471f7)
  • start the Rust agent by default, falling back to Bun if it won't start (ba72ebf)
  • Rust agent clears its start marker once listening (5e50170)
  • Access section on server Settings (8ca45b1)
  • let a server's own access be managed by someone trusted with it (d7a35d4)
  • show what each person can do, from all their roles (f80f280)
  • role editor grouped by area, with copies and locked extras (8f46f6b)
  • say what changed in Activity when roles or access change (4157683)
  • group permissions by area and mark the powerful ones (f21526a)
  • show and hide panel pages by the finer permissions (b0fdf6f)
  • check each part of a spec change against its permission (4c64d2c)
  • check the finer permissions on every route (98c135c)
  • move custom roles to the finer permissions on upgrade (31ba429)
  • split broad permissions into finer keys (bab8d86)

Fixes

  • keep map controls above the tiles (aa5d49c)
  • keep the chat from Discord badge beside its heading, and name a stop plainly (84ebdef)
  • smooth web map zooming (f6bdb7b) · #201

Docs

  • release notes for 1.4.0 and its native build (34c8bc8)
  • release notes for 1.4.0-beta.2 and its native build (e2cfafa)
  • release notes for 1.4.0-beta.1 and its native build (d0f0d03)
  • chat from Discord and its testing notes (72a25ce)
  • keep the updating page's links inside the docs site (8956ba3)
  • Rust agent on by default, and how to choose Bun (5f8e238)
  • managing one server's access (50298ab)
  • the role editor and what someone can do (ee83ff5)
  • drop a testing step that doesn't hold yet (94e21e4)
  • testing notes for the finer permissions (d5a56b4)
  • describe the finer permissions (b9c1215)

Other

  • give the slow RCON command test room for the login (43f02b5)
  • clear the agent's start limit between the E2E's quick restarts (545b94f)
  • check the Rust agent and its Bun fallback end to end (5ffca21)
  • prove nobody gains or loses access in the permission split (a65a42e)

Other changes

  • Merge main into feat/permission-split (78b8ece)

Full diff: v1.3.1...v1.4.0