main ← fix-nested-replies-wrench-menu
opened 08:33PM - 18 May 26 UTC
## Summary
Clicking items in the post wrench (admin) menu in nested replies — C…hange Owner, Lock Post, Rebuild HTML, Change Notice, Grant Badge, Toggle Wiki, etc. — did nothing: no error, no network request, no UI change.
`AdminPostMenu#topicAction` invokes the chosen item via `this.args.data[name]?.()`. The optional chain silently no-ops when the action is `undefined`. In nested mode none of these actions were plumbed to `<PostMenu>`, so every click was a quiet no-op.
This adds delegate actions on the nested controller (mirroring the existing `editPost`/`recoverPost`/`showHistory` pattern that forwards to the hydrated topic controller and topic route), then plumbs them through:
- `templates/nested.gjs` → `<Nested>` / `<NestedContextView>`
- `<Nested>` / `<NestedContextView>` → `<NestedOp>` and `<NestedPost>`
- `<NestedOp>` → OP's `<PostMenu>`
- `<NestedPost>` → reply's `<PostMenu>` and recursive `<NestedPostChildren>`
- `<NestedPostChildren>` → recursive `<NestedPost>` (so the menu works at any depth)
Affected actions: `changeNotice`, `changePostOwner`, `grantBadge`, `lockPost`, `unlockPost`, `permanentlyDeletePost`, `rebakePost`, `showPagePublish`, `togglePostType`, `toggleWiki`, `unhidePost`.
## Test plan
- [x] Added `spec/system/nested_post_admin_menu_spec.rb` exercising lock-post on a reply, lock-post on the OP, and change-owner modal on a reply (CI will run)
- [x] `bin/lint --fix` on all changed files (eslint, prettier, rubocop pass)
- [ ] Manually: as admin in nested mode, open wrench on OP and replies — each menu action fires (lock, rebake, change owner modal, etc.)