Skip to content

connector: create GroupMe polls from Matrix - #38

Merged
Fizzadar merged 3 commits into
mainfrom
nick/plat-39676-groupme-create-polls
Oct 28, 2026
Merged

Fizzadar merged 3 commits into
mainfrom
nick/plat-39676-groupme-create-polls

Conversation

@Fizzadar

Copy link
Copy Markdown
Contributor

GroupMe does have a poll creation API (beeper/groupme-lib#3), so this replaces the "can only be created in the GroupMe app" rejection from #36 with real creation, using the announcement message ID as the DB ID so the `poll.created` push is dropped as an echo. Matrix answer IDs are client chosen, so they're mapped to GroupMe option IDs in message metadata for votes. Polls get GroupMe's longest allowed expiry (14 days) since Matrix polls stay open until ended.

🤖 Generated with Claude Code

@indent

indent Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Issues

All clear! No issues remaining. 🎉

2 issues already resolved
  • A poll created from Matrix gets a 1970-01-01 timestamp if GroupMe omits created_at in the create response, which breaks time-based backfill lookups. Only set Timestamp when poll.CreatedAt > 0. (fixed by commit 8f0b67f)
    Found by Indent Review Agent
  • If CreatePoll succeeds but returns a different option count, the handler returns a retriable error although the poll exists in GroupMe. Matrix shows the poll as failed, the push creates a second bridged copy, and a retry creates a duplicate poll. (fixed by commit 8f0b67f)
    Found by Indent Review Agent

CI Checks

All CI checks passed on 8f0b67f.

Review agents

Select any unchecked box below to run or rerun that agent.

Passed (1)
  • Indent Review Agent · No remaining issues found
Full results

Indent Review Agent

  • Summary: No remaining issues found
  • Last ran on commit: 8f0b67f5
  • Latest result
    {
      "summary": "No remaining issues found",
      "findings": []
    }

@Fizzadar

Copy link
Copy Markdown
Contributor Author

Tested live on a self-hosted bridge between two GroupMe accounts. Single and multi choice polls sent from Matrix show up once in GroupMe with the right options and type, with no echo back into the room, and votes with Desktop style (1/2) and random (a7f/k9z) answer IDs land on the right GroupMe options, including after a restart. GroupMe created polls still bridge and accept votes, and option count or subject length rejections come back as the send failure reason.

Comment thread pkg/connector/handlepoll.go Resolved
Comment thread pkg/connector/handlepoll.go Resolved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Fizzadar
Fizzadar merged commit c376ab8 into main Oct 28, 2026
5 checks passed
@Fizzadar
Fizzadar deleted the nick/plat-39676-groupme-create-polls branch October 28, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant