@yoannfleurydev: "I think it could be great to list all the sessions of a talk in the detail page if there are multiple"
⚠️ Potential issue | 🟠 Major | ⚖️ Poor tradeoff
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check for other duplicate slugs in event schedules to understand the pattern
# Search for schedule items and count slug occurrences
rg -n "slug: " src/content/events/ -A 0 -B 1 | grep "slug:" | sort | uniq -c | sort -rn
Repository: Fork-It-Community/forkit.community
Length of output: 15336
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Count exact occurrences of the specific slug string
rg -n "survivre-a-lia-quand-on-est-parent" src/content/events/
# 2) Find where CardConference.astro is implemented and how it uses activity.slug
fd -a "CardConference.astro" src || true
fd -a "CardConference.*" src || true
rg -n "CardConference|getEntry\(|activity\.slug|slug\)" src -S || true
Repository: Fork-It-Community/forkit.community
Length of output: 7223
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the schedule rendering and how CardConference uses activity.slug
sed -n '1,220p' src/components/Schedule/CardConference.astro
sed -n '1,240p' src/components/Schedule/index.astro
# Also inspect the event talks loader for how workshop activities are shaped
sed -n '1,220p' src/lib/events.ts
Repository: Fork-It-Community/forkit.community
Length of output: 15215
🏁 Script executed:
#!/bin/bash
set -euo pipefail
sed -n '130,210p' src/content/events/2026-france-rouen/index.mdx
# Also locate the talk entry that corresponds to this slug, to confirm it is the workshop/talk referenced by schedule items
rg -n "id: survivre-a-lia-quand-on-est-parent|survivre-a-lia-quand-on-est-parent" src/content/talks/ -S || true
Repository: Fork-It-Community/forkit.community
Length of output: 2524
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Locate where the "events" content type schema defines schedule.items and how "slug" is typed
fd -a "events.*schema|content.*events|collections.*events|config.*content" . || true
fd -a "schedule" src/content src || true
# Search for schedule.items and slug typing
rg -n "schedule\s*:\s*\{|schedule:\s*|schedule\.items|items\s*:\s*\[|items\s*:\s*array|slug:\s*" src/content -S || true
rg -n "defineCollection|z\." src/content -S || true
rg -n "workshop.*slug|conference.*slug|getEntry\(" src -S || true
Repository: Fork-It-Community/forkit.community
Length of output: 22912
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Find the Astro content collection config defining events schema
rg -n "defineCollection\\(\"events\"|defineCollection\\(\\s*\"events\"|collections\\s*\\)\\s*\\{|content.*events" . -S || true
rg -n "schedule\\s*:\\s*\\{|schedule\\s*:\\s*z\\.|schedule\\.items|items\\s*:\\s*z\\.|slug\\s*:\\s*z\\." src -S || true
# 2) Inspect the talk page route to see how it derives schedule info for a given talkId
sed -n '1,220p' src/pages/events/[id]/talks/[talkId]/index.astro || true
sed -n '1,240p' src/pages/events/[id]/talks/[talkId]/assets/_utils.ts || true
Repository: Fork-It-Community/forkit.community
Length of output: 8694
Don’t reuse the same talk slug for multiple workshop sessions
The workshop entries in src/content/events/2026-france-rouen/index.mdx both use slug: survivre-a-lia-quand-on-est-parent (14:00 and 16:00). src/components/Schedule/CardConference.astro and src/pages/events/[id]/talks/[talkId]/index.astro both derive the relevant session via a .find(...) keyed only by talk.id, so duplicate slugs make every derived “schedule item” resolve to the first match—meaning the second session’s card can link to a talk page showing the wrong start/end/location/status.
Create a session-level identifier (distinct URL/lookup key) or separate talk entries per session instead of reusing the same slug for multiple times.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/content/events/2026-france-rouen/index.mdx` around lines 163 - 172, The
two workshop session entries reuse the same talk slug
"survivre-a-lia-quand-on-est-parent", causing .find(...) lookups in
Schedule/CardConference.astro and pages/events/[id]/talks/[talkId]/index.astro
to always return the first session; change the data so each session has a unique
lookup key—either add a session-level identifier (e.g., sessionId or
slugWithTime) to each workshop object and use that as the URL/lookup key, or
create distinct talk entries (separate slugs) per session; update any code that
builds links or resolves talks (the logic in Schedule/CardConference.astro and
the route handler in pages/events/[id]/talks/[talkId]/index.astro) to use the
new unique session key instead of talk.id so each session resolves correctly.
Originally posted by @coderabbitai[bot] in #835 (comment)
@yoannfleurydev: "I think it could be great to list all the sessions of a talk in the detail page if there are multiple"
🧩 Analysis chain
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 15336
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 7223
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 15215
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 2524
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 22912
🏁 Script executed:
Repository: Fork-It-Community/forkit.community
Length of output: 8694
Don’t reuse the same
talkslug for multiple workshop sessionsThe workshop entries in
src/content/events/2026-france-rouen/index.mdxboth useslug: survivre-a-lia-quand-on-est-parent(14:00 and 16:00).src/components/Schedule/CardConference.astroandsrc/pages/events/[id]/talks/[talkId]/index.astroboth derive the relevant session via a.find(...)keyed only bytalk.id, so duplicate slugs make every derived “schedule item” resolve to the first match—meaning the second session’s card can link to a talk page showing the wrong start/end/location/status.Create a session-level identifier (distinct URL/lookup key) or separate talk entries per session instead of reusing the same slug for multiple times.
🤖 Prompt for AI Agents
Originally posted by @coderabbitai[bot] in #835 (comment)