Repository navigation
Conversation
|
@Daluworks Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Thanks for the contribution. The PR is currently blocked because the main branch has advanced and GitHub reports a merge conflict. Please update or rebase the branch against main, resolve the conflict, and rerun the checks. We will be happy to merge it after that. |
|
Hi @Daluworks, thank you for your contribution. This PR is not currently in a mergeable state on GitHub, and its mergeability cannot be confirmed after recent repository updates, so I cannot merge it as-is. Please recreate or rebase your branch from the current main branch and push an updated branch so we can review it again. This is a mergeability/update note, not a malware finding. Once the branch is updated, we will review it again. Thank you! |
…wMessage to samples
…e compile-time type errors
…h and value methods
Summary
Enables operators to preview how every supported contract event renders in Telegram via
/preview <event_name>. Introducessrc/notifications/samples.tsproviding deterministic sampleDecodedEventobjects for all 15 market and squad event types, keeps themarketandsquadcommand arguments functional as before, and falls back to a MarkdownV2-escaped usage message listing all valid event names whenever an unknown argument is provided.Linked issue
Closes #371
Failure modes
previewMessagetreated any unknown argument asmarket, silently rendering only theclaim_createdsample.Cursor safety
Unchanged. This PR touches only the on-demand preview formatting logic (
previewMessage) and sample event fixtures. The poller, cursor files, dedup windows, and ledger state are not touched.Logs and security
No new log lines or configuration variables were added. All operator inputs to
/previeware clipped viaclip(target, 40)and passed throughescapeMdbefore being included in the reply, preventing MarkdownV2 entity injection or unbounded messages. No secrets, credentials, or bot tokens are exposed.Configuration and deployment impact
No changes. No environment variables were added or modified. Deployment configuration (
Dockerfile,railway.json, status endpoints) anddata/layout are unchanged.Test coverage
npm run typecheckpassesnpm run buildpassesnpm testpasses (no live Testnet, no Telegram credentials required)Coverage details:
tests/preview-samples.test.mjsverifying:DecodedEventinstances across market and squad contracts.formatEventwithout error.previewMessagerenders valid MarkdownV2 for each event name./preview marketand/preview squad.link-preview-control.test.mjs,format.test.mjs,markdown-lint.test.mjs,golden-corpus.test.mjs,scan-secrets.mjs,check-lockfile.mjs) pass cleanly.