Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .prettierrc

This file was deleted.

8 changes: 4 additions & 4 deletions agents/tasks/feed-feature-plan.plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ feedEntries: defineTable({
v.literal('major'),
v.literal('minor'),
v.literal('patch'),
v.literal('prerelease')
v.literal('prerelease'),
),
url: v.string(), // GitHub release URL
author: v.optional(v.string()), // GitHub username
Expand All @@ -66,7 +66,7 @@ feedEntries: defineTable({
type: v.literal('manual'),
createdBy: v.id('users'), // Admin user who created it
editedBy: v.optional(v.id('users')), // Last editor
})
}),
),

// Categorization
Expand All @@ -79,7 +79,7 @@ feedEntries: defineTable({
v.literal('blog'),
v.literal('partner'),
v.literal('update'),
v.literal('other')
v.literal('other'),
),

// Display control
Expand Down Expand Up @@ -219,7 +219,7 @@ z.object({
libraries: z.array(librarySchema).optional(),
categories: z
.array(
z.enum(['release', 'announcement', 'blog', 'partner', 'update', 'other'])
z.enum(['release', 'announcement', 'blog', 'partner', 'update', 'other']),
)
.optional(),
partners: z.array(z.string()).optional(),
Expand Down
8 changes: 0 additions & 8 deletions agents/tasks/tanstack-com-task-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
### Tasks

- [ ] Implement “Trusted By” on homepage

- Status: Backlog
- Notes:
- Reuse `TrustedByMarquee` but upgrade to support logos + links + tooltip proof.
Expand All @@ -43,7 +42,6 @@
- Owner:

- [ ] Add Real-Time Metrics Counters (per-library + org rollup)

- Status: Partial (org rollup live via `OpenSourceStats`)
- Notes:
- Extend counters to per-library pages using existing Convex endpoints or add repo-level endpoints via `convex-oss-stats` if needed.
Expand Down Expand Up @@ -91,7 +89,6 @@
### Tasks

- [ ] Redesign/Create “About” page

- Status: Backlog
- Notes:
- Route: `src/routes/about.tsx`.
Expand All @@ -101,7 +98,6 @@
- Links: `src/components/MaintainerCard.tsx`, `src/routes/_libraries/maintainers.tsx`.

- [ ] Speaking Engagements section

- Status: Backlog
- Notes:
- Add to About or standalone `src/routes/speaking.tsx`.
Expand Down Expand Up @@ -136,7 +132,6 @@
### Tasks

- [ ] “Enterprise” page

- Status: Partial
- Notes:
- Option 1: Rename and expand `paid-support` into `enterprise` (route alias + updated copy) while keeping legacy route.
Expand Down Expand Up @@ -165,7 +160,6 @@
### Tasks

- [ ] Public Roadmap page

- Status: Backlog
- Notes:
- Route: `src/routes/roadmap.tsx`.
Expand Down Expand Up @@ -194,7 +188,6 @@
### Tasks

- [ ] Press/Media Kit page

- Status: Backlog
- Notes:
- Route: `src/routes/media-kit.tsx`.
Expand All @@ -203,7 +196,6 @@
- Acceptance: Page provides direct downloads and usage rules.

- [ ] In the News page

- Status: Backlog
- Notes:
- Route: `src/routes/news.tsx`.
Expand Down
4 changes: 2 additions & 2 deletions convex/capabilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Id } from './_generated/dataModel'
// Extracted to avoid circular dependencies between users.ts and roles.ts
export async function getEffectiveCapabilities(
ctx: QueryCtx,
userId: Id<'users'>
userId: Id<'users'>,
): Promise<Capability[]> {
// Get user's direct capabilities
const user = await ctx.db.get(userId)
Expand All @@ -32,7 +32,7 @@ export async function getEffectiveCapabilities(

// Union of direct capabilities and role capabilities
const effectiveCapabilities = Array.from(
new Set<Capability>([...directCapabilities, ...roleCapabilities])
new Set<Capability>([...directCapabilities, ...roleCapabilities]),
)

// Admin users automatically get feed capability
Expand Down
2 changes: 1 addition & 1 deletion convex/feed/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export const syncAllSources = action({
try {
const githubResult: { success: boolean } = await ctx.runAction(
api.feed.github.syncGitHubReleases,
{} // Uses default of 2 days
{}, // Uses default of 2 days
)
results.github.success = githubResult.success
} catch (error) {
Expand Down
2 changes: 1 addition & 1 deletion convex/feed/blog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export const syncBlogPosts = action({
excerpt: v.optional(v.string()),
content: v.string(),
authors: v.array(v.string()),
})
}),
),
},
handler: async (ctx, args) => {
Expand Down
2 changes: 1 addition & 1 deletion convex/feed/crons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ crons.hourly(
minuteUTC: 0,
},
api.feed.github.syncGitHubReleases,
{}
{},
)

// Note: Blog sync requires server-side access to content-collections
Expand Down
2 changes: 1 addition & 1 deletion convex/feed/crypto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export const verifyGitHubSignature = action({
const digest = 'sha256=' + hmac.update(args.payload).digest('hex')
return crypto.timingSafeEqual(
Buffer.from(args.signature),
Buffer.from(digest)
Buffer.from(digest),
)
},
})
10 changes: 5 additions & 5 deletions convex/feed/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ async function getLastSyncTime(ctx: any, repo: string): Promise<number | null> {
async function updateLastSyncTime(
ctx: any,
repo: string,
timestamp: number
timestamp: number,
): Promise<void> {
const configKey = `github:sync:${repo}`
await ctx.runMutation(api.feed.mutations.setFeedConfig, {
Expand All @@ -173,7 +173,7 @@ async function updateLastSyncTime(
async function fetchRepoReleases(
repo: string,
token: string,
since?: number
since?: number,
): Promise<any[]> {
const url = `https://api.github.com/repos/${repo}/releases?per_page=100&page=1`

Expand Down Expand Up @@ -211,7 +211,7 @@ async function fetchRepoReleases(
// Filter by since timestamp if provided
if (since && since > 0) {
return releases.filter(
(release: any) => new Date(release.published_at).getTime() > since
(release: any) => new Date(release.published_at).getTime() > since,
)
}

Expand All @@ -234,7 +234,7 @@ export const syncGitHubReleases = action({
const token = process.env.GITHUB_AUTH_TOKEN
if (!token) {
throw new Error(
'GITHUB_AUTH_TOKEN not configured. Please set it in Convex dashboard.'
'GITHUB_AUTH_TOKEN not configured. Please set it in Convex dashboard.',
)
}

Expand Down Expand Up @@ -323,7 +323,7 @@ export const syncGitHubReleases = action({
} catch (error) {
console.error(
`Error processing release ${release.id} from ${repo}:`,
error
error,
)
errorCount++
}
Expand Down
6 changes: 3 additions & 3 deletions convex/feed/http.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const handleGitHubWebhook = httpAction(async (ctx, request) => {
{
status: 500,
headers: { 'Content-Type': 'application/json' },
}
},
)
}

Expand Down Expand Up @@ -55,7 +55,7 @@ export const handleGitHubWebhook = httpAction(async (ctx, request) => {
{
status: 200,
headers: { 'Content-Type': 'application/json' },
}
},
)
}

Expand Down Expand Up @@ -109,6 +109,6 @@ export const handleGitHubWebhook = httpAction(async (ctx, request) => {
{
status: 200,
headers: { 'Content-Type': 'application/json' },
}
},
)
})
2 changes: 1 addition & 1 deletion convex/feed/manual.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export function generateManualEntryId(): string {
*/
export function generateExcerpt(
content: string,
maxLength: number = 200
maxLength: number = 200,
): string {
// Remove markdown headers, links, etc. for a cleaner excerpt
const plainText = content
Expand Down
6 changes: 3 additions & 3 deletions convex/feed/mutations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export const createFeedEntry = mutation({
const publishedAtValidation = validatePublishedAt(args.publishedAt)
if (!publishedAtValidation.valid) {
throw new Error(
`Invalid publishedAt: ${publishedAtValidation.error}. publishedAt should represent when the content was actually published, not when it was added to the feed.`
`Invalid publishedAt: ${publishedAtValidation.error}. publishedAt should represent when the content was actually published, not when it was added to the feed.`,
)
}

Expand All @@ -46,7 +46,7 @@ export const createFeedEntry = mutation({

if (existing) {
throw new Error(
`Feed entry with ID "${args.id}" already exists. Please try again or edit the existing entry.`
`Feed entry with ID "${args.id}" already exists. Please try again or edit the existing entry.`,
)
}

Expand Down Expand Up @@ -116,7 +116,7 @@ export const updateFeedEntry = mutation({
const publishedAtValidation = validatePublishedAt(args.publishedAt)
if (!publishedAtValidation.valid) {
throw new Error(
`Invalid publishedAt: ${publishedAtValidation.error}. publishedAt should represent when the content was actually published.`
`Invalid publishedAt: ${publishedAtValidation.error}. publishedAt should represent when the content was actually published.`,
)
}
updates.publishedAt = args.publishedAt
Expand Down
Loading
Loading