Skip to content

Conversation

@lkaesberg
Copy link
Owner

@lkaesberg lkaesberg commented Jan 15, 2026

Note

Introduces an admin-only export of verification logs to CSV.

  • New /export logs slash command reads from configured logChannel, paginates up to limit (default 1000, max 10000), and filters to bot-authored messages
  • Parses multiple log formats (current with/without tags, manual with/without tags, legacy) and outputs CSV columns: timestamp,user_id,username,email,type,verified_by,tags
  • Escapes CSV fields, replaces commas in tags, and attaches the CSV file to an ephemeral response with a brief summary and error handling

Written by Cursor Bugbot for commit bf57f97. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

escapeCsvField(parsed.email),
parsed.type,
parsed.verifiedBy || '',
tags
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tags field missing CSV escape handling for quotes/newlines

Medium Severity

The tags field is not passed through escapeCsvField() before being included in the CSV output. While commas are replaced with semicolons, quotes and newlines in tag values would corrupt the CSV structure. The regex pattern [^\]]+ allows tags to contain quotes or newlines, which need proper escaping (wrapping in quotes and doubling internal quotes) to produce valid CSV. Unlike username and email which use escapeCsvField(), the tags field bypasses this protection.

Fix in Cursor Fix in Web

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.

2 participants