infra: redelivered join does not duplicate the sheet

a second delivery of the same join keeps exactly one sheet

group splitsheet infra/join-dedupe.spec.ts

👥 People

—
botAddedToChatThe bot is added to the group as member
  • ✓the join created one sheet
👥 Group chat
Hello! I’m @splitsheetbot, here to help you split bills with friends. — show full message
Hello! I’m @splitsheetbot, here to help you split bills with friends.
I use something called a Splitsheet—a dynamic message that keeps track of all expenses and debts. Below, you’ll find your first Splitsheet.

Here’s how to get started:
1. Join the Splitsheet by clicking the 👥⁠➕ button (or reply with add @​username)
2. Reply to the Splitsheet with a description of your expense
3. Pin the Splitsheet for quick access

Examples of messages:
- groceries 50 (sender paid, and the cost is split evenly among all members)
- bought coffee for Emma 15 (sender paid, and only Emma owes)
- John bought concert tickets for me and Sarah, 40 each (John spent 80, and both Sarah and you owe)

How to edit expenses:
- Edit your own message
- Reply to your message with the changes
- Reply to your message requesting deletion

Adding expenses is free. One payment shows who owes whom, for the whole group, forever.

When you're ready to start a new Splitsheet, use the /newsplit command. You can mention members to add them immediately: /newsplit @​alice @​bob
If you have any questions or suggestions, feel free to contact @splitsheet_help_bot
🌐
📋 Splitsheet

👥 Adder

Your expenses will appear here

↩️ Reply to add an expense. Or tap here
👤➕More ••• ↗
🛡️ Admin log channel
🤖 #bot_invited
By: Adder
Chat: -1000

📋 #splitsheet_created
By: Adder
Sheet: aaeccfc3-4757-468b-aa87-593fb8866e16

👤 #member_joined
Name: Adder
Sheet: aaeccfc3-4757-468b-aa87-593fb8866e16
redeliverTelegram re-delivers the previous update (duplicate)
  • ✓the redelivery did not create a second sheet
👥 Group chat
Hello! I’m @splitsheetbot, here to help you split bills with friends. — show full message
Hello! I’m @splitsheetbot, here to help you split bills with friends.
I use something called a Splitsheet—a dynamic message that keeps track of all expenses and debts. Below, you’ll find your first Splitsheet.

Here’s how to get started:
1. Join the Splitsheet by clicking the 👥⁠➕ button (or reply with add @​username)
2. Reply to the Splitsheet with a description of your expense
3. Pin the Splitsheet for quick access

Examples of messages:
- groceries 50 (sender paid, and the cost is split evenly among all members)
- bought coffee for Emma 15 (sender paid, and only Emma owes)
- John bought concert tickets for me and Sarah, 40 each (John spent 80, and both Sarah and you owe)

How to edit expenses:
- Edit your own message
- Reply to your message with the changes
- Reply to your message requesting deletion

Adding expenses is free. One payment shows who owes whom, for the whole group, forever.

When you're ready to start a new Splitsheet, use the /newsplit command. You can mention members to add them immediately: /newsplit @​alice @​bob
If you have any questions or suggestions, feel free to contact @splitsheet_help_bot
🌐
📋 Splitsheet

👥 Adder

Your expenses will appear here

↩️ Reply to add an expense. Or tap here
👤➕More ••• ↗
Hello! I’m @splitsheetbot, here to help you split bills with friends. — show full message
Hello! I’m @splitsheetbot, here to help you split bills with friends.
I use something called a Splitsheet—a dynamic message that keeps track of all expenses and debts. Below, you’ll find your first Splitsheet.

Here’s how to get started:
1. Join the Splitsheet by clicking the 👥⁠➕ button (or reply with add @​username)
2. Reply to the Splitsheet with a description of your expense
3. Pin the Splitsheet for quick access

Examples of messages:
- groceries 50 (sender paid, and the cost is split evenly among all members)
- bought coffee for Emma 15 (sender paid, and only Emma owes)
- John bought concert tickets for me and Sarah, 40 each (John spent 80, and both Sarah and you owe)

How to edit expenses:
- Edit your own message
- Reply to your message with the changes
- Reply to your message requesting deletion

Adding expenses is free. One payment shows who owes whom, for the whole group, forever.

When you're ready to start a new Splitsheet, use the /newsplit command. You can mention members to add them immediately: /newsplit @​alice @​bob
If you have any questions or suggestions, feel free to contact @splitsheet_help_bot
🌐
I see I've been in this chat before. Old splitsheets are no longer active here, but new ones will work just fine!
🛡️ Admin log channel
🤖 #bot_invited
By: Adder
Chat: -1000

📋 #splitsheet_created
By: Adder
Sheet: aaeccfc3-4757-468b-aa87-593fb8866e16

👤 #member_joined
Name: Adder
Sheet: aaeccfc3-4757-468b-aa87-593fb8866e16
🤖 #bot_invited
By: Adder
Chat: -1000