Fix reply form quote config access #3496

Merged
hj merged 2 commits from fix/reply-form-quote-config into develop 2026-05-13 07:29:50 +00:00

Summary

  • Fixes the reply composer crash caused by PostStatusForm.defaultQuotable reading the removed Vuex mergedConfig getter.
  • Adds a regression test that mounts the reply composer with quoting available and quoteReply unset.
  • Declares existing StatusActionButtons onSuccess/onError emits to remove Vue 3 emitted-event warnings.

Regression Details

  • The quote-reply access was introduced by 7aefda4211 (Add quoting by url / in replies) while this.$store.getters.mergedConfig still existed.
  • The actual break was introduced by 9f3c0ec60b (Merge pull request 'Synchronized Settings' (#3473) from setttingssync into develop), which removed the Vuex config module and moved merged config reads to useMergedConfigStore(), but missed this new quoteReply access.
  • On instances with quoting capability, clicking Reply evaluated defaultQuotable, threw before the reply form finished mounting, and could cascade into requestClose on an undefined form ref.

Testing

  • yarn exec biome check src/components/post_status_form/post_status_form.js src/components/status_action_buttons/status_action_buttons.js test/unit/specs/components/post_status_form.spec.js
  • yarn run unit -- test/unit/specs/components/post_status_form.spec.js
  • yarn run unit
  • Verified the regression test fails when the PostStatusForm fix is temporarily removed: this.$store.getters.mergedConfig is undefined.
## Summary - Fixes the reply composer crash caused by `PostStatusForm.defaultQuotable` reading the removed Vuex `mergedConfig` getter. - Adds a regression test that mounts the reply composer with quoting available and `quoteReply` unset. - Declares existing `StatusActionButtons` `onSuccess`/`onError` emits to remove Vue 3 emitted-event warnings. ## Regression Details - The quote-reply access was introduced by `7aefda4211` (`Add quoting by url / in replies`) while `this.$store.getters.mergedConfig` still existed. - The actual break was introduced by `9f3c0ec60b` (`Merge pull request 'Synchronized Settings' (#3473) from setttingssync into develop`), which removed the Vuex config module and moved merged config reads to `useMergedConfigStore()`, but missed this new `quoteReply` access. - On instances with quoting capability, clicking Reply evaluated `defaultQuotable`, threw before the reply form finished mounting, and could cascade into `requestClose` on an undefined form ref. ## Testing - `yarn exec biome check src/components/post_status_form/post_status_form.js src/components/status_action_buttons/status_action_buttons.js test/unit/specs/components/post_status_form.spec.js` - `yarn run unit -- test/unit/specs/components/post_status_form.spec.js` - `yarn run unit` - Verified the regression test fails when the `PostStatusForm` fix is temporarily removed: `this.$store.getters.mergedConfig is undefined`.
fix reply form quote config access
Some checks failed
ci/woodpecker/pr/changelog Pipeline failed
ci/woodpecker/pr/lint Pipeline failed
ci/woodpecker/pr/test-e2e Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ef0cba713d
fix lint and add changelog entry
All checks were successful
ci/woodpecker/pr/changelog Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test-e2e Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
304655d448
hj merged commit cb638d57e8 into develop 2026-05-13 07:29:50 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/pleroma-fe!3496
No description provided.