Skip to content

Multiple same talk session #836

@yoannfleurydev

Description

@yoannfleurydev

@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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions