Skip to content

Add #EuroPython #Python hashtags to bingo share#1699

Open
hugovk wants to merge 4 commits into
ep2026from
share-bingo
Open

Add #EuroPython #Python hashtags to bingo share#1699
hugovk wants to merge 4 commits into
ep2026from
share-bingo

Conversation

@hugovk

@hugovk hugovk commented Jun 29, 2026

Copy link
Copy Markdown
Member

Also list social networks in same order as homepage:

image

@europython-society

europython-society commented Jun 29, 2026

Copy link
Copy Markdown
Member

Preview available

Key Value
url https://share-bingo.ep-preview.click
last update 2026-07-03T08:03:19.197Z

}

const BINGO_PAGE_URL = 'https://ep2026.europython.eu/#bingo';
const BINGO_PAGE_URL = 'https://ep2026.europython.eu/bingo';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This was suggested to me before, but other sections have URLS like https://ep2026.europython.eu/#krakow - don't we want to be consistent? And does the hash even matter?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I don't think we need them, they look a bit weird, and when I click around the site, I don't see any hashes like this in URLs (not counting mid-page anchors)

Comment thread src/components/island/BingoCard.svelte Outdated
@dariagrudzien

Copy link
Copy Markdown
Contributor

@hugovk I don't really know why, but this change breaks LinkedIn sharing by removing the URL, by clipping everything after the last question including the URL:

this PR
image

prod
image

@dariagrudzien dariagrudzien self-requested a review June 29, 2026 23:24
Co-authored-by: Daria Grudzien <hello@dariagrudzien.com>
@hugovk

hugovk commented Jul 3, 2026

Copy link
Copy Markdown
Member Author

I don't really know why, but this change breaks LinkedIn sharing by removing the URL, by clipping everything after the last question including the URL:

Hmm, this is what Claude suggests:

Root cause: The ? introduced in commit c191e31 ("What about you:" → "What about you?").
The text is sent correctly encoded as %3F, but LinkedIn's shareActive flow decodes the
text parameter and re-parses it internally, so a literal ? in the decoded text truncates
everything after it. The # characters are not the issue — prod's URL contained /#bingo
and shared intact, so the new hashtags can stay.

The fix in src/components/island/BingoCard.svelte:51: buildShareText() now takes a
forLinkedIn flag. LinkedIn gets the ?-free "What about you:" phrasing, while X, Bluesky,
and Mastodon keep "What about you?". A comment notes the LinkedIn quirk so nobody
reintroduces it.

Worth verifying with a real LinkedIn account before merging, since this behavior is
entirely on LinkedIn's side and undocumented — the diagnosis rests on the prod-vs-PR
comparison in Daria's screenshots. If you'd rather not have per-network phrasing, the
alternative is reverting to "What about you:" everywhere.

diff --git a/src/components/island/BingoCard.svelte b/src/components/island/BingoCard.svelte
index 085796e6..1688e91c 100644
--- a/src/components/island/BingoCard.svelte
+++ b/src/components/island/BingoCard.svelte
@@ -48,18 +48,20 @@
     } catch {}
   }
 
-  function buildShareText() {
+  function buildShareText(forLinkedIn = false) {
     const attended = editions.filter((_, i) => checked[i]).map(e => `${e.year} ${e.city}`);
     const count = attended.length;
     const base = `I've attended ${count} EuroPython conference${count !== 1 ? 's' : ''}! 🐍`;
     const body = count > 0 ? `${base}\n\n${attended.join(' · ')}` : base;
-    return `${body}\n\nWhat about you? ${BINGO_PAGE_URL}\n\n#EuroPython #Python`;
+    // LinkedIn drops everything after a "?" in the prefilled text, even when encoded
+    const prompt = forLinkedIn ? 'What about you:' : 'What about you?';
+    return `${body}\n\n${prompt} ${BINGO_PAGE_URL}\n\n#EuroPython #Python`;
   }
 
   const BINGO_PAGE_URL = 'https://ep2026.europython.eu/bingo';
 
   function shareLinkedIn() {
-    const text = buildShareText();
+    const text = buildShareText(true);
     window.open(
       `https://www.linkedin.com/feed/?shareActive=true&text=${encodeURIComponent(text)}`,
       '_blank', 'noopener,noreferrer'

But we can just change "What about you?" back to "What about you:" for a quick fix.

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.

3 participants