Compare commits

..

4 Commits

Author SHA1 Message Date
dbcb500694 feat: use new social media preview 2026-06-15 14:05:16 +01:00
2b02c1a9d0 feat: change social media preview (#135) 2026-06-15 13:46:46 +01:00
fc443d967d feat: execute agent actions (#134) 2026-06-14 23:08:28 +01:00
9836d7499b feat: enable reminders by default (#133) 2026-06-14 22:38:26 +01:00
6 changed files with 19 additions and 7 deletions

View File

@@ -1,4 +1,5 @@
import { LocationSource } from "@freya/source-location" import { LocationSource } from "@freya/source-location"
import { ReminderSource } from "@freya/source-reminders"
import { WebSearchSource } from "@freya/source-web-search" import { WebSearchSource } from "@freya/source-web-search"
import { describe, expect, test } from "bun:test" import { describe, expect, test } from "bun:test"
@@ -55,8 +56,12 @@ function createRecordingDb(): RecordingDb {
} }
describe("default user sources", () => { describe("default user sources", () => {
test("defines location and web search as default enabled sources", () => { test("defines default enabled sources", () => {
expect(DEFAULT_ENABLED_SOURCE_IDS).toEqual([LocationSource.id, WebSearchSource.id]) expect(DEFAULT_ENABLED_SOURCE_IDS).toEqual([
LocationSource.id,
ReminderSource.id,
WebSearchSource.id,
])
}) })
test("inserts default enabled source rows for a user", async () => { test("inserts default enabled source rows for a user", async () => {
@@ -70,7 +75,7 @@ describe("default user sources", () => {
} }
expect(recording.table()).toBe(userSources) expect(recording.table()).toBe(userSources)
expect(rows).toHaveLength(2) expect(rows).toHaveLength(3)
expect(rows.map((row) => row.sourceId)).toEqual([...DEFAULT_ENABLED_SOURCE_IDS]) expect(rows.map((row) => row.sourceId)).toEqual([...DEFAULT_ENABLED_SOURCE_IDS])
expect(recording.conflictTarget()).toEqual([userSources.userId, userSources.sourceId]) expect(recording.conflictTarget()).toEqual([userSources.userId, userSources.sourceId])

View File

@@ -1,11 +1,16 @@
import { LocationSource } from "@freya/source-location" import { LocationSource } from "@freya/source-location"
import { ReminderSource } from "@freya/source-reminders"
import { WebSearchSource } from "@freya/source-web-search" import { WebSearchSource } from "@freya/source-web-search"
import type { Database } from "../db/index.ts" import type { Database } from "../db/index.ts"
import { userSources } from "../db/schema.ts" import { userSources } from "../db/schema.ts"
export const DEFAULT_ENABLED_SOURCE_IDS = [LocationSource.id, WebSearchSource.id] as const export const DEFAULT_ENABLED_SOURCE_IDS = [
LocationSource.id,
ReminderSource.id,
WebSearchSource.id,
] as const
export type DefaultEnabledSourceId = (typeof DEFAULT_ENABLED_SOURCE_IDS)[number] export type DefaultEnabledSourceId = (typeof DEFAULT_ENABLED_SOURCE_IDS)[number]

View File

@@ -37,13 +37,13 @@ export function meta({}: Route.MetaArgs) {
}, },
{ property: "og:title", content: PAGE_TITLE }, { property: "og:title", content: PAGE_TITLE },
{ property: "og:description", content: PAGE_DESCRIPTION }, { property: "og:description", content: PAGE_DESCRIPTION },
{ property: "og:image", content: "https://ael.is/social-media-preview.png" }, { property: "og:image", content: "https://ael.is/social-media-preview.jpg" },
{ property: "og:url", content: "https://ael.is" }, { property: "og:url", content: "https://ael.is" },
{ property: "og:type", content: "website" }, { property: "og:type", content: "website" },
{ name: "twitter:card", content: "summary_large_image" }, { name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:title", content: PAGE_TITLE }, { name: "twitter:title", content: PAGE_TITLE },
{ name: "twitter:description", content: PAGE_DESCRIPTION }, { name: "twitter:description", content: PAGE_DESCRIPTION },
{ name: "twitter:image", content: "https://ael.is/social-media-preview.png" }, { name: "twitter:image", content: "https://ael.is/social-media-preview.jpg" },
] ]
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -84,7 +84,9 @@ const ONE_DAY_MS = 24 * 60 * 60 * 1000
* It owns recurrence expansion, edit-scope semantics, and feed item signals. * It owns recurrence expansion, edit-scope semantics, and feed item signals.
*/ */
export class ReminderSource implements FeedSource<ReminderFeedItem> { export class ReminderSource implements FeedSource<ReminderFeedItem> {
readonly id = "freya.reminders" static readonly id = "freya.reminders"
readonly id = ReminderSource.id
private readonly storage: ReminderStorage private readonly storage: ReminderStorage
private readonly lookAheadMs: number private readonly lookAheadMs: number