Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Remove the unused Forward Template editor from Messages settings

Closed Beginner friendly
#9,970 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@atomantic is already working on this.

Since Oct 4, 2026.

  • #9991 by @atomantic — merged

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
85/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript, react

Research direction

Start in client/src/components/messages/ConfigTab.jsx at the Forward Template state, field, and save handling, then review ConfigTab.test.jsx and server/routes/settings.js:678 to understand nested settings replacement. Remove the inert editor and default while preserving an existing legacy value, and verify the rendered interaction keeps Reply Template and conversational-tone saving intact.

Written by the indexing model from the issue text.

Description

area:ui bug effort:low incomplete model:light plan planner:gpt-6-1-sol

Audited 2026-10-04. Slice: Messages configuration, draft generation route, evaluator callers, tests, and history.
Scope: small. Severity: 4/10.

Problem

Messages Settings offers an editable "Forward Template" under Prompt Templates (client/src/components/messages/ConfigTab.jsx:669). The component loads it at :86, changes it at :676, and saves messages.forwardTemplate through Save Config at :193.

No runtime path reads this setting. Repository-wide identifier search finds forwardTemplate only in that configuration component. The actual generator, server/services/messageEvaluator.js:118, chooses templateOverride or msgConfig.replyTemplate at :123. Its HTTP caller (server/routes/messages.js:235) supplies reply options only; the other production caller in server/services/tribeOutreach.js:577 supplies an outreach override. There is no forwarding entry point selecting the saved Forward Template.

Impact and evidence

A user can edit and save a template intended to affect generated drafts, but it changes no generated message. This is an offered inert setting, not a request to add an unrelated forwarding feature.

The editor was introduced by c700d58b4 with the Messages Config page. Current ConfigTab tests cover OAuth actions; evaluator tests cover reply generation, with no forwarding consumer. Static data-flow inspection is sufficient to prove the missing consumer; no provider call or private data was used.

Decided fix: remove the unsupported surface

In client/src/components/messages/ConfigTab.jsx, remove the Forward Template field, DEFAULT_FORWARD_TEMPLATE, and its editable local state. Do not initialize or save a default for this unsupported feature. Keep the functional Reply Template and conversational-tone controls.
Preserve an existing stored messages.forwardTemplate as opaque legacy passthrough, only when the fetched setting actually contains that key. PUT /api/settings replaces the nested messages slice at server/routes/settings.js:678, so simply omitting it on save would discard the original value. Retain that original key (including an intentionally empty value) when saving supported fields, without inventing a default. Do not add a migration or change global settings merge semantics. A future forwarding workflow can deliberately reuse those values when it supplies a real consumer.

Add a focused rendered configuration regression in ConfigTab.test.jsx: the inert field is absent and saving a Reply Template still sends the supported settings without introducing a default forwardTemplate; an existing legacy value round-trips unchanged. No generation behavior should change.

Dispatch: model:light for a well-specified removal in one component; effort:low because the consumer search proves the setting has no runtime dependency.

Acceptance criteria

  • Messages Settings offers no Forward Template editor and no longer initializes or writes a replacement default for it.
  • Reply Template and conversational tone remain editable and saved.
  • Saving supported settings preserves a pre-existing stored Forward Template instead of clearing it.
  • A rendered interaction regression verifies the supported Save Config payload and the absent inert control.
Dominant language
JavaScript
Stars
38
Forks
32
Avg merge
33m
Merged PRs (30d)
988

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from atomantic/PortOS

All issues in atomantic/PortOS

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.