Restore website rebuild trigger on stable releases (fixes #53)#57
Merged
Conversation
Implements the privacy "Leave & Delete My Data" flow per user_flows/gdpr.md: per-space DELETE /members/@me?delete_data=true endpoint in accordkit, owner-must-transfer guard in both UI (guild_icon context menu, server_settings Privacy section) and client paths, and confirmation dialog with red-styled danger button. Bundles an unrelated idle profile-lock feature that landed on the same client.gd edits: 2x idle-timeout triggers profile_lock_requested (wired in main_window.gd), Config.profiles.active_has_password() helper. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Notification granularity (user_flows/in_app_notifications.md): per-channel levels (all/mentions/muted) via channel context menu, per-server suppress_everyone override in server settings, gateway message handler and SoundManager both gate on the channel/space level before playback, config save deferred and flushed on shutdown. Activities sidebar (user_flows/activities_list.md): collapsible ACTIVITIES section at the bottom of the channel list surfacing active plugin sessions per space, space-level session cache with fetch/fallback, real-time updates via active_sessions_updated / activity_session_state_changed / activity_participants_updated / activity_ended signals, Join Lobby and Join Voice flows with permission and host-in-voice checks. Plugin platform services (user_flows/plugin_platform_services.md): plugin_leaderboard_updated gateway event, leaderboard REST endpoints (submit/get/around/get_user), Lua bridge functions in scripted_runtime, AccordPluginManifest.services field. Bundled because client_gateway.gd is a shared edit point. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds tests/unit/test_client_plugins_guards.gd covering 25 early-return guards across join_activity, check_active_session, voice lifecycle handlers, broadcast presence, space session cache, role updates, bundle extraction edge cases, and fetch_plugins. Note: leaderboard_* methods introduced in the prior commit are not yet covered — left as a follow-up so this PR can ship independently. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Caps the on-disk emoji cache at 500 files, evicting the oldest by mtime when a new emoji is saved. Skips entries with invalid mtime and warns on eviction failures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Re-add the repository_dispatch step removed in 2cc41c0 that pings accordwebsite/docker-publish.yml after each stable release. Without it, the deployed web client at daccord.gg/chat/ froze on the 2026-03-19 build (pre-extensions_support=true) and threw "GDExtension libraries are not supported by this engine version" because the older non-dlink wasm couldn't load the bundled lua-gdextension. Three releases (v0.1.15, v0.1.16, v0.1.17) shipped with no web update. Fixes #53. Also document the load-bearing variant/extensions_support=true setting in the web export user flow so future cleanup doesn't silently re-introduce the same bug. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
krazyjakee
added a commit
that referenced
this pull request
Jun 8, 2026
- Invite acceptance: the add-server dialog now redeems an invite code via `invites.accept` after connecting — both from a pasted `?invite=` URL and from `daccord://invite/<code>` deep links (which main.dart already routes to this dialog), then upserts the joined space. This closes the biggest gap (there was previously no way to join via an invite) and the deep-link join path. - Bulk revoke: per-invite checkboxes + a "Revoke N" action in the invite manager, alongside the existing single revoke. - Search/filter the invite list by code. Deferred: channel-level invites (SDK has createChannel/listChannel, but neither client's UI exposes them — space-level matches the reference's invite_management_dialog). Closes #57. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
repository_dispatch event_type=web-export-updatedstep inrelease.ymlthat pingsaccordwebsite/docker-publish.ymlafter each stable release. The step was removed in2cc41c0(2026-03-14) without an explanation, and three releases (v0.1.15, v0.1.16, v0.1.17) have shipped since with no web redeploy.variant/extensions_support=truein the web export user flow as load-bearing for lua-gdextension, so future cleanup doesn't silently re-introduce the same bug.Why (fixes #53)
The deployed web client at https://daccord.gg/chat/ throws:
Diagnosis (verified, not theory):
Daccord.wasmsizeDaccord.side.wasmThe deployed build pre-dates
7c643d2(2026-03-20) which setextensions_support=true. With that flag off, Godot exports a single non-dlinkDaccord.wasmand no.side.wasm— yetaddons/lua-gdextension/luagdextension.gdextensionis still bundled in the PCK, so the engine errors out at startup when it tries to load it. Releases since v0.1.15 fix this in the build, but the website never picked them up because the dispatch step that triggersaccordwebsite/docker-publish.ymlwas removed.A one-shot
gh workflow run docker-publish.yml --repo DaccordProject/accordwebsitewas already kicked off to deploy v0.1.17 immediately. This PR ensures the same thing happens automatically on the next tag.Notes for reviewers
if: ${{ !contains(github.ref_name, '-') }}so pre-release tags (v0.1.18-rc.1etc.) don't redeploy the website.secrets.GH_PAT(same secret used elsewhere inrelease.yml).addons/lua-gdextension/*to the Web preset'sexclude_filter. That treats the symptom (no GDExtension → no error) but disables Lua plugins on web entirely, and quietly relies onscripts/plugins/scripted_runtime.gd:87'sClassDB.class_existsguard. The current preset already supports lua-gdextension on web correctly viaextensions_support=true; the only real bug was that nothing was deploying it.Test plan
-tag in a fork) and confirm theTrigger website rebuildstep runs andaccordwebsite/docker-publish.ymlis invokedhttps://daccord.gg/chat/Daccord.side.wasmreturns 200 (currently 404) and the web client loads without the GDExtension error