Skip to content

feat(Concentration): v1.0.0 Refactor Concentration internals and docs.#2235

Open
steverobertsuk wants to merge 1 commit into
Roll20:masterfrom
steverobertsuk:sr/concentration-v1
Open

feat(Concentration): v1.0.0 Refactor Concentration internals and docs.#2235
steverobertsuk wants to merge 1 commit into
Roll20:masterfrom
steverobertsuk:sr/concentration-v1

Conversation

@steverobertsuk
Copy link
Copy Markdown
Contributor

@steverobertsuk steverobertsuk commented May 26, 2026

[1.0.0] - 2026-05-23

Added

  • Dedicated legacy and Beacon spell-detection paths.
  • Support Mode for debug output with two levels:
    • Basic: short support-friendly diagnostics.
    • Detailed: structured diagnostics for troubleshooting.
  • Pending roll ID flow for Roll and Advantage buttons.
  • Pending roll cleanup for expired entries.
  • Guarded CON save modifier lookup helper.
  • Documentation set for compatibility and testing:
    • docs/beacon-compatibility.md
    • docs/troubleshooting.md
    • docs/testing-checklist.md

Changed

  • Updated script and package versioning to 1.0.0.
  • Hardened Beacon matching heuristics for concentration spell cards.
  • Improved character resolution using character ID first, then exact-name fallback.
  • Preferred represented tokens on the caster's current page before global fallback.
  • Refreshed README and metadata for current Roll20/Beacon behavior.
  • Refactored API input handling into dedicated parse/dispatch helpers.
  • Refactored HP-loss concentration flow into focused reminder/button/tracking helpers.
  • Added JSDoc typedefs and function docs for core detection, command, roll, and config flows.

Fixed

  • Fixed selected-token manual toggle whisper targeting for character mode.
  • Prevented brittle regex indexing assumptions on unmatched spell content.
  • Improved marker-change loop protection using tracking keys.
  • Added safer marker removal behavior for represented and unlinked tokens.
  • Improved handling of missing or expired pending roll IDs.

Security

  • Validates API command and config input values before applying state changes.
  • Escapes dynamic chat-rendered values to reduce markup injection risk.

Signed-off-by: Steve Roberts steve@shadowcomputers.co.uk

- Extract command/input flow into dedicated helpers
- Extract HP-loss concentration workflow into smaller helper functions
- Add JSDoc typedefs and function docs for key flows
- Preserve existing behavior while improving readability/maintainability
- Update README command/config wording for accuracy and consistency
- Move creator details to a Credits section at the bottom of the README
- Improved support and fixes for D&D 2014 and 2024 Beacon sheet games
- Refactor CHANGELOG notes into their own file

Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant