Skip to content

Migrate Flutter client to public DaccordProject/daccord URL (hard cutover) #86

Description

@krazyjakee

Decision

Ship the Flutter client (this repo, daccord-app) under the existing public URL github.com/DaccordProject/daccord — the URL already shared widely — rather than releasing from a new/second repo. Migrate the code across and do a hard cutover for existing users (no auto-update bridge).

Why hard cutover (not auto-update migration)

The Godot client's deployed auto-updater cannot safely install a stock Flutter desktop build:

  • On Linux/Windows the apply step (scripts/autoload/updater.gd _apply_binary_update_list_dir_files) copies only flat files next to the binary and skips subdirectories. A Flutter desktop bundle is a tree (lib/, data/flutter_assets/), so those dirs would be dropped and the updated app would launch broken.
  • Making auto-update work would require either single-file packaging (AppImage / one-file exe) or shipping a "bridge" Godot release with a rewritten recursive-copy updater.

We're skipping all of that: manual announcement in the Discord channel telling anyone who installed before the cutover date to download the new version from the release page.

Plan

  • Freeze the Godot client in DaccordProject/daccord: branch current mainlegacy-godot and tag (e.g. godot-final). Full history preserved in-place.
  • Move this Flutter codebase onto main of DaccordProject/daccord (add as remote + merge with --allow-unrelated-histories, or land as a fresh tree — TBD).
  • Leave all existing Godot GitHub Releases untouched (releases are attached to the repo, not a branch — they stay downloadable).
  • First Flutter release tag must be strictly higher than the last Godot tag (0.1.21) so it's treated as Latest.
  • Set up the Flutter release workflow (per-platform asset naming + its own self-updater pointing at this repo).
  • Post Discord announcement: "If you installed before , download the new version here: ."

Notes

  • License stays GPL-3.0.
  • daccord-app (this repo) can remain as the dev/source location or be retired once the migration lands — decide during execution.

Migrated from DaccordProject/daccord-app#79

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions