Retarget GHCR, releases, and docs to this repo - #18
Merged
Merged
Conversation
Publish the production image to ghcr.io/srcdslab/sourcebans-pp, including a rolling :main tag on pushes to main. Stop dispatching docs deploys into sbpp/sbpp.github.io. Point panel and operator-facing links at this repo.
Rushaway
added a commit
that referenced
this pull request
Sep 6, 2026
The 2.0 player drawer's Comments section was read-only, so once a ban/comm had comments the only way to add another from the list view was to expand the inline disclosure and scroll past the thread (the review's "only the raw ?comment= URL" point). 1.x kept an always- present "Add comment" admin action on the expanded row. - api_bans_detail / api_comms_detail: new `can_comment` (login-only, mirrors the page handlers' `can_comment` splat) plus per-comment `can_edit` (own comment or Owner) / `can_delete` (Owner) — same gating as page.banlist.php's `$commentres` loop. `C.aid` added to the comment SELECT to compute ownership. - theme.js renderOverviewPane: render the per-comment edit/delete row and an "Add comment" CTA. Edit/add link to the same server-rendered `?p=…&comment=…` surface the inline disclosure uses; delete reuses the global `data-action="comment-delete"` dispatcher (comment-actions.js) with `data-page="-1"`. - api-contract.js: regenerated (also picks up the stale ApiSystemCheckVersion re-wrap left by #18's hand-edit). - player-drawer.tpl: reference shape + variable contract updated. - Tests: bans/comms detail snapshots + assertions for the new flags; e2e drawer-mirror asserts the admin Add-comment CTA. Follow-up to #28 review. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Rushaway
added a commit
that referenced
this pull request
Sep 6, 2026
#28) * fix(banlist/commslist): restore per-punishment comment CTAs (sbpp#1544) The 2.0.0 theme rebuild rendered the inline comment thread on the public ban list and comms list but dropped the add / edit / delete call-to-action buttons. page.banlist.php / page.commslist.php still build addcomment, editcomlink and delcomlink for every row (already permission-gated), the templates just never printed them. - page_bans.tpl / page_comms.tpl: render $com.editcomlink + $com.delcomlink under each inline comment (delete reuses the existing data-action="comment-delete" dispatcher in comment-actions.js), and an "Add comment" footer link in the disclosure. For admins the disclosure now also renders on rows with zero comments so a thread can be started there. - BanListView / CommsListView: new can_comment flag ($userbank->is_admin(), matching the login-only bans.add_comment API gate), defaulted false for third-party callers. - theme.css: styles for the new action row + add-comment footer. - BanlistCommentsVisibilityTest: cover the admin add-comment CTA and the public no-CTA path (replaces the now-obsolete "disclosure never renders on an uncommented row" assertion). Upstream issue: sbpp#1544 * fix: guard commentdata access when public comments are disabled page_bans.tpl accessed $ban.commentdata before the $view_comments gate, tripping an 'Undefined array key' warning (PHPUnit treats it as a failure) for anonymous callers when config.enablepubliccomments=0 — the handler doesn't build commentdata in that branch. * fix(comments): render banlist/commslist comment CTAs as Lucide icons The restored per-comment edit/delete controls and the "Add comment" link were still emitting Font Awesome markup (`<i class="fas fa-edit fa-lg">` / `fa-trash` / `fa-comment-dots`). The 2.0 theme dropped Font Awesome, so `editcomlink` and `delcomlink` — which are icon-only — rendered as empty `<a>` elements; `addcomment` lost its glyph but kept the visible "Add Comment" text. Swap all three to `<i data-lucide="…">` (pencil / trash-2 / message-square-plus), matching the icon vocabulary the rest of the banlist/commslist chrome uses (and the Lucide-not-glyph rule PublicBanListRegressionTest pins for the row-action buttons). Add `aria-label` to the icon-only edit/delete anchors so they carry an accessible name the way the row-action buttons do. Follow-up to #28 review. * feat(drawer): add/edit/delete comment affordances in the player drawer The 2.0 player drawer's Comments section was read-only, so once a ban/comm had comments the only way to add another from the list view was to expand the inline disclosure and scroll past the thread (the review's "only the raw ?comment= URL" point). 1.x kept an always- present "Add comment" admin action on the expanded row. - api_bans_detail / api_comms_detail: new `can_comment` (login-only, mirrors the page handlers' `can_comment` splat) plus per-comment `can_edit` (own comment or Owner) / `can_delete` (Owner) — same gating as page.banlist.php's `$commentres` loop. `C.aid` added to the comment SELECT to compute ownership. - theme.js renderOverviewPane: render the per-comment edit/delete row and an "Add comment" CTA. Edit/add link to the same server-rendered `?p=…&comment=…` surface the inline disclosure uses; delete reuses the global `data-action="comment-delete"` dispatcher (comment-actions.js) with `data-page="-1"`. - api-contract.js: regenerated (also picks up the stale ApiSystemCheckVersion re-wrap left by #18's hand-edit). - player-drawer.tpl: reference shape + variable contract updated. - Tests: bans/comms detail snapshots + assertions for the new flags; e2e drawer-mirror asserts the admin Add-comment CTA. Follow-up to #28 review.
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
ghcr.io/srcdslab/sourcebans-pp. Push tomainalso publishes a rolling:maintag. Semver tags still own:latest.docs-deploy-trigger.ymlfrom dispatching intosbpp/sbpp.github.io. Docs stay in-tree;docs-build.ymlstill validates the Astro build.system.check_version, and operator-facing docs atsrcdslab/sourcebans-pp.Plugins-Latest
That GitHub release is leftover from the old
plugin.ymlCI onphp81. It rebuilt a floating plugin-only tarball on every plugin-path push. It is not a semver panel release. Currentrelease.ymlonly fires on*.*.*tags, and this repo has never had one.Do not tag a version until this PR is on
main. Thengit tag X.Y.Z && git push srcds X.Y.Z. Before that, un-latest or deletePlugins-Latestso GitHub andsystem.check_versiondo not treat it as the latest release.Test plan
ghcr.io/srcdslab/sourcebans-pp:mainexists (org admin may need to allow GitHub Actions to create packages).sbpp/sbpp.github.io.Plugins-Latestrelease, then cut the firstX.Y.Ztag.