For: A title or description that is too long reads the same wherever it is said, because it is said from one place. Today each sentence below is typed out separately in src/web/pages/issues.ts, src/web/pages/pulls.ts, so the next edit to one copy makes them drift.
Done:
[ ] src/actions/thread_limits_words.ts exports these sentences (new, or the existing module of that concept if one already owns similar words; say which in the pull):
- "That title is too long (256 characters at most)."
- "That description is too long (64 KB at most)."
[ ] Every file named imports them, and grep -rn for each sentence under src/ finds only the module.
[ ] Answers and pages are byte-for-byte unchanged: every existing test passes as it is.
[ ] A new test/thread-limits-words.test.ts asserts each exported sentence is non-empty and that each file named no longer contains the literal (read the source as text). It fails if a copy is typed back.
[ ] Before pushing, run test/thread-limits-words.test.ts, the tests of the files you touched, bun x tsc --noEmit and, if src/web changed, bun scripts/design-lint.ts. A red test elsewhere that main also has is named in the pull, not a reason to stop.
Files: src/actions/thread_limits_words.ts, src/web/pages/issues.ts, src/web/pages/pulls.ts, test/thread-limits-words.test.ts.
Risk: a pure move; change no wording. Touch only the lines the sentences are on.
For: A title or description that is too long reads the same wherever it is said, because it is said from one place. Today each sentence below is typed out separately in src/web/pages/issues.ts, src/web/pages/pulls.ts, so the next edit to one copy makes them drift.
Done:
- "That title is too long (256 characters at most)." - "That description is too long (64 KB at most)."
grep -rnfor each sentence under src/ finds only the module.bun x tsc --noEmitand, if src/web changed,bun scripts/design-lint.ts. A red test elsewhere that main also has is named in the pull, not a reason to stop.Files: src/actions/thread_limits_words.ts, src/web/pages/issues.ts, src/web/pages/pulls.ts, test/thread-limits-words.test.ts. Risk: a pure move; change no wording. Touch only the lines the sentences are on.