Skip to content

fix(notes): keep player and timestamp links working after title changes - #321

Merged
chhoumann merged 4 commits into
masterfrom
fix/315-legacy-note-title-lookup
Aug 12, 2026
Merged

fix(notes): keep player and timestamp links working after title changes#321
chhoumann merged 4 commits into
masterfrom
fix/315-legacy-note-title-lookup

Conversation

@chhoumann

Copy link
Copy Markdown
Owner

Player-to-note and timestamp-to-player links broke after the 2.16 to 2.17 filename sanitizer change, and again when a feed rearranged an episode title. Existing notes were left at the old path or old episodeName, so the player created a duplicate note and old timestamp links showed "Episode not found".

Opening an episode note now tries the current path, then the 2.16 sanitizer path, then a unique same-folder title match. Timestamp links do the same title-overlap fallback against the live feed. New notes still write to the current sanitized path.

Verified in the isolated Obsidian e2e vault (1.13.4) against the live Philosophize This and Huberman Lab feeds from the issue.

Fixes #315

Opening an episode note now also checks the pre-2.17 filename sanitizer
and a unique same-folder title match, so notes created before dots were
preserved (or after a feed rearranges a title) stay linked. Timestamp
links use the same title-overlap fallback against the live feed.

Fixes #315
@chhoumann chhoumann linked an issue Aug 12, 2026 that may be closed by this pull request
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 12, 2026

Copy link
Copy Markdown

Deploying podnotes with  Cloudflare Pages  Cloudflare Pages

Latest commit: 118112a
Status: ✅  Deploy successful!
Preview URL: https://623d442d.podnotes.pages.dev
Branch Preview URL: https://fix-315-legacy-note-title-lo.podnotes.pages.dev

View logs

Comment thread src/TemplateEngine.ts Fixed
CodeQL flagged the first-only /\n/ replace as incomplete sanitization.
Filenames cannot contain leftover newlines, so making this global does
not change note lookup.
The playing-episode URI shortcut now requires a full token-set match so
a Part 1 timestamp cannot seek a loaded Part 2. Conflicting numeric
tokens score 0, so a same-folder Part 2 note is not treated as Part 1.
The tie-guard test now uses two candidates at the same qualifying score.
@chhoumann
chhoumann marked this pull request as ready for review August 12, 2026 19:35

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3f2d732cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/createPodcastNote.ts Outdated
Comment thread src/utility/episodeTitleMatch.ts Outdated
Same-folder note lookup now compares sanitized episode titles, not the
full basename, so a long {{podcast}} prefix cannot pull in a sibling.
Feed and local-file fallbacks require a full token-set match, and
findUniqueTitleMatch refuses whenever more than one candidate qualifies.
@chhoumann
chhoumann merged commit dc4f4d8 into master Aug 12, 2026
6 checks passed
@chhoumann
chhoumann deleted the fix/315-legacy-note-title-lookup branch August 12, 2026 20:52
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.

Podcast Player <--> Podcast Note link break after PodNotes update

2 participants