Repository navigation
8000
div>
fix(columns): validate required inputs in linkedin, bluesky, mastodon, youtube - #79
#79Merged
aaronjmars merged 1 commit intoJun 23, 2026
mainaeonfun/minitor:mainfrom
fix/column-input-validationaeonfun/minitor:fix/column-input-validationCopy head branch name to clipboard
Merged
aaronjmars merged 1 commit intomainaeonfun/minitor:mainfrom fix/column-input-validationaeonfun/minitor:fix/column-input-validationCopy head branch name to clipboard
aaronjmars merged 1 commit into
mainaeonfun/minitor:mainfrom
fix/column-input-validationaeonfun/minitor:fix/column-input-validationCopy head branch name to clipboard
Conversation
…, youtube These four moded social/search columns passed config.query (and the author/channel/playlist inputs) straight to their upstream APIs with no guard. An empty or whitespace-only value fired a wasted request — a Grok web_search call for linkedin, an AppView/Mastodon/YouTube fetch for the rest — that came back as an opaque upstream error instead of a clear 'input required' message. Brings them in line with farcaster and the github-* columns, which already trim-and-throw on their required input. Continues PR #78, which fixed the same class of bug across the five Grok-backed search columns but didn't cover these. - linkedin: throw on empty query (Grok-backed, single required input) - bluesky/mastodon: throw on empty query in search/hashtag mode and on empty handle in author mode - youtube: throw on empty query/channel/playlist per mode Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
aaronjmars
added a commit
that referenced
this pull request
Jun 24, 2026
…#80) * docs(plugins): teach required-input validation in the column template PRs #78/#79 added trim-and-throw guards for required inputs across the Grok-backed and moded social columns, but the `_template/` every new column is copied from — and the plugin contract README — never taught the pattern. A contributor scaffolding a new column inherits the exact gap those two PRs closed: Zod `.default("")` guarantees a field is present and typed, but not non-empty, so an empty query fires a wasted upstream call that returns an opaque error instead of a clear "X is required." - _template/server.ts: document the guard at the top of `fetch`, with the canonical `config.query.trim()` check and a note that the hello-world demo intentionally skips it. Comment-only — the template still runs as-is. - lib/columns/README.md: correct step 4 ("present" is not "non-empty") and add a "Validate required inputs" convention with the exact pattern and the note that a throw is caught by the shared API route as the column error state. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(plugins): scope the required-input convention to what code actually does Soften "every input-driven column" — the query-driven github columns (search/issues/prs/backlinks) don't guard, only the repo-based ones do — and correct the error surface: a thrown error becomes a fetch-error toast, not an inline column error state. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: aeonframework <aeonframework@proton.me> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the missing required-input validation to four moded social/search columns —
linkedin,bluesky,mastodon, andyoutube. Each now throws a clear error when its required input for the active mode is empty or whitespace-only, before any upstream request goes out.Why
These four columns passed
config.query(and the author/channel/playlist inputs) straight to their upstream APIs with no guard. An empty value fired a wasted request — a Grokweb_searchcall forlinkedin, a public-AppView / Mastodon / YouTube fetch for the rest — that came back as an opaque upstream error instead of a clear "input required" message. The user just sees the column fail with no idea why.farcasterand everygithub-*column already trim-and-throw on their required input. PR #78 fixed this same class of bug across the five Grok-backed search columns (x-search,news-search,facebook,instagram,google-news) but didn't cover these four. This brings the rest in line.Changes
lib/columns/plugins/linkedin/server.ts: throw on emptyquery(Grok-backed, single required input); pass the trimmed value through.lib/columns/plugins/bluesky/server.ts: throw on emptyqueryin search mode, emptyhandlein author mode.lib/columns/plugins/mastodon/server.ts: throw on emptyquery(hashtag) in hashtag mode, emptyhandlein author mode.lib/columns/plugins/youtube/server.ts: throw on emptyquery/channel/playlistfor the matching mode.Guard-only — the values passed to the integrations are unchanged (except
linkedin, which now forwards the trimmed query, matchingfarcaster). No behavior change for valid inputs.Built autonomously by Aeon